* Round stands

* Battery holder
* Power cable cutoff
* Dimensional fixes
This commit is contained in:
Roberto Alsina 2022-11-22 15:41:47 -03:00
parent df1ee0d425
commit 897e314f9e
4 changed files with 108712 additions and 40574 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -4,17 +4,19 @@ from cadquery2 import exporters
# Base for the notebook. Basically a kbd base that extends back # Base for the notebook. Basically a kbd base that extends back
# as much as possible # as much as possible
# Size of the whole object
width = 295
height = 160
thickness = 25
kbd_height = 100
kbd_angle = 6
# Thickness of the outer material # Thickness of the outer material
shell_t = 3 shell_t = 3
# Size of the kbd board
kbd_height = 98
kbd_width = 290
kbd_angle = 5
# Size of the whole object
width = kbd_width + 2 * shell_t
height = 164 # Max bed size
thickness = 20 + shell_t # 20 inside
# Insert Positions # Insert Positions
ti_radius = 2.35 ti_radius = 2.35
ti_depth = 6.25 ti_depth = 6.25
@ -31,10 +33,30 @@ pillars = (
(261.5, -86), (261.5, -86),
] ]
) )
.trapezoid(12, 12, 90, mode="a") .circle(6, mode="a")
.circle(ti_radius, mode="s") .circle(ti_radius, mode="s")
) )
battery_holder = (
cq.Sketch()
.polygon(
[(-67, 5), (0, 5), (0, -12), (-67, -12), (-67, 5)],
mode="a",
)
.trapezoid(82, 82, 90, mode="a")
.trapezoid(80, 80, 90, mode="s")
.polygon(
[(-67, 3), (0, 3), (0, -10), (-67, -10), (-67, 3)],
mode="s",
)
.polygon(
[(-67, 30), (0, 30), (0, 12), (-67, 12), (-67, 30)],
mode="s",
)
)
power_in = cq.Sketch().circle(5, mode="a")
def model(): def model():
return ( return (
@ -47,10 +69,22 @@ def model():
.fillet(2) .fillet(2)
.faces(">Z") .faces(">Z")
.shell(-shell_t) .shell(-shell_t)
# Battery holder
.workplaneFromTagged("mid_height")
.center(-width / 2 + shell_t + 65, height / 2 - shell_t - 45)
.placeSketch(battery_holder)
.extrude(-height / 2)
# Power cable inlet
.faces("<X")
.workplane(centerOption="CenterOfBoundBox")
.center(-height / 2 + shell_t + 48.5, -3)
.placeSketch(power_in)
.cutBlind(-shell_t)
# Slanted mounting pillars on the kbd top # Slanted mounting pillars on the kbd top
.faces(">Z") .faces(">Z")
.workplane(centerOption="CenterOfBoundBox") .workplane(centerOption="CenterOfBoundBox")
.center(-width / 2, 17) # Top-left kbd corner inside the box
.center(-width / 2 + shell_t, kbd_height - height / 2 + shell_t)
.transformed(rotate=cq.Vector(kbd_angle, 0, 0)) .transformed(rotate=cq.Vector(kbd_angle, 0, 0))
.tag("sloped") .tag("sloped")
.placeSketch(pillars) .placeSketch(pillars)
@ -83,7 +117,15 @@ right_side = (
exporters.export(right_side, "right_side.stl") exporters.export(right_side, "right_side.stl")
right_cutout = cq.Sketch().polygon( right_cutout = cq.Sketch().polygon(
[(160, 0), (width, 0), (width, -height), (135, -height), (135, -100), (160, -100), (160, 0)], [
(160, 0),
(width, 0),
(width, -height),
(135, -height),
(135, -100),
(160, -100),
(160, 0),
],
mode="a", mode="a",
) )
@ -96,6 +138,6 @@ left_side = (
.placeSketch(right_cutout) .placeSketch(right_cutout)
.cutBlind(100) .cutBlind(100)
) )
exporters.export(right_side, "left_side.stl") exporters.export(left_side, "left_side.stl")
exporters.export(model(), "model.stl") exporters.export(model(), "model.stl")

File diff suppressed because it is too large Load Diff