-rw-r--r-- | another.scad | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/another.scad b/another.scad index fcd179e..f01e765 100644 --- a/another.scad +++ b/another.scad @@ -53,38 +53,39 @@ module the_extruder( pulley_small_d_clearance=.5, lever_v_clearance=.7, // vertical clearance for the lever spring_d_clearance=1, protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion mount_screw_d_tolerance=.4, idler_v_tolerance=.5, knob_bore_d_tolerance=.6, st_nut_h_tolerance=.2, st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ st_screw_d_tolerance=.5, st_split_w_tolerance = .3, min_z_shell = 4*layer_height, // the very minimal shell thickness along z-axis. min_xy_shell = 2*extrusion_width, + body_label = "another", body_label_thickness = 2*layer_height, + what="lever", // lever|body|knob|springpad|* left=false, vitamins = true, bridges = true, debug = false, - label = "another" ) { fnd = 2*PI; fnr = 2*fnd; function lu(m,k) = m[search([k],m)[0]][1]; pulley_d = lu(pulley,"d"); pulley_h = lu(pulley,"h"); teeth_elevation = lu(pulley,"fe"); filament_offset = lu(pulley,"g")+filament_d/2; pulley_d_clearance = lu(pulley,"ssrc")*2; idler_filament_offset = filament_path_d/2; lever_shell = mount_screwhead_h+0.5; lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); lsd = idler_d-idler_clearance*2; // the diameter of lever thingie longwing=(mount_d+mount_screw_d+mount_screw_d_tolerance+spring_d+spring_d_clearance)/2+min_xy_shell; shortwing = let(a=mount_d/2,c=(pulley_d+idler_d)/2/sqrt(2)) @@ -347,42 +348,42 @@ module the_extruder( cylinder(d=st_nut_d+st_nut_d_tolerance,h=st_nut_h+st_nut_h_tolerance,$fn=6); translate([0,0,-1]) cylinder(d=st_screw_d+st_screw_d_tolerance,h=fsw+2,$fn=fnd*(st_screw_d+st_screw_d_tolerance)); bigd = spring_d+spring_d_clearance; hf = (bigd-st_screw_d-st_screw_d_tolerance)/2; translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon]) { cylinder(d1=st_screw_d+st_screw_d_tolerance,d2=bigd, h=hf+epsilon, $fn=fnd*bigd); translate([0,-(st_split_w+st_split_w_tolerance)/2,0]) cube(size=[body_h-ls_z+1,st_split_w+st_split_w_tolerance,fsw+1]); }//translate translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon]) cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd); }//mirror }//translate // label + if(body_label) let(label=body_label,label_thickness=body_label_thickness) { label_thickness = 2*layer_height; label_len = len(label); - if(label_len) { labelspace = [gearbox_d/2-mount_screwhead_d/2-min_xy_shell,longwing-(mount_screwhead_d-st_split_w-st_split_w_tolerance)/2-2*min_xy_shell]; translate([0,0,body_h-label_thickness]) linear_extrude(height=label_thickness+epsilon,convexity=64) translate([-mount_screwhead_d/2-min_xy_shell-labelspace.x/2,-longwing+(st_split_w+st_split_w_tolerance)/2+min_xy_shell+labelspace.y/2]) mirror([left?0:1,0]) text(text=label,size=labelspace.x/label_len,halign="center",valign="center",font="Arial Black"); - }//if(label_len) + }//if(body_label) }//difference }//body module module springpad() { smalld=st_screw_d+st_screw_d_tolerance+min_xy_shell; bigd = spring_d+spring_d_clearance/2; hf = (bigd-smalld)/2; h = hf*3.5; translate([-gearbox_d/2+st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+1,-longwing,filament_elevation]) rotate([0,90,0]) difference() { union() { cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd); translate([0,0,hf-epsilon]) cylinder(d=bigd,h=h-hf,$fn=fnd*bigd); |