generated at
OpenSCAD
宣言的にプログラミングできるCAD

学ぶ前に直感的に思っていること
細かいところを修正するのはやりづらそう
繰り返し構造は得意そう
Fusion 360とかの方が素早くモデリングできるんじゃないの?

mirror

特殊記号
どこの物体かわかるようにする( #
一連の処理を適用させない( *
半透明にする( %
注目点以外を描画しない( !

sphereは円周を何分割するか選べる
楕円はscaleを使う
scad
scale([2, 2, 0.2]) { cube(10); }

polyhedron
頂点と面を指定する
これは厄介基素

平面図形を作って
polygonで頂点を指定してかけるけど、これはいかにも辛そう
複雑なデータだと読みづらくなるだろうから

押し出す
scad
linear_extrude(height=5){ square([200, 150]); }
polygonなどで作った2Dを押し出せる
3Dは押しだせないっぽい

回転する
おこしてz軸周りに回転する
奇妙な動きに思える基素
scad
rotate_extrude() { translate([5,0,0]){ square([5,10]); } }


intersection
共通部分だけ抜き出す
diffenrence
先に書いたものから後に書いたものを消す
union()で合成する
複数の形を合わせて、differenceしたい物体を作る時によく使う
ループ処理
if、三項演算子
関数 function
differenceしたものからdifferenceする
書き出す前にはrenderをしてからexportをする

台形が作りたい
1. 四角形から切り抜く
2. extrudeするときにオプションで末尾指定する
polyhedronで三角形の一面だけ作ってlinear_extrudeしようとしたができなかった

回転したい
rotate()

単位はない



エクスポート

初回の感想
拘束条件の記述が面倒
「穴と穴の距離はわかってる」「適当な板につけたい」というときに困る
穴を開けたものを作るには適さない
穴を開け始めると穴の位置がわからなくなるので、レンダリングをする必要がある
レンダリングをするのに一手間必要で、かつ多少複雑になると時間がかかる