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="