The information on this page may be obsolete, see the
Developers Handbook for up-to-date information.
如果您对开发FreeCAD软件有兴趣,想贡献于这个项目的开发,您已经来到了对的地方。以下许多页面可能已经过时。请查阅官方的 FreeCAD 开发者手册以获取最新信息:https://freecad.github.io/DevelopersHandbook/
这些页面还在建设当中。如果您找不到想看的信息,或者在我们尚未链接到的地方看到了有用的信息,那么请在论坛里留下你的评论,会有人进行跟进处理。
开发者文档
开发者文档由以下部分构成:
编译 FreeCAD
打包
打包 包括取得编译好的 FreeCAD 的二进制文件和 Python 源文件,并将其分发到某个特定系统中以备使用。
制作支持工具
修改FreeCAD
模块开发者指南
FreeCAD模块开发指南:这是一本在Github上写作的电子书。如要贡献,请fork然后发送pull request。
章节:
- 总体情况和软件架构
- 源代码结构
- Base和App模块
- Gui模块
- Python包封
- 模块设计
- FEM模块源代码分析(混合了C++和Python)
- CFD模块的开发(纯Python)
- 模块测试和纠错
- 通过git贡献代码
这个git仓库的最新pdf预览版,可以在pdf文件夹下载到。
内部结构
OpenCascade文档
OpenCascade是一个用于三维曲面和实体建模、CAD数据交换和可视化的软件开发平台,主要采用c++库的形式出现。
文件格式
FCStd 文件格式。
由 FreeCAD 创建的文件是 .zip 格式,其中包含 BREP 几何数据,以及 XML 数据,用于描述文档。
Sketcher 求解器
Sketcher 求解器并不完美,在使用较大数值时会出现一些数值精度问题,详见 修复大型草图 Sketcher 求解器的历程。
开发新的求解器架构有望改善求解器在 草图工作台 中的使用方式,以及在 3D 实体装配中的应用。详见 [[1](https://forum.freecad.org/viewtopic.php?f=20&t=40525) 重新实现约束求解器]。
路线图
FreeCAD虽然在特定领域已经可用了,但是在跨入主流CAD的路途上,它才走了万里长征第一步。要登上与商业软件一争高下的平台,我们还有很多工作要做。
FreeCAD 1.0 开发周期
社区
鸣谢
贡献者
User documentation
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework