diff --git a/notebook_nueva/audio_plug.py b/notebook_nueva/audio_plug.py index 30f69cf..625b66b 100644 --- a/notebook_nueva/audio_plug.py +++ b/notebook_nueva/audio_plug.py @@ -2,17 +2,41 @@ import cadquery as cq -from utils import punch_hole +from utils import extrude_shape, punch_hole # The hole is for a random USB sound card. # Consumers should set proper offsets for the hole +# FIXME: use actual sizes +item_w = 40 +item_h = 20 + +hole_w = 17 +hole_h = 5 + holes = [ # 2-jack plug { - "x": 0, + "x": -item_h / 2, "y": 4, - "shape": cq.Sketch().trapezoid(17, 5, 90, mode="a").vertices().fillet(2), + "shape": cq.Sketch() + .trapezoid(hole_w, hole_h, 90, mode="a") + .vertices() + .fillet(2), + }, +] + +elements = [ + # Outline + { + "x": item_w / 2, + "y": item_h / 2, + "shape": ( + cq.Sketch() + .trapezoid(item_w, item_h, 90, mode="a") + .trapezoid(item_w - 2, item_h - 2, 90, mode="s") + ), + "height": 0.2, }, ] @@ -29,6 +53,20 @@ def add( back_face, shell_t ): + # Extrusions + if bottom_face: + for element in elements: + model = extrude_shape( + model=model, + face=bottom_face, + w=width, + h=height, + x_offset=offset_x, + y_offset=offset_y, + element=element, + height=-(element["height"] + shell_t), + ) + # Holes if back_face: for hole in holes: @@ -36,11 +74,11 @@ def add( model=model, face=back_face, # FIXME: This is weird because it's the RIGHT side, - # So it's height instead of w + # So it's height instead of w, offset_y instead of x # need to work on making these coherent w=height, h=thickness, - x_offset=offset_x - 17 / 2, + x_offset=height - offset_y, y_offset=shell_t, hole=hole, depth=shell_t, diff --git a/notebook_nueva/model.stl b/notebook_nueva/model.stl index 82ddd21..c109ae5 100644 Binary files a/notebook_nueva/model.stl and b/notebook_nueva/model.stl differ diff --git a/notebook_nueva/model.svg b/notebook_nueva/model.svg index 2310e35..7a33841 100644 --- a/notebook_nueva/model.svg +++ b/notebook_nueva/model.svg @@ -1341,20 +1341,24 @@ - - - - - - + + + + + + - - - - - - - + + + + + + + + + + + @@ -1470,19 +1474,27 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1520,10 +1532,8 @@ - - @@ -1563,13 +1573,13 @@ - - - - - + + + + + @@ -2957,6 +2967,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -2966,21 +2997,6 @@ - - - - - - - - - - - - - - - diff --git a/notebook_nueva/modelo.py b/notebook_nueva/modelo.py index 28aadfb..c90a312 100644 --- a/notebook_nueva/modelo.py +++ b/notebook_nueva/modelo.py @@ -96,9 +96,9 @@ def model(): width=width, height=height, thickness=thickness, - offset_x=111, # Offset from the front-left corner - offset_y=0, # Offset from the bottom - bottom_face=None, + offset_x=width - audio_plug.item_w, + offset_y=40, + bottom_face="