2017-04-13 95 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命令那樣)。如果我們包含這些命令,那麼它們之後的任何命令都不會被執行。