OpenSCAD
宣言的にプログラミングできるCAD
学ぶ前に直感的に思っていること
細かいところを修正するのはやりづらそう
繰り返し構造は得意そう
Fusion 360とかの方が素早くモデリングできるんじゃないの?
mirror
特殊記号
どこの物体かわかるようにする(#)
一連の処理を適用させない(*)
半透明にする(%)
注目点以外を描画しない(!)
sphereは円周を何分割するか選べる
楕円はscaleを使う
code:scad
cube(10);
}
polyhedron
頂点と面を指定する
これは厄介基素.icon
平面図形を作って
polygonで頂点を指定してかけるけど、これはいかにも辛そう
複雑なデータだと読みづらくなるだろうから
押し出す
https://gyazo.com/dcd94387e769fa731c3d0d7f576b973a
code:scad
linear_extrude(height=5){
}
polygonなどで作った2Dを押し出せる
3Dは押しだせないっぽい
回転する
おこしてz軸周りに回転する
奇妙な動きに思える基素.icon
https://gyazo.com/70bbe274525a40a397b3dd3864ddfc1f
code:scad
rotate_extrude() {
}
}
intersection
共通部分だけ抜き出す
diffenrence
先に書いたものから後に書いたものを消す
union()で合成する
複数の形を合わせて、differenceしたい物体を作る時によく使う
ループ処理
if、三項演算子
関数 function
differenceしたものからdifferenceする
書き出す前にはrenderをしてからexportをする
台形が作りたい
1. 四角形から切り抜く
2. extrudeするときにオプションで末尾指定する
polyhedronで三角形の一面だけ作ってlinear_extrudeしようとしたができなかった
回転したい
rotate()
単位はない
エクスポート
https://gyazo.com/f3345efde7f71bcc46b5bab586fff3eb
初回の感想
拘束条件の記述が面倒
「穴と穴の距離はわかってる」「適当な板につけたい」というときに困る
穴を開けたものを作るには適さない
穴を開け始めると穴の位置がわからなくなるので、レンダリングをする必要がある
レンダリングをするのに一手間必要で、かつ多少複雑になると時間がかかる