FreeCAD没有按预期执行python脚本



我正在尝试学习FreeCAD python脚本。基本上,我打开python控制台并在GUI中执行我想做的事情,然后查看python控制台以学习命令。然后阅读该特定任务的 API 以了解 python 命令的正确形式。

事情进展顺利,直到我陷入这个奇怪的问题,程序(即FreeCAD)不执行我的部分代码。例如,在这个宏中,我创建了三个盒子,然后融合了两个盒子,它工作得很好。但是在这个盒子里,我创造了3个盒子,将其中两个融合在一起,然后尝试从更大的盒子中切出融合。而且它不起作用。我什至尝试使用print("flag")包含一些标志,但它不执行这些命令。如果我将确切的命令复制并粘贴到 python consol 中并运行它就可以正常工作!

所以我的猜测是:

  1. FreeCAD在GUI中做了一些不会在python控制台中报告的事情。
  2. FreeCAD python 解释器不执行某些命令,例如 print(")
  3. FreeCAD API 中有一些我没有正确使用的东西

如果您能帮助我知道:

  1. 如果这是FreeCAD/python中的错误,或者是故意的
  2. 我怎样才能解决这个问题,以便FreeCAD python解释器按照我的期望运行我的宏/脚本?

附言我在FreeCAD论坛上发布了完全相同的问题。

好的,我想出了问题。 你可能会在这个Github Gist中看到正确的宏

解释:基本上解决方案是,当我们想在两个现有对象上运行布尔操作时,我们不应该将它们的可见性更改为 false(就像默认的 GUI 命令那样)。如果我们包含这些命令,则不会执行它们之后的任何命令。

最新更新