CLI リファレンス
poly は単一バイナリです。ランタイムも依存パッケージも要りません。入手方法は
はじめかたを参照してください。
poly --version
poly model.poly # build が既定のサブコマンド
サブコマンド一覧
| コマンド | 用途 | 幾何カーネル |
|---|---|---|
build |
モデルを書き出す(STL / STEP / GLB / SVG / PNG) | 使う |
check |
構文と意味の検証だけ行う | 使わない(速い) |
info |
B-Rep の事実を報告(bbox・体積・ソリッド数・妥当性) | 使う |
verify |
結果を判断するのに要る情報をまとめて出す | 使う |
section |
平面で切って輪郭を数値で報告 | 使う |
diff |
2 つのファイルの B-Rep を比較 | 使う |
explain |
診断コードの意味と直し方 | 使わない |
dump-ast |
AST を JSON で出力 | 使わない |
すべてのサブコマンドが --json を受け付けます。人間向けの出力とは別に、機械可読の
レポートを標準出力へ出します。
build
poly build <file> [options]
poly <file> # build は省略できる
出力形式は拡張子から決まります。--format を書けば拡張子より優先されます。
| オプション | 説明 |
|---|---|
-o <path> |
出力ファイル。既定は <入力名>.stl |
--format <fmt> |
stl / step / glb / svg / png |
-D, --define <k=v> |
パラメータの上書き。繰り返し可 |
--params-file <path> |
JSON からパラメータを読む(-D が優先) |
--mesh-deflection <v> |
STL / glTF のメッシュ精度。既定 0.1、大きいほど粗い |
--ascii-stl |
ASCII STL で書く。約 6 倍になるが diff しやすい |
--view <names> |
SVG / PNG の視点。カンマ区切り |
--view-size <px> |
SVG / PNG のパネルサイズ。既定 240 |
--no-hidden |
SVG / PNG で陰線を描かない |
--png-scale <n> |
PNG のスーパーサンプリング 1〜4。既定 2 |
--trace |
1 ステップごとの行番号・選択・体積・ソリッド数 |
--timing |
段階ごとの所要時間を stderr へ。--trace と併せると ms 列が付く |
--strict |
警告をエラー扱いにする(終了コード 3) |
-v, --verbose |
結果の B-Rep の事実を表示 |
--json |
機械可読レポート |
出力形式
| 形式 | 中身 | 用途 |
|---|---|---|
.stl |
三角形メッシュ(既定はバイナリ) | 3D プリント、スライサ |
.step |
B-Rep の交換形式 | 他の CAD へ渡す |
.glb |
glTF バイナリ。color がパートごとに残る |
Web ビューア |
.svg |
隠線消去による線画 | 図面、寸法の確認 |
.png |
同じ線画のラスタ | SVG を読めない相手、README、画像入力のモデル |
.gltf は拒否されます。OCCT が書けるのはバイナリ容器だけなので、.glb を使ってください。
視点(SVG / PNG 共通)
front back top bottom left right iso の 7 つ。既定は
front,top,right,iso の 4 面図で、1 つだけ指定すると単一パネルになります。
poly build m.poly -o v.svg # 4 面図
poly build m.poly -o v.png --view iso # 等角のみ
poly build m.poly -o v.png --view front,top --view-size 400
軸は +Z が上、front は −Y 側から、等角は (+X, −Y, +Z) から見ます。SolidWorks や
Fusion と同じ向きで、ライブエディタの 3D ビューとも一致します。
パラメータの上書き
-D の型は値の見た目で決まります。100 は整数、1.5 は実数、true / false は
真偽値、それ以外は文字列です。
優先順位は -D > --params-file > @param の既定値。
poly build box.poly -D width=100 -D height=50
poly build box.poly --params-file presets/small.json -D width=120
check
幾何カーネルを起動せずに構文と意味だけを見ます。カーネルの初期化が要らないぶん 桁違いに速く、エディタや CI の一次チェックに向きます。
poly check m.poly
poly check m.poly --json
info
B-Rep の事実だけを報告します。画像ではなく数値で形を確かめたいときに使います。
poly info m.poly
poly info m.poly -D width=120 --json
bbox、体積、表面積、ソリッド数、妥当性、面・辺・頂点の数を出します。
verify
結果を判断するのに要るものを一度に出します。診断、ステップごとのトレース、B-Rep の 事実、フィンガープリント、各種チェック。
poly verify m.poly
poly verify m.poly -o out.stl --timing
poly verify m.poly --no-strict # 警告があっても失敗させない
既定では警告が 1 つでもあれば終了コード 3 で失敗します。
section
平面で切って輪郭を報告します。画像ではなく数値で断面を確かめるためのものです。
poly section m.poly # 既定は xz,yz(bbox 中心を通る)
poly section m.poly --plane Z=10 # 位置を明示
poly section m.poly --plane xz,yz,Z=10 # 複数
poly section m.poly --plane Y=0 -o cut.svg
--plane は xy / xz / yz、または Z=10 のような軸と値の組を受け付けます。
値を書かない平面は bbox の中心を通ります。-o で輪郭を SVG にも書けます(パスの
座標は mm そのもの)。
diff
2 つのファイルの B-Rep を比べます。フィンガープリント、体積、bbox、トポロジ。
poly diff before.poly after.poly
poly diff a.poly b.poly -D width=100 # 両方に同じ上書きを適用
explain
診断コードの意味と直し方を表示します。
poly explain # 一覧
poly explain eval.error
dump-ast
AST を JSON で出します。ツールを書くときに使います。
poly dump-ast m.poly --pretty
終了コード
| コード | 意味 |
|---|---|
| 0 | 成功 |
| 1 | 入出力エラー(ファイルが読めない等) |
| 2 | 構文エラー |
| 3 | 意味エラー、または --strict 下の警告 |
| 4 | 書き出しの失敗 |
実装について
CLI は TypeScript で書かれ、幾何カーネルには WebAssembly 版の OpenCASCADE を使います。単一バイナリにはカーネルも 同梱されているため、実行時に何も取りに行きません。
Python 実装は 2026-09-01 に凍結され、保守されていません。過去のドキュメントに
--emit-python のような記述が残っている場合、現行の CLI には存在しません。