FreeCAD不会按预期执行python脚本

时间:2017-04-13 13:51:02

标签: python freecad

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

事情进展顺利,直到我陷入这个奇怪的问题,程序(I.E FreeCAD)没有执行我的部分代码。例如在this macro中,我创建了三个盒子然后融合了两个盒子,它工作得很好。但是在this one中我创建了3个盒子,将它们中的两个融合在一起,然后尝试从较大的盒子中切出融合。它不起作用。我甚至尝试使用print("flag")包含一些标志,但它不执行这些命令。如果我将确切的命令复制并复制到python consol中并运行它可以正常工作!

所以我猜测是:

  1. FreeCAD在GUI中执行某些操作,但不会在python控制台中报告。
  2. FreeCAD python interpreter不执行某些命令,例如print(“”)
  3. FreeCAD API中有一些我没有正确使用的内容
  4. 如果你能帮助我,我将不胜感激:

    1. 如果这是FreeCAD / python中的错误,或者是故意的
    2. 我如何解决问题,以便FreeCAD python解释器像我期望的那样运行我的宏/脚本?
    3. P.S。我发布了完全相同的问题here in FreeCAD forum

1 个答案:

答案 0 :(得分:0)

好的,我想出了问题。您可以在此Github Gist

中看到正确的宏

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