0

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

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

所以我的猜测是:

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

如果您能帮助我知道,我将不胜感激:

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

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

4

1 回答 1

0

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

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

于 2017-04-13T14:49:28.167 回答