Loading openscad/libs/cameras/logitech_c270.scad +1 −1 Original line number Diff line number Diff line Loading @@ -162,7 +162,7 @@ hull-ed onto the lens assembly. */ module c270_camera_mount(screwhole=true){ // camera dims // camera mount dims h = c270_dims().y; w = c270_dims().x + 1.5; //wider_ section around lens Loading openscad/libs/main_body_structure.scad +24 −2 Original line number Diff line number Diff line Loading @@ -402,8 +402,10 @@ module xy_legs_and_actuators(params){ nominal_travel = upper_xy_flex_z(params) * flex_a(); clearance = 0.5; c270_oversize = c270_dims().x + (nominal_travel + clearance)*2; c270_lens_spacer_body_width = c270_dims().x + 1.5; c270_oversize = c270_lens_spacer_body_width + (nominal_travel + clearance)*2; cut_depth = (c270_oversize - leg_sep)/2; // The strengthening part cannot move further than the leg thickness cut_xy = min(cut_depth, leg_dims(params).x - tiny()) * sin(45); c270_z_space = 22; c270_mid_z = (upper_xy_flex_z(params) - 1) - (c270_z_space + 4)/2; Loading @@ -422,11 +424,31 @@ module xy_legs_and_actuators(params){ translate([-cut_xy,cut_xy,0]){ intersection(){ leg_frame(params, 135){ hull(){ intersection(){ leg(params); // Hull the leg, so that there is a solid centre to use, // but the top and bottom flexure blocks cause a problem // so intersect above the lower block and below the top block leg_block_avoid = key_lookup("leg_block_t", params) + 2; translate([-leg_width, -2*leg_r, leg_block_avoid]){ cube([2*leg_width, 4*leg_r, upper_xy_flex_z(params)-leg_block_avoid], center=false); } } } } hull(){ translate_z(c270_mid_z){ rounding = max(cut_round,5); rounded_cube([c270_oversize, 99, c270_z_space+4], rounding, center=true); rounded_cube([c270_oversize, 4*leg_r, c270_z_space+4], rounding, center=true); // A central object low down, to make sure that the part has a // printable slope translate_z(-c270_z_space){ rotate_x(90){ cylinder(d=10, h=4*leg_r, center=true); } } } } } } Loading Loading
openscad/libs/cameras/logitech_c270.scad +1 −1 Original line number Diff line number Diff line Loading @@ -162,7 +162,7 @@ hull-ed onto the lens assembly. */ module c270_camera_mount(screwhole=true){ // camera dims // camera mount dims h = c270_dims().y; w = c270_dims().x + 1.5; //wider_ section around lens Loading
openscad/libs/main_body_structure.scad +24 −2 Original line number Diff line number Diff line Loading @@ -402,8 +402,10 @@ module xy_legs_and_actuators(params){ nominal_travel = upper_xy_flex_z(params) * flex_a(); clearance = 0.5; c270_oversize = c270_dims().x + (nominal_travel + clearance)*2; c270_lens_spacer_body_width = c270_dims().x + 1.5; c270_oversize = c270_lens_spacer_body_width + (nominal_travel + clearance)*2; cut_depth = (c270_oversize - leg_sep)/2; // The strengthening part cannot move further than the leg thickness cut_xy = min(cut_depth, leg_dims(params).x - tiny()) * sin(45); c270_z_space = 22; c270_mid_z = (upper_xy_flex_z(params) - 1) - (c270_z_space + 4)/2; Loading @@ -422,11 +424,31 @@ module xy_legs_and_actuators(params){ translate([-cut_xy,cut_xy,0]){ intersection(){ leg_frame(params, 135){ hull(){ intersection(){ leg(params); // Hull the leg, so that there is a solid centre to use, // but the top and bottom flexure blocks cause a problem // so intersect above the lower block and below the top block leg_block_avoid = key_lookup("leg_block_t", params) + 2; translate([-leg_width, -2*leg_r, leg_block_avoid]){ cube([2*leg_width, 4*leg_r, upper_xy_flex_z(params)-leg_block_avoid], center=false); } } } } hull(){ translate_z(c270_mid_z){ rounding = max(cut_round,5); rounded_cube([c270_oversize, 99, c270_z_space+4], rounding, center=true); rounded_cube([c270_oversize, 4*leg_r, c270_z_space+4], rounding, center=true); // A central object low down, to make sure that the part has a // printable slope translate_z(-c270_z_space){ rotate_x(90){ cylinder(d=10, h=4*leg_r, center=true); } } } } } } Loading