OpenSCAD Modul

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page OpenSCAD Module and the translation is 100% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎hrvatski • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎svenska • ‎čeština • ‎русский • ‎中文 • ‎中文(中国大陆)‎ • ‎中文(台灣)‎
OpenSCAD Arbeitsbereichssymbol

Einführung

Der Workbench OpenSCAD.svg OpenSCAD Arbeitsbereich soll Interoperabilität mit der Open Source Software OpenSCAD bieten. Dieses Programm wird nicht als Teil von FreeCAD verteilt, sollte aber installiert werden, um diesen Arbeitsbereich voll nutzen zu können. OpenSCAD sollte nicht mit OpenCASCADE verwechselt werden, welches der geometrische Kernel ist, den FreeCAD zur Erstellung von Geometrie auf dem Bildschirm verwendet. Die OpenCASCADE Bibliotheken werden immer benötigt, um FreeCAD zu verwenden, während die ausführbare OpenSCAD Datei vollkommen optional ist.

Sie enthält einen CSG Importeur zum Öffnen der CSG Dateien aus OpenSCAD und einen Exporteur zur Ausgabe eines CSG basierten Baums. Geometrie, die nicht auf CSG Operationen basiert, wird als Netz exportiert.

Dieser Arbeitsbereich enthält Funktionen, um den CSG Funktionssbaum zu ändern und Modelle zu reparieren. Er enthält außerdem allgemein nutzbare Werkzeuge, die keine OpenSCAD Installation erfordern; sie können in Verbindung mit anderen Arbeitsbereichen verwendet werden.Beispielsweise verwendet der Netz Arbeitsbereich intern die OpenSCAD Funktionen, um Operationen mit Netzen durchzuführen, da diese recht robust sind.

OpenSCADexamaple1.png

Abhängigkeiten

In FreeCAD 0.19 wurde das Ply (Python-Lex-Yacc) Modul, das zum Importieren von CSG Dateien verwendet wird, aus dem FreeCAD Quellcode entfernt, da es sich um eine nicht von FreeCAD entwickelte Drittanbieter Bibliothek handelt. Folglich musst du nun Ply installieren, bevor du den OpenSCAD Arbeitsbereich verwenden kannst. Wenn du eine vorkompilierte, stabile Version von FreeCAD verwendest, sollte diese Abhängigkeit auf allen Plattformen automatisch installiert werden; in anderen Fällen, z.B. wenn du Kompilieren aus dem Quellcode verwendest, musst du es möglicherweise aus einem Online Repositorium installieren.

In Debian/Ubuntu basierten Systemen wird dies so gemacht.

sudo apt install python3-ply

Die allgemeine Installation auf allen Plattformen kann über den Python Paketindex durchgeführt werden.

pip3 install --user ply

OpenSCAD Sprache und Dateiformat

Die OpenSCAD Sprache erlaubt die Benutzung von Variablen und Schleifen. Sie erlaubt die Deklarierung von Sub Modulen, um Geometrie und Code wieder zu verwenden. Dieser hohe Grad an Flexibilität macht parsing (Übersetzen) sehr kompliziert. Im Moment kann der OpenSCAD Arbeitsbereich in FreeCAD die OpenSCAD Sprache nicht direkt verarbeiten. Andernfalls, wenn OpenSCAD installiert ist, kann es dazu verwendet werden, die Eingabe in ein Ausgabeformat namens "CSG" zu verwandeln. Dies ist ein Unterbereich der OpenSCAD Sprache und kann als Eingabe für OpenSCAD zur weiteren Bearbeitung verwendet werden. Während der Umwandlung wird jegliches parametrisches Verhalten verlorengehen - alle Variablennamen werden verworfen, Schleifen aufgelöst und mathematische Ausdrücke errechnet.

Werkzeuge

Einstellungen

  • Std DlgParameter.svg Einstellungen: verfügbare Einstellungen für die OpenSCAD Werkzeuge.

Beschränkungen

OpenSCAD erstellt CSG (constructive solid geometry) genauso wie es Netz-Körper importiert und 2D-Geometrie extrudiert (aus DXF-Dateien). FreeCAD erlaubt es, CSG auch mit Grundkörpern zu erstellen. Der Geometriekern von FreeCAD (OCCT) arbeitet mit einer Umgrenzungsdarstellung. Deshalb sollte die Umwandlung von CSG nach BREP in der Theorie möglich sein, während die Umwandlung von BREP nach CSG im Allgemeinen nicht funktionieren dürfte.

OpenSCAD nutzt intern Netz-Körper. Manche Operationen, die bei Netz-Körpern nützlich sind, sind bei BREP-Körpern nicht sinnvoll und können daher nicht voll unterstützt werden. Unter diesen sind konvexe Hülle, Minkowski-Summe, glide und subdiv. Im Moment benutzen wir die OpenSCAD-Ausführungsdatei, um Hüllen und Minkowski-Operationen durchzuführen und die Ergebnisse zu importieren. Das bedeutet, das die beteiligte Geometrie trianguliert (temporär in Netz-Körper verwandelt) wird. In OpenSCAD wird nicht-einheitliches Skalieren oft benutzt, das keinerlei Probleme bei der Benutzung mit Netz-Köpern macht. In unserem Geometriekern werden geometrische Grundelemente (Linien, Kreissegmente) in BSplines konvertiert, bevor man solche Operationen durchführt. Diese BSplines sind bekannt dafür, dass Sie später in bool'schen Operationen Fehler verursachen. Eine automatisierte Lösung ist im Moment nicht verfügbar. Bitte posten Sie im Fourm, wenn Sie solche Fehler entdecken. Oft können solche Problem dadurch vermieden werden, dass man kleine Teile des Modelles anders aufbaut. Ein Zylindersegment kann ersetzt werden durch ein extrudiertes Stück einer Ellipse.

Hinweise

Wenn DXF importiert wird, sollte die "Draft-Präzision" auf einen sinnvollen Wert eingestellt werden, um so die Erkennung von verbundenen Kanten zu erleichtern.

Wenn FreeCAD beim Import von CSG abstürzt, wird dringend empfohlen, "Modell automatisch nach Boolescher Operation überprüfen" im Menü Bearbeiten → Einstellungen → Part Design → Allgemein zu aktivieren.

Tutorien

Verknüpfungen