diff options
| author | Nikita Kostovsky <nikita@kostovsky.me> | 2026-01-31 15:44:57 +0100 |
|---|---|---|
| committer | Nikita Kostovsky <nikita@kostovsky.me> | 2026-01-31 15:44:57 +0100 |
| commit | 392ab1017c0491412d452013f2af02b7bf06cd1a (patch) | |
| tree | 2f56078030f031f13faa59186a9a67e719963075 /body/body.scad | |
| parent | 1c6a2cbe7b799e6ccb387b45546c779dcf9d3a9b (diff) | |
prepared body with all holes except mounting holes
Diffstat (limited to 'body/body.scad')
| -rw-r--r-- | body/body.scad | 116 |
1 files changed, 80 insertions, 36 deletions
diff --git a/body/body.scad b/body/body.scad index 127d005..1db4742 100644 --- a/body/body.scad +++ b/body/body.scad @@ -1,3 +1,4 @@ +include <body_config.scad> include <design.scad> include <helpers.scad> include <holes.scad> @@ -8,24 +9,6 @@ include <noctua_nf_a4x20.scad> include <radxa_zero_3e.scad> include <veye_imx287.scad> -// main frame size -// in scanner coords -// inner height is a bit random -// TODO: choose constant size to use one frame for -// many similar ranges -main_frame_height_y = 150; -main_frame_width_x = 34; -main_frame_depth_z = 56; - -// wall and wall thickness -$sbfwo = $scannerBodyFrontWallOffsetMm; -$wawt = -$scannerBodyFrontWallOffsetMm + $scannerBodyWallThicknessMm; -wt = $scannerBodyWallThicknessMm; -wzo = $scannerBodyFrontWallOffsetMm; - -// scanner coords -fan_y_offset = 80; - module cam_and_lense_new() { lhs = laser_holder_size(); @@ -559,35 +542,72 @@ module scanner_main_frame() } } + // back wall, bottom + translate([0, bwo, 10]) + hole_holder_hot_inserts(hs = hole_side_back); + + // back wall, top + translate([0, bwo, 120]) + hole_holder_hot_inserts(hs = hole_side_back); + + // top wall + translate([0, 0, two]) + hole_holder_hot_inserts(hs = hole_side_top); + + // front wall, bottom + translate([0, fwo, 12]) + hole_holder_hot_inserts(hs = hole_side_front); + + // front wall, top + translate([0, fwo, 83]) + hole_holder_hot_inserts(hs = hole_side_front); + // TODO: and now add some stands for screwing left/right covers // TODO: simplify inner cut cube after implementing this: // rounded corners won't be needed anymore // chinese fan //translate([0, -$scannerBodyFrontWallOffsetMm, 40]) - translate([0, -wzo - id, fan_y_offset]) + *translate([0, bwo, fan_y_offset]) ld3007ms(); } -module m12_connectors() +// s - scale +module m12_connectors(s = [1, 1, 1]) { - // inner height, width, depth and radius + // inner height, width, depth and radius (scanner coords) ih = main_frame_height_y; iw = main_frame_width_x; id = main_frame_depth_z; ir = wt; + // scanner coords + bottom_connector_y = 28; + bcy = bottom_connector_y; + + m12tpd = m12_male_conn_body_thick_part_d; + { // add outer m12 connectors //scale([1.05, 1, 1.05]) - translate([0, -wzo - id + $tiny_padding, 20 + m12_male_conn_body_thick_part_d + 5]) + // scale([1.1, 1, 1.1]) + translate([0, bwo + $tiny_padding, bcy + m12tpd + 5]) + scale(s) m12_female_connector(); - translate([0, -wzo - id + $tiny_padding, 20]) + translate([0, bwo + $tiny_padding, bcy]) + scale(s) m12_male_connector(); } } +module m12_connectors_to_cut() +{ + //translate([0, $tiny_padding * 50, 0]) + + m12_connectors([1.05, 1, 1.05]); +} + module laser_with_holder() { translate([0, -$laserZOffsetMm, 0]) @@ -600,20 +620,33 @@ module laser_with_holder() module body_fan_holes() { id = main_frame_depth_z; - translate([0, -wzo - id, fan_y_offset]) + translate([0, fwo, fan_y_offset]) ld3007ms_holes(); } module radxa() { translate([0, 0, 20]) - translate([ - 0, - -$scannerBodyFrontWallOffsetMm - 5, - radxa_zero_3e_pcb_h - 10]) + translate([0, fwo - 13, radxa_zero_3e_pcb_h - 5]) rotate([90, 0, 0]) //radxa_zero_3e_with_protoboard(); - radxa_zero_3e_with_protoboard_and_connectors(); + { + radxa_zero_3e_with_protoboard_and_connectors(); + %radxa_zero_3e_mount_plate_with_holes(); + } +} + +module radxa_body_cutter() +{ + translate([0, 0, 20]) + translate([0, fwo - 13, radxa_zero_3e_pcb_h - 5]) + rotate([90, 0, 0]) + *radxa_zero_3e_mount_plate_holes(); + + translate([0, 0, 20]) + translate([0, fwo, radxa_zero_3e_pcb_h - 5]) + rotate([90, 0, 0]) + radxa_zero_3e_mount_plate_outer_holes(); } module other() @@ -638,7 +671,7 @@ module other() // visual block // visualize camera -union() +*union() { translate([0, 0, $lenseYPosMm]) %rotate([-$opticalAxisAngleDegrees, 0, 0]) @@ -658,7 +691,7 @@ union() } } -union() +*union() { other(); @@ -671,10 +704,14 @@ union() camera_hole(); laser_glass_hole(); laser_holder_screw_holes(); - m12_connectors(); + m12_connectors_to_cut(); + //m12_connectors_to_cut(); cam_lense_holder_screw_holes(); - body_fan_holes(); + //body_fan_holes(); + radxa_body_cutter(); } + %m12_connectors(); + //m12_connectors_to_cut(); } // printing cam/lense holder @@ -690,17 +727,24 @@ union() } // printing body -*difference() +difference() { scanner_main_frame(); camera_hole(); laser_glass_hole(); laser_holder_screw_holes(); - m12_connectors(); + //m12_connectors(); + m12_connectors_to_cut(); + //body_fan_holes(); + radxa_body_cutter(); } *translate([0, -$laserZOffsetMm, 0]) { %laser_body(); laser_holder(); -}
\ No newline at end of file +} + +//m12_connectors(); +//m12_connectors_to_cut(); +//radxa_body_cutter();
\ No newline at end of file |
