OpenSCADでうんこを作る


OpenSCADはスクリプトで3Dモデルを作成するモデリングソフトウェアです。translate([-5, 12, 0.5]) cube(5); のようなスクリプトで3Dモデルを定義できます。

主な用途は3Dプリンタで出力するようなソリッドモデルの作成です。今回はOpenSCADで うんこ を作成します。

うんこ

うんこの形は様々ですが、アニメや漫画でよく用いられるのが渦巻き模様のうんこ通称うずまきうんこです。

💩

今回はこのうずまきうんこをOpenSCADでモデリングします。

作っていく

うんこの下の楕円柱部分を作成します。

OpenSCADで用意されてるプリミティブな立体はポリゴンか円柱、正六面体等のべーシックなもののみで楕円柱となるエッジが楕円な円柱は用意されていません。なので回転押し出しという手法で楕円柱を定義します。

まずは回転させるための平面を作成します。

square(10);
translate([10, 5, 0]) scale([2, 1, 1]) circle(5);

これをrotate_extrudeで回転押し出しすると楕円柱となります。

rotate_extrude() {
    square(10);
    translate([10, 5, 0]) scale([2, 1, 1]) circle(5);
}

これをforで三段重ねにしましょう。

for (n = [0:2]) {
    translate ([0, 0, n * 10]) scale([1 - n * 0.15, 1 - n * 0.15, 1]) {
        rotate_extrude() {
            square(10);
            translate([10, 5, 0]) scale([2, 1, 1]) circle(5);
        }
    }
}

cylinderで頭頂部の円錐をつけて完成。

for (n = [0:2]) {
    translate ([0, 0, n * 10]) scale([1 - n * 0.15, 1 - n * 0.15, 1]) {
        rotate_extrude() {
            square(10);
            translate([10, 5, 0]) scale([2, 1, 1]) circle(5);
        }
    }
}

translate([0, 0, 30]) cylinder(h=10, r1=5, r2=0);