banner

Blog

Jun 07, 2024

CadQuery wird erwachsen

Jetzt wissen wir, was einige von Ihnen sagen werden: „Oh Mann, kein weiteres programmatisches CAD-Tool, was ist mit OpenSCAD los?“ – und vielleicht haben Sie recht, aber warten Sie vielleicht noch ein wenig und schauen Sie sich das hier an, denn wir finden es jetzt ziemlich großartig! OpenSCAD ist großartig, wir verwenden es in diesen Teilen ständig, aber es ist an manchen Stellen etwas seltsam. Dann kommt CadQuery und übertrifft sowohl die Benutzerfreundlichkeit als auch die Funktionalität. Nun haben wir im Laufe der Jahre einige Erwähnungen von CadQuery gesehen, und schließlich ist es zu einem vollwertigen eigenständigen Toolset geworden, komplett mit einem grafischen Frontend/Editor, dem CQ-Editor. Es sind keine seltsamen Abhängigkeiten zu FreeCAD erkennbar! Allerdings ist die Installation von FreeCAD auch keine schlechte Sache.

Das Ziel besteht darin, dass das CadQuery-Skript, das dieses Objekt erzeugt, so nah wie möglich an der englischen Phrase ist, die ein Mensch verwenden würde.

Für diejenigen, die es noch nicht gesehen haben: CadQuery ist eine Python-Bibliothek, mit der Sie 3D-Modelle erstellen und diese sowohl als STL als auch als STEP exportieren können, sodass auch die Erstellung von Modellen für Ihr KiCAD-Projekt eine Option ist. Im Gegensatz zu OpenSCAD ist CadQuery jedoch viel stärker auf die Designabsicht ausgerichtet. Die Idee besteht darin, das Python-Skript eher wie eine menschliche Beschreibung der Form eines Objekts lesen zu lassen, im Gegensatz zu einer Reihe von Algorithmen, die ein Objekt aus reinen booleschen Operationen konstruieren, die alle relativ zum globalen Koordinatensystem sind. CadQuery verwendet ein relatives Assoziationsmodell, bei dem Dinge relativ zu anderen Dingen definiert werden. Aus den Dokumenten:

CadQuery ist anders – Sie können Features relativ zu anderen lokalisieren und dabei die Entwurfsabsicht beibehalten, genau wie ein Mensch es tun würde, wenn er eine Zeichnung erstellt oder ein Objekt baut.

Höhe = 60,0Breite = 80,0Dicke = 10,0Durchmesser = 22,0Polsterung = 12,0

# mache das Basisergebnis = cq.Workplane("XY").box(height, width, thick)\.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)

# Rendern Sie das solidshow_object(result)

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

Wir sagen nicht, dass OpenSCAD schlecht ist, im Gegenteil, es ist einfach anders, und für einige Leute wird CadQuery viel einfacher sein, das zu erledigen, was sie brauchen. Benötigen Sie ein vollständig parametrisiertes Gehäuse für den 3D-Druck? Wie wäre es mit einem, der nur 47 Zeilen Python-Code umfasst? Mit zunehmender Komplexität des Objekts wächst auch der Nutzen des CadQuery-Ansatzes. Es gibt einige Konzepte, die man mit dem Tool lernen kann, da es ziemlich leistungsfähig ist und viele Möglichkeiten zur Lösung von Problemen bietet, aber wir glauben, dass sich der Aufwand lohnen wird. Wenn Ihnen der QC-Editor nicht gefällt, ist das kein Problem, denn CadQuery kann eigenständig mit jedem beliebigen Editor verwendet werden, es funktioniert sogar mit Jupyter-Notebooks! Auch die Installation sollte kein Problem darstellen, da vorgefertigte Builds verfügbar sind. Allerdings ist die Installation eine gewaltige Angelegenheit, also hoffen wir, dass Sie noch einen freien Speicherplatz auf der Festplatte haben!

Wenn Sie ein eher visueller Denker sind und Ihnen all diese Codierung kalt lässt, dann sollten Sie sich vielleicht diesen Leitfaden zur parametrischen Modellierung in FreeCAD oder einen ähnlichen Leitfaden für Fusion360 ansehen, oder wenn Sie verdammt noch mal bei OpenSCAD bleiben möchten, vielen Dank -sehr gut, warum dann nicht Ihre OpenSCAD-Kenntnisse auffrischen?

Danke [JohnU] für den Tipp!

AKTIE