CLI リファレンス

poly コマンドの全サブコマンドとオプション。

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 には存在しません。