OpenSCADの使い方 テンプレ等 (他 画像リトグラフ化) 3dデータ

OpenSCADのテンプレを個人的にまとめてみました。

① 既存のSTLファイルをドラッグ&ドロップ

import(“…/xxx.stl”);
すると上記のようにエディターに表示されるハズです。

② 図形のリサイズ

例えばSTLファイルの”変形”に。{ }で囲ってリサイズ可能。
scale([1,1.2,0.9]) import(“xxx.stl”); //倍で指定
resize(newsize=[10,12,9]) {} //こちらはサイズ指定

③ 図形の配置

どこに配置するかを、図形の前に指定します。
translate([15,0,0]) import(“xxx.stl”);

④ 基本回転

前にrotate([x, y, z])で角度を指定する。電流と磁界での右手の法則ように親指立てて、それを軸と考えて4指方向に沿って回転。
rotate([10, 180, 45]){} //x軸10°,y軸180°,z軸に45°

⑤ カラー

color( “blue”, 1.0 ) {} //RGBやαチャンネルも設定できるようです。

以下、図形

⑥ 厚みのある”面” (直方体、立方体 、箱)

これはよく使うハズ。ミリで指定する。cube([x,y,z]);
cube([10,20,30]); //10mm,20mm,30mmの直方体。
cube(10); //立方体ならこれだけ。10mmのサイコロ。

⑥円柱

hは高さ、r1は底面の半径。r2は上面。d1だと直径で指定可能。
cylinder(h=10,r1=20,r2=10);//高さ10mmのプリン型
cylinder(h = 10, d=40); //直径40mmの円柱。

⑦球

d=とすれば直径も指定可。$fnは分解能。$faで角度指定も可能。
sphere(20, $fn=100); //半径20mmの球。$fnで100分割。

⑧図形の足し算(マージ)、引き算、共通部分

union() {A;B;} //図形をマージする時
difference() {A;B;C;D;} //図形を引き算する時
intersection() {A;B;} //共通部分が欲しい時
図形を足し算するという意味では以下も。

⑩ 角を丸くする

図形ABでAをベースにBを動かす的な、集合的な考えで使う様子。 角を丸くするだけなら、角の半径が判ればOK。高さも足される。
$fn=50;
minkowski(){cube([10,10,1]); cylinder(r=2,h=1);}

⑪ 多角柱(2Dに厚みを持たせる)、linear_extrude

linear_extrude(20)square([20,10]);//赤 //高さ20mmの角柱錐

linear_extrude(20, scale=0.2)
square([20,10]);//緑
//回転逆回転&スケールを伴う合わせ技や”offset”を使う例
linear_extrude(60, twist=90)
square([20,10], center=true); //水色

linear_extrude(40, twist=-360, scale=0, center=true, slices = 200)
square([20,10], center=true); //グレー

linear_extrude(60, twist=90, slices=60) {difference() {offset(r=10) {square(20,center=true);}
offset(r=8){square(20,center=true);}}}

offsetはrをマイナスにすると、内向きに角が落ちる。

ポリゴンを使う方法:
linear_extrude(10){
polygon([[-10,-10],[20,-10],[10,10],[-10,0]]);}

⑫ 画像データで版画 ( リトグラフ化) 超かんたん。

scale([1, 1, 0.1]) surface(file = “xxx.png”, invert = true); (invertしないと彫り)

⑬ パイプを曲げたりする

rotate_extrude(convexity=10, $fn=100)
translate([2, 0, 0])
circle(r = 1, $fn =100);
Z軸を親指にして、図形が回転する。左図はintersectionでカットし色付けしたもの。

⑭ 投影、プロジェクション、カット

cut=trueだとZ=0面でカットする。falseだと投影図となる。
projection(cut = true)import(“xxx.stl”);

⑮ ミラー

ある点のrotate済立体を-x(y/z)方向にミラー複製するのに便利。
for(i=[0:1]){mirror([i,0,0])rotate([45,60,0])
translate([10,30,30])cylinder(100,50);}

QR Code

コメントを残す

メールアドレスが公開されることはありません。

スパム対策により、日本語が含まれない投稿は無視されますのでご注意ください。