發表文章

淺談FreeCAD Part Design的基準面

圖片
如果你開新檔後直奔Part Design工作平台按草圖(sketch)圖示,FreeCAD會自動建立一個Body。Body裡名叫Origin的東東,就是一切基準(datum)的基準:絕對座標。而 XY、XZ、YZ平面,就是絕對基準面(datum plane) 。如下圖: 你必須先有基準面(datum plane)才能畫草圖,只靠絕對座標就想打遍天下當然是不夠的。比方說,你想挖個斜孔,卻發現沒有你要的基準面時,你就得自己想辦法建。 要自訂基準面,你必須先選參考面。我們在Origin下選XY_Plane,然後點選基準面圖示,出現介面如下: 介面第一列顯示已經選擇XY_Plane當參考面,我們可以用Attachment Offset介面來設定基準面的原點位置與傾斜角度。 Attachment Offset介面有6項參數可設定,分別是基準面原點相對於絕對座標原點沿X、Y、Z軸的偏移量,與繞三個座標軸旋轉的角度。 但問題來了,如果你選的參考面是YZ_Plane,你會發現明明是改In x-direction:的數值,基準面原點卻沿Y軸移動。 為何會這樣?因為 In x-direction: 指的並非X軸,而 是水平軸 。 In y-direction: 並非Y軸,而 是垂直軸 。 In z-direction: 並非Z軸,而 是正交軸 。 水平軸、垂直軸、正交軸又是啥? 這麼說吧, 如果你的參考面是XY平面,XY座標上哪個軸水平?沒錯! X軸。垂直軸是Y軸,與XY平面正交的軸,當然就是Z軸囉。 同理,如果你的參考面是YZ平面,水平軸 = Y軸,垂直軸 = Z軸,正交軸 = X軸。改X:的數值,原點沿Y軸移動。改Y:的數值,原點沿Z軸移動。改Z:的數值,原點沿X軸移動。至於選XZ平面當參考面又會如何?請自己類推。 定位好基準面原點後,接下來就可以設定 基準面傾斜的角度。角度正負依照右手定則 ,大拇指朝向該軸正方向時,其他手指所指的轉向為正向。 Around x-axis: 繞水平軸的轉角。 Around y-axis: 繞垂直軸的轉角。 Around z-axis: 繞正交軸的轉角。 如果你 勾選了Flip sides,基準面就會變成設定值的反對稱面 。 很複雜吧?這也是阿伯寫這篇教學的原因。阿伯...

你厭世嗎?【蚱蜢】讀後感

書名:蚱蜢 作者:伊坂幸太郎 總之,這小說就是「厭世」。想知道從否定的角度看世界會看到什麼,看本書就對了。眾多令人驚…訝的角色與冷酷邪惡的劇情推演,讓每位讀者都能在地獄中看到自己。大過年的,一邊剝蠶豆,一邊看武漢肺炎、Kobe父女墜機,一邊讀這本……冷得發抖啊。 如果你對阿伯避雷的能力沒信心,就先去看小說吧……XD 台灣人最愛去日本了。風景美、服務佳、治安好、料理棒、科技先進、每個人都好有禮貌好客氣。但本書中的日本,是個壅擠、冷漠、自私、政府無能、人人互相算計、競爭、敵視、陷害的蠱甕。 為何會有這麼大的不同?因為我們是去玩,心情好的很,而書中的角色們都不快樂。不快樂的人眼中,萬物都很醜陋,人人都很虛偽,每天都很孤獨,未來終究要死。 讀者的視角在鈴木、鯨、蟬三個人之間切換。鈴木是善良百姓的代表,但邪惡沒放過他。他的妻子枉死,他要為妻復仇。鯨跟蟬都是殺手,一樣收錢辦事。但鯨覺得人人都想死,他只是促成罷了。蟬則把罪過推給別人,千錯萬錯都是別人的錯。 在他們的眼中,整個社會就像蟲群一般,令人煩躁,令人厭惡。 在你的眼中,世界的樣貌又是如何? 書中諸多事件與人物,其實都是每日新聞的常客。鬥毆、兇殺、詐欺、吸毒、酗酒、偷竊、恐嚇、車禍、貧困、家暴、自殺……這些悲劇每天都在上演,就在你我身邊。日復一日,年復一年。 這個世界正以驚人的速度量產壞人。 你可曾想過,以壞人的身分活著是什麼感覺?你可曾想過,身旁都是壞人是什麼感覺? 你可曾想過,自己只是運氣好,才不必當壞人? 如果你已經是壞人了,要怎樣才能再證明自己不是? 如果我只能當壞人,想必也會很厭世吧。 你厭世嗎? 這本小說真的很恐怖。

