Bibliothèque Python open source pour les formats de fichiers CAO 3D
Bibliothèque CAO Python gratuite pour créer des modèles CAO 3D paramétriques. Il crée des formats CAO de haute qualité comme STEP, AMF et 3MF en plus du STL traditionnel
La bibliothèque Python open source CadQuery est une bibliothèque Python facile à utiliser pour créer des modèles CAO 3D paramétriques. La bibliothèque est très puissante et en écrivant de courts scripts, elle peut produire des modèles CAO de haute qualité dans des applications Python. Il est également possible de personnaliser le script et de créer de nombreux objets différents à l'aide d'un seul script. Les scripts CadQuery sont très rapides et peuvent créer STL, STEP, AMF et 3MF plus rapidement que les autres bibliothèques disponibles.
La bibliothèque offre des capacités de modélisation avancées telles que les congés, les extrusions curvilignes, les courbes paramétriques et les lissages. Il s'agit d'une bibliothèque basée sur des scripts qui peut créer un modèle paramétrique qui peut être facilement personnalisé par les utilisateurs finaux. Il crée des modèles 3D avec des scripts aussi proches que possible de la façon dont vous décririez l'objet à un humain. CadQuery est sous licence selon les termes de la licence publique Apache, version 2.0.
Cette bibliothèque CadQuery est délibérément conçue pour être sans interface graphique, de sorte qu'elle puisse être utilisée dans des applications d'ingénierie et scientifiques pour créer par programme des modèles 3D. Si vous avez besoin d'utiliser une interface graphique, vous pouvez envisager l'éditeur CQ de l'interface graphique basée sur Qt ou l'extension Jupyter jupyter-cadquery. Il est également possible d'utiliser la bibliothèque avec d'autres bibliothèques Python.
Premiers pas avec CadQuery
Le moyen le plus simple d'installer la version stable de CadQuery consiste à utiliser pip. Veuillez utiliser la commande suivante pour une installation fluide.
Installer CadQuery via pip
pip install cadquery
Vous pouvez télécharger la bibliothèque partagée compilée à partir du référentiel Github.
Travailler avec Polygon via Python 3D Library
Un polygone est une forme bidimensionnelle à côtés droits. La modélisation polygonale est une approche pour modéliser des objets en représentant ou en approximant leurs surfaces à l'aide de maillages polygonaux. La bibliothèque Python open source CadQuery permet aux développeurs de logiciels de créer des polygones pour chaque point de pile avec seulement quelques lignes de code Python. C'est très bénéfique dans les imprimantes 3d dont le firmware ne corrige pas les petites tailles de trous.
Créer des plans de travail sur des faces via la bibliothèque Python 3D
La bibliothèque Python open source CadQuery a fourni une prise en charge complète pour la création de plans de travail sur les faces dans les applications Python. l'utilisation des plans de travail de cette manière est une caractéristique clé de CadQuery. Il libère les utilisateurs de la recherche de la position de diverses caractéristiques dans les variables et permet au modèle de supprimer les dimensions redondantes. Les utilisateurs peuvent sélectionner les faces du solide résultant en appelant la méthode Workplane.faces (). N'oubliez pas que par défaut, l'origine d'un nouveau plan de travail est calculée en créant un plan à partir de la face sélectionnée et en projetant l'origine précédente sur ce plan.
Création de plans de travail sur des faces via Python
result = cq.Workplane("front").box(2, 3, 0.5) # make a basic prism
result = result.faces(">Z").workplane().hole(0.5) # find the top-most face and make a hole
Travailler avec des briques LEGO 3D via Python
La bibliothèque CadQuery a fourni un support complet pour créer une animation 3D représentant les briques Lego de différentes tailles à l'aide de commandes Python. Il est également possible de recréer des briques en joignant plusieurs cubes et cylindres ensemble. Nous pouvons créer un objet composé pour réunir ces formes 3D en un seul objet (brique). L'exemple suivant montre comment générer une brique Lego(TM) rectangulaire régulière de n'importe quelle taille. C'est seulement délicat à cause de la logique concernant le dessous de la brique.
Créer des briques LEGO 3D via Python
#####
# Inputs
######
lbumps = 6 # number of bumps long
wbumps = 2 # number of bumps wide
thin = True # True for thin, False for thick
#
# Lego Brick Constants-- these make a lego brick a lego :)
#
pitch = 8.0
clearance = 0.1
bumpDiam = 4.8
bumpHeight = 1.8
if thin:
height = 3.2
else:
height = 9.6
t = (pitch - (2 * clearance) - bumpDiam) / 2.0
postDiam = pitch - t # works out to 6.5
total_length = lbumps*pitch - 2.0*clearance
total_width = wbumps*pitch - 2.0*clearance
# make the base
s = cq.Workplane("XY").box(total_length, total_width, height)
# shell inwards not outwards
s = s.faces("Z").workplane(). \
rarray(pitch, pitch, lbumps, wbumps, True).circle(bumpDiam / 2.0) \
.extrude(bumpHeight)
# add posts on the bottom. posts are different diameter depending on geometry
# solid studs for 1 bump, tubes for multiple, none for 1x1
tmp = s.faces(" 1 and wbumps > 1:
tmp = tmp.rarray(pitch, pitch, lbumps - 1, wbumps - 1, center=True). \
circle(postDiam / 2.0).circle(bumpDiam / 2.0).extrude(height - t)
elif lbumps > 1:
tmp = tmp.rarray(pitch, pitch, lbumps - 1, 1, center=True). \
circle(t).extrude(height - t)
elif wbumps > 1:
tmp = tmp.rarray(pitch, pitch, 1, wbumps - 1, center=True). \
circle(t).extrude(height - t)
else:
tmp = s
# Render the solid
build_object(tmp)