@@ -112,11 +112,38 @@ module frame(size) { | |||||
module walls() { | module walls() { | ||||
walls_height=height-plate*2; | walls_height=height-plate*2; | ||||
up(plate) linear_extrude(height=walls_height) { | |||||
//back_bumpers(); | |||||
shell2d(thickness=-wall) { | |||||
square([width, depth]); | |||||
difference() { | |||||
up(plate) linear_extrude(height=walls_height) { | |||||
//back_bumpers(); | |||||
shell2d(thickness=-wall) { | |||||
square([width, depth]); | |||||
} | |||||
} | } | ||||
translate(get_holodisk_laserwindow_pos_center()) cube(get_holodisk_laserwindow_size(), center=true); | |||||
} | |||||
} | |||||
module front_plates() { | |||||
th = get_holodisk_front_plate_thickness(); | |||||
slide_pos = get_holodisk_slide_pos(); | |||||
offset=4.5; | |||||
plate_len_side=slide_pos.y - offset/2; | |||||
plate_len_left=plate_len_side/2; | |||||
plate_len_right=plate_len_left*3; | |||||
// front | |||||
fwd(th) left(th) up(offset) { | |||||
cube([plate_len_left / 2 + th*2, th, height - offset*2]); | |||||
} | |||||
fwd(th) right(width-plate_len_right-th) up(offset) { | |||||
cube([plate_len_right + th*2, th, height - offset*2]); | |||||
} | |||||
// left | |||||
fwd(th) left(th) up(offset) { | |||||
cube([th, plate_len_side, height - offset*2]); | |||||
} | |||||
// right | |||||
fwd(th) right(width) up(offset) { | |||||
cube([th, plate_len_side, height - offset*2]); | |||||
} | } | ||||
} | } | ||||
@@ -169,6 +196,7 @@ module frame(size) { | |||||
color("grey") walls(); | color("grey") walls(); | ||||
color("Silver") slides(); | color("Silver") slides(); | ||||
color("SaddleBrown") bottom_cover(); | color("SaddleBrown") bottom_cover(); | ||||
color("SaddleBrown") front_plates(); | |||||
//color("silver") back_bolts(); | //color("silver") back_bolts(); | ||||
//color("silver") front_bolts(); | //color("silver") front_bolts(); | ||||
} | } | ||||
@@ -7,6 +7,8 @@ | |||||
function get_holodisk_size() = [55, 100, 16]; | function get_holodisk_size() = [55, 100, 16]; | ||||
function get_holodisk_front_plate_thickness() = 1; | |||||
// -- tape -- | // -- tape -- | ||||
function get_holodisk_tape_height() = 5; | function get_holodisk_tape_height() = 5; | ||||
@@ -28,11 +30,11 @@ 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, 15, get_holodisk_slide_size().z + srz]; | ||||
function get_holodisk_slide_slider_pos() = [get_holodisk_slide_sliding_pos().x, get_holodisk_slide_sliding_pos().y, get_holodisk_slide_sliding_pos().z - get_holodisk_slide_slider_size().z/2 + 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]; | |||||
// -- laser -- | // -- laser -- | ||||
function get_holodisk_laser_cutout_size() = [15, 9, 20]; | |||||
function get_holodisk_laser_cutout_size() = [12, 9, 20]; | |||||
function get_holodisk_laser_cutout_pos() = [ | function get_holodisk_laser_cutout_pos() = [ | ||||
get_holodisk_size().x/2 - get_holodisk_laser_cutout_size().x/2, | get_holodisk_size().x/2 - get_holodisk_laser_cutout_size().x/2, | ||||
@@ -43,6 +43,10 @@ module reader(disk_size) { | |||||
} | } | ||||
} | } | ||||
module laser_space() { | |||||
translate(get_holodisk_laser_cutout_pos_center()) cube(get_holodisk_laser_cutout_size(), center=true); | |||||
} | |||||
module head_space() { | module head_space() { | ||||
/*stube=[head_size.x-head_frame*2, head_size.y+head_frame*3, head_size.z-head_frame*2]; | /*stube=[head_size.x-head_frame*2, head_size.y+head_frame*3, head_size.z-head_frame*2]; | ||||
up(head_size.z/4 + head_frame) | up(head_size.z/4 + head_frame) | ||||
@@ -65,7 +69,7 @@ module reader(disk_size) { | |||||
} | } | ||||
} | } | ||||
head(); | |||||
//head(); | |||||
retraction=laser_tower_size.z; | retraction=laser_tower_size.z; | ||||
down(retraction) | down(retraction) | ||||
@@ -81,7 +85,10 @@ module reader(disk_size) { | |||||
fwd(frame) cube([width, frame, height]); | fwd(frame) cube([width, frame, height]); | ||||
head_space(); | head_space(); | ||||
} | } | ||||
fwd(frame) down(frame) cube([width, depth + frame, frame]); | |||||
down(frame) difference() { | |||||
fwd(frame) cube([width, depth + frame, frame]); | |||||
scale(1.01) down(0.01) laser_space(); | |||||
} | |||||
} | } | ||||
} | } | ||||