為能自由的調整邊框圖案的尺寸,利用 OpenSCAD 的 script 來產生環形的圖案邊框模型。大概是計算完小數點精準度的問題,明明是重覆的圖案,把模型檔匯入 TinkerCAD 以後,居然有一個是破損的。
上圖箭頭處是 24 個重複圖案中,唯一有破損的,幸好有發現,不然等用 3D printer 印好才看到,包準吐血。
在猜想,兩個圖案連結處的長度是利用圓周的公式推算出來的,可能剛剛好差一咪咪,導致製作出的模型檔是有破損的。
既然可能是因為長度不夠造成的,那就用 OpenSCAD 中的「ceil」函數來將小數點以下的數字「無條件進入」吧!
原來的寫法是這樣:
outterSpacing = (outterWidth-width)/2;
如果想取到小數點以下第一位,那就先將結果乘以 10 ,使用完 ceil() ,無條件進位以後,再除以 10。
outterSpacing = ceil((outterWidth-width)/2*10)/10;
不過,如果取的位置太大,大太多了,也是會影響到模型的外觀的。像第一張截圖中,綠色的模型是取到小數點以下第二位(先乘以100,無條件進位以後,再除以100),連接處可以看到微微的突出;黃色的模型則是取更小一些,先乘以 500 ,無條件進位以後,再除以 500。
outterSpacing = ceil((outterWidth-width)/2*500)/500;
經過這樣的調整,連接處看起來不但和原來差不多,匯入 TinkerCAD 中,也不會有破損的情形了。
沒有留言:
張貼留言