2021年8月16日月曜日

OpenSCADとUltimaker Curaを使用して、スライド式の蓋の電池ボックスケースを作成する

OpenSCADとUltimaker Curaを使用して、スライド式の蓋の電池ボックスケースを作成するには以下の手順を実行します。
ケースに格納する電池ボックスは、micro:bitにも直接接続できる以下の秋月電子さんの商品です。

・電池ボックス 単3×2本 PHコネクタ付
https://akizukidenshi.com/catalog/g/gP-12665/

〇スライド式の蓋の電池ボックスケース

〇電池ボックスケースの各部品
底面・側面・スライド式フタ・スライド枠の4つから構成されています。

作成手順

1. OpenSCADで以下のコードを実行して形状を調整し、STLファイルにエクスポートします。
3Dプリンタの種類や設定によって、パラメータを微調整してください。

1-1.ケースの底面のOpenSCADソースコード
// 内側に入れるバッテリーホルダー
AA_BATTERY_HOLDER_W=57.2;
AA_BATTERY_HOLDER_D=32;
// マージン
MARGIN_W=0.8;
MARGIN_D=1;
// 箱の壁の厚さ
WALL_THICK=2;
// 底の厚さ
PLATE_THICK=2;
// 箱のサイズ
BOX_W=AA_BATTERY_HOLDER_W+MARGIN_W+WALL_THICK*2;
BOX_D=AA_BATTERY_HOLDER_D+MARGIN_D+WALL_THICK*2;
// 箱の高さ
BOX_H=4;
// ケーブルの穴の幅
CABLE_D=6;

difference(){
    union(){
        // 底面
        translate([0, 0, 0])
        linear_extrude(height=PLATE_THICK){
            square([BOX_W, BOX_D]);
        }

        // 壁
        translate([0, 0, 0])
        linear_extrude(height=BOX_H){
            square([BOX_W, WALL_THICK]);
        }
        translate([0, BOX_D-WALL_THICK, 0])
        linear_extrude(height=BOX_H){
            square([BOX_W, WALL_THICK]);
        }
        translate([0, 0, 0])
        linear_extrude(height=BOX_H){
            square([WALL_THICK, BOX_D]);
        }
        translate([BOX_W-WALL_THICK, 0, 0])
        linear_extrude(height=BOX_H){
            square([WALL_THICK, BOX_D]);
        }
    }

    translate([0, BOX_D/2-CABLE_D/2, WALL_THICK])
    linear_extrude(height=BOX_H){
        square([WALL_THICK, CABLE_D]);
    }
    
}

・OpenSCADの画面

1-2.ケースの側面のOpenSCADソースコード
// 内側に入れるバッテリーホルダー
AA_BATTERY_HOLDER_W=57.2;
AA_BATTERY_HOLDER_D=32;
// マージン
MARGIN_W=0.8;
MARGIN_D=1;
// 箱の壁の厚さ
WALL_THICK=2;
// 箱のサイズ
BOX_W=AA_BATTERY_HOLDER_W+MARGIN_W+WALL_THICK*2;
BOX_D=AA_BATTERY_HOLDER_D+MARGIN_D+WALL_THICK*2;
// 箱の高さ
BOX_H=15;
// フタの溝
BOX_EDGE_WIDTH=1;
BOX_H2=2;
// ケーブルの穴の幅
CABLE_D=6;

// 壁
translate([0, 0, 0])
linear_extrude(height=BOX_H){
    square([BOX_W, WALL_THICK]);
}
translate([0, BOX_D-WALL_THICK, 0])
linear_extrude(height=BOX_H){
    square([BOX_W, WALL_THICK]);
}
translate([0, 0, 0])
linear_extrude(height=BOX_H){
    square([WALL_THICK, BOX_D]);
}
translate([BOX_W-WALL_THICK, 0, 0])
linear_extrude(height=BOX_H){
    square([WALL_THICK, BOX_D]);
}
// フタの溝
translate([0, 0, BOX_H])
linear_extrude(height=BOX_H2){
    square([BOX_W, BOX_EDGE_WIDTH]);
}
translate([0, BOX_D-BOX_EDGE_WIDTH, BOX_H])
linear_extrude(height=BOX_H2){
    square([BOX_W, BOX_EDGE_WIDTH]);
}
translate([0, 0, BOX_H])
linear_extrude(height=BOX_H2){
    square([BOX_EDGE_WIDTH, BOX_D]);
}

