OpenSCADとUltimaker Curaを使用して、秋月電子さんで販売している「ダイナミックスピーカー 8Ω7W」のケースを作成するには以下の手順を実行します。
・ダイナミックスピーカー 8Ω7W
https://akizukidenshi.com/catalog/g/gP-10366/
〇作成したケース・フタとダイナミックスピーカー 8Ω7W
作成手順
1. OpenSCADで以下のコードを実行して形状を調整し、STLファイルにエクスポートします。
・ダイナミックスピーカー 8Ω7Wのケース
// 壁の厚さ
WALL_THICK=2;
FRONT_THICK=6;
// speaker前面
SPEAKER_FRONT_W=70.5;
SPEAKER_FRONT_D=41;
// 箱の外径
MARGIN=1.5;
SPEAKER_OSIZE_W=SPEAKER_FRONT_W+WALL_THICK*2+MARGIN;
SPEAKER_OSIZE_D=SPEAKER_FRONT_D+WALL_THICK*2+MARGIN;
SPEAKER_H=45;
// speaker円形部の直径
SPEAKER_DIAMETER=35;
SPEAKER_ORADIUS=(SPEAKER_DIAMETER+MARGIN)/2;
OFFSETX=3+WALL_THICK;
// 四隅の穴の半径: ネジの大きさやプリンタの設定により適宜変更してください。
HOLE_RADIUS = 1.7;
// 四隅の穴の位置
SPACER_SIZE = 9;
difference(){
union(){
translate([-SPEAKER_OSIZE_W/2, -SPEAKER_OSIZE_D/2, 0])
linear_extrude(height=FRONT_THICK){
square([SPEAKER_OSIZE_W, SPEAKER_OSIZE_D]);
}
}
union(){
translate([-SPEAKER_OSIZE_W/2+OFFSETX+SPEAKER_ORADIUS, 0, 0])
linear_extrude(height=FRONT_THICK){
circle(SPEAKER_ORADIUS, $fn=50);
}
translate([SPEAKER_OSIZE_W/2-OFFSETX-SPEAKER_ORADIUS, 0, 0])
linear_extrude(height=FRONT_THICK){
circle(SPEAKER_ORADIUS, $fn=50);
}
translate([-SPEAKER_OSIZE_W/2+OFFSETX+SPEAKER_ORADIUS, -SPEAKER_ORADIUS, 0])
linear_extrude(height=FRONT_THICK){
square([SPEAKER_OSIZE_W-SPEAKER_ORADIUS*2-OFFSETX*2, SPEAKER_ORADIUS*2]);
}
// 取付用穴
translate([-SPEAKER_OSIZE_W/2+WALL_THICK+SPACER_SIZE/2, -SPEAKER_OSIZE_D/2+WALL_THICK+SPACER_SIZE/2, WALL_THICK])
linear_extrude(height=FRONT_THICK-WALL_THICK){
circle(HOLE_RADIUS, $fn=50);
}
translate([SPEAKER_OSIZE_W/2-WALL_THICK-SPACER_SIZE/2, -SPEAKER_OSIZE_D/2+WALL_THICK+SPACER_SIZE/2, WALL_THICK])
linear_extrude(height=FRONT_THICK-WALL_THICK){
circle(HOLE_RADIUS, $fn=50);
}
translate([-SPEAKER_OSIZE_W/2+WALL_THICK+SPACER_SIZE/2, SPEAKER_OSIZE_D/2-WALL_THICK-SPACER_SIZE/2, WALL_THICK])
linear_extrude(height=FRONT_THICK-WALL_THICK){
circle(HOLE_RADIUS, $fn=50);
}
translate([SPEAKER_OSIZE_W/2-WALL_THICK-SPACER_SIZE/2, SPEAKER_OSIZE_D/2-WALL_THICK-SPACER_SIZE/2, WALL_THICK])
linear_extrude(height=FRONT_THICK-WALL_THICK){
circle(HOLE_RADIUS, $fn=50);
}
}
}
// 側面
translate([-SPEAKER_OSIZE_W/2, -SPEAKER_OSIZE_D/2, 0])
linear_extrude(height=SPEAKER_H){
square([SPEAKER_OSIZE_W, WALL_THICK]);
}
translate([-SPEAKER_OSIZE_W/2, SPEAKER_OSIZE_D/2-WALL_THICK, 0])
linear_extrude(height=SPEAKER_H){
square([SPEAKER_OSIZE_W, WALL_THICK]);
}
translate([-SPEAKER_OSIZE_W/2, -SPEAKER_OSIZE_D/2, 0])
linear_extrude(height=SPEAKER_H){
square([WALL_THICK, SPEAKER_OSIZE_D]);
}
translate([SPEAKER_OSIZE_W/2-WALL_THICK, -SPEAKER_OSIZE_D/2, 0])
linear_extrude(height=SPEAKER_H){
square([WALL_THICK, SPEAKER_OSIZE_D]);
}
・OpenSCADの画面(ケース)
・ダイナミックスピーカー 8Ω7Wのフタ
// 壁の厚さ
WALL_THICK=2;
FRONT_THICK=6;
// speaker前面
SPEAKER_FRONT_W=70.5;
SPEAKER_FRONT_D=41;
// 箱の外径
MARGIN=1.5;
SPEAKER_OSIZE_W=SPEAKER_FRONT_W+WALL_THICK*2+MARGIN;
SPEAKER_OSIZE_D=SPEAKER_FRONT_D+WALL_THICK*2+MARGIN;
SPEAKER_H=45;
// ケーブル用穴
CABLE_HOLE_SIZE=4;
difference(){
union(){
translate([-SPEAKER_OSIZE_W/2, -SPEAKER_OSIZE_D/2, 0])
linear_extrude(height=WALL_THICK){
square([SPEAKER_OSIZE_W, SPEAKER_OSIZE_D]);
}
translate([-SPEAKER_OSIZE_W/2+WALL_THICK, -SPEAKER_OSIZE_D/2+WALL_THICK, WALL_THICK])
linear_extrude(height=WALL_THICK){
square([SPEAKER_OSIZE_W-WALL_THICK*2, SPEAKER_OSIZE_D-WALL_THICK*2]);
}
}
union(){
translate([-CABLE_HOLE_SIZE/2, -SPEAKER_OSIZE_D/2, 0])
linear_extrude(height=CABLE_HOLE_SIZE){
square([CABLE_HOLE_SIZE, CABLE_HOLE_SIZE]);
}
}
}
・OpenSCADの画面(フタ)
2. Ultimaker CuraでSTLファイルを読み込み、スライスしてgcodeを保存します。
3. 3Dプリンターで印刷します
関連情報
・
OpenSCADまとめ
・
Raspberry Pi PicoにTPA2006使用D級アンプキットを接続して、wav形式のオーディオファイルを再生する