You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.5 KiB
96 lines
2.5 KiB
laser_pen_diam = 14.5; |
|
|
|
holder_spacing=60; |
|
|
|
holder_len = 18; |
|
holder_width = 5; |
|
holder_height = laser_pen_diam + 4; |
|
|
|
module pico_haut(){ |
|
translate(v=[holder_len/2,0,5]){ |
|
rotate(a=90, v=[1,0,0]) { |
|
cylinder(h=holder_width, |
|
d=2,center=true, $fn=20); |
|
} |
|
} |
|
} |
|
|
|
module start_stop_cyl(){ |
|
translate(v=[holder_len/2-.5, 0, 3]){ |
|
rotate(a=90, v=[1,0,0]) { |
|
cylinder(h=holder_width, |
|
d=1.8,center=true, $fn=20); |
|
} |
|
} |
|
translate(v=[holder_len/11, 0, -holder_height/2+.5]){ |
|
rotate(a=90, v=[1,0,0]) { |
|
cylinder(h=holder_width, |
|
d=1.8,center=true, $fn=20); |
|
} |
|
} |
|
} |
|
|
|
module holder_base(){ |
|
hull(){ |
|
translate(v=[holder_len/2-1, 0, holder_height/2]){ |
|
rotate(a=90, v=[1,0,0]) { |
|
cylinder(h=holder_width, |
|
d=2,center=true, $fn=20); |
|
} |
|
} |
|
translate(v=[-holder_len/2, 0, holder_height/2,]){ |
|
rotate(a=90, v=[1,0,0]) { |
|
cylinder(h=holder_width, |
|
d=2,center=true, $fn=20); |
|
} |
|
} |
|
translate(v=[-holder_len/2, 0, -holder_height/2]){ |
|
rotate(a=90, v=[1,0,0]) { |
|
cylinder(h=holder_width, |
|
d=2,center=true, $fn=20); |
|
} |
|
} |
|
start_stop_cyl(); |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
module holder(pos_y) { |
|
translate(v=[0,pos_y,0]){ |
|
union(){ |
|
difference() { |
|
holder_base(); |
|
|
|
translate(v=[2,0,-1]){ |
|
rotate(a=90, v=[1,0,0] ){ |
|
cylinder(h = holder_width+1, |
|
d = laser_pen_diam, |
|
center = true, |
|
$fn=30); |
|
} |
|
} |
|
translate(v=[holder_len/3,0,-holder_height/4]) { |
|
cube([holder_len/2, |
|
holder_width+1, |
|
holder_height/2+5], |
|
center=true); |
|
} |
|
} |
|
start_stop_cyl(); |
|
|
|
|
|
|
|
} |
|
} |
|
} |
|
|
|
union(){ |
|
holder(0); |
|
// holder(holder_spacing); |
|
// |
|
// translate(v=[-holder_len/2,holder_spacing/2,-3]){ |
|
// cube([5,holder_spacing+holder_width,20], center=true); |
|
// } |
|
} |