FreeCAD錄製Python巨集超入門

圖片
FreeCAD的一大特色就是可以用Python程式語言自行建立想要的功能。但寫程式如果沒人教你、沒書可看、網路資料別說看懂,連對不對都成問題時,該怎麼辦? 阿伯的答案是:「 從錄製巨集(Macro)開始學 」。 自己不會寫,就讓FreeCAD錄一段絕對可以跑的程式給你看。藉由比較自己下的指令與程式碼,就能一步步了解程式的語法和邏輯。所以接下來,阿伯用一個”超”簡單的範例,教大家製作一個可以修改實體尺寸參數的巨集。 第一步:建立圓柱 首先,我們以XY平面的原點為圓心建立一個半徑 = 5 mm的圓形草圖,然後長出一根高度 = 10 mm的圓柱,如下圖所示: 第二步:錄製巨集 錄製巨集的大紅圓按鈕就在 下拉功能表 Marco 裏,操作如下圖所示: 接下來,先將圓柱高度改為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取代 ,接下來點 下拉功能表 Marco 裏那個綠色三角箭頭按鈕,結果如下圖: 你的第一個FreeCAD巨集完成了,就這麼簡單。 你可以直接改redius與height等號後面的數值,整數或有小數點都行,按執行後圓柱就會改成...

FreeCAD範例:壓縮彈簧(下)

圖片
本範例的壓縮彈簧尺寸參數如下圖: 第一步:繪製底環 先進入FreeCAD的 Part Design 工作平台,在 XZ平面 以螺旋線 最下圈的起點 為 圓心 建立一直徑 = 10 mm 的圓形草圖,然後以 環狀擠出 ( Revolution )建立半圓環實體。如下圖所示: 第二步:繪製首圈螺旋線 在 XZ平面 以 底環終點 為 圓心 建立一直徑 = 10 mm 的圓形草圖,然後以 螺旋擠出 ( Additive helix )建立首圈螺旋線。如下圖所示: 第三步:繪製有效圈數螺旋線 在 XZ平面 以 首圈螺旋線終點 為 圓心 建立一直徑 = 10 mm 的圓形草圖,然後以 螺旋擠出 ( Additive helix )建立有效圈數螺旋線。如下圖所示: 第四步:繪製末圈螺旋線 在 XZ平面 以 有效圈數螺旋線終點 為 圓心 建立一直徑 = 10 mm 的圓形草圖,然後以 螺旋擠出 ( Additive helix )建立末圈螺旋線。如下圖所示: 第五步:繪製頂環 在 XZ平面 以 末圈螺旋線終點 為 圓心 建立一直徑 = 10 mm 的圓形草圖,然後以 環狀擠出 ( Revolution )建立末圈半圓環實體。如下圖所示: 第六步:修平底環與頂環 修剪實體的方法就不多說了,基本上就是建立參考平面,然後用 修剪實體 把不要的部分切掉。完成的彈簧如下圖: 畫壓縮彈簧用到的功能也可以用在其他地方,例如 管線 、 螺桿 、 螺栓 、 多斷面實體 建立等。 (FreeCAD 1.1.0版適用)

