OpenSCAD User Manual/CSG Modelling

出典: フリー教科書『ウィキブックス(Wikibooks)』


union[編集]

子ノードの和集合を作る。

Usage example:
union() {
	cylinder (h = 4, r=1, center = true, $fn=100);
	rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100);
}

Union

difference[編集]

2番目以降の子ノードを減算する。

Usage example:
difference() {
	cylinder (h = 4, r=1, center = true, $fn=100);
	rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100);
}


Difference

intersection[編集]

すべての子ノードの共通部分を残す。

Usage example:
intersection() {
	cylinder (h = 4, r=1, center = true, $fn=100);
	rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100);
}


Intersection

render[編集]

常に (even in OpenCSG プレビューモードでも) 子ノードのブーリアンモデルを計算する。

例:

render(convexity = 1) { ... }


convexity 整数。convexity (凸度) は、オブジェクトの表面を突き抜ける光線が面と交差する最大の回数。

この変数は、OpenCSGが正しい表示を行なうためだけに必要であり、最終的なレンダリング結果には影響をおよぼさない。


この例は、convexity が4である2次元の図形を示している。赤線で示した光線は、図形と4回交差している。 3次元の場合も同様である。大抵の立体では、10程度にしておけばよい。