さらに、プログラミングによるモデリングを可能にする手続き型CADシステムがあります。 このアプローチは、オープンソースと設計を備えたデバイスのプログラミングと設計の愛好家の間で認識されています。 たとえば、OpenSCADはよく知られていますが、これは複数回言及されています。
Antimonyと呼ばれる別の珍しいCADシステムを検討することをお勧めします。
図 1.アンチモン-パラレルワールドのCAD
Antimonyは、有向非巡回グラフを使用したソリッドモデリングへのアプローチを提供するオープンソースCADソフトウェアです。
このアプローチは、ゲームグラフィックスの3D視覚化、テクスチャリング、および作成のためのさまざまなパッケージで使用され、ソリッドステートモデリングでは、おそらくこのアプローチが初めて使用されます。
著者のマット・キーター自身は、彼の発案を「並行宇宙からのCAD」と表現しています。
アンチモンは、3つの主要コンポーネントで構成されています。
- 有向非巡回グラフに沿ってデータを移動するためのフレームワーク。
- ソリッドの機能的表現(F-Rep)を使用したCSG(Constructive Solid Geometry)操作のジオメトリックコア。
- プリミティブおよび変換「fab」のライブラリ。 このライブラリには、移動、スケーリング、回転、ブール演算などのよく知られた操作と、引力の変形、反発、曲げなどのソリッドステートCADシステムではより珍しい操作の両方が含まれています。
図 2.反発変形
アンチモンソリッドモデリングは、グラフノードを接続することにより行われます。
ノードは、プリミティブまたは変換です。
各ノードには、値を手動で入力したり、別のノードのパラメーターの関数として設定したり、ノードとフィールドの名前でアクセスしたり、ノードを前のノードに接続したりできるフィールドがあります。
図 3.通信およびノードとパラメーターの名前を介して値を渡す
各ノード内には編集可能なPythonスクリプトがあり、独自のスクリプトを使用して新しいノードを作成することもできます。
グラフ内の関係は、変更の自動伝播を提供します。
図 4.スクリプトノード「circle」
一般的な用語でモデルを構築する原理は、より馴染みのあるCADシステムと同じです:平面図を取得し、3次元ボディを構築する操作を適用し(またはすぐに3次元プリミティブを取得します)、ブール演算を使用してこのボディを他のボディと結合するか、変位と変形の操作を使用します。
モデルはシングルボディまたはマルチボディのいずれかです。Antimonyは、ユーザーが接続を設定するまで、固定パラメトリック接続を強制しません。 平面図の選択は小さいですが、それらはすべて閉じた領域であるため、同じ論理演算がソリッドに適用されます。
ユーザーインターフェイスは、グラフウィンドウと
ビューポート(ビューポート)ウィンドウ。 4つの投影のセットで追加のビューポートウィンドウを開くことができます。
図 5.すべてのミニマリズム
操作メニューは、グラフウィンドウとビューポートウィンドウのどこからでも右クリックして呼び出すことができます。
ノードのパラメーターを変更する上記の方法に加えて、アクティブなマウスポイントでドラッグしてプリミティブや操作を操作することができます。
プログラムの作成者はFormlabsで働いているため、結果のモデルを具体化する可能性に気を配りました。 そのため、Antimonyは2.5Dラスタ形式(PNG形式の高さマップ)および3D印刷用のSTL形式のモデル形式でのモデルのエクスポートをサポートしています。 exportコマンドもグラフノードです。
図 6. STLへのエクスポートの結果
そして、欠陥について少し:
- 他のCADシステムからのモデルのインポートはありません。
- 任意の平坦な輪郭を3次元ボディのスケッチとして設定できないため、モデリングの可能性が大幅に制限されます。
- 面取りとフィレットの作り方の問題は、未解決のままです。
- プロジェクトの安定性のレベルはベータ版と推定されます。おそらく、アンチモンで何か深刻なことをしようとすべきではありませんが、プレイするのは面白いでしょう。
設計エンジニアのinりを期待して、私はそのようなCADシステムは主に実用的な目的ではなく、個人のスポーツまたは著者の科学的関心から作成されたと言わなければなりません。 Antimonyは3次元のボディのモデリング専用に設計されているため、ここでは図面については説明していません。
Antimonyでモデリングをプレイすることは非常に珍しくて面白いという個人的な印象を表明します。また、ユーザーインターフェイス要素がほとんどないことは、モデリングプロセスへの没入と楽しい娯楽に貢献します。
著者は、偶然ではなく珍しいCADシステムの名前を選択しました。 アンチモンは、アンチモンとして翻訳されます-アンチモン-金属と非金属の特性を組み合わせた物質で、溶融物が固化すると膨張します。
Matt Keaterのスクリーンキャストでプログラムが動作しているのを見るのは興味深いです。
Github
AntimonyはC ++およびPythonで作成されています。 リポジトリには、LinuxおよびmacOSのソースからのアセンブリ命令、および既製のDMGイメージが含まれています。