2024-11-20

「bindice - OpenSCAD Playground」

OpenSCADのESモジュール化達成化記念に、初めて3Dプリンターをゲットした日に作った、0か1しか出ない2面ダイス(バイナリーダイス / bindice)をOpenSCADで作ってみました。


円の解像度をfnパラメータでカスタマイズできるので、12と設定すると低ポリゴン化できました。

h = 10; d = 0.15; fn = 500; module halfcylinder(h) { difference() { cylinder(h, h / 2, h / 2, $fn=fn); translate([-h / 2, 0, 0]) { cube(h); } } } module bindice(h) { halfcylinder(h); translate([h / 2, 0, h / 2]) { rotate([0, 90, 180]) { halfcylinder(h); } } } module ring(r, r2, h) { difference() { cylinder(h, r / 2, r / 2, $fn=fn); translate([0, 0, -h]) { cylinder(h * 2, r2 / 2, r2 / 2, $fn=fn); } } } module zero(h) { translate([0, 0, -d]) { ratio = 1; // 0.8 scale([ratio, 1, 1]) { ring(h / 2, h / 2 - h * 0.15, d * 2); // 0 } } } module one(h) { translate([-h / 16, -h/ 4, -d]) { cube([h / 8, h / 2, d * 2]); // 1 } } module zero_one(h, size) { translate([0, -h / 8, 0]) { one(size); translate([0, 0, h]) { one(size); } } translate([-h / 2, h / 8, h / 2]) { rotate([0, 90, 0]) { zero(size); translate([0, 0, h]) { zero(size); } } } } difference() { bindice(h); zero_one(h, h * 0.5); }
scad2stlで作ってプレビューで見た結果もこの通り!


「bindice - OpenSCAD Playground」

OpenSCAD Playground上の「Edit」ボタンから編集もできるので、いろいろいじって遊んでみてください!

links
- 数値入力するだけ簡単、サイズ補正リングの3Dプリンター用STLデータ生成ウェブアプリ powered by OpenSCAD Playground
- コードで作る3D、OpenSCADデータを3DモデルデータSTLに変換するコマンドラインツール scad2stl powered by OpenSCAD WASM Port

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS