【发布时间】:2020-12-25 03:52:46
【问题描述】:
我想在每个立方体上打一个洞。 代码如下:
y=45;
for (i=[1:8]){
z = y*i;
difference(){
rotate([0,0,z]) translate([57,0,-5]) cube(center = true,[5,10,10]);
rotate([90,90,z]) translate([6,0,-60]) cylinder(5,2,2);
}
}
// This is a reference, translate([6,0,-60]) is correct position
rotate([90,90,z]) translate([16,0,-60]) cylinder(5,2,2);
为什么
rotate([90,90,z]) translate([6,0,-60]) cylinder(5,2,2);
不在 for 循环中工作?
当z 手动设置为 45、90、135、180...315 时,孔是正确的。
【问题讨论】:
-
由于旋转不同,圆柱体的坐标偏离了。当首先在原点周围的方便位置组合部件并最后移动到位时,事情会更容易,例如 rotate([0,0,z]) translate([57,0,-5]) difference() { cube(center =真,[5,10,10]);旋转([0,90,0])圆柱(6,2,2,中心=真); } }
标签: for-loop rotation cube openscad