banner

Blog

Jun 07, 2024

CadQuery arrive à maturité

Maintenant, nous savons ce que certains d'entre vous vont dire : « Oh mec, pas un autre outil de CAO programmatique, qu'est-ce qui ne va pas avec OpenSCAD ? — et vous avez peut-être raison, mais attendez peut-être un peu et jetez un œil à celui-ci, car nous pensons qu'il est maintenant plutôt génial ! OpenSCAD est génial, nous l'utilisons tout le temps autour de ces parties, mais c'est un peu, vous savez, bizarre par endroits. Ensuite arrive CadQuery, et il sort de l'eau en termes de facilité d'utilisation et de fonctionnalité. Maintenant, nous avons vu quelques mentions de CadQuery au fil des ans, et finalement c'est devenu un ensemble d'outils à part entière, complet avec une interface/éditeur graphique, l'éditeur CQ. Aucune dépendance étrange sur FreeCAD à voir ! Cela dit, installer FreeCAD n’est pas non plus une mauvaise chose.

L'objectif est que le script CadQuery qui produit cet objet soit aussi proche que possible de la phrase anglaise qu'un humain utiliserait.

Pour ceux qui ne l'ont jamais vu auparavant, CadQuery est une bibliothèque python qui vous permet de créer des modèles 3D et de les exporter au format STL ainsi que STEP, donc créer des modèles pour votre projet KiCAD est également une option. Cependant, contrairement à OpenSCAD, CadQuery est beaucoup plus axé sur l'intention de conception. L'idée est que le script Python ressemble davantage à une description humaine de la forme d'un objet, par opposition à un ensemble d'algorithmes construisant un objet à partir d'opérations booléennes directes, toutes relatives au système de coordonnées global. CadQuery utilise un modèle d'association relative, dans lequel les éléments sont définis par rapport à d'autres. À partir des documents :

CadQuery est différent : vous pouvez localiser des fonctionnalités par rapport aux autres de manière relative - en préservant l'intention de conception, tout comme le ferait un humain lors de la création d'un dessin ou de la construction d'un objet.

hauteur = 60,0largeur = 80,0épaisseur = 10,0diamètre = 22,0rembourrage = 12,0

# crée le résultat de base = cq.Workplane("XY").box(height, width, Thickness)\.faces(">Z").workplane().hole(diameter)\.faces(">Z"). plan de travail() \.rect(hauteur - rembourrage,largeur - rembourrage,forConstruction=True)\.vertices()\.cboreHole(2.4, 4.4, 2.1)\.edges("|Z").fillet(2.0)

# Rendre le solidshow_object (résultat)

# Exportercq.exporters.export(result,'result.stl')cq.exporters.export(result,'result.step')

Nous ne disons pas qu'OpenSCAD est mauvais, loin de là, c'est juste différent, et pour certaines personnes, CadQuery sera beaucoup plus facile à réaliser ce dont vous avez besoin. Besoin d'un boîtier entièrement paramétré pour imprimer en 3D ? Que diriez-vous d'une réalisation en seulement 47 lignes de code python ? À mesure que la complexité de l'objet augmente, les avantages de l'approche CadQuery augmentent également. Il y a pas mal de concepts à apprendre avec l'outil, car il est assez puissant, offrant de nombreuses façons de résoudre les problèmes, mais nous pensons que l'effort en vaudra la peine. Si vous n'aimez pas l'éditeur QC, ce n'est pas un problème, car CadQuery peut être utilisé de manière autonome avec l'éditeur de votre choix, il fonctionne même avec le notebook Jupyter ! L'installer ne devrait pas non plus être un problème, avec des versions prédéfinies disponibles, mais cela dit, c'est une énorme installation, nous espérons donc que vous disposez d'un Go d'espace disque disponible !

Si vous êtes un penseur plus visuel et que tout ce codage vous laisse froid, alors vous voudrez peut-être consulter ce guide de modélisation paramétrique dans FreeCAD, un guide similaire pour fusion360, ou si vous êtes vraiment fidèle à OpenSCAD, merci -beaucoup, alors pourquoi ne pas perfectionner ces compétences OpenSCAD.

Merci [JohnU] pour le conseil !

PARTAGER