CadQuery arrive à maturité | Hackaday

Maintenant, nous savons ce que certains d’entre vous vont dire – « Oh mec, pas une autre outil de CAO programmatique, qu’est-ce qui ne va pas avec OpenSCAD ? » — et vous avez peut-être raison, mais peut-être attendez un peu et jetez un œil à celui-ci, car nous pensons qu’il est maintenant assez 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. Vient ensuite CadQuery, et le souffle hors 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, avec une interface/éditeur graphique, CQ-editor. Aucune dépendance étrange sur FreeCAD à voir ! Cela dit, l’installation de FreeCAD n’est pas une mauvaise chose non plus.

L’objectif est que le script CadQuery qui produit cet objet soit aussi proche que possible de l’expression anglaise qu’un humain utiliserait.

Pour ceux qui ne l’ont pas encore vu, CadQuery est une bibliothèque python qui vous permet de créer des modèles 3D et de les exporter au format STL ainsi qu’au format STEP. La création de modèles pour votre projet KiCAD est donc également une option. Contrairement à OpenSCAD, cependant, CadQuery est beaucoup plus conceptionintention concentré. L’idée est de faire en sorte que le script python se lise davantage comme 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, où les choses sont définies relatif à d’autres choses. À partir de la documentation :

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

Fichier STL créé par ce code visualisé dans Microsoft 3D Builder

height = 60.0
width = 80.0
thickness = 10.0
diameter = 22.0
padding = 12.0

# make the base
result = cq.Workplane("XY").box(height, width, thickness)
.faces(">Z").workplane().hole(diameter)
.faces(">Z").workplane()
.rect(height - padding,width - padding,forConstruction=True)
.vertices()
.cboreHole(2.4, 4.4, 2.1)
.edges("|Z").fillet(2.0)

# Render the solid
show_object(result)

# Export
cq.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 pour faire ce dont vous avez besoin. Besoin d’un boîtier entièrement paramétré pour imprimer en 3D ? Que diriez-vous d’un fait 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, donnant 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 bloc-notes 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, alors nous espérons que vous avez un 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 vous en tenez bien à OpenSCAD merci-très -beaucoup, alors pourquoi ne pas rafraîchir ces compétences OpenSCAD.

Merci [JohnU] pour le pourboire !