Jump to content

发烧友中心

From FreeCAD Documentation
This page is a translated version of the page Power users hub and the translation is 100% complete.


如果您作为资深用户想了解如何定制和扩展 FreeCAD, 那您就来对地方了。

FreeCAD 可以用 Python 代码扩展,这些代码可以直接在 Python 控制台中执行,也可以在启动时从模块加载,因此不需要重新编译 FreeCAD 程序,即可对 FreeCAD 进行修改。例如,可以:

  • 创建并修改几何体:可以创建一种全新的对象类型,或通过调整现有类型来创建一种新类型。
  • 创建自定义工具和命令:添加自己的工具集来运行你的代码。
  • 修改界面:创建工具栏以放置你的工具,或创建特殊的窗口、面板或界面,用于与这些工具交互。
  • 修改场景图表示:FreeCAD 在生成几何体和在屏幕上显示几何体时,使用独立的处理过程。你可以完全访问场景内容的显示方式,因此可以修改该表示、与其交互,或为其添加自定义行为。还可以添加自定义屏幕部件,例如信息显示、拖动控件、锚点或临时实体。

这些页面还远没有成熟。如果你没找到你要找的信息,或者你在别的地方发现了有用的信息,而我们没有链接在这里,那为什么不自己添加进来?同时,请在论坛留下你的意见。

定制 FreeCAD

在 FreeCAD 里写脚本

常规

通则

模块

在 FreeCAD 中,功能被划分为多个模块,每个模块负责处理特定的数据类型和应用。FreeCAD 有内置模块和扩展模块(插件)。安装了插件模块之后,可以像使用内置模块一样方便地使用它们。下文所述的是默认模块,FreeCAD 的每一个安装包都包含这些模块。

  • 内建模块是 FreeCAD 的主体模块,其中的工具可以调整 FreeCAD 的一般配置、文档和内容。
  • 创建工作台展示如何创建自己的工作台。

使用网格(Mesh)

使用零件(Part)

访问 Coin 场景图

控制 Qt 界面

参数对象类工作

示例

  • 代码片段:一些 FreeCAD 的 Python 代码片段,可作为编写脚本的参考素材。
  • 线条绘制函数:如何构建一个简单的绘制线条工具。
  • 对话框创建:如何使用 Qt Designer 构建对话框并在 FreeCAD 中使用它们。
  • 嵌入 FreeCAD:如何在其他应用程序中将 FreeCAD 作为 Python 模块导入。
  • 草图工作台:为 FreeCAD 添加基本的二维绘图功能,这一模块完全由 Python 编写,是学习自定义模块编写的良好示例。
  • FreeCAD 向量数学库:提供一组便捷函数,用于操作 FreeCAD 向量。该库也包含在草图模块中。

API 函数

FreeCAD 完整的 API 文档放在 https://www.freecad.org/api/ 中。它既有 C++ 也有 Python 的 API,还没有完全格式化好。如果想找只含 Python 的代码,可能要费一番功夫。更便于浏览的版本在这里。注意,它可能并不完整,因为它是人工更新的。要找更精确信息的话,直接在 FreeCAD 的 Python 控制台里浏览相应模块吧。

相关:将 C++ 暴露给 Python

高级修改

Python 教程

这些是不错的通用教程,并非专为 FreeCAD 撰写,但如果你完全没接触过 Python, 它们可能对你有益处。

Python

PySide ——怎样通过 Python 创建和管理 FreeCAD 的 Qt 用户交互界面。

下面两个参考源,专用于 PyQt(不是 PySide),但它们可能给了一些有用的信息:

Pivy - 怎样与 FreeCAD 的 3D 场景交互

社区项目

社区入口,你会找到其它基于 FreeCAD 的项目,它们由 FreeCAD 用户社区运行。如果你正开始一个新的 FreeCAD 项目,一定要登记上去。如果你愿意帮助 FreeCAD,我们列出了你可以做的事情。