added partial extrusion for faster headband rakes, small changes
This commit is contained in:
parent
7ab5da4b45
commit
dcef9ae8b9
4 changed files with 55 additions and 17 deletions
|
|
@ -1,7 +1,7 @@
|
|||
use <bezier_extrusion.scad>;
|
||||
|
||||
module headband(thickness, height){
|
||||
rake_length = 2.5;
|
||||
rake_length = 3;
|
||||
|
||||
shape_band = [[thickness/2,height/2-0.5],
|
||||
[thickness/2,-height/2+0.5],
|
||||
|
|
@ -16,20 +16,31 @@ module headband(thickness, height){
|
|||
[0,height/2],
|
||||
[rake_length,height/2-2],
|
||||
[rake_length,-height/2+2]];
|
||||
|
||||
shape_halfband = [[thickness/2,height/2-0.5],
|
||||
[thickness/2,-height/2+0.5],
|
||||
[thickness/2-0.5,-height/2],
|
||||
[0,-height/2],
|
||||
[0,height/2],
|
||||
[thickness/2-0.5,height/2]];
|
||||
|
||||
ctrl_band = [[21,0],[77,56],[56,126],[0,126]];
|
||||
ctrl_end = [[21,0],[20,-1],[18,-4],[17,-10]];
|
||||
ctrl_end = [[21,0],[20,-1],[18,-4],[17,-8]];
|
||||
ctrl_rake = [[-52,86],[-40,139.5],[40,139.5],[52,86]];
|
||||
fillet = function (t) (t < 0.75) ? 1 : sqrt(1-((4*t)-3)^2)/1.5 + 0.33;
|
||||
rake = function (t) (-cos(64 * 360 * t) > 0.33) ? 1 : 0.1;
|
||||
|
||||
union(){
|
||||
bezier_extrude(ctrl = ctrl_band, shape = shape_band, sections = 64);
|
||||
mirror([1,0,0]) bezier_extrude(ctrl = ctrl_band, shape = shape_band, sections = 64);
|
||||
bezier_extrude(ctrl = ctrl_end, shape = shape_band, mod_x = fillet, sections = 16);
|
||||
mirror([1,0,0]) bezier_extrude(ctrl = ctrl_end, shape = shape_band, mod_x = fillet, sections = 16);
|
||||
bezier_extrude(ctrl = ctrl_rake, shape = shape_rake, mod_x = rake, sections = 512);
|
||||
bezier_extrude(ctrl = ctrl_end, shape = shape_band, sections = 16);
|
||||
translate([17,-8]){
|
||||
rotate_extrude(convexity = 10, $fn = 16) polygon(shape_halfband);
|
||||
}
|
||||
mirror([1,0,0]) bezier_extrude(ctrl = ctrl_end, shape = shape_band, sections = 16);
|
||||
translate([-17,-8]){
|
||||
rotate_extrude(convexity = 10, $fn = 16) polygon(shape_halfband);
|
||||
}
|
||||
bezier_extrude_partial(ctrl = ctrl_rake, shape = shape_rake, gap = 2, sections = 3*64+1);
|
||||
}
|
||||
}
|
||||
|
||||
headband(thickness = 2.5, height = 5.5);
|
||||
headband(thickness = 2.7, height = 5.5);
|
||||
Loading…
Add table
Add a link
Reference in a new issue