FreeCAD是一种通用的参数化三维建模3D CAD软件。发展是完全开源(GPL的LGPL许可证)。FreeCAD直接的目的是在机械工程和产品设计,也适合在更广泛的用途,如建筑或其他工程专业,工程周围。FreeCAD具有类似CATIA,SolidWorks或Solid Edge的工具,因此也将提供CAX(CAD,CAM,CAE),PLM等功能。这将是一个基于参数化建模功能与模块化的软件架构,这使得它易于无需修改核心系统提供额外的功能。
FreeCAD还提供了Python二次开发的接口,我们可以使用Python语言对其进行二次开发。二次开发可以使用FreeCAD软件提供的宏或者。本文主要介绍如何让通过外部程序开发对FreeCAD进行二次开发。这种方法无需打开Freecad软件,可以使用FreeCAD提供的API进行建模等操作。
以下是外部程序开发环境的搭建过程:
1.下载最新版本的FreeCAD软件,并进行安装,软件下载路径如下:
https://www.freecadweb.org/
选择合适的版本进行下载 安装过程比较简单,这里就不展开介绍了。
2.下载安装Miniforge或者anaconda,安装过程参靠这篇文章https://blog.csdn.net/loujiand/article/details/119976302
3.在miniforge中安装freecad库
打开miniforge控制台
输入conda命令行进行安装
输入conda create --name=FreeCAD python=3.8(安装对应的Freecad对应的Pytho版本)
切换虚拟环境
conda activate FreeCAD
登录https://anaconda.org/conda-forge/freecad 查看FreeCAD的安装命令
输入命令行进行安装 conda install -c conda-forge freecad
输入y 进行安装 时间会比较长
打开pycharm 新建一个文件,复制如下内容
FREECADPATH = "C:\\Program Files\\FreeCAD 0.19\\bin"# path to your FreeCAD.so or FreeCAD.dll file
import sys
sys.path.append(FREECADPATH)
import FreeCAD as app
import FreeCAD as App
import FreeCADGui as Gui
import FreeCADGui as gui
import Part, math
import FreeCAD
doc=App.newDocument()
myshape=doc.addObject("Part::Box","Box")
mycube = Part.makeBox(5,5,5)
myshape.Shape = mycube
doc.recompute()
partlist=[myshape]
myshape.Length = '5 mm'
myshape.Height = '5 mm'
print(myshape.Length)
Part.export(partlist,"string.stp")
注意要将这里路径改为安装的FreeCAD软件的路径
FREECADPATH = “C:\Program Files\FreeCAD 0.19\bin”
打开pycharm 设置Python开发环境
选择miniforge安装的对应的Python路径
设置完成后已经点击OK退出
运行刚才复制粘贴的程序 如果显示如下内容则说明开发环境配置正确
后续对FreeCAD的开发就需要自己去摸索了
FreeCAD API查询网址:https://freecad-python-stubs.readthedocs.io/en/latest/index.html