From 1299bb6ab49c68266e882a5a65744fff09abd8be Mon Sep 17 00:00:00 2001 From: wes Date: Sat, 13 Jul 2024 11:43:38 -0400 Subject: [PATCH] front panel --- amp_case.py | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/amp_case.py b/amp_case.py index e4486ee..859ea47 100644 --- a/amp_case.py +++ b/amp_case.py @@ -14,14 +14,22 @@ from math import ceil, floor side_width = 5 bottom_width = 5 middle_width = 2 +panel_width = 1.2 -amp_bottom_height = 19 + bottom_width + middle_width # how tall the pcb is +amp_bottom_height = 19 + bottom_width + middle_width # how tall the pcb is battery_width = 26 battery_height = 17 amp_width = 62 amp_length = 60 amp_height = battery_height + amp_bottom_height +panel_component_diameter = 7.8 +panel_distance = 10.5 + ( + panel_component_diameter / 2 +) # distance between each panel component +panel_dist_from_side = 2 +panel_dist_from_bottom = 0 # how far the panel components are from the bottom + result = Workplane().box(amp_length, amp_width, middle_width) result = ( @@ -33,12 +41,37 @@ result = ( ) result = ( - result.workplane(offset=amp_height/2) + result.workplane(offset=amp_height / 2) .center(0, amp_width / 2) .box(amp_length, amp_width + bottom_width, bottom_width) ) -result = result.workplane(offset=-(side_width*2) + middle_width).center((amp_width/2)-(side_width/2)-1, 0).box(side_width, amp_width, amp_height-0.45) +result = ( + result.workplane(offset=-7.8) + .center((amp_width / 2) - (panel_width / 2) - 1, 0) + .box(panel_width, amp_width, amp_height) +) + +panel_holes = ( + Workplane("ZY") + .workplane(offset=-(amp_length / 2)) + .center(panel_component_diameter + panel_dist_from_bottom, 0) + .line(0, panel_distance, forConstruction=True) + .vertices() + .cylinder(side_width, panel_component_diameter / 2) +) + +panel_holes_2 = ( + Workplane("ZY") + .workplane(offset=-(amp_length / 2)) + .center(panel_component_diameter + panel_dist_from_bottom, 0) + .line(0, -(panel_distance), forConstruction=True) + .vertices() + .cylinder(side_width, panel_component_diameter / 2) +) + +result = result.cut(panel_holes) +result = result.cut(panel_holes_2) cq.exporters.export(result, "/home/deck/model_files/amp_case.step")