diff --git a/Hardware/Development/Cyclone_Template/template.scad b/Hardware/Development/Cyclone_Template/template.scad index 02c9884..7471f7d 100644 --- a/Hardware/Development/Cyclone_Template/template.scad +++ b/Hardware/Development/Cyclone_Template/template.scad @@ -161,7 +161,7 @@ module cnc_workbed() { module X_carriage() { translate([0,X_rod_sep_real/2,0]) rotate([0,0,90]) - X_carriage_assembled(show_printbed = 0, show_Xrods = 0, z_smooth_rods_len = Z_Final_Smooth_Rod_Length); + X_carriage_assembled(show_printbed = 0, show_Xrods = 0, z_smooth_rods_len = Z_Final_Smooth_Rod_Length, with_extra_parts=Display_Extra_Parts, exploded=Exploded_Drawing); } module Z_carriage_piece() { diff --git a/Hardware/Development/XZ_axis/X_carriage.scad b/Hardware/Development/XZ_axis/X_carriage.scad index 2e45fbe..fce88bb 100644 --- a/Hardware/Development/XZ_axis/X_carriage.scad +++ b/Hardware/Development/XZ_axis/X_carriage.scad @@ -2,6 +2,8 @@ // Created by Carlosgs (http://carlosgs.es) // License: Attribution - Share Alike - Creative Commons (http://creativecommons.org/licenses/by-sa/3.0/) +include +include use <../libs/obiscad/bcube.scad> use <../libs/obiscad/bevel.scad> use <../libs/build_plate.scad> @@ -75,7 +77,7 @@ module X_nut_holder() { } } -module X_nut_holder_cover() { +module X_nut_holder_cover(with_extra_parts=false, exploded=false) { X_nut_screw_diam = X_nut_screw_diam*1.2; scale([1,1,-1]) rotate([-90,0,0]) difference() { @@ -102,6 +104,17 @@ module X_nut_holder_cover() { rotate([90,0,0]) cylinder(r=X_nut_screw_diam/2,h=40,center=true,$fn=20); } + + if(with_extra_parts) + X_nut_holder_cover_extras(exploded_distance=(exploded?16:0)); + + module X_nut_holder_cover_extras(exploded_distance=0) { + screw_size = 2.2; + screw_length = 16; + echo("Non-Plastic Parts: 1 x Self tapping screw 2.2 x 16 mm for X_nut_holder_cover"); + scale([1,1,-1]) rotate([-90,0,0]) translate([-4,-3/2-0.2-exploded_distance,10]) rotate([-90,0,0]) color(Steel) + csk_bolt(screw_size, screw_length); + } } module X_carriage(show_printbed = 0, show_support = 0) { @@ -168,11 +181,33 @@ module X_carriage(show_printbed = 0, show_support = 0) { } } // End of difference + + if(with_extra_parts) + X_carriage_extras(exploded=false); + + module X_carriage_extras(exploded_distance=(exploded?8:0)) { + color(Steel) { + echo("Non-Plastic Parts: 2 x M8 nut for X_carriage"); + translate([-X_rod_sep_real/2,-lbearing_holder_length/2+X_axis_nut_support_thickness/2,0]) + rotate([-90,0,0]) translate([0,0,0.8*8+1.5+exploded_distance]) + rotate([0,180,15]) + flat_nut(8); + + translate([0,0,40-M8_nut_height_Z+exploded_distance]) + translate([0,0,0.8*8]) rotate([0,180,0]) + flat_nut(8); + } + + translate([-X_rod_sep_real/2,-lbearing_holder_length/2+X_axis_nut_support_thickness/2,0]) + rotate([-90,0,0]) translate([0,0,0.8*8+2.0+2*exploded_distance]) + rotate([0,180,-90-45]) + X_nut_holder_cover(with_extra_parts=true, exploded=(exploded_distance!=0)); + } } -module X_carriage_assembled(show_printbed = 0, show_Xrods = 0, z_smooth_rods_len = 0) { - X_carriage(show_printbed); +module X_carriage_assembled(show_printbed = 0, show_Xrods = 0, z_smooth_rods_len = 0, with_extra_parts=false, exploded=false) { + X_carriage(show_printbed, with_extra_parts=with_extra_parts, exploded=exploded); if(show_Xrods){ // ---- Rods (for reference) ----