gpt4 book ai didi

OpenSCAD 变量不累积

转载 作者:行者123 更新时间:2023-12-01 23:15:33 25 4
gpt4 key购买 nike

我是 OpenSCAD 的新手,遇到了一个我不明白的问题。在以下代码段中,变量“ofs”不是从“for”迭代的先前值累积的。

slots = [5, 7, 11, 17];

ofs = 0;
for (i = slots) {
ofs = ofs + i;
echo (ofs);
translate([ofs,0,0])
cube([1, 50, 30]);
}

我希望从 echo (ofs) 中看到的是值:

  • 5 (0 + 5)
  • 12 (5 + 7)
  • 23 (12 + 11)
  • 30 (23 + 17)

我实际看到的只是槽数组中的值:

  • 5
  • 7
  • 12
  • 23

有人能告诉我如何通过循环的迭代来积累 ofs 的值吗?任何帮助将不胜感激。

最佳答案

通常的策略是在进入几何生成之前先计算值,例如:

slots = [5, 7, 11, 17];
ofs = [ for (o = 0, i = 0;i < len(slots);o = o + slots[i],i = i + 1) o + slots[i]];
echo(slots = slots, ofs = ofs);
for (o = ofs) translate([o,0,0]) cube([1, 50, 30]);

关于OpenSCAD 变量不累积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68960320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com