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.
144 lines
3.8 KiB
144 lines
3.8 KiB
// 0 = all, 1=only the bracket |
|
export_set = 0; |
|
|
|
laser_pen_diam = 15; |
|
|
|
holder_spacing=60; |
|
|
|
holder_len = 18; |
|
holder_width = 5; |
|
holder_height = laser_pen_diam + 4; |
|
|
|
holder_back_len = holder_spacing + holder_width + 10; |
|
|
|
module pad(l,h,z) { |
|
linear_extrude(height = z, center = false, convexity = 10, twist = 0) { |
|
polygon(points = [ [0,0], [0,l], [h,0]]); |
|
} |
|
} |
|
|
|
module screw_hole(y,z) { |
|
translate(v=[-9,y,z]) |
|
rotate(a=90, v=[0,1,0]){ |
|
cylinder(h=2.5, d=1.8*3.2, $fn=6); |
|
} |
|
translate(v=[-20,y,z]){ |
|
rotate(a=90, v=[0,1,0]){ |
|
cylinder(h=30, d=3.2,$fn=10); |
|
} |
|
} |
|
} |
|
|
|
//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, 4]){ |
|
rotate(a=90, v=[1,0,0]) { |
|
cylinder(h=holder_width, |
|
d=1.8,center=true, $fn=20); |
|
} |
|
} |
|
translate(v=[0, 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(){ |
|
union(){ |
|
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(); |
|
} |
|
translate(v=[-7,0,4]) |
|
pad(6,5,5); |
|
|
|
translate(v=[-7,0,-7]) |
|
pad(6,5,5); |
|
|
|
rotate(a=180, v=[1,0,0]) |
|
translate(v=[-7,0,-8]) |
|
pad(6,5,5); |
|
|
|
rotate(a=180, v=[1,0,0]) |
|
translate(v=[-7,0,4]) |
|
pad(6,5,5); |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
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+3, |
|
holder_width+1, |
|
holder_height/2+7], |
|
center=true); |
|
} |
|
} |
|
start_stop_cyl(); |
|
|
|
} |
|
} |
|
} |
|
|
|
difference(){ |
|
union(){ |
|
holder(0); |
|
if (export_set == 0) { |
|
holder(holder_spacing); |
|
translate(v=[-holder_len/2,holder_spacing/2,0]){ |
|
cube([5,holder_back_len,21], center=true); |
|
} |
|
} |
|
// |
|
// translate(v=[-holder_len/2,holder_spacing/2,-3]){ |
|
// cube([5,holder_spacing+holder_width,20], center=true); |
|
// } |
|
} |
|
screw_hole(10,5); |
|
screw_hole(10,-5); |
|
screw_hole(50,5); |
|
screw_hole(50,-5); |
|
} |
|
|
|
|