New lid part

This commit is contained in:
Roberto Alsina 2023-03-31 12:37:19 -03:00
parent 0335944118
commit 1b17c1e585
4 changed files with 80 additions and 0 deletions

Binary file not shown.

80
notebook_nueva/lid.py Normal file
View File

@ -0,0 +1,80 @@
import cadquery as cq
from cadquery import exporters
from modelo import mounting_pillar_positions, shell_t, width
from utils import hex_vents, punch_hole
# Dimensions for countersunk M4 screws
m4_top = 7.5
m4_bottom = 4
m4_height = 2.5
height = 64.5 + shell_t # Measured
thickness = shell_t
front_lip = 8
def model():
# Create the basic shape of the case bottom.
model = (
cq.Workplane("XY")
# Hollow box
.box(width, height, thickness)
.edges("|Z and >Y")
.fillet(2)
)
# Make many holes
vent = hex_vents(size=6, width=width * 0.9, height=height * 0.9)[0]
model = punch_hole(
model=model,
face=">Z",
w=width,
h=height,
x_offset=0.05 * width,
y_offset=0.05 * height,
hole=vent,
depth=thickness,
)
# Add screw holes
for position in mounting_pillar_positions:
model = (
model.faces(">Z")
.workplane(centerOption="CenterOfBoundBox")
.center(-width / 2 + position[0], height / 2 - position[1])
.placeSketch(cq.Sketch().circle(6))
.extrude(-thickness)
.faces(">Z")
.workplane(centerOption="CenterOfBoundBox")
.center(-width / 2 + position[0], height / 2 - position[1])
.cskHole(m4_bottom, m4_top, 82, depth=None)
)
# Add front edge
model = (
model.faces(">Z")
.workplane(centerOption="CenterOfBoundBox")
.center(0, -height / 2 - shell_t / 2)
.placeSketch(cq.Sketch().trapezoid(width, shell_t, 90))
.extrude(-front_lip - thickness)
)
return model
if __name__ == "__main__":
model = model()
exporters.export(model, "lid.stl")
exporters.export(
model.faces(">X").workplane(offset=-width / 2).split(keepTop=True),
"right_side_lid.stl",
)
exporters.export(
model.faces(">X").workplane(offset=-width / 2).split(keepBottom=True),
"left_side_lid.stl",
)

BIN
notebook_nueva/lid.stl Normal file

Binary file not shown.

Binary file not shown.