summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2018-08-31 18:49:01 (UTC)
committer Michael Krelin <hacker@klever.net>2018-08-31 18:49:01 (UTC)
commitdcbe14bb70c4c83bf8dd50e590c5539be022a7ac (patch) (unidiff)
tree70cb021a084d40475a2315d1ef2ccbd735567fe7
parent50d38e82f067901b84113286c83fffefbacb3e0d (diff)
downloadextrudery-dcbe14bb70c4c83bf8dd50e590c5539be022a7ac.zip
extrudery-dcbe14bb70c4c83bf8dd50e590c5539be022a7ac.tar.gz
extrudery-dcbe14bb70c4c83bf8dd50e590c5539be022a7ac.tar.bz2
label engraving wip
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad13
1 files changed, 12 insertions, 1 deletions
diff --git a/another.scad b/another.scad
index bb67dea..297c1fc 100644
--- a/another.scad
+++ b/another.scad
@@ -63,25 +63,26 @@ module the_extruder(
63 st_nut_h_tolerance=.2, 63 st_nut_h_tolerance=.2,
64 st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ 64 st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */
65 st_screw_d_tolerance=.5, 65 st_screw_d_tolerance=.5,
66 st_split_w_tolerance = .3, 66 st_split_w_tolerance = .3,
67 67
68 min_z_shell = 4*layer_height, // the very minimal shell thickness along z-axis. 68 min_z_shell = 4*layer_height, // the very minimal shell thickness along z-axis.
69 min_xy_shell = 2*extrusion_width, 69 min_xy_shell = 2*extrusion_width,
70 70
71 what="lever", // lever|body|knob|springpad|* 71 what="lever", // lever|body|knob|springpad|*
72 left=false, 72 left=false,
73 vitamins = true, 73 vitamins = true,
74 bridges = true, 74 bridges = true,
75 debug = false 75 debug = false,
76 label = "another"
76) { 77) {
77 fnd = 2*PI; fnr = 2*fnd; 78 fnd = 2*PI; fnr = 2*fnd;
78 79
79 idler_filament_offset = filament_path_d/2; // -filament_offset; 80 idler_filament_offset = filament_path_d/2; // -filament_offset;
80 lever_shell = mount_screwhead_h+0.5; 81 lever_shell = mount_screwhead_h+0.5;
81 lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); 82 lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell);
82 lsd = idler_d-idler_clearance*2; // the diameter of lever thingie 83 lsd = idler_d-idler_clearance*2; // the diameter of lever thingie
83 longwing=(mount_d+mount_screw_d+mount_screw_d_tolerance+spring_d+spring_d_clearance)/2+min_xy_shell; 84 longwing=(mount_d+mount_screw_d+mount_screw_d_tolerance+spring_d+spring_d_clearance)/2+min_xy_shell;
84 shortwing = let(a=mount_d/2,c=(pulley_d+idler_d)/2/sqrt(2)) 85 shortwing = let(a=mount_d/2,c=(pulley_d+idler_d)/2/sqrt(2))
85 sqrt(c*c+pow(a-c,2)); 86 sqrt(c*c+pow(a-c,2));
86 longwing_travel = idler_travel*longwing/shortwing; 87 longwing_travel = idler_travel*longwing/shortwing;
87 h_ = (pulley_d+idler_d)/(2*sqrt(2)); 88 h_ = (pulley_d+idler_d)/(2*sqrt(2));
@@ -359,24 +360,34 @@ module the_extruder(
359 hf = (bigd-st_screw_d-st_screw_d_tolerance)/2; 360 hf = (bigd-st_screw_d-st_screw_d_tolerance)/2;
360 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon]) { 361 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon]) {
361 cylinder(d1=st_screw_d+st_screw_d_tolerance,d2=bigd, 362 cylinder(d1=st_screw_d+st_screw_d_tolerance,d2=bigd,
362 h=hf+epsilon, $fn=fnd*bigd); 363 h=hf+epsilon, $fn=fnd*bigd);
363 translate([0,-(st_thinshell+st_split_w_tolerance)/2,0]) 364 translate([0,-(st_thinshell+st_split_w_tolerance)/2,0])
364 cube(size=[body_h-ls_z+1,st_thinshell+st_split_w_tolerance,fsw+1]); 365 cube(size=[body_h-ls_z+1,st_thinshell+st_split_w_tolerance,fsw+1]);
365 }//translate 366 }//translate
366 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon]) 367 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon])
367 cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd); 368 cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd);
368 }//mirror 369 }//mirror
369 }//translate 370 }//translate
370 371
372 // label
373 label_thickness = 2*layer_height;
374 label_len = len(label);
375 labelspace = [gearbox_d/2-mount_screwhead_d/2-min_xy_shell,longwing-(mount_screwhead_d-st_thinshell-st_split_w_tolerance)/2-2*min_xy_shell-mount_d/2];
376 translate([0,0,body_h-label_thickness])
377 linear_extrude(height=label_thickness+epsilon,convexity=64)
378 translate([-mount_screwhead_d/2-min_xy_shell-labelspace.x/2,-longwing+(st_thinshell+st_split_w_tolerance)/2+min_xy_shell+labelspace.y/2])
379 mirror([left?0:1,0])
380 text(text=label,size=labelspace.x/label_len,halign="center",valign="center",font="Arial Black");
381
371 }//difference 382 }//difference
372 383
373 }//body module 384 }//body module
374 385
375 module springpad() { 386 module springpad() {
376 smalld=st_screw_d+st_screw_d_tolerance+min_xy_shell; 387 smalld=st_screw_d+st_screw_d_tolerance+min_xy_shell;
377 bigd = spring_d+spring_d_clearance/2; 388 bigd = spring_d+spring_d_clearance/2;
378 hf = (bigd-smalld)/2; 389 hf = (bigd-smalld)/2;
379 h = hf*3.5; 390 h = hf*3.5;
380 translate([-gearbox_d/2+st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+1,-longwing,filament_elevation]) 391 translate([-gearbox_d/2+st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+1,-longwing,filament_elevation])
381 rotate([0,90,0]) difference() { 392 rotate([0,90,0]) difference() {
382 union() { 393 union() {