- Progressed with the housing but not there yet
This commit is contained in:
@@ -145,21 +145,23 @@ module GC9A01A_Cover_Cutout(thickness)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module GC9A01A_Cover_Plate(thickness, scale_factor)
|
module GC9A01A_Cover_Plate(thickness, scale_factor, cutout=false)
|
||||||
{
|
{
|
||||||
Circle_Cutout_D = Screw_Pit_M3;
|
Plate_X = 40*scale_factor;
|
||||||
|
Plate_Y = 47*scale_factor;
|
||||||
|
|
||||||
translate([0, 0, thickness/2])
|
translate([0, 0, thickness/2])
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
translate([ 0, 20, 0]) roundedBox([40*scale_factor, 47*scale_factor, thickness], 5, true, $fn = $preview ? 32 : 100);
|
translate([0, 20, 0]) roundedBox([Plate_X, Plate_Y, thickness], 5, true, $fn = $preview ? 32 : 100);
|
||||||
// translate([22, 24, 0]) cylinder(d=Circle_Cutout_D, h=3*thickness, center=true, $fn = $preview ? 32 : 100);
|
if(cutout == false) {
|
||||||
|
|
||||||
|
GC9A01A_Cover_Cutout(10);
|
||||||
|
|
||||||
|
translate([-Plate_X/2-10+Screw_Pit_M3, 20-Plate_Y/2-10, 0])
|
||||||
|
translate([0.5, Screw_Pit_M3-1.2, 0]) roundedBox([20, 20, 20], Screw_Pit_M3/1.8, true, $fn = $preview ? 32 : 100);
|
||||||
|
}
|
||||||
|
|
||||||
translate([-16.3, -1.7, 0]) {
|
|
||||||
// cylinder(d=Circle_Cutout_D, h=3*thickness, center=true, $fn = $preview ? 32 : 100);
|
|
||||||
// translate([-Circle_Cutout_D/4, 0, 0]) cube([Circle_Cutout_D/2, Circle_Cutout_D, 3*thickness], center=true);
|
|
||||||
translate([-2, -Circle_Cutout_D/4, 0]) cube([Circle_Cutout_D-4, Circle_Cutout_D/2, 3*thickness], center=true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ include <RP2350_MIDI_Lighter_PCB.scad>
|
|||||||
include <RP2350_MIDI_Lighter_Definition.scad>
|
include <RP2350_MIDI_Lighter_Definition.scad>
|
||||||
|
|
||||||
|
|
||||||
Show_FAD_Logo = false;
|
Show_FAD_Logo = true;
|
||||||
Show_PCB = false;
|
Show_PCB = false;
|
||||||
Debug_Present = true;
|
Debug_Present = true;
|
||||||
$preview = false;
|
$preview = false;
|
||||||
@@ -25,25 +25,21 @@ if(Show_PCB)
|
|||||||
// translate([0, 0, eps])
|
// translate([0, 0, eps])
|
||||||
|
|
||||||
// Top();
|
// Top();
|
||||||
Top_Wall(1);
|
// Top_Wall();
|
||||||
// Bottom();
|
// Bottom();
|
||||||
// rotate([0, 180, 0])
|
// rotate([0, 180, 0])
|
||||||
// Display_GC9A01A_Cover();
|
translate([0, 0, eps]) Display_GC9A01A_Cover();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module Display_GC9A01A_Cover()
|
module Display_GC9A01A_Cover()
|
||||||
{
|
{
|
||||||
color([0.4, 1.0, 0.4], 1.0)
|
color([0.4, 0.4, 1.0], 1.0)
|
||||||
translate([0, 0, +Spacer_Top_Height + PCB_T/2 + Cover_T_T + 0.0])
|
translate([0, 0, +Spacer_Top_Height + PCB_T/2 + Cover_T_T + 0.0])
|
||||||
difference()
|
difference()
|
||||||
{
|
{
|
||||||
translate(GC9A01A)
|
translate(GC9A01A) GC9A01A_Cover_Plate(1.0, 1, false);
|
||||||
difference() {
|
|
||||||
GC9A01A_Cover_Plate(1.0, 1);
|
|
||||||
GC9A01A_Cover_Cutout(10);
|
|
||||||
}
|
|
||||||
Screw_Pits_M3(10);
|
Screw_Pits_M3(10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -65,7 +61,7 @@ module Top()
|
|||||||
}
|
}
|
||||||
|
|
||||||
Screw_Holes_M3();
|
Screw_Holes_M3();
|
||||||
Top_Wall_Screw_Plates(0.6, -eps, true);
|
// Top_Wall_Screw_Plates(0.6, -eps, true);
|
||||||
translate([0, 0, +Cover_T_T]) Screw_Pits_M3(1);
|
translate([0, 0, +Cover_T_T]) Screw_Pits_M3(1);
|
||||||
translate(Rotary_Encoder) Screw_Drill(7.5);
|
translate(Rotary_Encoder) Screw_Drill(7.5);
|
||||||
translate(GC9A01A) GC9A01A_Cutout(5*Cover_T_T);
|
translate(GC9A01A) GC9A01A_Cutout(5*Cover_T_T);
|
||||||
@@ -76,7 +72,7 @@ module Top()
|
|||||||
translate(Rotary_Encoder) cylinder(d=15, h=100, center=false, $fn = $preview ? 32 : 100);
|
translate(Rotary_Encoder) cylinder(d=15, h=100, center=false, $fn = $preview ? 32 : 100);
|
||||||
|
|
||||||
translate([0, 0, -0.5]) // Penetration Depth
|
translate([0, 0, -0.5]) // Penetration Depth
|
||||||
translate(GC9A01A) GC9A01A_Cover_Plate(10, 1.02);
|
translate(GC9A01A) GC9A01A_Cover_Plate(1, 1.02, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
translate([0, 0, -Spacer_Top_Height - PCB_T/2]) PCB_Cutouts_Top_Plate();
|
translate([0, 0, -Spacer_Top_Height - PCB_T/2]) PCB_Cutouts_Top_Plate();
|
||||||
@@ -106,7 +102,7 @@ module Top_Plate()
|
|||||||
roundedBox([PCB_W + Cover_O_Factor*Cover_O, PCB_H + Cover_O_Factor*Cover_O, Cover_T_T], 1.0, true, $fn = $preview ? 32 : 100);
|
roundedBox([PCB_W + Cover_O_Factor*Cover_O, PCB_H + Cover_O_Factor*Cover_O, Cover_T_T], 1.0, true, $fn = $preview ? 32 : 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
module Top_Wall(gallery_width = 1)
|
module Top_Wall()
|
||||||
{
|
{
|
||||||
union()
|
union()
|
||||||
{
|
{
|
||||||
@@ -116,19 +112,35 @@ module Top_Wall(gallery_width = 1)
|
|||||||
{
|
{
|
||||||
translate([PCB_W/2, PCB_H/2, +Wall_T_H/2])
|
translate([PCB_W/2, PCB_H/2, +Wall_T_H/2])
|
||||||
difference() {
|
difference() {
|
||||||
roundedBox([PCB_W + 2*Cover_O, PCB_H + 2*Cover_O, 1*Wall_T_H], 2, true, $fn = $preview ? 32 : 100);
|
roundedBox( [PCB_W + 2*Cover_O , PCB_H + 2*Cover_O , 1*Wall_T_H], 2, true, $fn = $preview ? 32 : 100);
|
||||||
cube([PCB_W + 1*Cover_O, PCB_H + 1*Cover_O, 2*Wall_T_H], center=true);
|
cube( [PCB_W + 0*Cover_O + 0.5, PCB_H + 0*Cover_O + 0.5 , 2*Wall_T_H], center=true);
|
||||||
|
|
||||||
|
translate([0, 0, +Wall_T_H/2 - Cover_T_T/2]) cube([PCB_W + 1*Cover_O, PCB_H + 1*Cover_O, Cover_T_T + eps], center=true);
|
||||||
|
}
|
||||||
|
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
// Around the Power Plug Connector
|
||||||
|
Top_Wall_Add_Inner_Wall("top", 6, 21, 2, 40.5);
|
||||||
|
Top_Wall_Add_Inner_Wall("right", 6, 21, 2, 55.88);
|
||||||
|
|
||||||
|
// Around the LED Connector
|
||||||
|
X_Offset = 6.25;
|
||||||
|
Top_Wall_Add_Inner_Wall("top", 6, 12.0, 2, 19.05-X_Offset);
|
||||||
|
Top_Wall_Add_Inner_Wall("top", 6, 12.0, 2, 19.05+X_Offset);
|
||||||
|
translate([15, 0, 0]) Top_Wall_Add_Inner_Wall("left", 3.5, 12, 2, 65.5);
|
||||||
}
|
}
|
||||||
Top_Wall_Gallery(gallery_width);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
translate([PCB_W/2, PCB_H/2, +Wall_T_H/2])
|
translate([PCB_W/2, PCB_H/2, +Wall_T_H/2])
|
||||||
{
|
{
|
||||||
Top_Wall_Remove_Part("top", Wall_T_H-Cover_T_T/2, 10.5, MOLEX[0]);
|
Top_Wall_Remove_Part("top", Wall_T_H-Cover_T_T/2, 5, MOLEX[0]);
|
||||||
|
Top_Wall_Remove_Part("top", 8+PCB_T/2, 10.5, MOLEX[0]);
|
||||||
Top_Wall_Remove_Part("bottom", 3.5, 10, Audio_Jack[0]);
|
Top_Wall_Remove_Part("bottom", 3.5, 10, Audio_Jack[0]);
|
||||||
Top_Wall_Remove_Part("right", 6.5, 3.5, Button[1]);
|
Top_Wall_Remove_Part("right", 6.5, 3.5, Button[1]);
|
||||||
|
translate([-Cover_O, 0, 0]) Top_Wall_Remove_Part("right", PCB_T/2 + 8.0, 8.0, Button[1]);
|
||||||
Top_Wall_Remove_Part("right", PCB_T/2+2.5, 16, USB_C[1]);
|
Top_Wall_Remove_Part("right", PCB_T/2+2.5, 16, USB_C[1]);
|
||||||
|
|
||||||
// Cutout for Debug Connector
|
// Cutout for Debug Connector
|
||||||
@@ -136,10 +148,17 @@ module Top_Wall(gallery_width = 1)
|
|||||||
Top_Wall_Remove_Part("left", PCB_T/2+6, 7, 28.575);
|
Top_Wall_Remove_Part("left", PCB_T/2+6, 7, 28.575);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
translate([7, -6, Wall_T_H-3+eps]) translate(Mounting_Holes[0]) rotate([0, 0, 0]) cube([8, 8, 2], center=true);
|
||||||
PCB_Cutouts_Top_Wall();
|
PCB_Cutouts_Top_Wall();
|
||||||
}
|
}
|
||||||
|
|
||||||
Top_Wall_Screw_Plates(0.5, Spacer_Top_Height + PCB_T/2);
|
difference()
|
||||||
|
{
|
||||||
|
Top_Wall_Screw_Plates(2.0, PCB_T/2 + Spacer_Top_Height - 2);
|
||||||
|
translate([4, 4, Wall_T_H/2]) translate(Mounting_Holes[3]) rotate([0, 0, 45]) cube([8, 8, Wall_T_H], center=true);
|
||||||
|
}
|
||||||
|
|
||||||
|
translate([0, 0, Cover_T_T]) Top_Wall_Add_Inner_Wall("right", Wall_T_H, Cover_O/2, 1, Power_Plug[1]+2.5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,12 +174,31 @@ module Top_Wall_Remove_Part(wall_section, height, length, position)
|
|||||||
if(wall_section == "right" || wall_section == "left")
|
if(wall_section == "right" || wall_section == "left")
|
||||||
{
|
{
|
||||||
translate([Wall_XY, position-PCB_H/2, -Wall_T_H/2+height/2 - eps])
|
translate([Wall_XY, position-PCB_H/2, -Wall_T_H/2+height/2 - eps])
|
||||||
cube([10*Wall_T, length, height], center=true);
|
cube([3*Wall_T, length, height], center=true);
|
||||||
}
|
}
|
||||||
else if(wall_section == "top" || wall_section == "bottom")
|
else if(wall_section == "top" || wall_section == "bottom")
|
||||||
{
|
{
|
||||||
translate([position-PCB_W/2, Wall_XY, -Wall_T_H/2+height/2 - eps])
|
translate([position-PCB_W/2, Wall_XY, -Wall_T_H/2+height/2 - eps])
|
||||||
cube([length, 10*Wall_T, height], center=true);
|
cube([length, 3*Wall_T, height], center=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module Top_Wall_Add_Inner_Wall(wall_section, height, length, width, position)
|
||||||
|
{
|
||||||
|
Wall_XY = wall_section == "right" ? +PCB_W + Cover_O - length/2 - eps :
|
||||||
|
wall_section == "left" ? -Cover_O + length/2 - eps :
|
||||||
|
wall_section == "top" ? +PCB_H + Cover_O - length/2 - eps :
|
||||||
|
wall_section == "bottom"? -Cover_O + length/2 + eps : 0;
|
||||||
|
|
||||||
|
if(wall_section == "right" || wall_section == "left")
|
||||||
|
{
|
||||||
|
translate([Wall_XY, position, PCB_T/2+Spacer_Top_Height-height/2])
|
||||||
|
cube([length, width, height], center=true);
|
||||||
|
}
|
||||||
|
else if(wall_section == "top" || wall_section == "bottom")
|
||||||
|
{
|
||||||
|
translate([position, Wall_XY, PCB_T/2+Spacer_Top_Height-height/2])
|
||||||
|
cube([width, length, height], center=true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -168,7 +206,7 @@ module Top_Wall_Screw_Plates(height, height_offset, cutout=false)
|
|||||||
{
|
{
|
||||||
Screw_Plate_Size = [
|
Screw_Plate_Size = [
|
||||||
[10, 10, height],
|
[10, 10, height],
|
||||||
[10, 8, height],
|
[10, 9 , height],
|
||||||
[ 0, 0, 0],
|
[ 0, 0, 0],
|
||||||
[10, 7, height],
|
[10, 7, height],
|
||||||
[16, 7, height]
|
[16, 7, height]
|
||||||
@@ -197,15 +235,7 @@ module Top_Wall_Screw_Plates(height, height_offset, cutout=false)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module Top_Wall_Gallery(gallery_width=1)
|
|
||||||
{
|
|
||||||
translate([PCB_W/2, PCB_H/2, PCB_T/2 + Spacer_Top_Height -1/2])
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
cube([PCB_W + 1*Cover_O, PCB_H + 1*Cover_O, 1], center=true);
|
|
||||||
cube([PCB_W + 1*Cover_O - 2*gallery_width, PCB_H + 1*Cover_O - 2*gallery_width, 2], center=true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module Bottom()
|
module Bottom()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -197,7 +197,11 @@ module Power_Plug_Cutout()
|
|||||||
translate([-3.5, 0, 0])
|
translate([-3.5, 0, 0])
|
||||||
{
|
{
|
||||||
translate([3.5/2, 0, 11/2-4/2]) scale([1.2, 1.2, 1.0]) cube([ 3.5, 9, 11.0+4], center=true);
|
translate([3.5/2, 0, 11/2-4/2]) scale([1.2, 1.2, 1.0]) cube([ 3.5, 9, 11.0+4], center=true);
|
||||||
translate([-10.9/2, 0, 6.4]) scale([1.0, 1.5, 1.023]) rotate([0, 90, 0]) cylinder(h=10.9, d=9, center=true, $fn=60);
|
intersection()
|
||||||
|
{
|
||||||
|
translate([3.5/2, 0, 11/2-4/2]) scale([1.2, 1.2, 1.0]) cube([ 25, 9, 11.0+4], center=true);
|
||||||
|
translate([-10.9/2, 0, 6.4]) scale([1.0, 1.5, 1.023]) rotate([0, 90, 0]) cylinder(h=10.9, d=9, center=true, $fn=60);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -290,7 +294,7 @@ module Audio_Jack(cutout = false)
|
|||||||
if(cutout == true)
|
if(cutout == true)
|
||||||
{
|
{
|
||||||
translate([0, -4.25+8, 5/2])
|
translate([0, -4.25+8, 5/2])
|
||||||
rotate([90, 0, 0]) cylinder(d=5, h=20, center=false);
|
rotate([90, 0, 0]) cylinder(d=6, h=20, center=false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user