2021年9月4日土曜日

OpenSCADとUltimaker Curaを使用して、M3ナットがはめることのできるアームプレートを作る

OpenSCADとUltimaker Curaを使用して、M3ナットがはめることのできるアームプレートを作るには以下の手順を実行します。ナット用の穴は3つついています。5mm単位となっているので、TAMIYAのユニバーサルプレートにつけることができます。

〇M3ナットがはめることのできるアームプレート(白色)とTAMIYAのユニバーサルプレート(灰色)の写真

〇アームプレートにM3ナットをはめた写真
※左側の穴にM3ナットをはめています。

作成手順

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

・M3ナットがはめることのできるアームプレートのソースコード
// アームの長さと幅
HOLE_UNIT=5;
HOLE_NUM_W=10; // 偶数指定
PLATE_W=HOLE_UNIT*10;
PLATE_D=10;
PLATE_H=4;

// M3ナット
// 対角距離
MARGIN=0.1;
NUT_DIST=(6.4+MARGIN)/2;
NUM_POINTS=6;
NUT_HEIGHT=2.4;
ANGLE = 360/NUM_POINTS/2;
M3_R=(3+MARGIN)/2;

difference(){
    translate([-PLATE_W/2, -PLATE_D/2, 0])
    linear_extrude(height=PLATE_H){
            square([PLATE_W, PLATE_D]);
    }
    union()
    {
        // 六角ナット(中央)
        translate([0, 0, PLATE_H-NUT_HEIGHT])
        linear_extrude(height=NUT_HEIGHT){
            for( pt = [0 : NUM_POINTS-1]) {
                l_px = cos(pt*ANGLE*2)*NUT_DIST;
                l_py = sin(pt*ANGLE*2)*NUT_DIST;
                l_px2 = cos(pt*ANGLE*2+ANGLE*2)*NUT_DIST;
                l_py2 = sin(pt*ANGLE*2+ANGLE*2)*NUT_DIST;
                polygon(points=[[0, 0], [l_px, l_py], [l_px2,  l_py2]], paths  = [[0, 1, 2]]);
            }
        }
        // M3(中央)
        translate([0, 0, 0])
        linear_extrude(height=PLATE_H){
            circle(M3_R, $fn=50);
        }
        // 六角ナット(左)
        translate([-HOLE_UNIT*(HOLE_NUM_W/2-1), 0, PLATE_H-NUT_HEIGHT])
        linear_extrude(height=NUT_HEIGHT){
            for( pt = [0 : NUM_POINTS-1]) {
                l_px = cos(pt*ANGLE*2)*NUT_DIST;
                l_py = sin(pt*ANGLE*2)*NUT_DIST;
                l_px2 = cos(pt*ANGLE*2+ANGLE*2)*NUT_DIST;
                l_py2 = sin(pt*ANGLE*2+ANGLE*2)*NUT_DIST;
                polygon(points=[[0, 0], [l_px, l_py], [l_px2,  l_py2]], paths  = [[0, 1, 2]]);
            }
        }
        // M3(左)
        translate([-HOLE_UNIT*(HOLE_NUM_W/2-1), 0, 0])
        linear_extrude(height=PLATE_H){
            circle(M3_R, $fn=50);
        }
        // 六角ナット(右)
        translate([HOLE_UNIT*(HOLE_NUM_W/2-1), 0, PLATE_H-NUT_HEIGHT])
        linear_extrude(height=NUT_HEIGHT){
            for( pt = [0 : NUM_POINTS-1]) {
                l_px = cos(pt*ANGLE*2)*NUT_DIST;
                l_py = sin(pt*ANGLE*2)*NUT_DIST;
                l_px2 = cos(pt*ANGLE*2+ANGLE*2)*NUT_DIST;
                l_py2 = sin(pt*ANGLE*2+ANGLE*2)*NUT_DIST;
                polygon(points=[[0, 0], [l_px, l_py], [l_px2,  l_py2]], paths  = [[0, 1, 2]]);
            }
        }
        // M3(右)
        translate([HOLE_UNIT*(HOLE_NUM_W/2-1), 0, 0])
        linear_extrude(height=PLATE_H){
            circle(M3_R, $fn=50);
        }

    }
}

・OpenSCADの画面

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

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

関連情報

・そのほかの3Dプリンターで作成したモデルについては、以下のページを参照してください。
OpenSCADまとめ

0 件のコメント:

コメントを投稿