文章内容看完可能需要一点时间,建议大家边编程边看文章。
如有疑问可以回复我。
1、工作台的python终端(1) 全局变量

FreeCAD在console里的名字是App。
在python脚本中,是FreeCAD模块。
getHomePath()返回的是软件安装目录
getResourceDir() 返回的是软件的资源目录
(2) Mod 目录
该软件根目录下的Mod目录,是用来存放workbench的python脚本文件的。
这些文件对应于界面上的workbench的工作台。
我们通过对工作台的python的开发,就可以定制自己的工作台。
关于Freecad的API 可以通过help文档来查看
2、零件工作台(Part workbench)
打开Mod目录中的Part目录
文件中,只有Init.py 和InitGui.py 是必须的。
Init.py 文件是初始化文件,可以为空。
InitGui.py 文件是界面的初始化文件。
(1)Init.py文件
在Init.py文件中,除了说明文件,就是一些导入的类型文件。
(2)InitGui.py 文件
在InitGui.py 文件中,只有两步:
创建工作台类,并将该类载入工作台。
下面我们详细分析一下PartWorkbench类。
该类,有三个函数,初始化的__init__()函数,Initialize()函数,GetClassName() 函数。
在__init__()函数中,主要定义一些基本的实例变量。例如图标的文件,菜单的名称,和工具条显示的信息。
在Initialize() 函数中,是我们在界面中点击part之后的响应。
首先加载PartGui
加载自定义模块
并进行一系列的操作。
GetClassName()函数,是返回类的信息。
3、 工作台开发框架
(1)我的自定义工作台
在工作台的开发中,我们始终围绕Init.py和InitGui.py 两个文件来展开,所有的文件都以这两个文件为触发点,向FreeCad响应。
首先我们新建一个目录,名称叫MyWorkBench, 并在目录中新建Init.py和InitGui.py文件。
(2)、Init.py
该文件为空
(3)、InitGui.py
可以在python终端查看使用方法
直接打开FreeCAD,可以看到界面
可以看到这个命名为MyWork的界面出现了。由于,并未定义任何界面按钮,所以这是一个空界面。
需要说明的是,类的名字,不能与其他工作台类名称相同。
同时,可以看到,在python终端已经显示,当前工作台为MyWorkbench1.
4、 按钮
(1)按钮文件
按钮文件是一个类,包含三个函数,
l Activated 处理点击响应
l IsActive 处理是否可用
l GetResource 获取Gui标识
(2)响应中加入界面HelloWorld
我们可以在Activated函数内增加界面
重新启动freecad,则会弹出窗口。