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

OpenSCAD使ってみた

前から3Dプリンタ買おうか迷ってるが、とりあえず3D CADで図形作るのやってみた。
3Dプリンタの図形を作るのはfusion 360ってのが主流みたいなんだが、Arch Linuxの標準パッケージにはOpenSCADってのしかなく、これでも3DプリンタできるみたいなんでとりあえずOpenSCADを使った。
fusion 360はマウスで描く感じのアプリのようだが、OpenSCADはプログラミングみたいにテキストでコードを書く。

OpenSCADを起動すると画面が3分割されてて左にソースコード、中央に描画領域で、右はCustomizer。
Customizerってのは変数をあとから変更できる?要らない感じがする。描画領域がかなり狭いんで右のCustomizerは閉じた。

数値の単位はmmらしいく、引数に少数も渡せる。

構文は行末にセミコロンで、
関数(引数);
関数(引数){ ... }
みたいな感じ。
ブロックの代わりにセミコロン省略で範囲指定もできるみたいだがブロックで囲めば良さそう。

描画領域下にある Render ボタンで描画(更新)される。

cube等の関数を使って図形を作成するが、図形は基準点に作られ、
translate([x,y,z]){
  cube(10);
}
みたいな感じで移動する。
で、図形を組み合わせていく感じ。

difference(){
   cube(10);
   cube(5);
   cube([2,2,10]);
}
differenceで、1番目の図形から2番目以降の図形を削り取った図形が作れる。

cube(n)
cube([x,y,z])
引数は辺の長さ。
引数が1つの数値だと立方体、3つだと直方体。

cylinder で円柱、円錐、多角柱、多角錐が作れる。
sphere で球体が作れるが、3Dプリンタで箱とか部品作りたいと思うんで球体を作ることはない気がする。
polyhedron で任意の点を結んだ多角形が作れる。
立体を作る関数はこの4つかな。

linear_extrude(height=z){
   平面図形
}
で2Dを3D化することもできる。
height以外の指定で複雑な引き伸ばしもできるようだが難しくてわからん。
平面だと文字書いたりもできる。

こんな感じ。
角丸めるのは簡単な関数がない感じだが、四角と丸を組み合わせるのが簡単なのかな。
箱とか作るのにキーボードで入力していくOpenSCADは便利かとも思ったが、あとからソースコード見てもわかりにくいねw

3Dプリンタ本体は、Ender-3ってのが一番メジャーな感じだが、
180mm x 180mm でちょい小さい気もするが KingRoon KP3 が良いかなと思ってる。
接地面積はEnder-3みたいな両側に棒が立つ構造より小さい。
だが、公式だと送料高いわ・・・
Amazonで買っちゃうのが良いのか?

$170くらいからの海外通販だとたぶんあとから消費税持ってかれるぽい。
Easythreed もおもちゃみたいでいいが10cm x 10cm だと流石に作れるものが減っちゃうと思う・・・
Ctc XY100?なんか$100未満で売られてるがどうなんだろうか・・・