2021年9月3日金曜日

OpenSCADとUltimaker Curaを使用して、スタック可能な箱を作る

OpenSCADとUltimaker Curaを使用して、スタック可能な箱を作るには以下の手順を実行します。大きさや高さなどをパラメータで変更できます。

〇スタック可能な箱の写真

作成手順

1. OpenSCADで以下のコードを実行して形状を調整し、STLファイルにエクスポートします。

・箱本体部分
箱の幅: BOX_Wパラメータを指定します。単位はmmで、100で10cmになります。
箱の奥行: BOX_Dパラメータを指定します。
箱の高さ: BOX_Hパラメータを指定します。
取っ手の穴の幅 : HANDLE_Wパラメータを指定します。
取っ手の穴の高さ : HANDLE_Hパラメータを指定します。

module roundrect(px, py, pz, w, d, h, r)
{
    iw = w - r*2;
    id = d - r*2;

    translate([px+r, py, pz])
    linear_extrude(height=h){
        square([iw, d]);
    }
    translate([px, py+r, pz])
    linear_extrude(height=h){
        square([w, id]);
    }
    translate([px+r, py+r, pz])
    linear_extrude(height=h){
        circle(r, $fn=50);
    }
    translate([px+w-r, py+r, pz])
    linear_extrude(height=h){
        circle(r, $fn=50);
    }
    translate([px+r, py+d-r, pz])
    linear_extrude(height=h){
        circle(r, $fn=50);
    }
    translate([px+w-r, py+d-r, pz])
    linear_extrude(height=h){
        circle(r, $fn=50);
    }
}

// 箱のサイズ
BOX_W=100;
BOX_D=100;
BOX_H=50;
BOX_R=3;
BOTTOM_THICK=1;
WALL_THICK=2;
// 取っ手のサイズ
HANDLE_W=40;
HANDLE_H=15;

difference(){
    union(){
        roundrect(0, 0, 0, BOX_W, BOX_D, BOTTOM_THICK, BOX_R);
        roundrect(0, 0, BOTTOM_THICK, BOX_W, BOX_D, BOX_H, BOX_R);
    }
    union(){
        roundrect(WALL_THICK, WALL_THICK, BOTTOM_THICK, BOX_W-WALL_THICK*2, BOX_D-WALL_THICK*2, BOX_H, BOX_R);
        rotate([90, 0, 0])
        translate([BOX_W/2-HANDLE_W/2, BOTTOM_THICK+BOX_H-HANDLE_H, -WALL_THICK])
        linear_extrude(height=WALL_THICK){
            square([HANDLE_W, HANDLE_H]);
        }

    }
}    

・OpenSCADの画面(箱本体部分)

・底の部分
BOX_WとBOX_Dは箱本体部分と合わせてください。

module roundrect(px, py, pz, w, d, h, r)
{
    iw = w - r*2;
    id = d - r*2;

    translate([px+r, py, pz])
    linear_extrude(height=h){
        square([iw, d]);
    }
    translate([px, py+r, pz])
    linear_extrude(height=h){
        square([w, id]);
    }
    translate([px+r, py+r, pz])
    linear_extrude(height=h){
        circle(r, $fn=50);
    }
    translate([px+w-r, py+r, pz])
    linear_extrude(height=h){
        circle(r, $fn=50);
    }
    translate([px+r, py+d-r, pz])
    linear_extrude(height=h){
        circle(r, $fn=50);
    }
    translate([px+w-r, py+d-r, pz])
    linear_extrude(height=h){
        circle(r, $fn=50);
    }
}
// 底面のサイズ
BOX_W=100;
BOX_D=100;
BOX_R=3;
BOTTOM_THICK=1;
WALL_THICK=2;
WALL_MARGIN=0.2;

difference(){
    union(){
        roundrect(0, 0, 0, BOX_W, BOX_D, BOTTOM_THICK, BOX_R);
        roundrect(WALL_THICK+WALL_MARGIN, WALL_THICK+WALL_MARGIN, BOTTOM_THICK, BOX_W-(WALL_THICK+WALL_MARGIN)*2, BOX_D-(WALL_THICK+WALL_MARGIN)*2, BOTTOM_THICK, BOX_R);
    }
    roundrect(WALL_THICK*2, WALL_THICK*2, BOTTOM_THICK, BOX_W-WALL_THICK*4, BOX_D-WALL_THICK*4, BOTTOM_THICK, BOX_R);
}

・OpenSCADの画面(底の部分)

2. Ultimaker CuraでSTLファイルを読み込み、スライスしてgcodeを保存します。

3. 3Dプリンターで印刷します

4. 底の部分と箱本体部分の接着
箱の裏側と底の部分の平らな部分をタミヤセメントなどの接着剤で接着します。接着後、しばらく重しなどを載せておきます。

関連情報

OpenSCADまとめ

0 件のコメント:

コメントを投稿