令我惊讶的是,OpenSCAD 用户手册指出:
不,你仍然不能做 a=a+1;
那么解决方法是什么?
我有多个嵌套的 for 循环,我想在最内层循环中更改位置:
module all(width,length,height) {
x=0;
y=0;
z=0;
for(with_left = [0:1:1]) {
for(with_right = [0:1:1]) {
for(with_opposite = [0:1:1]) {
for(with_bottom = [0:1:1]) {
for(with_45 = [0:1:1]) {
translate([x,y,z]){
rotate([0, 0, 0]){
ejcorner(width, length, height, with_left,with_right,with_opposite,with_bottom,with_45);
}
}
x=x+20;
if (x>200) {
y=y+20;
}
echo(str("x: ",x," y: ",y));
}
}
}
}
}
}
目前我得到:
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"
ECHO: "x: 20 y: 0"