From 37723da199664201d0a24b526f1056b572bcadb0 Mon Sep 17 00:00:00 2001 From: Nikita Kostovsky Date: Mon, 26 Jan 2026 22:47:37 +0100 Subject: add holes --- body/body.scad | 194 +++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 133 insertions(+), 61 deletions(-) (limited to 'body/body.scad') diff --git a/body/body.scad b/body/body.scad index 15faa18..a3ec753 100644 --- a/body/body.scad +++ b/body/body.scad @@ -42,79 +42,94 @@ module cam_and_lense_new() //tpw = $m12_lense_holder_size; tpw = veye_imx287_pcb_w; - color("pink", 0.6) - union() + //color("pink", 0.6) + difference() { - //color("green", 0.3) - difference() + union() { - //color("blue", 0.3) - hull() + //color("green", 0.3) + difference() { - translate([0, 0, $lenseYPosMm]) - rotate([-$opticalAxisAngleDegrees, 0, 0]) - translate([0, -$lenseSensorDistanceMm, 0]) - rotate([$sensorLenseAngleDegrees, 0, 0]) - veye_imx287_mount_plate_outer(); - - translate([0, 0, $lenseYPosMm]) - rotate([-$opticalAxisAngleDegrees, 0, 0]) + //color("blue", 0.3) + hull() { - //color("blue", 0.3) + translate([0, 0, $lenseYPosMm]) + rotate([-$opticalAxisAngleDegrees, 0, 0]) + translate([0, -$lenseSensorDistanceMm, 0]) + rotate([$sensorLenseAngleDegrees, 0, 0]) + veye_imx287_mount_plate_outer(); + + translate([0, 0, $lenseYPosMm]) + rotate([-$opticalAxisAngleDegrees, 0, 0]) { - - m12_lense_holder_base(); - color("blue", 0.3) - %m12_lense_holder(); + //color("blue", 0.3) + { + + m12_lense_holder_base(); + //color("blue", 0.3) + *%m12_lense_holder(); + } } } - } - - hull() - translate([0, 0, $lenseYPosMm]) - rotate([-$opticalAxisAngleDegrees, 0, 0]) - { - m12_lense_circle(); - translate([0, -$lenseSensorDistanceMm, 0]) - rotate([$sensorLenseAngleDegrees, 0, 0]) - veye_imx287_mount_plate_inner(); - } - } - - // top part - hull() - { - // lense holder helper - { - //color("red", 0.3) + + hull() translate([0, 0, $lenseYPosMm]) rotate([-$opticalAxisAngleDegrees, 0, 0]) - //translate([0, -$lenseSensorDistanceMm, 0]) - //rotate([$sensorLenseAngleDegrees, 0, 0]) - m12_lense_holder_top(); - } - - // cam holder helper - { - pcb_w = veye_imx287_pcb_w; - pcb_h = veye_imx287_pcb_h; - //color("yellow", 0.5) + { + m12_lense_circle(); + translate([0, -$lenseSensorDistanceMm, 0]) + rotate([$sensorLenseAngleDegrees, 0, 0]) + veye_imx287_mount_plate_inner(); + } + translate([0, 0, $lenseYPosMm]) rotate([-$opticalAxisAngleDegrees, 0, 0]) - translate([0, -$lenseSensorDistanceMm, 0]) - rotate([$sensorLenseAngleDegrees, 0, 0]) - //cube([pcb_w + $tiny_padding * 2, 1, 1]); - veye_imx287_mount_plate_outer_top(); + scale([1, 2, 1]) + m12_lense_holder_screw_holes(); } - // wall near body + // top part + hull() { - //color("orange", 0.3) - translate([-pcb_w / 2, -$sbfwo, 116]) - rotate([90, 0, 0]) - cube([pcb_w, 14, 1]); + // lense holder helper + { + //color("red", 0.3) + translate([0, 0, $lenseYPosMm]) + rotate([-$opticalAxisAngleDegrees, 0, 0]) + //translate([0, -$lenseSensorDistanceMm, 0]) + //rotate([$sensorLenseAngleDegrees, 0, 0]) + m12_lense_holder_top(); + } + + // cam holder helper + { + pcb_w = veye_imx287_pcb_w; + pcb_h = veye_imx287_pcb_h; + //color("yellow", 0.5) + translate([0, 0, $lenseYPosMm]) + rotate([-$opticalAxisAngleDegrees, 0, 0]) + translate([0, -$lenseSensorDistanceMm, 0]) + rotate([$sensorLenseAngleDegrees, 0, 0]) + //cube([pcb_w + $tiny_padding * 2, 1, 1]); + veye_imx287_mount_plate_outer_top(); + } + + // wall near body + { + //color("orange", 0.3) + translate([-pcb_w / 2, -$sbfwo, 116]) + rotate([90, 0, 0]) + cube([pcb_w, 14, 1]); + } } } + + + translate([0, 0, $lenseYPosMm]) + rotate([-$opticalAxisAngleDegrees, 0, 0]) + translate([0, -$lenseSensorDistanceMm, 0]) + rotate([$sensorLenseAngleDegrees, 0, 0]) + veye_imx287_mount_holes(); } } @@ -397,6 +412,27 @@ module laser_holder_screw_holes() } } +module cam_lense_holder_screw_holes() +{ + id = 4; + // scanner coords + x_offset = 10; + y_center = 123; + y_offset = 3; + + for (x = [x_offset, -x_offset], yo = [y_offset, -y_offset]) + { + translate([x, -wzo, y_center + yo]) + screw_hole( + m = m2, + id = id, + il = hole_insert_height, + hd = m2_head_diameter, + hh = m2_head_height, + hs = hole_side_front); + } +} + module visualize_yz_range() { lenseY = $lenseYPosMm; @@ -573,19 +609,55 @@ module radxa() module other() { //cam_and_lense(); - cam_and_lense_new(); + difference() + { + cam_and_lense_new(); + //translate([-$tiny_padding*100, 0, 0]) + translate([0, $tiny_padding, 0]) + cam_lense_holder_screw_holes(); + } //visualize_yz_range(); //visualize_xz_range(); visualize_range(); laser_with_holder(); - radxa(); + %radxa(); } -*other(); +// visual block + +union() +{ + *other(); + + *cam_lense_holder_screw_holes(); + + difference() + { + scanner_main_frame(); + camera_hole(); + laser_glass_hole(); + laser_holder_screw_holes(); + m12_connectors(); + cam_lense_holder_screw_holes(); + } +} + +// printing cam/lense holder +*union() +{ + difference() + { + cam_and_lense_new(); + //translate([-$tiny_padding*100, 0, 0]) + translate([0, $tiny_padding, 0]) + cam_lense_holder_screw_holes(); + } +} -difference() +// printing body +*difference() { scanner_main_frame(); camera_hole(); -- cgit v1.2.3-70-g09d2