前言: 工业软件已广泛应用于我国制造企业研发设计和生产经营的全生命周期,成为智能制造的关键支撑。 本文将持续推荐一些优秀的开源工业软件内核,可以参考或者直接使用帮助我们快速解决工业上的问题。欢迎大家评论补充。
CAD图形平台(集成):
- freecad FreeCAD是一个基于OpenCASCADE的开源CAD/CAE工具。OpenCASCADE是一套开源的CAD/CAM/CAE几何模型核心,来自法国Matra Datavision公司,是著名的CAD软件EUCLID的开发平台。可运行于 windows 以及 linux 系统环境下FreeCAD是一种通用的3D CAD建模。发展是完全开源(GPL的LGPL许可证)。 FreeCAD直接的目的是在机械工程和产品设计,也适合在更广泛的用途,如建筑或其他工程专业,工程周围。 FreeCAD具有类似CATIA,SolidWorks或Solid Edge的工具,因此也将提供CAX(CAD,CAM,CAE),PLM等功能。这将是一个基于参数化建模功能与模块化的软件架构,这使得它易于无需修改核心系统提供额外的功能。 github地址:github.com/FreeCAD/Fre…
- openscad OpenSCAD 是用于创建实体 3D CAD 对象的软件。它是免费软件,可用于 Linux/UNIX、MS Windows 和 macOS。 与大多数用于创建 3D 模型的免费软件(例如著名的应用程序 Blender)不同,OpenSCAD 专注于 CAD 方面而不是 3D 建模的艺术方面。因此,当您计划创建机器零件的 3D 模型时,这可能是您正在寻找的应用程序,但可能不是用于创建计算机动画电影的工具。 OpenSCAD 不是交互式建模器。相反,它更像是一个 3D 编译器,它读取描述对象的脚本文件并从该脚本文件渲染 3D 模型(参见下面的示例)。这使您(设计师)能够完全控制建模过程,并使您能够轻松更改建模过程中的任何步骤或进行由可配置参数定义的设计。 OpenSCAD 提供了两种主要的建模技术:首先是构造实体几何(又名 CSG),其次是 2D 轮廓的挤压。使用 Autocad DXF 文件作为这些 2D 轮廓的数据交换格式。除了用于挤压的 2D 路径外,还可以从 DXF 文件中读取设计参数。除了 DXF 文件,OpenSCAD 还可以读取和创建 STL 和 OFF 文件格式的 3D 模型。
github地址:github.com/openscad/op…
- qcad 适合所有人的开源 CAD 系统 QCAD 是一个免费的开源应用程序,用于二维 (2D) 计算机辅助绘图 (CAD)。使用 QCAD,您可以创建技术图纸,例如建筑平面图、室内设计、机械零件或示意图和图表。QCAD 适用于 Windows、macOS 和 Linux。QCAD 的源代码是在流行的开源许可证 GPL 版本 3 (GPLv3) 下发布的。 QCAD 的设计考虑了模块化、可扩展性和可移植性。但人们最常注意到 QCAD 的是其直观的用户界面。QCAD 是一个易于使用但功能强大的 2D CAD 系统,适合所有人。您无需任何 CAD 经验即可立即开始使用 QCAD。 github地址:github.com/qcad/qcad
- librecad LibreCAD是一款基于 QCAD 社区版的 2D CAD 绘图工具。LibreCAD 使用跨平台框架Qt,这意味着它适用于大多数操作系统。
github地址:github.com/LibreCAD/Li…
- NaroCAD NaroCAD 是一个成熟且可扩展的 3D 参数化建模 CAD 应用程序。
github地址:github.com/mikowiec/rh…
- visualScriptCAD VisualScriptCAD 是一个基于VisualScriptEngine的简单实验性 3D 建模应用程序。使用 VisualScriptCAD,您可以创建完全参数化的 3D 模型并将它们导出为各种 3D 文件格式。
github地址:github.com/kovacsv/vis…
- RapCAD RapCAD 是用于 RepRap 和 RepStrap 3D 打印机的快速原型设计 CAD IDE。RapCAD 在 GPLv3 许可下发布。 与大多数 CAD 软件包不同,RapCAD 不是基于 GUI。例如,您在使用传统 CAD 软件包时经常做的一件事是创建临时构造线,您可以将其删除或放置在从未使用或看到的图层上。从另一个人的角度来看,你是如何得出最终设计的并不总是很明显。在软件行业,版本控制的重要作用是它允许记录在设计过程中做出的决策的记录。RapCAD 通过允许使用模块化场景描述语言来描述设计来解决这个问题。这不仅提供了与传统的基于文本的源代码控制管理软件的兼容性,而且还允许创建可作为设计库分发的可重复使用的组件模块。 github地址:github.com/GilesBathga…
- BRL-CAD BRL-CAD是一个强大的跨平台开源组合软件 包含交互式 3D 实体几何的实体建模系统 编辑器,网络分布式对称多处理(SMP) 支持渲染和几何的高性能光线追踪器 分析、图像和信号处理工具、系统性能 分析基准套件、灵活的几何脚本接口、 以及高性能的几何表示和分析库。 github地址:github.com/BRL-CAD/brl…
- McCAD McCad是一个开源工具,能自动将BRep模型转换成CSG模型。随着核动力技术的发展,不断开展新型反应堆的研究,反应堆的燃料形式和堆芯布置都较为复杂,由于蒙特卡罗(MC)方法具有强大的几何处理能力和较高的计算精确度,它是模拟分析这些复杂堆芯的有效手段。通过使用McCad将复杂BRep模型转换成CSG模型,CSG表示的模型可作为核反应堆芯计算蒙特卡罗(MC)方法的输入。 github地址:github.com/inr-kit/McC…
- Web CAD (JSketcher) JSketcher 是一个参数化 3D 建模器,使用草图的 2D 约束解算器和特征/历史隐喻来构建模型。2D 约束求解器完全用 javascript/typescript 编写,并在 3D CAD 和 2D 草绘器中实现。最初由 xibyte 开发,用于制作 3D 打印模型。如今,JSketcher 提供了一套丰富的工具,用于可视化、选择/与 3D 几何体交互、跟踪和存储模型历史记录,所有这些工具都构建在 2D 草图引擎的基础上,并使用 OpenCascade 进行实体建模操作。主要部件及特点 几何约束求解器。这是最关键的组件,可以解决应用于草图的几何约束系统。请参阅下面支持的约束列表。2D 草图绘制器。允许应用几何约束设计二维草图。使用 HTML5 画布进行渲染。3D 布尔引擎。OpenCascade 用于对 BREP 对象执行布尔运算。功能历史。积累特征逐步构建 3D 模型。采用比较步骤向前传播边缘/面 ID,以提供稳定且稳健的模型。导出为 STL、DWG 和 SVG 格式 将项目保存在浏览器区域设置存储中 尺寸存储库。例如,如果应用了行长度约束,则无需对某些长度值进行硬编码。可以创建具有符号名称的尺寸,并且约束可以通过名称引用该尺寸。一旦尺寸值发生更改,草图将根据新的尺寸值再次解析。二维测量工具。允许在 2D 绘图上添加尺寸(支持线性、垂直、水平和圆弧/圆形尺寸) 不需要任何服务器端。只有客户端 Javascript 和 wasm。该建模器已用于:设计 3D 模型并进行 3D 打印。3D 模型基于参数化 2D 草图。所有模型都可以导出为 STL 文件,然后进行 3D 打印。创建可导出为 DWG 或 SVG 格式的 2D 参数化草图。 github地址:github.com/xibyte/jske… CAE:
- OpenFOAM OpenFOAM 是一个完全由 C++编写的面向对象的 CFD 类库,采用类似于我们日常习惯的方法在软件中描述偏微分方程的有限体积离散化,支持多面体网格(比如 CD-adapco 公司推出的 CCM+生成的多面体网格),因而可以处理复杂的几何外形,支持大型并行计算,等。 另外 OpenFOAM 还具有以下功能和特点: 自动生成动网格 拉格朗日粒子追踪及射流 滑移网格,网格层消等 各种各样的工具箱,包括各种 ODE 求解器、ChemKIN 接口等 网格转换工具,可以转换多种网格形式为 FOAM 可以处理的网格形式 支持多种网格接口 github地址:github.com/OpenFOAM/Op…
- fastCAE FastCAE,是一套开源国产CAE软件集成开发平台。面向求解器开发者,平台定义了规范的数据接口,支持插件开发模式,可视化配置手段,基于平台可轻松集成用户自研求解程序和第三方求解器。 FastCAE的本质是一套CAE软件集成接口标准和数据标准框架,基于该框架集成任意的求解器、前处理、后处理等功能模块。平台默认提供完整的几何交互、网格划分、结果可视化、边界条件、材料库等模块,为自主CAE软件产品化提供一体化解决方案,让用户享受集合前处理、求解计算、后处理于一体的平台化集成体验。
github地址:github.com/DISOGitHub/… EDA:
-
LibrePCB LibrePCB 是一款免费的 EDA软件,用于开发印刷电路板。它可以在 Linux、Windows 和 Mac 上运行。 github地址:github.com/LibrePCB/Li… 几何造型器: -** opencascade** Open CASCADE Technology (OCCT) 是世界知名的 3D 建模内核,可免费使用开源。它是一个软件开发工具包 (SDK),用于开发处理 3D CAD 数据的应用程序。OCCT 包括一组 C++ 类库,为 3D 表面和实体建模、可视化、数据交换和快速应用程序开发提供服务。 Open CASCADE 技术最适合用于开发专门的 CAD/CAM/CAE 应用程序。借助 OCCT 构建的典型应用是有限元分析软件的前处理器和后处理器、CNC/CMM 路径生成器、数值模拟程序等。 下载地址:dev.opencascade.org/release
-
opennurbs **openNURBS Initiative **为 CAD、CAM、CAE 和计算机图形软件开发人员提供了在应用程序之间准确传输 3D 几何图形的工具。 openNURBS 工具包包含用于读取和写入 openNURBS 3D 模型文件 ( .3dm ) 的库的 C++ 源代码。包括Rhinoceros®在内的 400 多个软件开发团队和应用程序使用 openNURBS 文件格式交换 3D 模型。此外,该工具包还提供 NURBS 评估工具和基本几何和 3D 视图操作工具,并包括几个示例程序的源代码。 github地址:github.com/mcneel/open…
-
Open Geometry Group OGG 被设计为 OCCT 的直接替代品,具有更多功能、更少错误和更好的性能。 gitee地址:gitee.com/opengeometr…
-
九韶内核 九韶内核AMCAX是从0到1完全自主研发的CAD/CAE/CAM内核,包含几何内核、几何约束求解器和CAX一体化计算引擎等。我们会逐步将经过稳定测试的内核功能全部开放,包括多边形建模、参数化建模、自由曲面建模等算法API,文件读写API,以及数据格式等,请查看具体版本的内核SDK功能列表。在内核应用层面,我们开源了“九韶精灵”(AMCAX-Daemon)应用程序的所有源代码。九韶精灵是一个展示如何基于九韶几何内核创建CAD应用的开源项目,包含丰富的几何内核使用示例代码。九韶内核还有一些功能模块是为特殊的应用场景和用户需求服务的,由于特殊性,免费版本暂时还不包含这些特殊功能。内核的商业付费版本以免费版本为基础,面向有专属服务需求和定制开发需求的客户。 下载地址:amcax.net/
-
LNLib is a C++ NURBS Algorithms Library These algorithms are primary referenced fromThe NURBS Book 2nd Edition. The APIs are re-designed to make it more friendly to users. github地址:github.com/BIMCoderLia… 显示渲染器:
-
openscenegraph OpenSceneGraph是一个开源的三维引擎,被广泛的应用在可视化仿真、游戏、虚拟现实、科学计算、三维重建、地理信息、太空探索、石油矿产等领域。OSG采用标准C++和OpenGL编写而成,可运行在所有的Windows平台、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX、Android和FreeBSD 操作系统。OSG在各个行业均有着丰富的扩展,能够与使用OpenGL书写的引擎无缝的结合,使用国际上最先进的图形渲染技术,让每个用户都能站在巨人的肩上。 github地址:github.com/openscenegr…
-
vtk VTK 是一个用于图像处理、3D 图形、体绘制和可视化的开源软件系统。VTK 包括许多高级算法(例如,表面重建、隐式建模、抽取)和渲染技术(例如,硬件加速体积渲染、LOD 控制)。 VTK被院士用于教学和研究;美国洛斯阿拉莫斯国家实验室或意大利CINECA等政府研究机构;以及许多使用 VTK 构建或扩展产品的商业公司。 github地址:github.com/Kitware/VTK
-
mayo Mayo开源 3D CAD 查看器和转换器 github地址:github.com/fougue/mayo
几何约束求解器:
- solvespace SOLVESPACE是一个参数化的3D CAD程序,功能包括: 3D零件建模 — 使用拉伸、扫略以及布尔(合集/差集)运算绘制。 2D零件建模 — 绘制零件的截面图,输出为DXF,PDF,SVG;并在3D组建来验证外形。 3D打印机零件 — 输出为STL或者三角网格,对3D打印机友好。 准备CAM数据 — 为高压水切、激光等切割机输出2D矢量;或者生成STEP或STL,输入第三方CAM软件用于加工。 机械设计 — 使用约束求解器来使用Pin,ball或slide节点模拟水平的或空间的链接。 平面和实体几何 — 使用动态的标注绘制取代手工的剪裁和表格。
github地址:github.com/solvespace/… github.com/solvespace/… C/C++ github.com/CadQuery/Pl… C/C++ github.com/peizhan/psk… C/C++ github.com/ericPrince/… Python github.com/seominjoon/… python geosolver.sourceforge.net/ python github.com/Geoplexity/… 核心C,分解法 界面:
- SARibbon
这是基于Qt(最低要求Qt5,支持C++11的编译器)开发的一个轻量级的Ribbon控件(Office样式UI)
界面截图:
github地址:github.com/czyt1988/SA…
- QtRibbonGUI 使用QT写的ribbon界面风格。
github地址:github.com/liang1057/Q…
空间数据索引:
- libspatialindex libspatialindex是一种高效的C++空间索引库。支持复杂查询,如范围查询、点位置查询、 最近邻查询、K邻近查询以及参数化查询。 该库的目的是提供: 1.一个可扩展的框架,将支持强大的空间索引方法。 2.支持复杂的空间查询。范围、点位置、最近邻和 k 最近邻以及参数查询(由空间约束定义)应该易于部署和运行。 3.易于使用的界面,用于插入、删除和更新信息。 4.多种定制功能。页面大小、节点容量、最小扇出、分割算法等基本索引和存储特性应该易于定制。 5.索引持久性。应支持内部存储器和外部存储器结构。聚集和非聚集索引应该易于持久化。 特点
- 基于通用主内存和磁盘的存储管理器。
- R*-tree 索引(也支持线性和二次分裂)。
- MVR 树索引(又名 PPR 树)。
- TPR 树索引。
- 高级查询功能,使用策略和访客模式。
- 任意形状的范围查询,通过定义通用几何接口。
- 大参数化能力,包括维度、填充因子、节点容量等。
- STR 包装/散装。 github地址:github.com/libspatiali… 数据格式:
- ifcplusplus IFC++ 是 C++ 的开源 IFC 实现。它最初是在魏玛包豪斯大学开发的。 该项目是在 MIT 许可下发布的,这意味着您可以将其用于任何个人或商业目的。没有义务发布您的源代码。 IFC++ 是一个开源的 C++ 类模型,也是 STEP 格式 IFC 文件的读写器。特点包括:
- 使用智能指针轻松高效的内存管理。
- 并行阅读器,用于在多核 CPU 上进行非常快速的解析
- 从 IFC 模型中检索所有数据,包括属性集、材料信息等。
- 此外,还有一个简单的 IFC 查看器应用程序,使用 Qt 和 OpenSceneGraph。
- 它可以作为围绕开放式建筑模型标准 IFC 的各种应用的起点。 github地址:github.com/ifcquery/if… 字体:
- FreeType FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。
下载地址:download.savannah.gnu.org/releases/fr…
计算几何:
- CGAL CGAL是Computational Geometry Algorithms Library(计算几何算法库)的缩写,用C++语言提供高效、可靠的算法库。被广泛应用于几何计算相关的领域,如信息可视化系统,计算机辅助设计,分子生物学,医学图像处理,计算机图形学,机器人设计等。 github地址:github.com/CGAL/cgal
—END— 欢迎大家评论补充!!!
卡核-致力于提供工业软件卡脖子内核的综合解决方案 www.caxkernel.com/