cad和python哪个好学_同是FreeCAD他效率为何那么高?大神教你用python打造专属工作台...

FreeCAD是功能上与solidworks等同的开源免费软件。功能非常强大。从3D建模,BIM,组装,到力学分析,热分析,等一应俱全。更重要的,他的底层是和python完全封装的。换句话说,我们可以使用python做任何事情。今天我们就介绍一下,FreeCAD二次开发的基础内容。

文章内容看完可能需要一点时间,建议大家边编程边看文章。

如有疑问可以回复我。

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,则会弹出窗口。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值