發表文章

目前顯示的是有「Python」標籤的文章

FreeCAD錄製Python巨集超入門

圖片
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.000000 mm’用redius取代 ,接下來點巨集工具列最右方的那個綠色三角箭頭按鈕,結果如下圖: 你的第一個FreeCAD巨集完成了,就這麼簡單。 你可以直接改redius與height等號後面的數值,整數或有小數點都行,按執行後圓柱就會改成你輸入的尺寸。 照這樣一個指...

我在用的2本Python入門書

你知道博客來書店[電腦資訊]類2018年什麼主題最熱門?答案是Python。 Python是一種”免費”的程式語言。免費是不錯,但之所以熱門,是因為它擁有全球大量愛用者提供、功能包羅萬象、且同樣免費的模組可直接匯入,不用自己寫。也就是說,學會Python,你就能站在巨人的肩膀上,快速取得各種資訊技術來為你辦事。舉凡人工智慧、大數據分析、網路爬蟲、網站架設、自動控制、駭客工具、甚至病毒,幾乎無所不包。如此無本萬利的好康,難怪大家趨之若鶩。 挑程式書,當然要三【好】:好懂、好找、好舒服。可惜阿伯在書店翻來翻去,真能滿足三【好】的Python書老實說還沒出現。既然世界不完美,凡事總得有個開始。以下是我學Python的第一本入門書: 書名:【Python自動化的樂趣:搞定重複瑣碎&單調無聊的工作】 作者:Al Sweigart 譯者:H&C 發行:碁峯資訊股份有限公司 Python書共通的毛病,就是翻開來密密麻麻都是字,讓人腦中一陣暈眩。經過無數次翻開、放回、翻開、放回後,阿伯總算帶這本回家。原因無他:好懂。 本書讀來就像一個會教又風趣的老師在上課,雖然教的東西很硬,但他總有辦法讓你懂。且Python互動開發環境(IDLE)可逐列執行程式,只要輸入正確的程式碼後按Enter,就能看到該列執行的結果。這個介面非常適合測試各種指令,本書多數時間也都在將一個個指令測試給你看。 本書的程式範例頗實用,讓讀者見識Python如何辦到你以前辦不到或做得很吐血的事。範例不會太長,且會分段逐列解說。每章結束時都有總結、習題與實作專題,可測試自己到底懂多少。 在好找這方面本書表現平平,除了目錄沒其他指引工具。 此外,所有Python書都有一個宿命的問題:改版。 Python和支援Python的模組都常改版,且改版不保證向下相容。也就是說,用舊版撰寫的程式,拿到新版執行可能會出問題。本書有幾個範例就因改版導致無法執行,讀者必須自己去Google新版的語法。還有網站資料擷取的範例,可能會因網站改版導致異常,此時讀者就得自行分析網站原始碼來修改程式。 讀完這本書,你可能會對Python有點……失望。本書的程式都在IDLE或”命令提示字元”下執行,你沒看錯,”命令提示字元”。純DOS介面,完全靠打字,阿伯覺得自己年輕了快三十歲。 雖然...