OpenScad ist eine Software zum Erstellen solider 3D -CAD -Objekte. Es ist kostenlose Software und verfügbar für Linux/Unix, MS Windows und MacOS.
Im Gegensatz zu den meisten freien Software zum Erstellen von 3D -Modellen (wie dem berühmten Anwendungsmixer) konzentriert sich OpenScad eher auf die CAD -Aspekte als auf die künstlerischen Aspekte der 3D -Modellierung. Dies könnte die Anwendung sein, nach der Sie suchen, wenn Sie vorhaben, 3D-Modelle von Maschinenteilen zu erstellen, aber wahrscheinlich nicht das Werkzeug zum Erstellen von Computer-animierten Filmen.
OpenScad ist kein interaktiver Modellierer. Stattdessen ist es eher wie ein 3D-Kompilierer, der eine Skriptdatei liest, die das Objekt beschreibt und das 3D-Modell aus dieser Skriptdatei retert (siehe Beispiele unten). Auf diese Weise erhalten Sie den Designer, vollständige Kontrolle über den Modellierungsprozess und ermöglicht es Ihnen, jeden Schritt im Modellierungsprozess einfach zu ändern oder Designs zu erstellen, die durch konfigurierbare Parameter definiert sind.
OpenScad bietet zwei Hauptmodellierungstechniken: Erstens gibt es eine konstruktive solide Geometrie (auch bekannt als CSG) und zweitens die Extrusion von 2D -Umrissen. Da das Datenaustauschformat für diese 2D -AutoCAD -DXF -Dateien verwendet werden. Zusätzlich zu 2D -Pfaden für die Extrusion ist es auch möglich, Entwurfsparameter aus DXF -Dateien zu lesen. Neben DXF -Dateien kann OpenScad 3D -Modelle in den STL- und Off -Dateiformaten lesen und erstellen.
Sie können die neuesten Binärdateien von OpenScad unter https://www.openscad.org/downloads.html herunterladen. Installieren Sie Binärdateien wie jede andere Software.
Wenn Sie OpenScad öffnen, sehen Sie drei Frames im Fenster. Im linken Frame schreiben Sie Code in Modell 3D -Objekte. Im richtigen Rahmen sehen Sie die 3D -Rendering Ihres Modells.
Lass uns einen Baum machen! Geben Sie den folgenden Code in den linken Bild ein:
cylinder(h = 30, r = 8);
Rendern Sie dann das 3D -Modell, indem Sie F5 treffen. Jetzt können Sie einen Zylinder für den Kofferraum in unserem Baum sehen. Lassen Sie uns nun den buschigen/blättrigen Teil des Baumes hinzufügen, der von einer Kugel dargestellt wird. Dazu werden wir einen Zylinder und eine Kugel vereinen.
union() {
cylinder(h = 30, r = 8);
sphere(20);
}
Aber es ist nicht ganz richtig! Die buschigen/Blatt sind um die Basis des Baumes. Wir müssen die Kugel die Z-Achse hinauf bewegen.
union() {
cylinder(h = 30, r = 8);
translate([0, 0, 40]) sphere(20);
}
Und das war's! Sie haben Ihr erstes 3D -Modell gemacht! Es gibt andere primitive Formen, die Sie mit anderen festgelegten Operationen (Vereinigung, Schnittpunkt, Differenz) und Transformationen (drehen, skalieren, übersetzen) kombinieren können, um komplexe Modelle herzustellen! Schauen Sie sich alle anderen Sprachmerkmale im OpenScad -Handbuch an.
Schauen Sie sich die OpenScad -Homepage (https://www.openscad.org/documentation.html) an, um eine Dokumentation zu erhalten.
Um OpenScad aus der Quelle zu erstellen, befolgen Sie die Anweisungen für die nachstehende Plattform.
Um OpenScad zu erstellen, benötigen Sie einige Bibliotheken und Tools. Die Versionsnummern in Klammern geben die für die Entwicklung verwendeten Versionen an. Andere Versionen können auch funktionieren oder auch nicht.
Wenn Sie eine neuere Version von Ubuntu verwenden, können Sie diese Bibliotheken aus der Eignung installieren. Wenn Sie MAC oder ein älteres Linux/BSD verwenden, gibt es Build -Skripte, die die Bibliotheken aus der Quelle herunterladen und kompilieren. Befolgen Sie die Anweisungen für die Plattform, die Sie unten zusammenstellen.
Für die Testsuite sind zusätzliche Anforderungen:
Installieren Sie GIT (https://git-scm.com/) auf Ihrem System. Dann führen Sie einen Klon aus:
git clone https://github.com/openscad/openscad.git
Dadurch wird die neuesten Quellen in ein Verzeichnis namens openscad heruntergeladen.
Um die verschiedenen Submodules zu ziehen (inkl. Die MCAD -Bibliothek), machen Sie Folgendes:
cd openscad
git submodule update --init --recursive
Voraussetzungen:
Abhängigkeiten installieren:
Befolgen Sie nach dem Erstellen von Abhängigkeiten mithilfe einer der folgenden Optionen die Anweisungen im Kompilierungsabschnitt .
Von Quelle
Führen Sie das Skript aus, das die Umgebungsvariablen einrichtet:
source scripts/setenv-macos.sh
Führen Sie dann das Skript aus, um alle Abhängigkeiten zu kompilieren:
./scripts/macosx-build-dependencies.sh
Homebrew (Angenommen, das Homebrew ist bereits installiert)
./scripts/macosx-build-homebrew.sh
Stellen Sie zunächst sicher, dass Sie Git installiert haben (oft als "Git-Core" oder "scmgit" verpackt). Sobald Sie dieses Git -Repository kloniert haben, laden Sie die oben aufgeführten Abhängigkeitspakete mit dem Paketmanager Ihres Systems herunter und installieren Sie sie. Es wird ein Convenience -Skript bereitgestellt, das bei einigen Systemen bei diesem Prozess helfen kann:
sudo ./scripts/uni-get-dependencies.sh
Überprüfen Sie nach der Installation von Abhängigkeiten ihre Versionen. Sie können dieses Skript ausführen, um Ihnen zu helfen:
./scripts/check-dependencies.sh
Achten Sie darauf, dass Sie nirgendwo alt lokale Kopien haben ( /usr/local/ ). Wenn alle Abhängigkeiten vorhanden sind und eine ausreichend ausreichende Version haben, überspringen Sie die Kompilierungsanweisungen.
Wenn einige Ihrer Systemabhängigkeitsbibliotheken fehlen oder alt sind, können Sie neuere Versionen in $HOME/openscad_deps herunterladen und erstellen, indem Sie diesem Prozess folgen. Führen Sie zunächst das Skript aus, das die Umgebungsvariablen einrichtet.
source ./scripts/setenv-unibuild.sh
Führen Sie dann das Skript aus, um alle oben genannten Voraussetzungen zu kompilieren:
./scripts/uni-build-dependencies.sh
Beachten Sie, dass große Abhängigkeiten wie GCC, QT oder GLIB2 hier nicht enthalten sind, nur die kleineren (Boost, CGAL, OpenCSG usw.). Überprüfen Sie nach dem Build erneut die Abhängigkeiten.
./scripts/check-dependencies.sh
Befolgen Sie danach den folgenden Kompilierungsanweisungen.
OpenScad für Windows wird normalerweise von Linux überschritten. Wenn Sie einen MSVC -Build unter Windows versuchen möchten, finden Sie in dieser Website: https://en.wikibooks.org/wiki/openscad_user_Manual/building_on_windows
Stellen Sie zunächst sicher, dass Sie alle notwendigen Abhängigkeiten des MXE-Projekts (unter https://mxe.cc/#requirements) haben. Installieren Sie MXE nicht selbst, die folgenden Skripte werden dies für Sie unter $HOME/openscad_deps/mxe tun
Lassen Sie dann Ihre Entwicklungstools installieren, um GCC zu erhalten. Nachdem Sie dieses Git -Repository geklont haben, starten Sie eine neue saubere Bash -Shell und führen Sie das Skript aus, das die Umgebungsvariablen eingerichtet hat.
source ./scripts/setenv-mingw-xbuild.sh 64
Führen Sie dann das Skript aus, um alle oben voraussetzungen Bibliotheken herunterzuladen und zu kompilieren:
./scripts/mingw-x-build-dependencies.sh 64
Beachten Sie, dass dieser Vorgang mehrere Stunden dauern kann, und zehn Gigabyte des Speicherplatzes, da er das System https://mxe.cc verwendet, um viele Bibliotheken zu bauen. Nach Abschluss der Fertigstellung openScad und verpacken Sie es an einen Installateur:
./scripts/release-common.sh mingw64
Ersetzen Sie 64 für ein 32-Bit-Windows-Cross-Build 64 durch 32 in den obigen Anweisungen.
Wir unterstützen das Erstellen von OpenScad Headless für WebAssembly mit EMSCIPTEN unter Verwendung eines vorgefertigten Docker-Bildes, das in OpenScad/ OpenScad-WASM aufgebaut ist (mit auch Verwendungsbeispiele).
#### Browser
Der folgende Befehl erstellt build-web/openscad.wasm & build-web/openscad.js :
./scripts/wasm-base-docker-run.sh emcmake cmake -B build-web -DCMAKE_BUILD_TYPE=Debug -DEXPERIMENTAL=1
./scripts/wasm-base-docker-run.sh cmake --build build-web -j2OpenSCAD/OpenScad-Playground verwendet diesen WASM-Build, um eine Web-Benutzeroberfläche mit einer Untergruppe von Funktionen von OpenSCAD bereitzustellen.
Notiz
Mit einem Debug -Build ( -DCMAKE_BUILD_TYPE=Debug ) können Sie C ++ -Haltepunkte in Firefox und in Chrome festlegen (letzteres benötigt eine Erweiterung).
Der folgende Befehl erstellt build-node/openscad.js , was ausführbar ist (erfordert node ):
./scripts/wasm-base-docker-run.sh emcmake cmake -B build-node -DWASM_BUILD_TYPE=node -DCMAKE_BUILD_TYPE=Debug -DEXPERIMENTAL=1
./scripts/wasm-base-docker-run.sh cmake --build build-node -j2
build-node/openscad.js --helpNotiz
Mit einem Debug -Build ( -DCMAKE_BUILD_TYPE=Debug ) können Sie C ++ -Breakpoints in VSCODE+ Knoten festlegen (benötigt eine Erweiterung).
Führen Sie zuerst cmake -B build -DEXPERIMENTAL=1 aus, um eine Makefile im build -Ordner zu generieren.
Dann führen Sie cmake --build build . Schließlich können Sie unter Linux cmake --install build als Root ausführen.
Wenn Sie Probleme hatten, aus der Quelle zu erstellen, wecken Sie ein neues Problem im Problem Tracker auf der GitHub -Seite.
Diese Site und diese Unterseite können auch hilfreich sein: https://en.wikibooks.org/wiki/openscad_user_manual/building_openscad_from_sources
Nach dem Bau können Sie Tests mit ctest aus dem build -Verzeichnis ausführen.
HINWEIS: Sowohl cmake --build als auch ctest akzeptieren ein -j N Argument für die Verteilung der Last über N -parallele Prozesse.
Installieren Sie Circleci-cli (Sie benötigen einen API-Schlüssel)
Hinweis : Wir verwenden auch GitHub-Workflows, aber nur um Tests unter Windows auszuführen (für die wir in den linux-basierten Circleci-Workflows unten bauen). Außerdem mag Act unser Submodule sowieso nicht.
Führen Sie die CI -Jobs durch
# When "successful", these will fail to upload at the very end of the workflow.
circleci local execute --job openscad-mxe-64bit
circleci local execute --job openscad-mxe-32bit
circleci local execute --job openscad-appimage-64bitHinweis : OpenScad-Macos können nicht lokal gebaut werden.
Wenn/wenn GCC zufällig getötet wird, geben Sie Docker mehr RAM (z. B. 4 GB pro gleichzeitiger Bild, das Sie ausführen möchten)
Um die Jobs interaktiv zu debuggen, können Sie die manuelle Route gehen (inspizieren Sie .circleci/config.yml, um das tatsächliche Docker -Bild zu erhalten, das Sie benötigen).
docker run --entrypoint=/bin/bash -it openscad/mxe-x86_64-gui:latestDann, sobald Sie die Konsole bekommen:
git clone https://github.com/%your username%/openscad.git workspace
cd workspace
git checkout %your branch%
git submodule init
git submodule update
# Then execute the commands from .circleci/config.yml:
# export NUMCPU=2
# ...
# ./scripts/release-common.sh -snapshot -mingw64 -v "$OPENSCAD_VERSION"