Tied sliding mechanism to the laser cover
This commit is contained in:
		
							parent
							
								
									700dc62f38
								
							
						
					
					
						commit
						c25bf961e5
					
				| @ -31,19 +31,18 @@ module holodisk_mechanism() { | |||||||
|     spool_plate_holes=3; |     spool_plate_holes=3; | ||||||
|     spool_plate_hole_inner_rim=1; |     spool_plate_hole_inner_rim=1; | ||||||
|     spool_plate_hole_outer_rim=4; |     spool_plate_hole_outer_rim=4; | ||||||
|     spool1_depth=disk_size.y*0.77; |     spool1_depth=get_holodisk_spool1_socket_pos_center().y; | ||||||
|     spool2_depth=disk_size.y*0.40; |     spool2_depth=get_holodisk_spool2_socket_pos_center().y; | ||||||
|     spool3_depth=(spool1_depth+spool2_depth)/2; |     spool3_depth=(spool1_depth+spool2_depth)/2; | ||||||
|     spool4_depth=disk_size.y*0.16; |     spool4_depth=disk_size.y*0.16; | ||||||
|     main_spools_x=disk_size.x*0.45; |     main_spools_x=get_holodisk_spool1_socket_pos_center().x; | ||||||
|     aux_spools_right_x=main_spools_x + spool_outer_radius + 1; |     aux_spools_right_x=main_spools_x + spool_outer_radius + 1; | ||||||
|     aux_spools_left_x=main_spools_x - 13; |     aux_spools_left_x=main_spools_x - 13; | ||||||
|     middle_spool_in_r=2; |     middle_spool_in_r=2; | ||||||
|     middle_spool_out_r=7; |     middle_spool_out_r=7; | ||||||
|     aux_spool_plate_hole_inner_rim=2; |     aux_spool_plate_hole_inner_rim=2; | ||||||
|     aux_spool_plate_hole_outer_rim=2; |     aux_spool_plate_hole_outer_rim=2; | ||||||
|     spindle_diam=2; |     spindle_diam=get_holodisk_spools_spindle_diam(); | ||||||
|     spindle_diam_tolerance=0.2; |  | ||||||
|     tape_z=plate+spool_plate_height; |     tape_z=plate+spool_plate_height; | ||||||
|      |      | ||||||
|     module main_spool() { |     module main_spool() { | ||||||
| @ -51,7 +50,8 @@ module holodisk_mechanism() { | |||||||
|             r_out=spool_outer_radius, |             r_out=spool_outer_radius, | ||||||
|             in_rim=spool_plate_hole_inner_rim, |             in_rim=spool_plate_hole_inner_rim, | ||||||
|             out_rim=spool_plate_hole_outer_rim, |             out_rim=spool_plate_hole_outer_rim, | ||||||
|             in_height=spool_inner_height); |             in_height=spool_inner_height, | ||||||
|  |             spindle_traction=true); | ||||||
|     } |     } | ||||||
|     module aux_spool() { |     module aux_spool() { | ||||||
|         spool(r_in=middle_spool_in_r, r_out=middle_spool_out_r, |         spool(r_in=middle_spool_in_r, r_out=middle_spool_out_r, | ||||||
|  | |||||||
| @ -4,6 +4,7 @@ use <BOSL/transforms.scad> | |||||||
| use <BOSL/masks.scad> | use <BOSL/masks.scad> | ||||||
| 
 | 
 | ||||||
| use <holodisk_spec.scad> | use <holodisk_spec.scad> | ||||||
|  | use <tape_spool.scad> | ||||||
| use <anim.scad> | use <anim.scad> | ||||||
| 
 | 
 | ||||||
| module holodisk_frame() { | module holodisk_frame() { | ||||||
| @ -172,13 +173,19 @@ module holodisk_frame() { | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|          |          | ||||||
|  |         module slider_anim() { | ||||||
|  |             back(anim(1,2)*get_holodisk_slide_slider_travel()) // anim insert | ||||||
|  |         fwd(anim(5,6)*get_holodisk_slide_slider_travel()) // anim remove | ||||||
|  |             slider(); | ||||||
|  |         } | ||||||
|  |              | ||||||
|         right(get_holodisk_size().x) { |         right(get_holodisk_size().x) { | ||||||
|            slide(); |            slide(); | ||||||
|            slider(); |            slider_anim(); | ||||||
|         } |         } | ||||||
|         scale([-1,1,1]) { |         scale([-1,1,1]) { | ||||||
|             slide(); |             slide(); | ||||||
|             slider(); |             slider_anim(); | ||||||
|         } |         } | ||||||
|          |          | ||||||
|         right(get_holodisk_laserwindow_pos_center().x) zrot(-90) { |         right(get_holodisk_laserwindow_pos_center().x) zrot(-90) { | ||||||
| @ -188,6 +195,35 @@ module holodisk_frame() { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|      |      | ||||||
|  |     module sliding_cover() { | ||||||
|  |         thickness=1; | ||||||
|  |         overlap=2; | ||||||
|  |         cover_size=[ | ||||||
|  |             get_holodisk_size().x+thickness*2, | ||||||
|  |             get_holodisk_laser_cutout_size().y+overlap*2, | ||||||
|  |             thickness | ||||||
|  |         ]; | ||||||
|  |         cover_posc=[ | ||||||
|  |             get_holodisk_laser_cutout_pos_center().x, | ||||||
|  |             get_holodisk_laser_cutout_pos_center().y, | ||||||
|  |             cover_size.z/2 | ||||||
|  |         ]; | ||||||
|  |         cover_side_size=[thickness, cover_size.y,   get_holodisk_slide_slider_pos().z]; | ||||||
|  |         cover_side_left_posd=[-cover_size.x/2+thickness/2, 0, cover_side_size.z/2]; | ||||||
|  |         cover_side_right_posd=[cover_size.x/2-thickness/2, 0, cover_side_size.z/2]; | ||||||
|  |         translate(cover_posc) { | ||||||
|  |             cube(cover_size, center=true); | ||||||
|  |             translate(cover_side_left_posd) cube(cover_side_size, center=true); | ||||||
|  |             translate(cover_side_right_posd) cube(cover_side_size, center=true); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     module sliding_cover_anim() { | ||||||
|  |         back(anim(1,2)*get_holodisk_slide_slider_travel()) // anim insert | ||||||
|  |         fwd(anim(5,6)*get_holodisk_slide_slider_travel()) // anim remove | ||||||
|  |         sliding_cover(); | ||||||
|  |     } | ||||||
|  |      | ||||||
|     module laserwindow_door() { |     module laserwindow_door() { | ||||||
|         door_size = [ |         door_size = [ | ||||||
|             get_holodisk_laserwindow_size().x, |             get_holodisk_laserwindow_size().x, | ||||||
| @ -209,7 +245,15 @@ module holodisk_frame() { | |||||||
|                 back_bumpers(); |                 back_bumpers(); | ||||||
|                 square([width, depth]); |                 square([width, depth]); | ||||||
|             } |             } | ||||||
|  |             // laser cutout | ||||||
|             down(0.1) translate(get_holodisk_laser_cutout_pos()) cube(get_holodisk_laser_cutout_size()); |             down(0.1) translate(get_holodisk_laser_cutout_pos()) cube(get_holodisk_laser_cutout_size()); | ||||||
|  |             // sliding cover | ||||||
|  |             sliding_cover(); | ||||||
|  |             back(get_holodisk_slide_slider_travel()*0.5) sliding_cover(); | ||||||
|  |             back(get_holodisk_slide_slider_travel()) sliding_cover(); | ||||||
|  |             // spool spindles | ||||||
|  |             translate(get_holodisk_spool1_socket_pos_center()) spindle(h=height, d=get_holodisk_spools_spindle_diam()); | ||||||
|  |             translate(get_holodisk_spool2_socket_pos_center()) spindle(h=height, d=get_holodisk_spools_spindle_diam()); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|      |      | ||||||
| @ -258,6 +302,7 @@ module holodisk_frame() { | |||||||
|     color("grey") walls(); |     color("grey") walls(); | ||||||
|     color("gold") laserwindow_door(); |     color("gold") laserwindow_door(); | ||||||
|     color("Silver") slides(); |     color("Silver") slides(); | ||||||
|  |     color("Silver") sliding_cover_anim(); | ||||||
|     color("SaddleBrown") bottom_cover(); |     color("SaddleBrown") bottom_cover(); | ||||||
|     color("SaddleBrown") front_plates(); |     color("SaddleBrown") front_plates(); | ||||||
|     //color("silver") back_bolts(); |     //color("silver") back_bolts(); | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ function get_holodisk_tape_thickness() = 0.2; | |||||||
| spz = 8; | spz = 8; | ||||||
| function get_holodisk_slide_size() = [2, 35, get_holodisk_size().z - spz]; | function get_holodisk_slide_size() = [2, 35, get_holodisk_size().z - spz]; | ||||||
| 
 | 
 | ||||||
| function get_holodisk_slide_pos() = [0, 15, spz/2]; | function get_holodisk_slide_pos() = [0, 6, spz/2]; | ||||||
| 
 | 
 | ||||||
| sy = 2; | sy = 2; | ||||||
| sz = 4; | sz = 4; | ||||||
| @ -31,9 +31,12 @@ function get_holodisk_slide_sliding_pos() = [get_holodisk_slide_pos().x, get_hol | |||||||
| 
 | 
 | ||||||
| srx = 2; | srx = 2; | ||||||
| srz = 2; | srz = 2; | ||||||
| function get_holodisk_slide_slider_size() = [get_holodisk_slide_size().x + srx, 15, get_holodisk_slide_size().z + srz]; | function get_holodisk_slide_slider_size() = [get_holodisk_slide_size().x + srx, 13, get_holodisk_slide_size().z + srz]; | ||||||
| 
 | 
 | ||||||
| function get_holodisk_slide_slider_pos() = [get_holodisk_slide_sliding_pos().x, get_holodisk_slide_sliding_pos().y + 5, get_holodisk_slide_sliding_pos().z - get_holodisk_slide_slider_size().z/2 + srz]; | sliding_reserve=3; | ||||||
|  | function get_holodisk_slide_slider_pos() = [get_holodisk_slide_sliding_pos().x, get_holodisk_slide_sliding_pos().y + sliding_reserve, get_holodisk_slide_sliding_pos().z - get_holodisk_slide_slider_size().z/2 + srz]; | ||||||
|  | 
 | ||||||
|  | function get_holodisk_slide_slider_travel() = get_holodisk_slide_sliding_size().y - get_holodisk_slide_slider_size().y - 2*sliding_reserve; | ||||||
| 
 | 
 | ||||||
| // -- laser -- | // -- laser -- | ||||||
| 
 | 
 | ||||||
| @ -69,4 +72,20 @@ function get_holodisk_laserwindow_size() = [ | |||||||
|     get_holodisk_tape_height() + 2 |     get_holodisk_tape_height() + 2 | ||||||
|     ]; |     ]; | ||||||
|      |      | ||||||
|  | // -- spools -- | ||||||
|  | 
 | ||||||
|  | function get_holodisk_spool1_socket_pos_center() = [ | ||||||
|  |     get_holodisk_size().x*0.45, | ||||||
|  |     get_holodisk_size().y*0.77, | ||||||
|  |     0 | ||||||
|  |     ]; | ||||||
|  |      | ||||||
|  | function get_holodisk_spool2_socket_pos_center() = [ | ||||||
|  |     get_holodisk_spool1_socket_pos_center().x, | ||||||
|  |     get_holodisk_size().y*0.40, | ||||||
|  |     0 | ||||||
|  |     ]; | ||||||
|  |      | ||||||
|  | function get_holodisk_spools_spindle_diam() = 3; | ||||||
|  | 
 | ||||||
| // -- END -- | // -- END -- | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user