2021年8月2日月曜日

OpenSCADとUltimaker Curaを使用して、LEGO互換の凹みがついたプレートを作る

OpenSCADとUltimaker Curaを使用して、LEGO互換の凹みがついたプレートを作るには以下の手順を実行します。
※上の部分は平らです。

〇作成したLEGO互換の凹みがついたプレートの写真
※白いプレートがLEGO互換の凹みが付いたプレートが今回作った物、黄色のブロックは純正のLEGOブロックです。

作成手順

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

・LEGO互換の凹みがついたプレートのOpenSCADコード NUM_HOLE_Wで横方向のブロック数、NUM_HOLE_Dで奥行方向のブロック数を変更する事が出来ます。ブロック数は2以上を指定してください。
// プレートの厚さ
PLATE_THICK=2;

// LEGOの1ブロック
LEGO_SQUARE=7.95;
// LEGOの側面の厚さ
LEGO_WALL=1.5;
// 突起の直径
LEGO_PEG=4.8;
LEGO_PEG_R=LEGO_PEG/2;
LEGO_PEG_H=1.8;
// LEGOの底面の円の直径
LEGO_BOTTOM_CIRCLE=6.4;

// プレートのサイズ(ブロック単位)
NUM_HOLE_W=4;
NUM_HOLE_D=4;

translate([0, 0, 0])
linear_extrude(height=PLATE_THICK){
    square([LEGO_SQUARE*NUM_HOLE_W, LEGO_SQUARE*NUM_HOLE_D]);
}

translate([0, 0, PLATE_THICK])
linear_extrude(height=LEGO_PEG_H){
    square([LEGO_SQUARE*NUM_HOLE_W, LEGO_WALL]);
}

translate([0, LEGO_SQUARE*NUM_HOLE_D-LEGO_WALL, PLATE_THICK])
linear_extrude(height=LEGO_PEG_H){
    square([LEGO_SQUARE*NUM_HOLE_W, LEGO_WALL]);
}

translate([0, 0, PLATE_THICK])
linear_extrude(height=LEGO_PEG_H){
    square([LEGO_WALL, LEGO_SQUARE*NUM_HOLE_D]);
}

translate([LEGO_SQUARE*NUM_HOLE_W-LEGO_WALL, 0, PLATE_THICK])
linear_extrude(height=LEGO_PEG_H){
    square([LEGO_WALL, LEGO_SQUARE*NUM_HOLE_D]);
}


for( lw = [0 : NUM_HOLE_W-2] ){
    for( ld = [0 : NUM_HOLE_D-2] ){
        translate([LEGO_SQUARE*(lw+1), LEGO_SQUARE*(ld+1), PLATE_THICK])
        linear_extrude(height=LEGO_PEG_H){
            circle(LEGO_BOTTOM_CIRCLE/2, $fn=50);
        }
    }
}

・OpenSCADの画面

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

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

関連情報

OpenSCADまとめ

・LEGOに関する他の記事は、こちらを参照してください。

OpenSCADとUltimaker Curaを使用して、LEGOブロック上に固定できるLEDキューブを作成する

OpenSCADとUltimaker Curaを使用して、LEGO互換の凹みがついたサーボモーター固定台を作る

0 件のコメント:

コメントを投稿