CadQuery.Locationの引数まとめ
1. class cadquery.Location(t: VectorLike)
tで平行移動(translation)の量を指定
2. class cadquery.Location(t: Plane)
tで指定した平面(原点+法線)に移動+回転
3. class cadquery.Location(t: Plane, v: VectorLike)
vで指定した点を中心として、tの向きに回転
このバージョンだけは、tがtranslationではなく、向きを指定する
4. class cadquery.Location(t: VectorLike, ax: VectorLike, angle: float)
tで指定した点を中心として、axを軸としてangle度だけ回転する
注意点
Location.__init__に対して名前付き引数は使えない
t, v, ax, angleは位置引数として渡す
例
code:example.py
import cadquery as cq
a = cq.Workplane().box(1, 0.1, 1).union(cq.Solid.makeCone(1, 0, 2))
plane1 = cq.Plane((0, 2, 1), normal=(0, 1, 0))
plane2 = cq.Plane((5, 5, 5), normal=(-1, 0, -1))
l1 = cq.Location((-2, 0, 0)) # No.1
l2 = cq.Location(plane1) # No.2
l3 = cq.Location(plane2, (0, -2, 0)) # No.3
l4 = cq.Location((2, 0, 0), (0, 1, 0), 45) # No.4
result = (cq.Assembly()
.add(a, color=cq.Color(1,1,1,0.6)) # 白
.add(a, loc=l1, color=cq.Color(0,0,1,0.6)) # 青
.add(a, loc=l2, color=cq.Color(0,1,0,0.6)) # 緑
.add(a, loc=l3, color=cq.Color(1,0,0,0.6)) # 赤
.add(a, loc=l4, color=cq.Color(0,1,1,0.6)) # 水色
)
show_object(result)
白:作りたての円錐
青:cq.Location((-2, 0, 0))
X方向に-2だけ平行移動
緑:cq.Location(plane1)
plane1 = cq.Plane((0, 2, 1), normal=(0, 1, 0))
(0, 2, 1)を原点、法線(normal)をY軸正((0, 1, 0))とする平面を指定して移動
赤:cq.Location(plane2, (0, -2, 0))
plane2 = cq.Plane((5, 5, 5), normal=(-1, 0, -1))
(0, -2, 0)に平行移動、法線(-1, 0, -1)の向きに回転
https://gyazo.com/9774f7244a101a1e229267ac70d76851
https://gyazo.com/78d00a3526b7fe6fd5c225b03971ea59