python cad二次开发文档_FreeCAD二次开发-工作台开发(使用pycharm)
一. FreeCAD的二次开发
freecad作为一款开源的三维软件,开发相当简便,使用python开发也更为简单。
二.环境配置
我是使用pycharm直接编辑新建的工作台文件夹,freecad自带的python2.7作为编译环境。
三. 主要文件
在mod文件夹下的工作台主要文件有
init.py 表示执行开始,一般没有实际内容,可以为空,但必须要有;
InitGui.py 工作台的ui内容;
然后就是其他的command文件;
四. InitGui.py的内容
# -*- coding: utf-8 -*-
# _TEMPLATEPY_ gui init module
# (c) 2001 Juergen Riegel
# License LGPL
# 继承workbench类,
class _TEMPLATEPY_Workbench ( Workbench ):#类名便是python控制台里的名字
"_TEMPLATEPY_ workbench object"
#加载工作台图标
Icon = FreeCAD.getHomePath() + "Mod/_TEMPLATEPY_/Resources/icons/_TEMPLATEPY_Workbench.svg"
MenuText = "WeiGan"#
ToolTip = "WeiGan workbench"
def Initialize(self):
# load the module
import _TEMPLATEPY_Gui ,MySecondCommand#导入插件的工具栏
#导入我的第二个工具栏
self.appendToolbar('WeiGan',['_TEMPLATEPY__HelloWorld','MySecondCommand'])#把按钮添加为toolbar(模块),第一个是工作台的名字,第二个是按钮列表
self.appendMenu('WeiGan',['_TEMPLATEPY__HelloWorld','MySecondCommand'])#把按钮添加到菜单栏里
def GetClassName(self):
return "Gui::PythonWorkbench"
Gui.addWorkbench(_TEMPLATEPY_Workbench())
五. 如何新建一个按钮
···
-- coding: utf-8 --
FreeCAD tools of the TEMPLATEPY workbench
(c) 2001 Juergen Riegel
License LGPL
import FreeCAD, FreeCADGui
class MySecondCommand:
def Activated(self): #点击按钮执行的动作
FreeCAD.Console.PrintMessage("Hello, World!\n")
def IsActive(self):
FreeCAD.Console.PrintMessage("hi,you enter me")
return True
def GetResources(self):
return {'Pixmap': 'freecad', 'MenuText': 'Hello World', 'ToolTip': 'Print Hello World'}
FreeCADGui.addCommand('MySecondCommand', MySecondCommand())
···
1543327356(1).png
1543327454(1).png
python cad二次开发文档_FreeCAD二次开发-工作台开发(使用pycharm)相关推荐
- python cad二次开发文档_cad二次开发
源代码: #导入模块 from pyautocad import Autocad, APoint #创建cad实例 acad = Autocad(create_if_not_exists=True) ...
- 开发文档模板_究竟什么样的开发流程是规范的?
规范是死的,人是活的,希望自己定的规范,不要被打脸. 接下来从以上六个阶段进行逐一拆解. 1 需求评审 作为技术人员肯定都参加过需求评审会,不知道有没有遇到这样的情况? 产品经理按照 PRD 文档读一 ...
- PulseSensor开发文档(二)动态阈值算法获取心率值
文章目录 1.摘要 2.算法核心思想与心率信号的有效特征点 3.动态阈值算法分思路分析 4.算法整体实现 5.算法实现效果 6.小结 1.摘要 在上一篇文章中:具体介绍了如何用DMA和ADC采集心电数 ...
- python软件开发文档目录_python学习之-软件开发的目录规范
通常软件目录下有几个标准文件夹 软件主文件夹命名,通常都是大写(ATM_SHOPPING) ------------------------------------------------------ ...
- blockly自定义中文出问题_3.8 事件 - Blockly 二次开发文档中文版
工作区上的每个更改都会触发一个事件.这些事件完整地描述了每个变化的前后状态. 监听事件 工作区具有可用于侦听事件流的addChangeListener方法和removeChangeListener方法 ...
- ECSHOP二次开发文档【文件结构和数据库表分析】
Ecshop文件结构 ecshop文件架构说明 /* ECShop 2.5.1 的结构图及各文件相应功能介绍 ECShop2.5.1_Beta upload 的目录 ┣ activity.php 活动 ...
- ECSHOP二次开发文档【文件结构说明和数据库表分析】
地址:https://www.cnblogs.com/nuanxin/p/8032743.html Ecshop文件结构 ecshop文件架构说明 /* ECShop 2.5.1 的结构图及各文件 ...
- luajit开发文档中文版(二)LuaJIT扩展
2022年6月10日15:33:04 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...
- luajit开发文档wiki中文版(二) LuaJIT 扩展
2022年6月9日09:39:53 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文档 ...
最新文章
- 【Mongodb】 Replica set的自动故障切换
- python绘制坐标图_Python绘制主次坐标图
- (转)RTSP协议详解
- 2017.10.25笔记3
- 谷歌大佬花了半年整理的Leetcode刷题笔记
- 全球顶会论文作者,28天手把手带你复现顶会论文
- 概念验证_设置成功的UX概念验证
- 中国剩余定理求解“六位教授必须首次都停止上课”问题
- Unity3D下Linux平台播放RTSP或RTMP流
- 【Java】Java反射异常处理之InvocationTargetException
- MyEclipse 2017 CI 10 发布(附下载)
- 二叉树最小结构(C++版本)
- 计算机技术证明数学定理,数学要项定理公式证明辞典
- 数字图像处理(极简) 第一章 概述(docx)
- 【原创】2021-2000上市公司重污染企业数据、上市公司重污染行业数据(常用变量均包括,可直接用)
- python 126邮箱发送邮件
- 未来中国最热门的十大职业
- Mac升级系统后,Android Studio 不能用问题
- 点云深度学习:多一维看世界【VALSE Webinar】Panel实录
- 神经网络和算法的关系,神经网络的算法有哪些
热门文章
- 【Python】python通配符,使用通配符进行字符串匹配
- mysql between 空值_mysql中between关键字避免踩坑
- 龙兄鼠弟:Ipv4, Ipv6, Mtu, Mss, Fragmentation 那些事.
- 游泳耳机哪个牌子好、分享几款游泳听音乐最好的耳机推荐
- UIView的autoresizingMask属性的使用
- electron 第三方登录(钉钉)
- 性能测试,压力测试,负载测试的区别与联系
- cobbler+kickstart
- Python花式表白的几种姿势!马上就520了,准备好了吗!
- 数据 信息 知识 智慧