用于参数化CAD的Python模块

问题描述 投票:19回答:6

我正在寻找一个用于python的CAD模块。这就是我发现的,如果我错了,请纠正我:

  • PythonCAD: 文件类型:DWG,DXF,SVG 导向:在窗口中单击 最后维护:2012-06-15 记录:贫穷和肮脏
  • PythonOCC: 文件类型:STEP,IGES,STL(导入/导出) 面向:脚本 最后维护:2013-01-12 记录:良好和清晰 安装真是太痛苦了
  • Free-CAD (python wrapping) 文件类型: ? 面向:在一个窗口中单击并从python导入python脚本 最后维护:2013年1月 记录:非常好

好吧,似乎FreeCad的python绑定是最好的,但还有其他东西吗?

python cad
6个回答
8
投票

我发现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喜欢而不是太多的pythonistic。


5
投票

occmodel是一个小型自包含库,可以高级访问OpenCASCADE建模内核。


3
投票

PythonOCC可能是功能最齐全的。这里还有一些:

CADDD - 使用PythonOCC,在Qt中有GUI。

NURBS - 用于与NURBS合作的Python模块。

lolcad - 看起来非常好,但很长一段时间没有更新。

当然,您可以尝试使用Blender,它具有内置的Python解释器,并且有用于架构和精度建模的插件(如qazxsw poi)


2
投票

this有一个视图。代码如下所示:

Salome

1
投票

import sys import salome salome.salome_init() theStudy = salome.myStudy import salome_notebook notebook = salome_notebook.NoteBook(theStudy) sys.path.insert( 0, r'/tmp') ### ### GEOM component ### import GEOM from salome.geom import geomBuilder import math import SALOMEDS geompy = geomBuilder.New(theStudy) O = geompy.MakeVertex(0, 0, 0) OX = geompy.MakeVectorDXDYDZ(1, 0, 0) OY = geompy.MakeVectorDXDYDZ(0, 1, 0) OZ = geompy.MakeVectorDXDYDZ(0, 0, 1) Vertex_1 = geompy.MakeVertex(0, 0, 0) Vertex_2 = geompy.MakeVertex(0, 2, 0) Vertex_3 = geompy.MakeVertex(2, 2, 0) Line_1 = geompy.MakeLineTwoPnt(Vertex_2, Vertex_3) Line_1_vertex_2 = geompy.GetSubShape(Line_1, [2]) Line_1_vertex_3 = geompy.GetSubShape(Line_1, [3]) Curve_1 = geompy.MakeInterpol([Line_1_vertex_2, Line_1_vertex_3, Vertex_1], True, False) geompy.addToStudy( O, 'O' ) geompy.addToStudy( OX, 'OX' ) geompy.addToStudy( OY, 'OY' ) geompy.addToStudy( OZ, 'OZ' ) geompy.addToStudy( Vertex_1, 'Vertex_1' ) geompy.addToStudy( Vertex_2, 'Vertex_2' ) geompy.addToStudy( Vertex_3, 'Vertex_3' ) geompy.addToStudy( Line_1, 'Line_1' ) geompy.addToStudyInFather( Line_1, Line_1_vertex_2, 'Line_1:vertex_2' ) geompy.addToStudyInFather( Line_1, Line_1_vertex_3, 'Line_1:vertex_3' ) geompy.addToStudy( Curve_1, 'Curve_1' ) 是目前用于FreeCad的插件,我使用它并且比在Python中编写OpenScad脚本更好。开发人员目前正从FreeCad迁移到Python OCC for Version 2,但我目前正在使用V1。


-1
投票

CADquery是一个用于参数化CAD的新型专业级Python库。该库带有集成的IDE和查看器,并且可以在云中运行免费的,有限的90天试用版。有几个可用的例子,有很好的文档。

这是一个带孔的板的示例代码,在其中心创建:

Pascale

完全披露:我是Pascale的开发人员。

© www.soinside.com 2019 - 2024. All rights reserved.