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