FreeCAD範例:壓縮彈簧(上)

圖片
壓縮彈簧廣用於各種機械,例如車輛的避震器。繪圖前,你要先知道壓縮彈簧的尺寸參數有哪些。如下圖所示: 機械設計圖表便覽上與繪圖相關的規格參數如下: 1. 外徑 :壓縮彈簧最外側的直徑。 2. 線徑 :彈簧線材的直徑。 3. 自由高度 :彈簧未受壓力時的高度。 4. 密著高度 :彈簧被完全壓緊時的高度。 5. 旋向 :右旋(逆時針)、左旋(順時針)。 但光知道這些數據是不夠的,有些繪圖必要的參數你必須自己算出來。本範例的壓縮彈簧尺寸參數如下: 外徑:110 mm 線徑:10 mm 自由高度:130 mm 密著高度:55 mm 旋向:右旋。 你想畫的壓縮彈簧應該是裝在機械上的狀態,這種狀態的高度叫 裝置高度 。裝置高度只有你知道,沒有現成資料可查。本範例依照自由高度繪製,但畫法可以直接套用裝置高度。 首先,你必須先算出彈簧圈數: 彈簧圈數 = 密著高度 / 線徑 。 本範例的彈簧圈數 = 55 / 10 = 5.5圈 。 接下來,由圖可知壓縮彈簧為了能平穩受壓,兩端都會有約270度的磨平面。因此彈簧最下一圈與最上一圈都會壓扁,屬無效圈數。因此: 有效圈數 = 彈簧圈數 – 2 本範例的有效圈數 = 5.5 - 2 = 3.5圈 。 重頭戲來了!螺旋線從起點(0度)轉一圈(360度)上升的高度稱為 節距(Pitch) 。壓縮彈簧最下與最上端都有一段沿平面走圓弧路徑180度、磨掉一半的彈簧線,為了避免繞線時線與線互相干涉, 最下一圈與最上一圈的節距必須 >= 線徑 * 2 。 此外,為了讓不同節距的螺旋線能正確連接, 螺旋線的總高度必須是該螺旋線節距的倍數,這個倍數就是螺旋線的圈數。 業界建議 圈數應是0.25的整數倍 ,這樣螺旋線起點和終點都會落在0、90、180、270這幾個角度其中之一。本範例的彈簧圈數5.5圈與有效圈數3.5圈都可用0.25整除。 基於上述兩項條件,本範例最下一圈與最上一圈的節距必須 >= 10 * 2,也就是必須 大於20 mm 。 故能用於 有效圈數的最大高度 = 130 – (20 * 2) = 90 mm 但有效圈數的節距 = 90 / 3.5 = 25.714…除不盡,我們希望節距是一個很精確的數字,才能確保螺旋線完全相接。在此我們設定 有效圈數節距...

少了謙卑:【起源】讀後感

書名:起源 (Origin) 作者:丹‧布朗 (Dan Brown) 出版:時報出版 聖經有誤,信仰就會瓦解?科學求真求進,就能取代宗教,為人類帶來救贖?本書結合好萊塢電影的緊張懸疑與國家地理頻道的豐富新知,讓科學、宗教與人性正面衝撞,引領讀者深思什麼才是我們想要的未來。 如果你對阿伯避雷的能力沒信心,就先去看小說吧……XD 本書劇情遵循丹‧布朗一貫套路:蘭登教授和美女為了找出謀殺案兇手與背後真相,一邊被追殺一邊跑遍各大古蹟名勝搜尋蛛絲馬跡的故事。傳統宗教與現代價值觀的衝突向來是作者的主要賣點,但若只證明聖經有錯,以聖經為本的宗教就會完蛋嗎? 不會。 我認為只有三件事足以毀滅一切宗教: 1. 神真的來了。 2. 人不會死了。 3. 人都死光了。 書中未來學家艾德蒙˙柯許是個激進的無神論者。他相信科學,因為科學是對未知追根究柢的方法,藉由觀察現象、理論解釋、實驗證明來發掘真相。而宗教在他眼中,則是經不起考驗的謊言。 摧毀宗教、上帝、神明,是他畢生的目標。 他想用尖端科技,找出「我們從哪裡來?我們要往哪裡去?」的真相,以瓦解上帝照自己形像創造人的創世論。作者整合許多真實存在的科學原理與最新假設後,對這兩大謎團提供了一個「深得我心」的解答。 表面上,科學在本書中可謂「大獲全勝」。但問題是,科學贏了,人類呢? 崇拜科學的人,比信仰宗教的人,少了什麼? 少了謙卑。 人為什麼要謙卑? 因為謙卑讓我們不會忘了自己是人,不是神。 人會犯錯,所以需要愛,需要謹慎,需要包容,需要寬恕。人要為後代子孫著想,要珍惜自己的靈魂。 但科學進步,卻讓人忘了自己是人。 開始自大,就會遭天譴。 我不信教,但這我信。

