From e63735b4487266317f4799b00315b082ea467f09 Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 21 Jun 2017 13:37:52 +0200 Subject: [PATCH] initial work for laster holder --- 3d_models/laser_holder.scad | 93 +++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 3d_models/laser_holder.scad diff --git a/3d_models/laser_holder.scad b/3d_models/laser_holder.scad new file mode 100644 index 0000000..ba8bb72 --- /dev/null +++ b/3d_models/laser_holder.scad @@ -0,0 +1,93 @@ + +laser_pen_diam = 9; + +holder_spacing=60; + +holder_len = 14; +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, 0, .5]){ + rotate(a=90, v=[1,0,0]) { + cylinder(h=holder_width, + d=1.8,center=true, $fn=20); + } + } + translate(v=[holder_len/4, 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/2,0,-holder_height/4]) { + cube([holder_len/2, + holder_width+1, + holder_height/2], + 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); + } +} \ No newline at end of file