PolyScript
3Dモデルを、コードで書く。それだけ。
box 80 60 10 | fillet 2 | diff cylinder 10 10
プリミティブを作って、パイプ | でつないで、形を仕上げる。それだけです。
PolyScript とは
PolyScript は、3D モデルをテキストで記述するパラメトリック CAD 言語です。 OpenCascade カーネルの上で動作し、精密な B-Rep モデルを短いコードから生成します。
簡潔で自由度の高い構文
- Greedy 引数 -- 関数呼び出しにカッコが要らない。
box 80 60 10と書くだけ - パイプライン
|-- 操作を左から右へ一直線に並べる。読む順番 = 実行順 - 宣言的モデリング -- 「作る → 選ぶ → 加工する」を宣言的に記述。副作用やファイルアクセスがなく、安全に実行できる
# ケースを作って、角を丸め、側面に穴を開ける
box 100 60 40
| shell 2 open:top
| edges =Z | fillet 3
| faces right | circle 4 | cut
3D プリンティング、DIY、教育に
PolyScript は次のような場面に向いています。
- 3D プリンティング -- パラメータを変えるだけで寸法違いのパーツを量産できる
- DIY / メイカー -- ケース、ブラケット、治具など実用部品を素早く設計
- 教育 -- プログラミング未経験でも始められるシンプルな構文。子どもから大人まで
特徴
- 短く書ける — よく使う操作にカッコは要らない
- 左から右へ読める — パイプで操作が流れる
- パラメトリック — 変数と関数で寸法を自在に変える
- ブラウザで動く — サンドボックスで安全に実行
ドキュメント
なぜ PolyScript を作ったか
コードで 3D モデルを記述するパラメトリック CAD は、いま急速に注目を集めています。 なかでも CadQuery はとても優れた CAD 処理系で、あらゆる形状を Python でプログラミングできます。
しかし「プログラミング言語である」こと自体が弱点にもなります。 他者が作成した 3D モデルを、安心してビルドできるでしょうか? 私たちの成果を安全に共有するには、明らかに DSL が必要です。
プログラミングの知識がない子どもでも簡単に使えること―― これが PolyScript を開発した理由です。