Add spool drivers. Polished animations. Added animation export.

This commit is contained in:
Dejvino
2020-12-31 14:15:57 +01:00
parent 9eac93893c
commit 923ada4ebe
8 changed files with 119 additions and 21 deletions
+63 -6
View File
@@ -9,7 +9,6 @@ include <anim.scad>
tape_height=5;
tape_z=4;
module reader(disk_size) {
width=disk_size.x;
depth=disk_size.y;
@@ -32,6 +31,15 @@ module reader(disk_size) {
up(corner)
color("Red")
fwd(laser_cutout_size.y/3) cube(laser_size, center=true);
beam_anim=anim(ANIM_PLAYING(), ANIM_PLAYING()+1);
if (beam_anim > 0 && beam_anim < 1) {
color("red")
up(get_holodisk_laserwindow_size().x/4)
yrot(beam_anim*1234)
xrot(90)
cylinder(h=get_holodisk_laserwindow_size().y, d=get_holodisk_laserwindow_size().x/4, $fn=3);
}
}
module laser_tower(corner=1) {
@@ -69,15 +77,62 @@ module reader(disk_size) {
}
}
spindle_driver_shaft_diam = get_holodisk_spool_spindle_connection_driver_size().x;
module spindle_driver_shaft() {
h=10; // TODO
down(h) cylinder(d=spindle_driver_shaft_diam, h=h, $fn=100);
}
module spindle_driver() {
union() {
holodisk_spool_spindle_connection_driver();
spindle_driver_shaft();
}
}
module spindle_driver_space() {
s=get_holodisk_spool_spindle_connection_driver_size();
down(0.01) scale(1.01) cylinder(d=s.x, h=s.z, $fn=100);
}
anim_spindle_rot=100;
module spindle1_driver() {
translate(get_holodisk_spool1_socket_pos_center())
zrot(anim(ANIM_PLAYING(), ANIM_PLAYING()+1)*anim_spindle_rot)
spindle_driver();
}
module spindle1_driver_space() {
translate(get_holodisk_spool1_socket_pos_center())
spindle_driver_space();
}
module spindle2_driver() {
translate(get_holodisk_spool2_socket_pos_center())
zrot(anim(ANIM_PLAYING(), ANIM_PLAYING()+1)*anim_spindle_rot)
spindle_driver();
}
module spindle2_driver_space() {
translate(get_holodisk_spool2_socket_pos_center())
spindle_driver_space();
}
//head();
retraction=laser_tower_size.z;
down(retraction)
up(anim(2, 3)*retraction)
down(anim(5, 6)*retraction)
translate(laser_pos) {
laser();
laser_tower();
up(anim(ANIM_RAISING(), ANIM_RAISING()+1)*retraction)
down(anim(ANIM_LOWERING(), ANIM_LOWERING()+1)*retraction)
union() {
translate(laser_pos) {
laser();
laser_tower();
}
color("yellow") {
spindle1_driver();
spindle2_driver();
}
}
color("DarkSlateBlue") {
@@ -88,6 +143,8 @@ module reader(disk_size) {
down(frame) difference() {
fwd(frame) cube([width, depth + frame, frame]);
scale(1.01) down(0.01) laser_space();
scale([1,1,5]) spindle1_driver_space();
scale([1,1,5]) spindle2_driver_space();
}
}
}