OpenSCAD空间几何布尔运算

原文地址(英): https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/CSG_Modelling#differenceide

Union:合并

建立一个合并的对象,使用union操做符,以下图所示。spa

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是隐含的,当未使用时。但当两个对象相交时,就成为必然的操做。code

Union

difference:切割

    从主对象中把全部字对象挖出,以下所示:对象

    Usage example:
ci

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:求交

    建立全部子对象的交集,保留重叠的部分。以下所示:get

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:渲染

老是计算CSG model(even in OpenCSG preview mode).it

Usage example:
render(convexity = 1) { ... }


convexity Integer. The convexity parameter specifies the maximum number of front sides (back sides) a ray intersecting the object might penetrate. This parameter is only needed for correctly displaying the object in OpenCSG preview mode and has no effect on the polyhedron rendering.


Openscad convexity.jpg

This image shows a 2D shape with a convexity of 4, as the ray indicated in red crosses the 2D shape a maximum of 4 times. The convexity of a 3D shape would be determined in a similar way. Setting it to 10 should work fine for most cases.io

相关文章
相关标签/搜索