Module Python pour CAO paramétrique

je cherche un module CAO pour python. C'est ce que j'ai trouvé, corrigez-moi si je me trompe:

  • PythonCAD:
    • types de fichiers: DWG, DXF, SVG
    • oriented: cliquez dans une fenêtre
    • dernière mise à jour: 2012-06-15
    • documentée: les pauvres et sales
  • PythonOCC:
    • types de fichiers: STEP, IGES, STL (import/export)
    • orienté: scripts
    • dernière mise à jour: 2013-01-12
    • documentée: bonne et claire
    • Installation est une douleur
  • Libre-CAD (python emballage)
    • types de fichiers: ?
    • : cliquez dans une fenêtre de script python importable depuis python
    • dernière mise à jour: jan 2013
    • documentée: très bien

Eh bien, il semble que les fixations python pour FreeCad est le meilleur, mais existe-il d'autres choses?

16
demandé sur Mermoz 2013-01-25 13:40:20

4 réponses

j'ai trouvé que Freecad est la meilleure solution. Les fixations python vous permettent de concevoir des pièces de manière complète.

myShape = Part.makeBox(2,2,2)
myShape.translate(Base.Vector(2,0,0))

à partir de géométries simples, vous pouvez utiliser des opérations booléennes:

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)

mais pythonocc a le même problème et ce que je n'aime pas c'est la documentation minimale et la synthax ce qui est trop opencascade comme et pas trop pythonistique.

6
répondu Mermoz 2013-02-28 10:07:42

occmodel est une petite bibliothèque autonome qui donne un accès de haut niveau au noyau de modélisation OpenCASCADE.

4
répondu Volodimir Kopey 2013-10-08 22:08:48

PythonOCC est probablement le plus complet. En voici d'autres:

CADDD - utilise PythonOCC, a GUI dans Qt.

NURBS - module Python pour travailler avec les NURBS.

lolcad - l'air très bon, mais il n'a pas été mis à jour depuis un certain temps.

et de cource, vous pouvez essayer D'utiliser Blender, qui a l'interpréteur Python intégré et il y a des plugins pour l'architecture et la modélisation de précision (comme )

3
répondu Ecir Hana 2013-02-27 22:20:09

vue Salomé. Le code ressemble à ceci:

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' )
2
répondu steller 2016-05-03 09:16:39