OpenSCAD Workbench/de: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(33 intermediate revisions by 5 users not shown)
Line 2: Line 2:


{{Docnav/de
{{Docnav/de
|[[Mesh Module/de|Arbeitsbereich Polygonnetz]]
|[[Mesh_Workbench/de|Arbeitsbereich Polygonnetz]]
|[[Part Module/de|Part Arbeitsbereich]]
|[[Part_Workbench/de|Part Arbeitsbereich]]
|IconL=Workbench_Mesh.svg
|IconL=Workbench_Mesh.svg
|IconR=Workbench_Part.svg
|IconR=Workbench_Part.svg
Line 10: Line 10:
[[Image:Workbench_OpenSCAD.svg|thumb|128px|OpenSCAD Arbeitsbereichssymbol]]
[[Image:Workbench_OpenSCAD.svg|thumb|128px|OpenSCAD Arbeitsbereichssymbol]]


<span id="Introduction"></span>
== Einführung ==
== Einführung ==


Der [[Image:Workbench_OpenSCAD.svg|24px]] [[OpenSCAD_Workbench/de|OpenSCAD Arbeitsbereich]] soll Interoperabilität mit der Open Source Software [http://www.openscad.org/ 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/de|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.
Der [[Image:Workbench_OpenSCAD.svg|24px]] [[OpenSCAD_Workbench/de|OpenSCAD Arbeitsbereich]] soll Interoperabilität mit der Open Source Software [http://www.openscad.org/ OpenSCAD] bieten. Dieses Programm wird nicht als Bestandteil von FreeCAD verteilt, sollte aber installiert werden, um diesen Arbeitsbereich voll nutzen zu können. OpenSCAD sollte nicht mit [[OpenCASCADE/de|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 [[OpenSCAD_CSG/de|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.
Sie enthält einen [[OpenSCAD_CSG/de|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.
Line 21: Line 22:
[[Image:OpenSCADexamaple1.png]]
[[Image:OpenSCADexamaple1.png]]


<span id="Dependencies"></span>
== Abhängigkeiten ==
== 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 [[Compiling/de|Kompilieren]] aus dem Quellcode verwendest, musst du es möglicherweise aus einem Online Repositorium installieren.
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 [[Compiling/de|Kompilieren]] aus dem Quellcode verwendest, musst du es möglicherweise aus einem Online Repositorium installieren.


In openSUSE wird vorgenommen dies durch:
In Debian/Ubuntu basierten Systemen wird dies so gemacht.

{{Code|code=
sudo zypper install python3-ply
}}

In Debian/Ubuntu basierten Systemen wird dies wie nachfolgend gemacht.

{{Code|code=
{{Code|code=
sudo apt install python3-ply
sudo apt install python3-ply
Line 31: Line 40:


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

{{Code|code=
{{Code|code=
pip3 install --user ply
pip3 install --user ply
}}
}}


<span id="OpenSCAD_language_and_file_format"></span>
== OpenSCAD Sprache und Dateiformat ==
== OpenSCAD Sprache und Dateiformat ==


Line 42: Line 53:
Während der Umwandlung wird jegliches parametrisches Verhalten verlorengehen - alle Variablennamen werden verworfen, Schleifen aufgelöst und mathematische Ausdrücke errechnet.
Während der Umwandlung wird jegliches parametrisches Verhalten verlorengehen - alle Variablennamen werden verworfen, Schleifen aufgelöst und mathematische Ausdrücke errechnet.


<span id="Tools"></span>
== Werkzeuge ==
== Werkzeuge ==


* [[Image:OpenSCAD_ColorCodeShape.svg|32px]] [[OpenSCAD_ColorCodeShape/de|Form des Farbcodes]]: Ändert die Farbe von ausgewählten oder allen Objekten basierend auf ihrer Gültigkeit
* [[Image:OpenSCAD_ColorCodeShape.svg|32px]] [[OpenSCAD_ColorCodeShape/de|Farbcodeform]]: Ändert die Farbe von ausgewählten oder allen Formen basierend auf ihrer Gültigkeit
* [[Image:OpenSCAD_ReplaceObject.svg|32px]] [[OpenSCAD_ReplaceObject/de|Objekt ersetzen]]: Ersetzt ein Objekt in der Baumstruktur. Bitte wähle altes, neues und Elternobjekt
* [[Image:OpenSCAD_ReplaceObject.svg|32px]] [[OpenSCAD_ReplaceObject/de|Objekt ersetzen]]: Ersetzt ein Objekt in der Baumstruktur. Bitte wähle altes, neues und Elternobjekt
* [[Image:OpenSCAD_RemoveSubtree.svg|32px]] [[OpenSCAD_RemoveSubtree/de|Unterbaum entfernen]]: Entfernt die ausgewählten Objekts und alle Kinder, die nicht von anderen Objekten referenziert werden.
* [[Image:OpenSCAD_RemoveSubtree.svg|32px]] [[OpenSCAD_RemoveSubtree/de|Unterbaum entfernen]]: Entfernt die ausgewählten Objekts und alle Kinder, die nicht von anderen Objekten referenziert werden.
* [[Image:OpenSCAD_RefineShapeFeature.svg|32px]] [[OpenSCAD_RefineShapeFeature/de|Formmerkmale verfeinern]]: Verfeinert Formmerkmale.
* [[Image:OpenSCAD_RefineShapeFeature.svg|32px]] [[OpenSCAD_RefineShapeFeature/de|Formmerkmale verfeinern]]: Verfeinert Formmerkmale.
* [[Image:OpenSCAD_MirrorMeshFeature.svg|32px]] [[OpenSCAD_MirrorMeshFeature/de|Spiegeln Netz Merkmale]]: Erstelle Spiegel Netz Merkmal.
* [[Image:OpenSCAD_IncreaseToleranceFeature.svg|32px]] [[OpenSCAD_IncreaseToleranceFeature/de|Toleranzmerkmal erhöhen]]: Erhöht die Toleranz von Kanten/Flächen/Eckpunkten bei ausgewählten Objekten.
* [[Image:OpenSCAD_ScaleMeshFeature.svg|32px]] [[OpenSCAD_ScaleMeshFeature/de|Skaliere Netz Merkmal]]: Skalieren eines Netzmerkmals.
* [[Image:OpenSCAD_ResizeMeshFeature.svg|32px]] [[OpenSCAD_ResizeMeshFeature/de|Größe des Netzmerkmals ändern]]: Ändern der Größe eines Netzmerkmals.
* [[Image:OpenSCAD_IncreaseToleranceFeature.svg|32px]] [[OpenSCAD_IncreaseToleranceFeature/de|Toleranzmerkmal erhöhen]]: Erhöht die Toleranz von Kanten/Flächen/Knoten von ausgewählten Objekten.
* [[Image:OpenSCAD_Edgestofaces.svg|32px]] [[OpenSCAD_Edgestofaces/de|Kanten in Flächen umwandeln]]: Wandelt Kanten in Flächen um. Nützlich zur Vorbereitung von importierter DXF Geometrie zur Extrusion.
* [[Image:OpenSCAD_Edgestofaces.svg|32px]] [[OpenSCAD_Edgestofaces/de|Kanten in Flächen umwandeln]]: Wandelt Kanten in Flächen um. Nützlich zur Vorbereitung von importierter DXF Geometrie zur Extrusion.
* [[Image:OpenSCAD_ExpandPlacements.svg|32px]] [[OpenSCAD_ExpandPlacements/de|Positionierungen erweitern]]: Erweitert alle Platzierungen im Feature-Baum abwärts.
* [[Image:OpenSCAD_ExpandPlacements.svg|32px]] [[OpenSCAD_ExpandPlacements/de|Positionierungen erweitern]]: Erweitert alle Platzierungen im Feature-Baum abwärts.
* [[Image:OpenSCAD_ExplodeGroup.svg|32px]] [[OpenSCAD_ExplodeGroup/de|Explodiere Gruppe]]: Löst eine Bindung oder einen Teilverbund in die einzelnen Teile auf.
* [[Image:OpenSCAD_ExplodeGroup.svg|32px]] [[OpenSCAD_ExplodeGroup/de|Explodiere Gruppe]]: Löst eine Bindung oder einen Teilverbund in die einzelnen Teile auf.
* [[Image:OpenSCAD_AddOpenSCADElement.svg|32px]] [[OpenSCAD_AddOpenSCADElement/de|Hinzufügen OpenSCAD Element]]: Fügt durch Eingabe von OpenSCAD-Code in das Aufgabenpaneel ein OpenSCAD Element hinzu.
* [[Image:OpenSCAD_AddOpenSCADElement.svg|32px]] [[OpenSCAD_AddOpenSCADElement/de|Hinzufügen OpenSCAD Element]]: Fügt durch Eingabe von OpenSCAD-Code in das Aufgabenpaneel ein OpenSCAD Element hinzu.
* [[Image:OpenSCAD_MeshBoolean.svg|32px]] [[OpenSCAD_MeshBoolean/de|Polygonnetz Boolean]]: Erzeugt mit boolescher Opearation aus Formen ein neues Netz-Objekt.
* [[Image:OpenSCAD_MeshBoolean.svg|32px]] [[OpenSCAD_MeshBoolean/de|Polygonnetz Boolean]]: Erzeugt ein neues Netzobjekt durch eine boolesche Operation aus Formen.
* [[Image:OpenSCAD_Hull.svg|32px]] [[OpenSCAD_Hull/de|Hülle]]: Wendet eine Hülle auf selektierte Formen an.
* [[Image:OpenSCAD_Hull.svg|32px]] [[OpenSCAD_Hull/de|Hülle]]: Wendet eine Hülle auf selektierte Formen an.
* [[Image:OpenSCAD_Minkowski.svg|32px]] [[OpenSCAD_Minkowski/de|Minkowski]]: Wendet eine Minkowski-Summe auf selektierte Formen an.
* [[Image:OpenSCAD_Minkowski.svg|32px]] [[OpenSCAD_Minkowski/de|Minkowski]]: Wendet eine Minkowski-Summe auf selektierte Formen an.


<span id="Preferences"></span>
==Einstellungen==
==Einstellungen==


* [[Image:Std_DlgPreferences.svg|32px]] [[OpenSCAD_Preferences/de|Einstellungen]]: verfügbare Einstellungen für die OpenSCAD Werkzeuge.
* [[Image:Std_DlgPreferences.svg|32px]] [[OpenSCAD_Preferences/de|Einstellungen]]: verfügbare Einstellungen für die OpenSCAD Werkzeuge.


<span id="Limitations"></span>
== Begrenzungen ==
==Einschränkungen==
OpenSCAD erstellt CSG (constructive solid geometry) genauso wie es Netz-Körper importiert und 2D-Geometrie extrudiert (aus [[DXF/de|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 erstellt CSG (constructive solid geometry) genauso wie es Netz-Körper importiert und 2D-Geometrie extrudiert (aus [[DXF/de|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.


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 booleschen 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.

== Importing text ==

Importing OpenSCAD code with texts requires that the fonts that are used are properly installed on your system. You can verify this by opening OpenSCAD as a standalone tool and checking the list in {{MenuCommand|Help → Font List}}. The list will also give you the correct font names. If a font does not appear in the list after installing, you may have to manually copy the font file to the appropriate system directory.

Importing texts is relatively slow. Behind the scenes FreeCAD uses a DXF file created by OpenSCAD. The more contours there are the slower the import.

It can be a good idea to first import a simple test case (replace {{Incode|NameOfFont}} with the correct font name):

<pre>
TESTFONT="NameOfFont";
linear_extrude(0.001) {
text("A", size=5, font=TESTFONT, script="Latn");
};
</pre>

The {{Incode|<nowiki>script="Latn"</nowiki>}} parameter can be left out here, but is required if the text string does not contain any letters, but only punctuation and/or numbers.

Please note that {{Incode|<nowiki>use <FONT>;</nowiki>}} statements in your source files are ignored when importing in FreeCAD. Under OpenSCAD the effect of a {{Incode|use}} statement is that the provided font file is temporarily added to the list of known fonts (although even there the statement does not work when a script is modified interactively).

<span id="Hints"></span>
== Hinweise ==
== Hinweise ==

Wenn [[DXF/de|DXF]] importiert wird, sollte die "Draft-Präzision" auf einen sinnvollen Wert eingestellt werden, um so die Erkennung von verbundenen Kanten zu erleichtern.
Wenn [[DXF/de|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ü {{MenuCommand|Bearbeiten → Einstellungen → Part Design → Allgemein}} zu aktivieren.
Wenn FreeCAD beim Import von CSG abstürzt, wird dringend empfohlen, "Modell automatisch nach Boolescher Operation überprüfen" im Menü {{MenuCommand|Bearbeiten → Einstellungen → Part Design → Allgemein}} zu aktivieren.


<span id="Tutorials"></span>
== Tutorien ==
== Tutorien ==

* [[Import_OpenSCAD_code/de|OpenSCAD Code Importieren]]
* [[Import_OpenSCAD_code/de|OpenSCAD Code Importieren]]


<span id="Links"></span>
== Verknüpfungen ==
== Verweise ==
* OpenSCAD Quellcode Repositorium auf [https://github.com/openscad/openscad GitHub]

* [https://freecadweb.org/tracker/search.php?tag_string=OpenSCAD Offene Tickets gekennzeichnet "Openscad" auf dem FreeCAD Fehlerverfolger]
* Das offizielle Quellcodeverzeichnis des OpenSCAD-Projekts wird auf [https://github.com/openscad/openscad GitHub] gehosted.
* [http://www.thingiverse.com/tag:openscad Dinge, die mit "Openscad" auf Thingiverse gekennzeichnet sind]
* Offene Tickets gekennzeichnet mit "OpenSCAD" auf [https://github.com/FreeCAD/FreeCAD/labels/WB%20OpenSCAD FreeCADs Github-Issue-Tracker]. Es gibt auch Tickets auf dem jetzt archvierten [https://freecadweb.org/tracker/search.php?tag_string=OpenSCAD Mantis-Bugtracker].
* Modelle gekennzeichnet mit "OpenSCAD" auf [http://www.thingiverse.com/tag:openscad Thingiverse].



{{Docnav/de
{{Docnav/de
|[[Mesh Module/de|Arbeitsbereich Polygonnetz]]
|[[Mesh_Workbench/de|Arbeitsbereich Polygonnetz]]
|[[Part Module/de|Part Arbeitsbereich]]
|[[Part_Workbench/de|Part Arbeitsbereich]]
|IconL=Workbench_Mesh.svg
|IconL=Workbench_Mesh.svg
|IconR=Workbench_Part.svg
|IconR=Workbench_Part.svg
}}
}}



{{OpenSCAD Tools navi{{#translation:}}}}
{{OpenSCAD Tools navi{{#translation:}}}}

Latest revision as of 16:17, 7 April 2023

OpenSCAD Arbeitsbereichssymbol

Einführung

Der OpenSCAD Arbeitsbereich soll Interoperabilität mit der Open Source Software OpenSCAD bieten. Dieses Programm wird nicht als Bestandteil 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.

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 openSUSE wird vorgenommen dies durch:

sudo zypper install python3-ply

In Debian/Ubuntu basierten Systemen wird dies wie nachfolgend 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

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

Einschrä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 booleschen 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.

Importing text

Importing OpenSCAD code with texts requires that the fonts that are used are properly installed on your system. You can verify this by opening OpenSCAD as a standalone tool and checking the list in Help → Font List. The list will also give you the correct font names. If a font does not appear in the list after installing, you may have to manually copy the font file to the appropriate system directory.

Importing texts is relatively slow. Behind the scenes FreeCAD uses a DXF file created by OpenSCAD. The more contours there are the slower the import.

It can be a good idea to first import a simple test case (replace NameOfFont with the correct font name):

TESTFONT="NameOfFont";
linear_extrude(0.001) {
  text("A", size=5, font=TESTFONT, script="Latn");
};

The script="Latn" parameter can be left out here, but is required if the text string does not contain any letters, but only punctuation and/or numbers.

Please note that use <FONT>; statements in your source files are ignored when importing in FreeCAD. Under OpenSCAD the effect of a use statement is that the provided font file is temporarily added to the list of known fonts (although even there the statement does not work when a script is modified interactively).

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

Verweise