用于参数化CAD的Python模块
我在找一个适合Python的CAD模块。以下是我找到的一些信息,如果我说错了请纠正我:
- PythonCAD:
- 支持的文件类型:DWG, DXF, SVG
- 使用方式:在窗口中点击操作
- 最后更新:2012年6月15日
- 文档质量:很差,内容杂乱
- PythonOCC:
- 支持的文件类型:STEP, IGES, STL(可以导入和导出)
- 使用方式:通过脚本操作
- 最后更新:2013年1月12日
- 文档质量:很好,内容清晰
- 安装过程非常麻烦
- FreeCAD(Python封装)
- 支持的文件类型:不确定
- 使用方式:在窗口中点击操作,同时可以从Python导入脚本
- 最后更新:2013年1月
- 文档质量:非常好
看起来FreeCAD的Python绑定是最好的,但还有其他选择吗?
6 个回答
5
occmodel 是一个小型的独立库,它可以让你更方便地使用 OpenCASCADE 建模内核。
7
CADquery 是一个目前用于 FreeCad 的插件,我用过这个插件,感觉比用 Python 编写 OpenScad 脚本要好用得多。开发者们现在正在将这个插件从 FreeCad 转移到 Python OCC,准备推出第二个版本,但我现在还是在使用第一个版本。
CQParts 是 cadquery 变得有用的一个非常重要的部分。它类似于一个过程,你可以设计一个轮子等等。
12
我发现FreeCAD是最好的解决方案。它的Python接口让你可以以一种全面的方式设计零件。
myShape = Part.makeBox(2,2,2)
myShape.translate(Base.Vector(2,0,0))
从简单的几何形状开始,你可以使用布尔运算:
cylinder1 = Part.makeCylinder(3,10,Base.Vector(0,0,0),Base.Vector(1,0,0))
cylinder2 = Part.makeCylinder(3,10,Base.Vector(5,0,-5),Base.Vector(0,0,1))
common = cylinder1.common(cylinder2)
唯一的缺点是,在Mac OS上安装比较麻烦,我在雪豹系统上无法编译(因为依赖了太多不再维护的库)。
不过,pythonocc也有同样的问题,我不喜欢的是它的文档很少,而且语法太像OpenCascade,不够Python风格。