有没有办法直接从根目录中产生差异?我想做这样的事情:
difference(){
root();
cube();
}
而不是这个:
difference(){
union(){
object1();
object2();
.
.
objectN();
}
cube();
}
有没有办法直接从根目录中产生差异?我想做这样的事情:
difference(){
root();
cube();
}
而不是这个:
difference(){
union(){
object1();
object2();
.
.
objectN();
}
cube();
}
你已经在那里了。您只需要像这样定义root()
和cube()
作为模块:
difference(){
root();
cube();
}
module root(){
object1();
object2();
...
}
module cube(){
//some cube definition
}
在后台,OpenSCAD 会在每个模块周围秘密地为你创建一个 union(),就像你写的一样:
module xyz(){
union(){
//objects
}
}
所以在这个例子中,一个对象root()
被创建并且cube()
将从这个对象中减去。通过使用模块定义,您可以使您的代码像您要求的那样模块化。
您可能还想在这里查看官方文档和备忘单。
difference() 模块从第一个模块中减去所有其他孩子。在第一个片段中,第一个孩子是 root(),第二个第一个孩子是 union(),并且在两个立方体中都被减去。