広告
*雑多なこと [#of0dd9c7] -2014年バージョンではpointsなどの配列に新しい要素を追加できない --新しいバージョンではconcatという関数でできるようになるらしい -同じ変数を複数回定義すると「undef」(数値的には0)になる。 --バグかもしれない -角にアールがついたブロックを作るのに便利な関数 --[[minkowski:https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#minkowski]] ---厚さも変わってしまうので注意 ---以下例 rBox(20,10,10,2); module rBox(x,y,z,r,res=100,center=false){ minkowski(){ cube(size = [x-2*r,y-2*r,z-2*r],$fn=res,center=center); cylinder(r=r,h=r,$fn=res,center=center); } } --[[hull:https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#hull]] ---以下例 testHull(); module testHull(){ linear_extrude(height = nutHolderZ, center = true, convexity = 10) hull() { translate([nutHolderX/2-nutHolderR,nutHolderY/2-nutHolderR,0]) circle(nutHolderR); translate([nutHolderX/2-nutHolderR,-nutHolderY/2+nutHolderR,0]) circle(nutHolderR); translate([-nutHolderX/2+nutHolderR,-nutHolderY/2+nutHolderR,0]) circle(nutHolderR); translate([-nutHolderX/2+nutHolderR,nutHolderY/2-nutHolderR,0]) circle(nutHolderR); } } ---一つの頂点が丸まっている三角形 rTriangle1(); module rTriangle1(){ linear_extrude(height = 5, center = true) hull() { polygon([[20,0],[0,20],[-20,0]]); translate([0,20,0]) circle(d=5); } } ---すべての頂点が丸まっている三角形 rTriangle2(); module rTriangle2(){ linear_extrude(height = 5, center = true) hull() { translate([0,20,0]) circle(d=5); translate([20,0,0]) circle(d=5); translate([-20,0,0]) circle(d=5); } } -楕円柱 --円柱を[[resize:https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#resize]]で潰す ellipseCylinder(10,20,5,res=200,center=true); module ellipseCylinder(h,a,b,res=100,center=false){ resize([0,2*b,0]) cylinder(h = h, r = a,$fn=res,center=center); } -[[回転楕円体:http://ja.wikipedia.org/wiki/%E5%9B%9E%E8%BB%A2%E6%A5%95%E5%86%86%E4%BD%93]]、[[楕円体:http://ja.wikipedia.org/wiki/%E6%A5%95%E5%86%86%E4%BD%93]] --球を[[scale:https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#scale]]で引き伸ばす spheroid(); module spheroid(){ //resize([0,40,0]) //resizeではうまく行かなかった scale([1,1,2]) sphere(r = 20); } -元図形が残るミラー --2014年バージョンでは専用関数は無い。[[mirror:https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#mirror]]は元図形が残らない --[[有志が作ったモジュールがある:http://forum.openscad.org/Wish-mirror-copy-true-td10681.html]] module copy_mirror(vec=[0,1,0]) { children(); mirror(vec) children(); } --同様の手法でコピーもできる copy([20,0,0]) cube([10,20,5], center = true); module copy(vec=[0,0,0]){ children(); translate(vec) children(); } 広告 |