소스 검색

Tied sliding mechanism to the laser cover

master
Dejvino 3 년 전
부모
커밋
c25bf961e5
3개의 변경된 파일75개의 추가작업 그리고 11개의 파일을 삭제
  1. +6
    -6
      holodisk.scad
  2. +47
    -2
      holodisk_frame.scad
  3. +22
    -3
      holodisk_spec.scad

+ 6
- 6
holodisk.scad 파일 보기

@@ -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;
spool2_depth=disk_size.y*0.40;
spool1_depth=get_holodisk_spool1_socket_pos_center().y;
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_tolerance=0.2;
spindle_diam=get_holodisk_spools_spindle_diam();
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,


+ 47
- 2
holodisk_frame.scad 파일 보기

@@ -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() {
@@ -171,14 +172,20 @@ module holodisk_frame() {
translate(slider_pos) cube(slider_plate_size); 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) { 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();


+ 22
- 3
holodisk_spec.scad 파일 보기

@@ -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 --

불러오는 중...
취소
저장