同是FreeCAD他效率为何那么高?大神教你用python打造专属工作台
off999 2024-12-23 12:43 45 浏览 0 评论
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,则会弹出窗口。
相关推荐
- win7桌面图标设置在哪里(win7桌面图标在哪个文件夹)
-
要调出Win7桌面图标,首先需要进入桌面。可以通过点击任务栏上方的“显示桌面”按钮或按下Windows键+D快捷键进入桌面。在桌面上右键单击空白区域,选择“个性化”,然后选择“更改桌面图标”选项。在弹...
- win7手机壁纸(windows7手机桌面主题)
-
1.首先我们打开手机进入到桌面,找到设置图标点击打开。华为手机如何设置自定义锁屏壁纸2.进入到设置界面之后,点击下方的显示选项。华为手机如何设置自定义锁屏壁纸3.然后我们就可以在显示界面中找到壁纸...
- 怎么开启路由器wifi(怎么开启路由器的dhcp功能)
-
把路由器改为开放网络方法如下:1、打开浏览器,在地址栏输入路由器网关IP地址(路由器背后的标签上有,一般是192.168.1.1),输入登录用户名和密码(一般均为admin);2、登录成功后就显示运行...
- win10加载不出来桌面黑屏(window10加载不出来)
-
方法一、如果是遇到了突发性黑屏首先尝试使用Ctrl+Alt+Delete组合键来进行电脑重启一般重启可以解决大部分黑屏故障。win10电脑黑屏按什么键恢复_win10电脑黑屏一键恢复的方法方法...
- 怎么用火绒关闭win安全中心(win10火绒安全软件怎么关闭)
-
一、火绒防火墙关闭方法在电脑上运行火绒软件后,点击首页界面的“防护中心”,在病毒防护界面可以关闭文件、U盘、邮件等保护功能,。系统防护:在该界面可以关闭系统防护功能,。网络防护:可以关闭网络保护等功...
- 微软应用商店下载手机版(微软应用商店在哪下)
-
、在桌面任务栏找到微软应用商店,点击并打开。2、进入页面后点击【应用】,进入应用页面。3、在页面里往下移动,找到热门应用,找到一个软件,点击进入。4、进入页面后,点击【安装】,软件会自动安装,安装完毕...
- win11系统怎么查看电脑配置(win11怎么查看系统版本)
-
答:win11查看电脑配置步骤如下。1.点击下方任务栏的windows图标或者按下键盘“windows键”打开开始菜单。2.在开始菜单中找到“设置”或“settings”,一般是右上角的齿轮状按钮,3...
- 麦克风没坏但是没声音(麦克风没声怎么回事)
-
几种可能性,供您参考:1、麦是完全好的(其它机子上可以用)2、插孔没有插错3、音量控制里的麦克风并没有静音掉4、声卡驱动已重装过N次,新的旧的都试过了5、音量控制→属性→录音→麦克风下面的勾...
- wps office是干什么的(wps office是干什么的可以卸载吗)
-
WPSOffice一站式办公服务平台,具有可兼容Word、Excel、PPT三大办公组件的不同格式,支持PDF文档的编辑与格式转换集成思维导图、流程图等诸多功...
- 百度网页(百度网页自动翻译怎么设置)
-
1、百度的新闻源网站太多了,基本上大型的商业门户+政府官方的媒体、机构部门都是。2、出现在【百度新闻】里的网站都是新闻源网站。3、怎么判断一个网站是不是新闻源:1)在百度新闻下直接搜网站名字,如果出现...
- 外国网站的浏览器下载(外国网站的浏览器下载Games)
-
答,可在浏览器上面下载所需要的视频/音乐的名称,下载完毕后,按所给的排列表找出所需要的视频/音乐。如果是喜欢的视频/音乐它在浏览器里边都有分类,可详细的介绍一下自己吧,还可以在古典音乐或者名著导读介绍...
-
- 京东攒机助手(京东攒机在哪)
-
自己在京东买的配置,以为身边的人能帮忙组装,但是好像超过了个人的认知,所以无奈之下只能在京东找专业人士进行安装,挺快,前一天傍晚下单,第二天上午上班就来了,组装师傅挺好,挺有耐心,业务也挺熟练,走线看起来也不错,买的机箱是师傅从来没有接触过...
-
2025-11-14 22:03 off999
- 腾讯电脑管家和360哪个好(腾讯电脑管家好用还是360好用)
-
两个都很好。1.腾讯电脑管家和360卫士都是电脑上最常见的免费杀毒软件,两款软件在病毒查杀上都是首屈一指的。2.360卫士在功能上十分丰富,从木马查杀到电脑清理以及优化加速都是一应俱全的,而且还集成了...
- 笔记本突然没声音(笔记本突然没声音是什么原因)
-
可能是因为电脑声音驱动设备故障导致电脑没有声音。解决方法:使用Win+X快捷键,然后在弹出的窗口中点击“设备管理器”选项,之后点击“打开声音、视频和游戏控制器”选项,打开的属性界面查看运行是否正常,或...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