人生何價?【貝納德的墮落】讀後感

書名:貝納德的墮落 (Harvest) 作者:泰絲‧格里森 (Tess Gerritsen) 出版:春天出版 人只有一條命,一個人生,外科醫生也不例外。想當外科醫生,你必須比別人更會念書,花更多的時間與金錢求學、實習,沒日沒夜地輪班,並承擔別人性命的重責大任。那麼,誰的人生比較重要?你的?我的?他的?還是外科醫生自己的? 如果你對阿伯避雷的能力沒信心,就先去看小說吧……XD 顧名思義,本書探討的主題是「醫生為何會墮落?」但作者並不直接回答這個問題,而是讓讀者透過女主角住院醫師艾貝的慘痛經歷,自己去找出答案。 從第一頁開始,你就會覺得這個世界非常醜陋。人命價值竟然是由你投胎的地點來決定,當先進國家有錢人需要器官移植來救命時,就有人想辦法到人命不值錢的地方去「進貨」。 沒錯,這世上有好人,但壞人也不少,還有更多人遊走於灰色地帶。當你發現身旁有壞事正在發生,你會選擇充耳不聞?遠離是非?聽命行事?還是堅持做對的事? 艾貝堅持做對的事,結果惹禍上身。 更多人選擇充耳不聞、遠離是非、聽命行事,讓無辜的孩童們死於非命。 社會上走跳久了,你可曾懷疑過自己真的喜歡「人類」這種生物?如果不喜歡的話,幹嘛要為看不順眼的渾球們拚死拚活? 因為缺錢。 這年頭理財專員們成天把「四十歲退休樂活人生」掛在嘴邊,不就是說給那些厭惡、甚至痛恨自己工作的人聽的? 書中美國外科醫師的生涯就一個字:「累」,似乎只有不用睡覺的人才能勝任。無止境的大夜班、隨時on call的…嗯…這書有點舊還在用BB Call…XD、十幾年才還得完的學貸、動不動就被病人告「醫療疏失」…… 你,還想當醫生? 想早日脫離苦海?你需要錢,很多很多錢。想賺大錢?沒問題!我給你!你什麼都甭擔心,繼續開你的刀,救你的病患。我只要你……別多管閒事。 這種事現實世界會發生嗎?我覺得會。只是恐怕沒人敢像艾貝這樣正面對抗,能跟媒體爆料就不錯了。 讀者能夠「附身」的角色有四個:艾貝、被賣掉的男孩耶可夫、等待心臟移植的患者妮娜、以及重案組刑警卡茲卡。無論附在哪個角色身上,你都會覺得自己是座孤島。不知道別人說的話是真是假,也不知道他們的居心是好是壞。 他們在這灰暗的世上摸索,自己也不確定自己在找什麼。直到他們彼此相遇,才發現自己想要的,其實只是可以相信的人罷了。 可以相信的人,何等珍貴...