Added hole support for CPU holder

This commit is contained in:
Roberto Alsina 2023-03-15 10:46:36 -03:00
parent 4f1b09ab95
commit d64654f7b1
4 changed files with 85 additions and 74 deletions

View File

@ -124,43 +124,45 @@ def add(
shell_t shell_t
): ):
# Vents if bottom_face:
for vent in vents: # Vents
model = punch_hole2( for vent in vents:
model=model, model = punch_hole2(
face=bottom_face, model=model,
w=width, face=bottom_face,
h=height, w=width,
x_offset=offset_x + vent["x"], h=height,
y_offset=shell_t + offset_y + vent["y"], x_offset=offset_x + vent["x"],
hole=vent, y_offset=shell_t + offset_y + vent["y"],
depth=shell_t, hole=vent,
) depth=shell_t,
)
# Battery holder stands and pogo pin holder # Battery holder stands and pogo pin holder
for element in elements: for element in elements:
model = extrude_shape( model = extrude_shape(
model=model, model=model,
face=bottom_face, face=bottom_face,
w=width, w=width,
h=height, h=height,
x_offset=offset_x + element["x"], x_offset=offset_x + element["x"],
y_offset=shell_t + offset_y + element["y"], y_offset=shell_t + offset_y + element["y"],
shape=element["shape"], shape=element["shape"],
height=-(element["height"] + shell_t), height=-(element["height"] + shell_t),
) )
# Holes if back_face:
for hole in holes: # Holes
model = punch_hole2( for hole in holes:
model=model, model = punch_hole2(
face=back_face, model=model,
w=width, face=back_face,
h=thickness, w=width,
x_offset=width - offset_x, h=thickness,
y_offset=shell_t, x_offset=width - offset_x,
hole=hole, y_offset=shell_t,
depth=shell_t, hole=hole,
) depth=shell_t,
)
return model return model

View File

@ -200,7 +200,7 @@ def model():
offset_x=cpu_offset_x, offset_x=cpu_offset_x,
offset_y=cpu_offset_y, offset_y=cpu_offset_y,
bottom_face="<Z", bottom_face="<Z",
back_face=None, back_face=None, # Not exposing the holes
shell_t=shell_t, shell_t=shell_t,
) )

View File

@ -33,4 +33,4 @@ def punch_hole2(*, model, face, w, h, x_offset, y_offset, hole, depth):
.center(-w / 2 + x_offset + hole["x"], -h / 2 + y_offset + hole["y"]) .center(-w / 2 + x_offset + hole["x"], -h / 2 + y_offset + hole["y"])
.placeSketch(hole["shape"]) .placeSketch(hole["shape"])
.cutBlind(-depth) .cutBlind(-depth)
) )

View File

@ -60,7 +60,14 @@ vents = [
} }
] ]
holes = [] # TODO holes = [
# One hole for everything TODO: improve
{
"x": -width / 2,
"y": 1 + pillar_height,
"shape": cq.Sketch().trapezoid(50, 6, 90, mode="a").vertices().fillet(1),
}
]
def add( def add(
@ -76,43 +83,45 @@ def add(
shell_t shell_t
): ):
# Vents if bottom_face:
for vent in vents: # Vents
model = punch_hole2( for vent in vents:
model=model, model = punch_hole2(
face=bottom_face, model=model,
w=width, face=bottom_face,
h=height, w=width,
x_offset=offset_x + vent["x"], h=height,
y_offset=shell_t + offset_y + vent["y"], x_offset=offset_x + vent["x"],
hole=vent, y_offset=shell_t + offset_y + vent["y"],
depth=shell_t, hole=vent,
) depth=shell_t,
)
# CPU holder extrusions # CPU holder extrusions
for element in elements: for element in elements:
model = extrude_shape( model = extrude_shape(
model=model, model=model,
face=bottom_face, face=bottom_face,
w=width, w=width,
h=height, h=height,
x_offset=offset_x + element["x"], x_offset=offset_x + element["x"],
y_offset=shell_t + offset_y + element["y"], y_offset=shell_t + offset_y + element["y"],
shape=element["shape"], shape=element["shape"],
height=-(element["height"] + shell_t), height=-(element["height"] + shell_t),
) )
# Holes # Holes
for hole in holes: if back_face:
model = punch_hole2( for hole in holes:
model=model, model = punch_hole2(
face=back_face, model=model,
w=width, face=back_face,
h=thickness, w=width,
x_offset=width - offset_x, h=thickness,
y_offset=shell_t, x_offset=width - offset_x,
hole=hole, y_offset=shell_t,
depth=shell_t, hole=hole,
) depth=shell_t,
)
return model return model