include include $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(); }