Holodisk/holodisk_spec.scad
2020-12-31 14:15:57 +01:00

73 lines
2.2 KiB
OpenSCAD

/*
* Technical Specification for Wattz Electronics Holodisk (AKA Holotape or THT)
*
*/
// -- core dimensions --
function get_holodisk_size() = [55, 100, 16];
function get_holodisk_bottom_thickness() = 3;
function get_holodisk_front_plate_thickness() = 1;
// -- tape --
function get_holodisk_tape_height() = 5;
function get_holodisk_tape_thickness() = 0.2;
// -- slide --
spz = 8;
function get_holodisk_slide_size() = [2, 35, get_holodisk_size().z - spz];
function get_holodisk_slide_pos() = [0, 15, spz/2];
sy = 2;
sz = 4;
function get_holodisk_slide_sliding_size() = [get_holodisk_slide_size().x, get_holodisk_slide_size().y - sy, get_holodisk_slide_size().z - sz];
function get_holodisk_slide_sliding_pos() = [get_holodisk_slide_pos().x, get_holodisk_slide_pos().y + sy/2, get_holodisk_slide_pos().z + sz/2];
srx = 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_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 --
function get_holodisk_laser_cutout_size() = [12, 9, 20];
function get_holodisk_laser_cutout_pos() = [
get_holodisk_size().x/2 - get_holodisk_laser_cutout_size().x/2,
12,
0];
function get_holodisk_laser_cutout_pos_center() = [
get_holodisk_laser_cutout_pos().x + get_holodisk_laser_cutout_size().x/2,
get_holodisk_laser_cutout_pos().y + get_holodisk_laser_cutout_size().y/2,
get_holodisk_laser_cutout_pos().z + get_holodisk_laser_cutout_size().z/2];
// -- laser-window --
function get_holodisk_laserwindow_pos() = [
get_holodisk_laserwindow_pos_center().x - get_holodisk_laserwindow_size().x/2,
get_holodisk_laserwindow_pos_center().y - get_holodisk_laserwindow_size().y/2,
get_holodisk_laserwindow_pos_center().z - get_holodisk_laserwindow_size().z/2,
];
function get_holodisk_laserwindow_pos_center() = [
get_holodisk_laser_cutout_pos_center().x,
0,
6.5
];
function get_holodisk_laserwindow_size() = [
get_holodisk_laser_cutout_size().x,
30,
get_holodisk_tape_height() + 2
];
// -- END --