Il existe de nombreuses possibilités d'effectuer des calculs numériques (principalement en utilisant Python) même en utilisant la CAO 3D, et il y a une demande de génération de données (incontournables) pour 3D (STEP, IGES, STL) sur la base des calculs numériques. C'est une solution alors que le nombre augmente.
En conclusion, utilisez Open CASCADE.
OpenCASCADE, célèbre pour C ++ and the Hallows of Death OpenCascade Technology, mais l'original est une bibliothèque composée de 1 million de lignes en C ++, donc si vous essayez de l'utiliser C'est très difficile. J'utilise donc le bon code pythonocc-core qui enveloppe presque tout OpenCASCADE dans Python.
# Python 3.8
conda install -c conda-forge pythonocc-core
# Python 3.7 or 3.6
conda install -c dlr-sc pythonocc-core
C'est un bon groupe de code à ajouter en plus.
Ceci est un exemple d'utilisation très simple.
from OCC.Display.SimpleGui import init_display
from OCC.Core.gp import gp_Pnt, gp_Vec, gp_Dir
from OCC.Core.gp import gp_Ax1, gp_Ax2, gp_Ax3
from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakeEdge
from OCC.Extend.DataExchange import write_step_file, read_step_file
display, start_display, add_menu, add_function = init_display()
display.DisplayShape(gp_Pnt())
p1 = gp_Pnt(0, 0, 0)
p2 = gp_Pnt(0, 0, 10)
edge = BRepBuilderAPI_MakeEdge(p1, p2)
result = edge.Edge()
write_step_file(result, "pythonocc-core.stp")
display.DisplayShape(result)
display.FitAll()
display.View.Dump("pythonocc-core.png ")
start_display()
Lorsque vous l'exécutez, vous verrez une image de la visionneuse 3D et de sa visionneuse et un fichier STEP appelé pythonocc-core.stp.
Comment l'utiliser reste à venir. Après cela, vous pouvez déplacer la visionneuse 3D, cracher des fichiers autres que STEP (IGES, STL, BRep) ou créer votre forme préférée.
Il existe de nombreux exemples dans demo.
Il peut être raisonnablement bon comme visionneuse 3D (STEP, IGES, STL peuvent être affichés), mais le point le plus utile pour le travail est qu'il peut cracher STEP. Avec cela, la compatibilité avec la CAO commerciale est considérablement améliorée.
De plus, le calcul vectoriel, la conversion du système de coordonnées, Spilne et Boolean peuvent être utilisés, et les fonctions de calcul minimales requises telles que la CAO sont implémentées, il y a donc un aspect qu'il est excellent en tant que bibliothèque de calcul géométrique de base plutôt que CAO. ..
Bien sûr, s'il s'agit d'opérations de conversion, ce n'est pas difficile à implémenter si vous écrivez du code de différentes manières, mais je suis très reconnaissant que presque toutes les opérations géométriques aient déjà été implémentées.
Cela fait quelques années que j'ai commencé à l'utiliser, mais honnêtement, je ne sais pas comment cela fonctionne pour 3D Viewer. Je me demande si la fonction de dessin d'OpenCASCADE est intégrée dans Qt (PyQt).
J'utilise généralement Windows principalement, mais c'était assez choquant quand 3D travaillait avec Qt simplement en exécutant conda install dans l'environnement natif de Windows. (Et j'ai réalisé qu'il m'est impossible de le faire en C ++ y compris le dessin)
Recommended Posts