diff --git a/fan_control_box.py b/fan_control_box.py index f919284..1cedfd1 100644 --- a/fan_control_box.py +++ b/fan_control_box.py @@ -29,12 +29,11 @@ barrel_diameter = 11 # digikey perfboard # It's the distance to the *middle* of the hole -breadboard_height = 81 +breadboard_height = 68.68 breadboard_width = 50.8 bb_hole_dist_from_top = 5.37 bb_hole_dist_from_side = 25.23 - bb_hole_diameter = 2.76 # buck converter @@ -53,7 +52,7 @@ lbc_width = 57.8 lbc_hole_dist_from_top = 4.5 lbc_hole_dist_from_side = 25.8 -lbc_hole_diameter = 7.0 +lbc_hole_diameter = 5.8 lbc_hole_radius = lbc_hole_diameter / 2.0 wall_thickness = 3 @@ -65,7 +64,8 @@ wall_thickness = 3 box_radius = 87 + wall_thickness box_thickness = 25 -pole_height = box_thickness - 2 +pole_height = box_thickness - 3 +inner_pole_height = 13 pole_dist = 3 lower_box = Workplane() @@ -105,64 +105,66 @@ def make_component_holder_octogon( ) ) .vertices() - .threadedHole(top_screw, pole_height * 0.4, simple=screw_simple) + .threadedHole(top_screw, pole_height * 0.6, simple=screw_simple, fit="Close") ) def make_component_holder_line( result, pole_height=0, + pole_radius=3, line_x_dist=0, line_y_dist=0, x_offset=0, y_offset=0, ): return ( - result.workplane(offset=(pole_height / 2) - wall_thickness) + result.workplane(offset=(wall_thickness / 2.0)) .move(x_offset, y_offset) .line( line_x_dist, line_y_dist, ) .vertices() - .cylinder(pole_height, 3) - .workplane(offset=(pole_height - wall_thickness + 1.5)) + .cylinder(inner_pole_height, pole_radius) + .workplane(offset=(wall_thickness * 2) + 3.7) .move(x_offset, y_offset) .line( line_x_dist, line_y_dist, ) .vertices() - .threadedHole(top_screw, pole_height * 0.4, simple=screw_simple) + .threadedHole(top_screw, inner_pole_height, simple=screw_simple, fit="Close") ) def make_component_holder( result, pole_dist, - pole_height, - box_width, - box_height, + pole_height=0, + pole_radius=3, + box_width=None, + box_height=None, x_offset=0, y_offset=0, ): return ( - result.workplane(offset=(pole_height / 2) - wall_thickness) + result.workplane(offset=(wall_thickness / 2.0)) .move(x_offset, y_offset) .rect( box_height, box_width, ) .vertices() - .cylinder(pole_height, 3) - .workplane(offset=(pole_height - wall_thickness + 1.5)) + .cylinder(inner_pole_height, pole_radius) + .workplane(offset=(wall_thickness * 2) + 3.7) .move(x_offset, y_offset) .rect( box_height, box_width, ) .vertices() - .threadedHole(top_screw, pole_height * 0.4, simple=screw_simple) + .threadedHole(top_screw, inner_pole_height, simple=screw_simple, fit="Close") ) @@ -218,23 +220,38 @@ lower_box = make_component_holder( lower_box = make_component_holder( lower_box, pole_dist, - 10, - breadboard_width, - breadboard_height, + pole_height=5, + box_width=breadboard_width, + box_height=breadboard_height, x_offset=0, y_offset=40, ) lower_box = make_component_holder_line( lower_box, - pole_height=8, + pole_height=5, + line_x_dist=breadboard_height, + line_y_dist=0, + x_offset=-(breadboard_height / 2.0), + y_offset=40, +) + +bc_pole_radius = 4 +lower_box = lower_box.workplane(offset=(wall_thickness / 2.0)).move(-(lbc_height/2.0), -25).box(5, lbc_width-5, 13) +lower_box = lower_box.workplane(offset=(wall_thickness / 2.0)).move(lbc_height/2.0 - bc_pole_radius*2, -25).box(5, lbc_width-5, 13) +lower_box = make_component_holder_line( + lower_box, + pole_height=6, + pole_radius=bc_pole_radius, line_x_dist=lbc_height - lbc_hole_diameter - lbc_hole_radius, line_y_dist=0, x_offset=-(lbc_height / 2.0), y_offset=-(lbc_width / 2.5), ) -cq.exporters.export(lower_box, "/home/deck/model_files/fan_control_box_lower.step") +#lower_box = lower_box.workplane(offset=(wall_thickness / 2.0)).box(lbc_height, 5, 13) + +cq.exporters.export(lower_box, "/home/deck/model_files/fan_control_box_lower.stl") try: show_object(lower_box)