学写工具台(Workbench)

Chinese forum
johnwang
Posts: 29
Joined: Sun Jan 27, 2019 12:41 am

学写工具台(Workbench)

Postby johnwang » Tue Apr 09, 2019 10:15 am

我是在win 10下用FreeCAD0.17。FreeCAD安装在E:\Program Files\FreeCAD 0.17目录下。FreeCAD本身带的Workbench都装在其中的Mod子目录下。比如Mod\Surface就是Surface工具台。进入Mod\Surface目录,可以看到里面有Init.py和InitGui.py两个Python源文件。
下面以一个画box的工具为例子做一个工具台。我把它叫做hpBox工具台。hp代表什么呢?hp可以是你名字的缩写。比如你叫Harry Porter,缩写正好是hp. 这样可以和别人写的box工具台区分开来。因为别人写box工具台时取名hpBox的几率小。
首先在Mod目录里建一个hpBox子目录,然后把Mod\Surface子目录下的两个py文件拷过来。为了实现我们自己的功能,就得修改原来的代码。
Init.py是用于FreeCAD在终端命令行下运行时工具台的初始化。用一个文本编辑器打开该文件,会看里面只有两条注释语句。FreeCAD如何在终端命令行下运行,我没研究过,目前也不会在终端里运行,所以,这个文件保持原样,不做任何修改。
InitGui.py是用于FreeCAD在窗口下运行时工具台的初始化。这也是我们通常的运行方式。用一个文本编辑器打开该文件,可以看到里面有一个类(class)。类名就是工具台的名字。我们把类名SurfaceWorkbench改成hpBoxWorkbench。将最后一句把新工具台添加到FreeCAD工具台列表上的语句也改成添加hpBoxWorkbench。如果这时你运行FreeCAD,你在工具台列表里将看到两个Surface工具台。我们把MenuText = "Surface"一句改成MenuText = "hpBox",再次运行,就可以看到hpBox列在工具台列表里了。
paullee
Posts: 1477
Joined: Wed May 04, 2016 3:58 pm

Re: 学写工具台(Workbench)

Postby paullee » Mon Apr 15, 2019 5:15 pm

+1
User avatar
leeon
Posts: 15
Joined: Mon Mar 11, 2019 4:37 pm

Re: 学写工具台(Workbench)

Postby leeon » Fri Apr 26, 2019 12:14 pm

不错哦。
I from China.
wood_lee1980@163.com
致力于FreeCAD的推广。
woodlee.cn