Make audio interface a real component
This commit is contained in:
parent
26c50d4da7
commit
de04e5627c
@ -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,
|
||||
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 773 KiB After Width: | Height: | Size: 774 KiB |
@ -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="<Z",
|
||||
back_face=">X",
|
||||
shell_t=shell_t,
|
||||
)
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user