用户工具

站点工具


knowledge:freecad:reference:tutorial:2021123105

FreeCAD錄製Python巨集超入門

转载:https://oldmau.blogspot.com/2020/01/freecadpython.html

FreeCAD的一大特色就是可以用Python程式語言自行建立想要的功能。但寫程式如果沒人教你、沒書可看、網路資料別說看懂,連對不對都成問題時,該怎麼辦?

阿伯的答案是:「從錄製巨集(Macro)開始學」。

自己不會寫,就讓FreeCAD錄一段絕對可以跑的程式給你看。藉由比較自己下的指令與程式碼,就能一步步了解程式的語法和邏輯。所以接下來,阿伯用一個”超”簡單的範例,教大家製作一個可以修改實體尺寸參數的巨集。

第一步:建立圓柱 首先,我們以XY平面的原點為圓心建立一個半徑 = 5 mm的圓形草圖,然後長出一根高度 = 10 mm的圓柱,如下圖所示:

第二步:錄製巨集 錄製巨集的大紅圓按鈕就在工作平台下拉選單的右方,操作如下圖所示:

接下來,先將圓柱高度改為5 mm,再將半徑改為10 mm,然後結束錄製。如下圖:

第三步:修改巨集內容 我們來看看剛才錄到了些甚麼東西,如下圖:

綠色的列都是#字開頭,代表該列是註解。將註解全部刪除後的內容如下圖:

這些程式碼就是我們剛才做的事:把圓柱高度改成5 mm,半徑改成10 mm。因為建立圓柱時並未存檔,所以檔名是Unnamed。FreeCAD預設會在修改尺寸後自動重新計算模型,這就是第6、7行做的事。

如果我們不想只為了修改幾個尺寸就在實體與草圖間切換來切換去,該怎麼做呢?一般做法是執行巨集,出現介面讓你輸入尺寸,然後模型就改好了。但阿伯測試後發現Python常用的input()或print()指令在執行巨集時都沒啥作用,變通的方法是:直接在巨集編輯頁面下改尺寸,然後執行巨集,這樣就不需要資料輸入介面了。

將程式碼修改如下圖:

我們在第4、5行新增兩個變數:redius (半徑)與height (高度),並將數值都設成8。然後將巨集中的’5 mm’用height取代,’10.00000 mm’用redius取代,接下來點巨集工具列最右方的那個綠色三角箭頭按鈕,結果如下圖:

你的第一個FreeCAD巨集完成了,就這麼簡單。

你可以直接改redius與height等號後面的數值,整數或有小數點都行,按執行後圓柱就會改成你輸入的尺寸。

照這樣一個指令一個指令try下去,你就會知道各指令的語法該怎麼寫。接下來你該弄些Python程式書來好好K好好try,也許有一天你就看得懂網路上那些大神們到底在寫什麼講什麼囉。

至於其他程式問題,不要問我。看完這篇,你的巨集功力就跟現在的阿伯一樣強……XD

(FreeCAD 0.19版適用)

knowledge/freecad/reference/tutorial/2021123105.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1