From 9f295d921eab24950c6f54833bbe54c0493c636b Mon Sep 17 00:00:00 2001 From: Roberto Alsina Date: Tue, 15 Nov 2022 15:24:45 -0300 Subject: [PATCH] Split in quad --- guardacosas/modelo.py | 37 - notebook_nueva/model.stl | 42170 ------------------------------------- notebook_nueva/modelo.py | 95 +- 3 files changed, 63 insertions(+), 42239 deletions(-) delete mode 100644 guardacosas/modelo.py delete mode 100644 notebook_nueva/model.stl diff --git a/guardacosas/modelo.py b/guardacosas/modelo.py deleted file mode 100644 index d1d431a..0000000 --- a/guardacosas/modelo.py +++ /dev/null @@ -1,37 +0,0 @@ -import cadquery2 as cq -from cadquery2 import exporters - - -# The hole for the "peg" where this goes -peg_front = 9.5 -peg_side = 9 -peg_height = 12 - -# General size of the handle -width = 20 -length = 70 -height = 16 - -# General shape of the handle seen from above - -handle_shape_top = cq.Sketch().trapezoid(width, length, 85).vertices().fillet(3) -hole_shape = cq.Sketch().trapezoid(peg_front, peg_side, 90) -bottom_cutout = cq.Sketch().trapezoid(width, length - width, 90) - -handle = ( - cq.Workplane("XY") - .placeSketch(handle_shape_top) - .extrude(height) - .faces("Z") - .shell(-shell_t) - # Make the lower part solid to mount the kbd - # .faces("Z") - .workplane(centerOption="CenterOfBoundBox") - .center(-width/2, 17) - .transformed(rotate=cq.Vector(kbd_angle, 0, 0)) - .tag("sloped") - .placeSketch(pillars) - .extrude(-1000) - # Remove the excess extrusion - .workplaneFromTagged("mid_height") - .transformed(offset=cq.Vector(0, 0, -thickness / 2)) - .split(keepTop=True) - # Slope for the beyboard - .workplaneFromTagged("sloped") - .split(keepBottom=True) -) +def model(): + return ( + cq.Workplane("XY") + .workplane(offset=thickness / 2) + .tag("mid_height") + # Hollow box + .box(width, height, thickness) + .edges("|Z") + .fillet(2) + .faces(">Z") + .shell(-shell_t) + # Slanted mounting pillars on the kbd top + .faces(">Z") + .workplane(centerOption="CenterOfBoundBox") + .center(-width / 2, 17) + .transformed(rotate=cq.Vector(kbd_angle, 0, 0)) + .tag("sloped") + .placeSketch(pillars) + .extrude(-1000) + # Remove the excess extrusion + .workplaneFromTagged("mid_height") + .transformed(offset=cq.Vector(0, 0, -thickness / 2)) + .split(keepTop=True) + # Slope for the beyboard + .workplaneFromTagged("sloped") + .split(keepBottom=True) + ) + +top_right = ( + model() + .faces(">Y") + .workplane(offset = -120).split(keepTop=True) + .faces(">X") + .workplane(offset=-135).split(keepTop=True) +) +exporters.export(top_right, "top_right.stl") + +top_left = ( + model() + .faces(">Y") + .workplane(offset = -120).split(keepTop=True) + .faces(">X") + .workplane(offset=-135).split(keepBottom=True) +) +exporters.export(top_left, "top_left.stl") + +bottom_right = ( + model() + .faces(">Y") + .workplane(offset = -120).split(keepBottom=True) + .faces(">X") + .workplane(offset=-165).split(keepTop=True) +) +exporters.export(bottom_right, "bottom_right.stl") + +bottom_left = ( + model() + .faces(">Y") + .workplane(offset = -120).split(keepBottom=True) + .faces(">X") + .workplane(offset=-165).split(keepBottom=True) +) +exporters.export(bottom_left, "bottom_left.stl") -exporters.export(model, "model.stl")