・OpenSCADの画面

1-3.ケースのスライド式フタのOpenSCADソースコード
// 内側に入れるバッテリーホルダー
AA_BATTERY_HOLDER_W=57.2;
AA_BATTERY_HOLDER_D=32;
// マージン
MARGIN_W=0.8;
MARGIN_D=1;
// 箱の壁の厚さ
WALL_THICK=2;
// 箱のサイズ
BOX_W=AA_BATTERY_HOLDER_W+MARGIN_W+WALL_THICK*2;
BOX_D=AA_BATTERY_HOLDER_D+MARGIN_D+WALL_THICK*2;
// 上部分の厚さ
TOP_THICK=1;
// フタの溝
BOX_EDGE_WIDTH=1;
BOX_H2=2;
// フタのマージン
LID_MARGIN=0.1;

translate([0, 0, 0])
linear_extrude(height=BOX_EDGE_WIDTH){
    square([BOX_W-BOX_EDGE_WIDTH-LID_MARGIN, BOX_D-BOX_EDGE_WIDTH*2-LID_MARGIN*2]);
}
translate([BOX_EDGE_WIDTH, BOX_EDGE_WIDTH, BOX_EDGE_WIDTH])
linear_extrude(height=WALL_THICK){
    square([BOX_W-WALL_THICK-LID_MARGIN, BOX_D-WALL_THICK*2-LID_MARGIN*2]);
}

・OpenSCADの画面

1-4.ケースのスライド枠のOpenSCADソースコード
// 内側に入れるバッテリーホルダー
AA_BATTERY_HOLDER_W=57.2;
AA_BATTERY_HOLDER_D=32;
// マージン
MARGIN_W=0.8;
MARGIN_D=1;
// 箱の壁の厚さ
WALL_THICK=2;
// 箱のサイズ
BOX_W=AA_BATTERY_HOLDER_W+MARGIN_W+WALL_THICK*2;
BOX_D=AA_BATTERY_HOLDER_D+MARGIN_D+WALL_THICK*2;
// 上部分の厚さ
TOP_THICK=1;
// フタの溝
BOX_EDGE_WIDTH=1;
BOX_H2=2;
// ケーブルの穴の幅
CABLE_D=6;

// 壁
translate([0, 0, 0])
linear_extrude(height=TOP_THICK){
    square([BOX_W, WALL_THICK]);
}
translate([0, BOX_D-WALL_THICK, 0])
linear_extrude(height=TOP_THICK){
    square([BOX_W, WALL_THICK]);
}
translate([0, 0, 0])
linear_extrude(height=TOP_THICK){
    square([WALL_THICK, BOX_D]);
}
// フタの溝ガイド
translate([BOX_EDGE_WIDTH, BOX_EDGE_WIDTH, TOP_THICK])
linear_extrude(height=BOX_EDGE_WIDTH){
    square([BOX_W-BOX_EDGE_WIDTH, BOX_EDGE_WIDTH]);
}
translate([BOX_EDGE_WIDTH, BOX_D-BOX_EDGE_WIDTH*2, TOP_THICK])
linear_extrude(height=BOX_EDGE_WIDTH){
    square([BOX_W-BOX_EDGE_WIDTH, BOX_EDGE_WIDTH]);
}
translate([BOX_EDGE_WIDTH, BOX_EDGE_WIDTH, TOP_THICK])
linear_extrude(height=BOX_EDGE_WIDTH){
    square([BOX_EDGE_WIDTH, BOX_D-BOX_EDGE_WIDTH*2]);
}

・OpenSCADの画面

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

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

4. タミヤセメントなどの接着剤で底面・側面・スライド枠を接着します。乾燥後、スライド式フタを差し込みます。

関連情報

OpenSCADまとめ

OpenSCADとUltimaker Curaを使用してRaspberry Pi Picoのケースを作成する

0 件のコメント:

コメントを投稿