附录 A · 工业软件项目索引
这份索引把书中提到的项目和同类代表放在一起,按领域分组。每一行给出项目、领域、界面框架、内核或主要依赖、许可证和一句判断。许可证以仓库 LICENSE 原文或项目官网为准,核对时间为 2026 年 11 月;开源项目变化很快,实际使用前请再看一眼仓库当前状态。
标注“见仓库”的项目,是指仓库没有附标准许可证文件,或自动识别结果不可靠。真正做商业决策时,请以许可证原文为准,必要时咨询法务。
A.1 设计与制造
| 项目 |
领域 |
界面 |
内核 / 依赖 |
许可证 |
一句话判断 |
| FreeCAD |
参数化 CAD |
Qt |
OCCT、Coin3D |
LGPL-2.1 |
文档对象、属性系统和工作台机制是自研 CAD 的教科书 |
| OpenCASCADE |
几何内核 |
无 |
自研 |
LGPL-2.1(含例外) |
开源世界唯一的重型 B-Rep 内核,前端生态的底座 |
| Mayo |
CAD 查看 / 转换 |
Qt |
OCCT |
BSD-2 |
几千行代码把“读入、显示、选中、导出”讲清楚 |
| QCAD |
二维制图 |
Qt |
自研 |
GPL-3.0 + 例外 / 商业 |
脚本接口是“能力即 API”的典型案例 |
| LibreCAD |
二维制图 |
Qt |
自研 |
GPL-2.0 |
DXF 兼容性和图纸语义的实战样本 |
| Analysis Situs |
几何算法平台 |
Qt / VTK |
OCCT |
见仓库 |
适合看几何算法如何被验证,不适合直接做产品 |
| TiGL |
飞机几何 |
Qt |
OCCT、CPACS |
Apache-2.0 |
行业数据标准 + 通用内核的组合示范 |
| Topologic |
空间拓扑 |
Qt / 无 |
自研 |
AGPL-3.0 |
非流形拓扑适合空间分析,闭源产品要避开 AGPL |
| OpenNURBS |
几何交换 |
无 |
自研 |
GPL-2.0 |
3DM 读写库,常作为 Rhino 互通的第二内核 |
| rhioCAD |
参数化建模 |
Qt |
自研 |
见仓库 |
失败案例:内核没解决就先做界面,最终停更 |
A.2 电子设计
| 项目 |
领域 |
界面 |
内核 / 依赖 |
许可证 |
一句话判断 |
| KiCad |
EDA |
wxWidgets |
自研 |
GPL-3.0 |
不用 Qt 也能做成完整 EDA,工程结构比界面框架重要 |
| LibrePCB |
EDA |
Qt |
自研 |
GPL-3.0 |
数据模型更干净,但生态规模输给 KiCad |
A.3 仿真与网格
| 项目 |
领域 |
界面 |
内核 / 依赖 |
许可证 |
一句话判断 |
| ParaView |
后处理 |
Qt |
VTK |
BSD-3 |
管线与界面分离、状态可序列化,值得每个后处理软件借鉴 |
| Gmsh |
网格 |
FLTK |
自研 |
GPL-2.0 或更高 |
.geo 文本接口让自动化流程不依赖界面 |
| FastCAE |
CAE 平台 |
Qt |
VTK、求解器接口 |
BSD-3 |
国产 CAE 平台化集成的样本,接口稳定性是关键 |
| OpenFOAM |
CFD |
无 |
自研 |
GPL-3.0 |
去界面化,把求解和呈现彻底解耦 |
A.4 科学可视化
| 项目 |
领域 |
界面 |
内核 / 依赖 |
许可证 |
一句话判断 |
| VTK |
可视化库 |
无 |
自研 |
BSD-3 |
科学可视化的事实标准,体量大、需要按需裁剪 |
| ITK |
图像处理库 |
无 |
自研 |
Apache-2.0 |
分割、配准、滤波的算法基础 |
| CTK |
医学影像框架 |
Qt |
Qt、DCMTK |
Apache-2.0 |
把 Qt 与模块系统、服务注册结合起来 |
| 3D Slicer |
医学影像 |
Qt / VTK |
VTK、ITK、CTK |
BSD 风格 |
库、框架、应用三层结构完整,医学影像的标杆 |
| Inviwo |
可视化原型 |
Qt / OpenGL |
自研 |
BSD-2 |
节点式可视化管线,适合算法原型 |
| VisIt |
大规模可视化 |
Qt / VTK |
VTK |
BSD-3 |
面向 TB 级数据与远程并行渲染 |
| MITK |
医学影像 |
Qt |
VTK、ITK |
BSD-3 |
医学影像工作站常用的应用框架 |
| LabPlot |
数据分析 |
Qt / KDE |
自研 |
GPL-2.0 或更高 |
实验数据分析与绘图,轻量、交互完整 |
A.5 地理信息
| 项目 |
领域 |
界面 |
内核 / 依赖 |
许可证 |
一句话判断 |
| QGIS |
GIS |
Qt |
GDAL、PROJ、GEOS |
GPL-2.0 |
坐标参考系贯穿全流程,处理框架支撑插件生态 |
| GPXSee |
GPS 轨迹 |
Qt |
自研 |
GPL-3.0 |
小项目也能把“解析、配准、渲染、导出”做完整 |
| CloudCompare |
点云处理 |
Qt |
自研、CCCoreLib |
GPL-2.0 |
点云查看、配准、比较的开源样本 |
A.6 其他与通用平台
| 项目 |
领域 |
界面 |
内核 / 依赖 |
许可证 |
一句话判断 |
| MeshLab |
网格处理 |
Qt |
VCGLib |
GPL-3.0 |
网格清理、修复、简化的工具集 |
| OpenSCAD |
程序化建模 |
Qt |
CGAL、OpenCSG |
GPL-2.0 |
“代码即模型”的另一种 CAD 路线 |
| SALOME |
CAE 集成平台 |
Qt |
OCCT、VTK |
LGPL-2.1 |
几何、网格、求解集成的老牌平台 |
A.7 按需求快速定位
| 你要做的事 |
先看 |
再看 |
| 自研参数化 CAD |
FreeCAD 的 App/Gui 分层、OCCT |
Mayo 的 OCCT + Qt 接入 |
| 二维图纸编辑 |
QCAD 的 RDocument、LibreCAD 的 DXF 处理 |
图纸语义与打印样式 |
| 电子设计 |
KiCad 的文档模型、LibrePCB 的库模型 |
元件库与格式兼容 |
| 后处理与可视化 |
ParaView 的管线、VTK |
VisIt 的大规模数据 |
| 医学影像 |
3D Slicer、CTK、MITK |
ITK 的算法 |
| GIS |
QGIS 的 CRS 与 Processing 框架 |
GDAL/PROJ/GEOS |
| 点云 / 网格 |
CloudCompare、MeshLab |
Open3D、PCL |
索引只能帮你找到入口,不能替代源码阅读。每个项目真正值得看的部分,通常只有几个文件:文档对象、插件接口、命令栈、渲染循环。找到它们,比通读整个仓库有效。