From d0c1a2cdae99e5a77ae863a8072a63f34c3b6ef6 Mon Sep 17 00:00:00 2001 From: Roberto Alsina Date: Sun, 24 Jul 2022 10:30:22 -0300 Subject: [PATCH] Create STL for case pieces too --- monitor/case.py | 118 ++++++++++++++++++++++++++++-------------------- 1 file changed, 68 insertions(+), 50 deletions(-) diff --git a/monitor/case.py b/monitor/case.py index 609cb76..35f3427 100644 --- a/monitor/case.py +++ b/monitor/case.py @@ -37,54 +37,72 @@ back_reinforcement = ( threaded_inserts = cq.Sketch().rarray(width / 8, 0, 4, 1).circle(ti_radius, mode="a") -# Case for the screen -case = ( - # Basic filleted box shape - cq.Workplane("bottom") - .lineTo(-width, 0) - .lineTo(-width, height) - .lineTo(0, height) - .close() - .extrude(length) - .faces(">X") - .shell(-shell_t) - .edges("|X") - .fillet(fillet_s) - # Cutout visible screen area from top face - .faces(">Z") - .workplane(centerOption="CenterOfBoundBox") - .center((width - screen_w) / 2 - screen_left_margin, 0) - .placeSketch(screen_cutout) - .cutBlind(-shell_t) - # Cutout for segment breaks - .faces(">Z") - .workplane(centerOption="CenterOfBoundBox") - .center(0, length / 2) - .placeSketch(segment_breaks_top) - .cutBlind(-1000) - .center(0, -length) - .placeSketch(segment_breaks_bottom) - .cutBlind(-1000) - # Cutout for the circuit board - .faces("X") + .shell(-shell_t) + .edges("|X") + .fillet(fillet_s) + # Cutout visible screen area from top face + .faces(">Z") + .workplane(centerOption="CenterOfBoundBox") + .center((width - screen_w) / 2 - screen_left_margin, 0) + .placeSketch(screen_cutout) + .cutBlind(-shell_t) + # Cutout for segment breaks + .faces(">Z") + .workplane(centerOption="CenterOfBoundBox") + .center(0, length / 2) + .placeSketch(segment_breaks_top) + .cutBlind(-1000) + .center(0, -length) + .placeSketch(segment_breaks_bottom) + .cutBlind(-1000) + # Cutout for the circuit board + .faces("X") + .workplane(offset=-width/2) + .split(keepTop=True) +) +exporters.export(top_case, "case_1.stl") + +bottom_case = (case() + .faces(">X") + .workplane(offset=-width/2) + .split(keepBottom=True) +) +exporters.export(bottom_case, "case_2.stl")