チートシート

印刷して手元に置くとはかどる。たぶん。


プリミティブ

3D

関数 引数
box w h d box 80 60 10
cylinder h r cylinder 10 5
sphere r sphere 10

2D

関数 引数
rect w h rect 50 30
circle r circle 10
ellipse rx ry ellipse 10 5
polygon points polygon [(0,0), (10,0), (5,10)]
text content size text "ABC" 10

パイプ操作

修飾

操作 説明
fillet r 角丸 fillet 2
chamfer r 面取り chamfer 1
shell t 中空化 shell 2 open:top

ブーリアン

操作 説明
diff shape 引く diff cylinder 10 5
union shape 足す union sphere 5
inter shape 交差 inter box 20 20 20

複数形状は [] で囲む: diff [sphere 10, box 5 5 5]

2D → 3D

操作 説明
extrude h 押し出し extrude 10 draft:5
revolve deg 回転体(デフォルト軸Y) revolve 360 axis:"X"
sweep path パスに沿って押し出し sweep (helix 5 30 10)

加工

操作 説明
cut カット(省略で貫通) circle 5 | cut 3
hole r 穴あけ(半径指定、省略で貫通) hole 5

変形

操作 説明
translate x y z 平行移動 translate 0 0 5
rotate rx ry rz 回転 rotate 0 0 45

選択とワークプレーン

選択

| faces sel        # 面を選択
| edges sel        # エッジを選択
| verts sel        # 頂点を選択(2Dでは形状の頂点を返す)
| points [...]     # 座標で点を指定

セレクタ記号

記号 意味
> 最大方向 faces >Z — 上面
< 最小方向 faces <Z — 底面
= 平行 edges =Z — Z軸に平行なエッジ
+ 垂直 faces +Z — Z軸に垂直な面

名前エイリアス

エイリアス 等価
top >Z
bottom <Z
right >X
left <X
front >Y
back <Y

ワークプレーン

| faces top | rect 50 30      # Face選択から直接2D描画(暗黙workplane)
| faces top | workplane "XZ"  # 軸を明示したい場合のみ workplane を書く

配置 at

単純な座標(数値・$変数・算術式)はカッコ省略可。grid/polar/リストはカッコ必須。

cylinder 10 2.5 at 20 10                 # 単一位置(カッコ省略可)
cylinder 10 2.5 at (20, 10)              # カッコ付きも有効(後方互換)
cylinder 10 2.5 at [(0,0), (20,10)]      # リスト(カッコ必須)
box 10 10 3 | polar 6 20                 # 円形配列(パイプ操作)
box 10 10 3 | grid 4 3 20               # 格子配列(パイプ操作)

構文

変数

$w = 80
box $w $w/2 10

関数定義

def name($args) = pipeline

インポート

import "gear"

条件式

if $x > 0 then $x else -$x

リスト内包

[$i * 10 for $i in range(6)]

演算子(優先順位 高→低)

*** / // %+ - → 比較 → andor|


コンテキスト遷移

3D ─→ faces/edges ─→ 2D ─→ extrude/cut ─→ 3D
              │                    │
              └── fillet/chamfer ──┘

覚え方: 作る → 選ぶ → 描く → 戻るworkplane は省略可。面を選べばそのまま描ける)