开发者中心
如果你对开发FreeCAD软件有兴趣,想贡献于这个项目的开发,这里正有你该了解的内容。
这些页面还处于开发的早起阶段。如果你找不到想看的信息,如果你在别处看到了有用的信息,而我们没有链接在这里,那么请在论坛里留下你的评论。会有人仔细看,认真处理它们的(或者,大胆如你,为什么不直接编辑这个页面呢?)。
Developer Documentation
开发者文档
开发者文档由以下部分构成:
编译 FreeCAD
- Github 代码库. 如果你是git新手, 请阅读Source code management
- 用Docker编译
- 在Windows上编译
- 在Linux上编译
- 在Mac OS X上编译
- 关于FreeCAD的许可协议细节
- 第三方程序库
- 第三方工具库
- 起始和配置
- 源文档
- 当你有问题或你认为发现了一个bug的时候,请使用 bug tracker 。
Packaging
Packaging consists in taking the compiled binaries and Python source files of FreeCAD, and distributing them for use in a particular system.
Build Support Tools
Modifying FreeCAD
改装FreeCAD
- 理解FreeCAD的源代码
- 向FreeCAD或工作台添加功能
- 品牌化或者说如何让FreeCAD看起来很特别
- 我们为FreeCAD做的艺术工作,你可以自由重用
- 艺术工作指南列出了图标设计的标准
- 翻译FreeCAD
- 附加Python模块,如何在FreeCAD里扩展Python功能
- 谷歌代码之夏,参与谷歌的学生支持计划
Module developer's guide
模块开发者指南
FreeCAD模块开发指南:这是一本电子书,在Github上写作。请分支出去,然后发送拉取请求,来为它贡献内容。
章节:
- 总体情况和软件架构
- 源代码结构
- Base和App模块
- Gui模块
- Python包封
- 模块设计
- FEM模块源代码分析(混合了C++和Python)
- CFD模块的开发(纯Python)
- 模块测试和纠错
- 通过git贡献代码
这个git仓库的最新pdf预览版,可以在pdf文件夹下载到。
Internals
OpenCascade文档
OpenCascade is a software development platform for 3D surface and solid modeling, CAD data exchange, and visualization, mostly in the form of C++ libraries.
- Roman Lygin's tutorials
- Full Online Documentation
- Reference Manual
- The openCascade wiki (currently containing ?? Chinese spam)
File format
File Format FCStd. The files created with FreeCAD are .zip
files that include the BREP geometry, as well as XML data that describes the document.
Sketcher solver
- Sketcher Solver Architecture Booklet (forum thread), source in GitHub.
- PlaneGCS solver in the FreeCAD source code; important files are GCS.cpp and SubSystem.cpp.
- Recent Several Sketcher improvements.
The sketcher solver isn't perfect, as there are some issues with numerical precision when using large values, see Adventure of fixing sketcher solver for large sketches.
The development of a new solver architecture could improve the way the solver is used both in the Sketcher Workbench, and for assembly of 3D bodies. See Reimplementing constraint solver.
Roadmap
路线图
FreeCAD虽然在特定领域已经可用了,但是在跨入主流CAD的路途上,它才走了万里长征第一步。要登上与商业软件一争高下的平台,我们还有很多工作要做。
Community
- IRC channel ,synchronized with gitter channel
- Development forum
信用
- 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, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub