You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
scad/amplifier_box.scad

269 lines
8.5 KiB

include <library/box.scad>
include <MCAD-master/materials.scad>
$fn = 100;
radiator_base_lenght = 84;
radiator_base_width = 64;
radiator_base_height = 5;
radiator_copper_lenght = 44;
radiator_copper_height = 6;
radiator_top_height = 31;
radiator_full_height = 31;
radiator_full_width = 80;
radiator_total_height = radiator_full_height + radiator_copper_height;
radiator_base_offset_x = 0;
radiator_base_offset_y = (radiator_full_width - radiator_base_width)/2;
radiator_copper_offset_x = 19;
radiator_copper_offset_y = 3 + radiator_base_offset_y;
nl2_frontResses = 2.55;
nl2_frontDia = 23.6;
nl2_mountThick = 6;
nl2_mountHeight = 31;
nl2_mountWidth = 26;
nl2_screwDia = 3.2;
nl2_screwX = 19;
nl2_screwY = 24;
nl2_bladeLen = 8;
nl2_bladeWidth = 5;
nl2_bladeThick = 1.5;
nl2_backIsolationDepth=1.95;
nl2_tubeDia = 24;
nl2_tubeDepth = 25.75 - nl2_mountThick - nl2_backIsolationDepth;
nl2_bladeOneY = 4.5;
nl2_bladeTwox = 5.5;
n12_bladeZ = nl2_tubeDepth + nl2_bladeLen/2;
n12_firstHoleDia = 19;
n12_fisrtHoleDepth = 24;
mounting_base_dia = 10;
mounting_base_height = 2;
mounting_base_lenght = 5;
mounting_col_clearance = 0;
mounting_col_height = nl2_mountHeight + mounting_col_clearance ;
mounting_col_dia = 7;
mounting_col_screw_dia = 2.8;
mounting_col_screw_depth = 6;
mounting_col_screw_offset = mounting_col_height - mounting_col_screw_depth;
amplifier_pcb_cable_sapce = 20;
amplifier_base_height = 3;
amplifier_side_wall_thickness = 3;
amplifier_pcb_lenght = 130;
amplifier_pcb_width = 70;
amplifier_pcb_height = 2;
amplifier_pcb_srew_sapcing_x = 120;
amplifier_pcb_srew_sapcing_y = 60;
amplifier_pcb_srew_offset_x = 5;
amplifier_pcb_srew_offset_y = 4;
amplifier_mounting_srew_offset_x = mounting_base_dia/2 + amplifier_side_wall_thickness + amplifier_pcb_cable_sapce;
amplifier_mounting_srew_offset_y = mounting_base_dia/2 + amplifier_side_wall_thickness + radiator_total_height ;
amplifier_base_lenght = 2*amplifier_side_wall_thickness + 2*amplifier_pcb_cable_sapce + amplifier_pcb_srew_sapcing_x;
amplifier_base_width = 2*amplifier_side_wall_thickness + amplifier_pcb_cable_sapce + amplifier_pcb_srew_sapcing_y+radiator_total_height;
pos_opamp_from_frist_mounting_hole_x = 80 + amplifier_mounting_srew_offset_x + radiator_base_width / 2 ;
pos_opamp_from_frist_mounting_hole_y = amplifier_mounting_srew_offset_y ;
m3_hole = 3.1;
m3_thread = 2.8;
//amplifier_full();
//translate([20,amplifier_base_width,amplifier_base_height+nl2_mountHeight/2])rotate([90,0,180])neutrik_nl2();
srewHolder();
module amplifierPcb()
{
mkp_lenght = 17;
mkp_width = 40;
mkp_height = 32;
mkp_offset_x = 36;
mkp_offset_y = 4;
opamp_lenght = 20;
opamp_width = 3.5;
opamp_height = 21;
opamp_offset_x = 75;
opamp_offset_y = 0;
opamp_mounting_hole_dia = 4;
opamp_mounting_hole_from_top = opamp_height- (2.5 + opamp_mounting_hole_dia/2) ;
difference()
{
color("green")cube(size = [amplifier_pcb_lenght,amplifier_pcb_width,amplifier_pcb_height]);
translate([amplifier_pcb_srew_offset_x,amplifier_pcb_srew_offset_y,0])
cylinder(d=m3_hole,h=amplifier_pcb_height);
translate([amplifier_pcb_srew_offset_x + amplifier_pcb_srew_sapcing_x ,amplifier_pcb_srew_offset_y,0])
cylinder(d=m3_hole,h=amplifier_pcb_height);
translate([amplifier_pcb_srew_offset_x,amplifier_pcb_srew_offset_y + amplifier_pcb_srew_sapcing_y,0])
cylinder(d=m3_hole,h=amplifier_pcb_height);
translate([amplifier_pcb_srew_offset_x + amplifier_pcb_srew_sapcing_x,amplifier_pcb_srew_offset_y + amplifier_pcb_srew_sapcing_y,0])
cylinder(d=m3_hole,h=amplifier_pcb_height);
}
color("blue")
translate([mkp_offset_x,mkp_offset_y,amplifier_pcb_height])
cube(size = [mkp_lenght,mkp_width,mkp_height]);
color(BlackPaint)
translate([opamp_offset_x,opamp_offset_y,amplifier_pcb_height])
difference()
{
cube(size = [opamp_lenght,opamp_width,opamp_height]);
translate([opamp_lenght/2,opamp_width,opamp_mounting_hole_from_top])
rotate([90,0,0])
cylinder(d=opamp_mounting_hole_dia,h=opamp_width);
}
}
module amplifer_base()
{
cube(size = [amplifier_base_lenght,amplifier_base_width,amplifier_base_height]);
translate([amplifier_mounting_srew_offset_x, amplifier_mounting_srew_offset_y, amplifier_base_height])
srewHolder();
translate([amplifier_mounting_srew_offset_x + amplifier_pcb_srew_sapcing_x , amplifier_mounting_srew_offset_y, amplifier_base_height])
srewHolder();
translate([amplifier_mounting_srew_offset_x, amplifier_mounting_srew_offset_y + amplifier_pcb_srew_sapcing_y , amplifier_base_height])
srewHolder();
translate([amplifier_mounting_srew_offset_x + amplifier_pcb_srew_sapcing_x, amplifier_mounting_srew_offset_y + amplifier_pcb_srew_sapcing_y, amplifier_base_height])
srewHolder();
}
module srewHolder()
{
difference()
{
hull()
{
cylinder(d=mounting_base_dia,h=mounting_base_height);
translate([0,0,mounting_base_lenght])
cylinder(d=mounting_col_dia,h=0.1);
}
cylinder(d=m3_thread,h=mounting_col_screw_depth);
}
difference()
{
cylinder(d=mounting_col_dia,h=mounting_col_height);
translate([0,0,mounting_col_screw_offset])
cylinder(d=m3_thread,h=mounting_col_screw_depth);
cylinder(d=m3_thread,h=mounting_col_screw_depth);
translate([0,0,mounting_col_screw_depth+(m3_thread-1.5)/2])cylinder(h=m3_thread-1.5, d1=m3_thread, d2=0, center = true);
}
}
module radiator()
{
color(Brass)
translate([radiator_copper_offset_x,radiator_copper_offset_y,0])
cube(size = [radiator_copper_lenght,radiator_copper_lenght,radiator_copper_height]);
color(Aluminum)hull()
{
translate([radiator_base_offset_x,radiator_base_offset_y,radiator_copper_height])
cube(size = [radiator_base_lenght,radiator_base_width,radiator_base_height]);
translate([0,0,radiator_copper_height+radiator_top_height])
cube(size = [radiator_base_lenght,radiator_full_width,1]);
}
}
module neutrik_nl2()
{
color(BlackPaint)
neutric_nl2_mount();
color(Steel)
translate([-nl2_bladeTwox,0,-n12_bladeZ])
neutrik_nl2_blade();
color(Steel)
translate([0,nl2_bladeOneY,-n12_bladeZ])
rotate([0,0,90])
neutrik_nl2_blade();
}
module neutric_nl2_mount()
{
difference()
{
translate([0,0,nl2_mountThick/2])
keyCubeRounded(nl2_mountWidth,nl2_mountHeight,nl2_mountThick,3,true);
translate([-(nl2_screwX/2),(nl2_screwY/2),-0.01])
cylinder(d=nl2_screwDia, h=nl2_mountThick+0.02);
translate([(nl2_screwX/2),-(nl2_screwY/2),-0.01])
cylinder(d=nl2_screwDia, h=nl2_mountThick+0.02);
}
difference()
{
union()
{
translate([0,0,nl2_mountThick])
cylinder(d=nl2_frontDia,h=nl2_frontResses);
translate([0,0,-nl2_tubeDepth])
cylinder(d=nl2_tubeDia,h=nl2_tubeDepth);
}
translate([0,0,nl2_mountThick])
cylinder(d=n12_firstHoleDia,h=n12_fisrtHoleDepth);
}
}
module neutrik_nl2_tube()
{
difference()
{
union()
{
translate([0,0,nl2_mountThick])
cylinder(d=nl2_frontDia,h=nl2_frontResses);
translate([0,0,-nl2_tubeDepth])
cylinder(d=nl2_tubeDia,h=nl2_tubeDepth);
}
translate([0,0,nl2_mountThick])
cylinder(d=n12_firstHoleDia,h=n12_fisrtHoleDepth);
}
}
module neutrik_nl2_blade()
{
cube(size = [nl2_bladeThick,nl2_bladeWidth,nl2_bladeLen], center = true);
}
module amplifier_full()
{
amplifer_base();
translate([pos_opamp_from_frist_mounting_hole_x,pos_opamp_from_frist_mounting_hole_y-mounting_col_dia/2-amplifier_pcb_srew_offset_y/2,0])
rotate([90,270,0])
radiator();
translate([amplifier_mounting_srew_offset_x-amplifier_pcb_srew_offset_x,amplifier_mounting_srew_offset_y-amplifier_pcb_srew_offset_y,amplifier_base_height+mounting_col_height])amplifierPcb();
}