2017-04-13 94 views
0

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

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

所以我的猜测是:

  1. FreeCAD做了在不使用Python控制台报告GUI。
  2. FreeCAD Python解释器不执行某些命令,如打印(“”)
  3. 有哪些我没有使用正确

我将不胜感激,如果你能帮助我知道FreeCAD API的东西:

  1. ,如果这是一个错误的FreeCAD/Python或它是故意
  2. 我怎么能解决这个问题,使该FreeCAD Python解释器运行我的宏/脚本,我期待?

P.S.我发布了完全相同的问题here in FreeCAD forum

回答

0

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

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