OpenSCADは、固体3D CADオブジェクトを作成するためのソフトウェアです。フリーソフトウェアであり、Linux/Unix、MS Windows、MacOSで利用できます。
3Dモデル(有名なアプリケーションブレンダーなど)を作成するためのほとんどのフリーソフトウェアとは異なり、OpenSCADは3Dモデリングの芸術的側面ではなく、CADの側面に焦点を当てています。したがって、これは、マシンパーツの3Dモデルを作成することを計画しているときに探しているアプリケーションかもしれませんが、おそらくコンピューターアニメーションの映画を作成するためのツールではありません。
OpenSCADはインタラクティブなモデラーではありません。代わりに、オブジェクトを記述し、このスクリプトファイルから3Dモデルをレンダリングするスクリプトファイルを読み取る3Dコンパイラのようなものです(以下の例を参照)。これにより、デザイナーがモデリングプロセスを完全に制御し、モデリングプロセスのステップを簡単に変更したり、構成可能なパラメーターで定義されているデザインを作成したりできます。
OpenSCADは2つの主要なモデリング手法を提供します。1つ目は建設的な固体ジオメトリ(別名CSG)があり、2番目のアウトラインの押し出しがあります。これらの2Dのデータ交換形式は、AutoCAD DXFファイルの概要を使用しています。押し出し用の2Dパスに加えて、DXFファイルから設計パラメーターを読み取ることもできます。 DXFファイルに加えて、OpenSCADはSTLおよびオフファイル形式で3Dモデルを読み取り、作成できます。
https://www.openscad.org/downloads.htmlでOpenScadの最新のバイナリをダウンロードできます。他のソフトウェアのようにバイナリをインストールします。
OpenScadを開くと、ウィンドウ内に3つのフレームが表示されます。左フレームは、3Dオブジェクトをモデル化するコードを書き込む場所です。適切なフレームは、モデルの3Dレンダリングが表示される場所です。
木を作りましょう!次のコードを左フレームに入力します。
cylinder(h = 30, r = 8);
次に、F5を押して3Dモデルをレンダリングします。これで、ツリーにトランク用のシリンダーが表示されます。それでは、球体で表される木のふさふさした/緑豊かな部分を追加しましょう。そうするために、シリンダーと球体を結合します。
union() {
cylinder(h = 30, r = 8);
sphere(20);
}
しかし、それはまったく正しくありません!ふさふさした/緑豊かなものは、木の基部の周りにあります。球体をZ軸に移動する必要があります。
union() {
cylinder(h = 30, r = 8);
translate([0, 0, 40]) sphere(20);
}
そしてそれだけです!最初の3Dモデルを作成しました!他の原始的な形状は、他のセット操作(組合、交差、差)および変換(回転、スケール、翻訳)と組み合わせて複雑なモデルを作成できます! OpenSCADマニュアルの他のすべての言語機能をご覧ください。
ドキュメントについては、OpenSCADホームページ(https://www.openscad.org/documentation.html)をご覧ください。
ソースからOpenSCADを構築するには、以下に適用されるプラットフォームの指示に従ってください。
OpenSCADを構築するには、いくつかのライブラリとツールが必要です。ブラケットのバージョン番号は、開発に使用されているバージョンを指定します。他のバージョンも同様に機能する場合とそうでない場合があります。
Ubuntuの新しいバージョンを使用している場合は、これらのライブラリをAptitudeからインストールできます。 Mac、または古いLinux/BSDを使用している場合、ソースからライブラリをダウンロードしてコンパイルするビルドスクリプトがあります。以下にコンパイルするプラットフォームの指示に従ってください。
テストスイートの場合、追加の要件は次のとおりです。
git(https://git-scm.com/)をシステムにインストールします。次に、クローンを実行します。
git clone https://github.com/openscad/openscad.git
これにより、最新のソースがopenscadという名前のディレクトリにダウンロードされます。
さまざまなサブモジュール(MCADライブラリを含む)を引くには、以下を実行します。
cd openscad
git submodule update --init --recursive
前提条件:
依存関係をインストールします:
次のオプションのいずれかを使用して依存関係を構築した後、コンピレーションセクションの指示に従ってください。
ソースから
環境変数を設定するスクリプトを実行します。
source scripts/setenv-macos.sh
次に、スクリプトを実行して、すべての依存関係をコンパイルします。
./scripts/macosx-build-dependencies.sh
Homebrew (Homebrewがすでに設置されていると仮定)
./scripts/macosx-build-homebrew.sh
まず、Gitがインストールされていることを確認してください(多くの場合、「Git-Core」または「SCMGIT」としてパッケージ化されています)。このgitリポジトリをクローニングしたら、システムのパッケージマネージャーを使用して上記の依存関係パッケージをダウンロードしてインストールします。一部のシステムでこのプロセスに役立つ便利なスクリプトが提供されています。
sudo ./scripts/uni-get-dependencies.sh
依存関係をインストールした後、バージョンを確認します。あなたはあなたを助けるためにこのスクリプトを実行することができます:
./scripts/check-dependencies.sh
古いローカルコピーはどこにも持っていないことに注意してください( /usr/local/ )。すべての依存関係が存在し、十分なバージョンの場合は、コンピレーションの指示を進めます。
システム依存関係ライブラリの一部が欠落しているか古い場合は、このプロセスに従って新しいバージョンを$HOME/openscad_depsにダウンロードして構築できます。まず、環境変数を設定するスクリプトを実行します。
source ./scripts/setenv-unibuild.sh
次に、スクリプトを実行して、上記のすべての前提条件ライブラリをコンパイルします。
./scripts/uni-build-dependencies.sh
GCC、QT、GLIB2などの巨大な依存関係はここには含まれておらず、小さい依存関係(Boost、CGAL、OpenCSGなど)のみが含まれていることに注意してください。ビルド後、もう一度依存関係を確認します。
./scripts/check-dependencies.sh
その後、以下の編集手順に従ってください。
Windows用のOpenSCadは通常、Linuxからクロスコンパイルされます。 WindowsでMSVCビルドを試みたい場合は、このサイトをご覧ください:https://en.wikibooks.org/wiki/openscad_user_manual/building_on_windows
クロスビルドするには、最初にMXEプロジェクトのすべての必要な依存関係があることを確認してください(https://mxe.cc/#requirementsにリスト)。 MXE自体をインストールしないでください、以下のスクリプトは$HOME/openscad_deps/mxeの下であなたのためにそれを行います
次に、GCCを取得するために開発ツールをインストールします。次に、このgitリポジトリをクローニングした後、新しいクリーンバッシュシェルを起動し、環境変数をセットアップするスクリプトを実行します。
source ./scripts/setenv-mingw-xbuild.sh 64
次に、スクリプトを実行して、上記のすべての前提条件ライブラリをダウンロードしてコンパイルします。
./scripts/mingw-x-build-dependencies.sh 64
https://mxe.ccシステムを使用して多くのライブラリをクロスビルドするため、このプロセスには数時間かかり、ディスクスペースのギガバイトが数十回かかることに注意してください。完了したら、OpenSCADを構築し、インストーラーにパッケージ化します。
./scripts/release-common.sh mingw64
32ビットのWindowsクロスビルドの場合、上記の指示で64を32に置き換えます。
OpenScad/ openscad-wasmに組み込まれている施設内のドッカー画像を使用して、emscriptenを使用したWebAssembly用のBuilding OpenScadヘッドレスをサポートします(これにも使用例があります)
####ブラウザ
次のコマンドは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は、このWASMビルドを使用して、OpenSCADの機能のサブセットをWeb UIに提供します。
注記
デバッグビルド( -DCMAKE_BUILD_TYPE=Debug )を使用すると、firefoxおよびChrome(後者には拡張機能が必要です)でC ++ブレークポイントを設定できます。
次のコマンドは、 build-node/openscad.jsを作成します。これは実行可能です( 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 --help注記
デバッグビルド( -DCMAKE_BUILD_TYPE=Debug )を使用すると、vscode+ノード(拡張機能が必要)でC ++ブレークポイントを設定できます。
まず、 cmake -B build -DEXPERIMENTAL=1を実行して、 buildフォルダーにmakefileを生成します。
次に、 cmake --build buildを実行します。最後に、Linuxでは、 cmake --install buildルートとして実行できます。
ソースからのコンパイルに問題がある場合は、GitHubページのIssue Trackerで新しい問題を提起します。
このサイトとそのサブページは、https://en.wikibooks.org/wiki/openscad_user_manual/building_openscad_from_sourcesにも役立ちます。
ビルドしたら、 buildディレクトリからctestを使用してテストを実行できます。
注: cmake --buildとctestの両方は、 N並列プロセスを介して負荷を分散するための-j N引数を受け入れます。
circleci-cliをインストールします(APIキーが必要です)
注:GitHubワークフローも使用しますが、Windowsでテストを実行するためだけに使用します(以下のLinuxベースのCircleciワークフローではクロスビルド)。また、ACTはとにかくサブモジュールのセットアップを好まない。
CIジョブを実行します
# 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-64bit注:OpenScad-Macosはローカルで構築することはできません。
GCCがランダムに殺された場合、Dockerにさらにラムを与えます(たとえば、実行する予定の並行画像ごとに4GB)
ジョブをよりインタラクティブにデバッグするには、手動ルートに行くことができます(.circleci/config.ymlを検査して、必要な実際のDocker画像を取得します)
docker run --entrypoint=/bin/bash -it openscad/mxe-x86_64-gui:latest次に、コンソールを取得したら:
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"