Tied sliding mechanism to the laser cover
This commit is contained in:
+47
-2
@@ -4,6 +4,7 @@ use <BOSL/transforms.scad>
|
||||
use <BOSL/masks.scad>
|
||||
|
||||
use <holodisk_spec.scad>
|
||||
use <tape_spool.scad>
|
||||
use <anim.scad>
|
||||
|
||||
module holodisk_frame() {
|
||||
@@ -171,14 +172,20 @@ module holodisk_frame() {
|
||||
translate(slider_pos) cube(slider_plate_size);
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
slide();
|
||||
slider();
|
||||
slider_anim();
|
||||
}
|
||||
scale([-1,1,1]) {
|
||||
slide();
|
||||
slider();
|
||||
slider_anim();
|
||||
}
|
||||
|
||||
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() {
|
||||
door_size = [
|
||||
get_holodisk_laserwindow_size().x,
|
||||
@@ -209,7 +245,15 @@ module holodisk_frame() {
|
||||
back_bumpers();
|
||||
square([width, depth]);
|
||||
}
|
||||
// laser cutout
|
||||
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("gold") laserwindow_door();
|
||||
color("Silver") slides();
|
||||
color("Silver") sliding_cover_anim();
|
||||
color("SaddleBrown") bottom_cover();
|
||||
color("SaddleBrown") front_plates();
|
||||
//color("silver") back_bolts();
|
||||
|
||||
Reference in New Issue
Block a user