L@g? eX K"Y^ҚTy"a"*z0uN(x`X@ӿTZWRoZ%BAn7STŸ4nAVu Y?bidddates2024-11-20T23:55:00etitlexm0か1しかでないサイコロ、バイナリーダイスの3Dプリンター用STLデータ生成アプリdtagsx#print3d #OpenSCAD #makercurlxhttps://fukuno.jig.jp/4501dbodyy
「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
cimgxGhttps://img.sabae.cc/data/2056/c09c9635-f000-4c1f-bf99-587c99a14196.jpg