ジャンル不定の日記です。

OpenSCAD使って3D図形描いてみた

バイクのスイッチ交換でチョークレバーがなくなる問題で、
3Dプリンタで部品を作って、不要な左ブレーキレバーのチョークレバー化を考えてるが、
とりあえずOpenSCADで図形描いてみた。



ブレーキレバーの代わりに部品をホルダーに装着してチョークレバーにする計画。
タイコが届いてから寸法調整して、とりあえず試作だが3Dプリンタ持ってないからDMM.makeで考えてるがいくらくらいかかるんだろうか・・・

最初、四角と三角組み合わせて作る感じでやり始めたが、三角柱を作る関数ってのはないのね。
正方形や長方形に高さを付けた立方体や直方体ならcube関数で良いんだが、それ以外の多角柱はpolygon関数で2D図形を作ってlinear_extrude関数で高さを伸ばすのが良さげ。
cubeだと長さ指定だがpolygonだと座標指定だから水平方向は移動させないで済むし、3点以上の指定座標が結ばれて最後に閉じられるから何角形でも作れる。

円柱は2D円を描くcircleを引き伸ばすか、cylinder関数だが、どちらも長さ指定だからcylinder関数のが便利かな。
cylinderだと上部と下部の半径を変えて三角錐とかも作れる。
引数がcircleより増えるが、linear_extrudeで引き伸ばす必要がなくなる分cylinderのが良さげ。
円は標準解像度だとかなり粗いっぽくて、ほとんどの場合解像度指定をする必要がありそう。

difference関数でくり抜きができるが、ブロック内の最初の図形から2個目以降の図形がくり抜かれるんで、元の図形はunion関数で合体して1つの図形にする感じ。
最終的に使わなかったが、intersection関数で複数の図形の重なり部分のみを有効にする感じもできる。
differenceでくり抜く際は、座標がぴったりだと空間だか図形が存在するか不明になっちゃうみたいで、完全に貫通させるように座標と大きさを調整しないとダメなのがめんどい。

内部がくり抜かれた複雑な形状だが、OpenSCADで30行程度で書けちゃうんだね。