首页 > 解决方案 > OpenSCAD 中 % 和 # 之间的行为差​​异

问题描述

在 Mac OS 10.15.7 上使用 OpenSCAD 2019.05,

difference() {
  cube(size = [14, 24, 17], center = false);
  % cube(size = [10, 20, 17], center = false);
}

失败(有时出现熟悉的“无几何”错误,有时出现没有减法的立方体)。

但是,仅用 # 替换 %,就会产生预期的行为。我是否误解了 # 和 % 的语义?

(如您所料,我没有这样编写代码,我从原始程序中获取 CSG 输出并将其归结为这个示例。)

标签: debugginghighlightopenscad

解决方案


我以前也被他们弄糊涂了。% 允许您将在模型的 F5 预览中不会显示在 F6 实际渲染中的东西。请参阅https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Modifier_Characters#Background_Modifier “忽略此子树以进行正常渲染过程并将其绘制为透明灰色(所有转换仍应用于此树中的节点)。”

所以,当你渲染它时,带有 % 的行将被忽略,它应该导致第一个立方体被渲染为未经修改。


推荐阅读