Compare commits
2 Commits
459021ff83
...
76af86ac70
Author | SHA1 | Date | |
---|---|---|---|
76af86ac70 | |||
6cbd7e2b15 |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
146358
notebook_nueva/model.stl
146358
notebook_nueva/model.stl
File diff suppressed because it is too large
Load Diff
@ -55,6 +55,7 @@ kbd_lower_pillars = (
|
||||
# Measured from top-left corner OUTSIDE
|
||||
mounting_pillar_positions = [
|
||||
(6, -6),
|
||||
(6, -40),
|
||||
(120, -6),
|
||||
(170, -6),
|
||||
(width - 6, -6),
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -42,15 +42,10 @@ board_cutout = cq.Sketch().trapezoid(
|
||||
|
||||
kbd_cable_hole = cq.Sketch().trapezoid(20, 9, 90, mode="a").vertices().fillet(1)
|
||||
|
||||
# The last mounting pillar is handled specially
|
||||
x, y = mounting_pillar_positions[-1]
|
||||
mounting_pillars = (
|
||||
cq.Sketch()
|
||||
.polygon([(0, 0), (width, 0), (width, -12), (0, -12), (0, 0)], mode="a")
|
||||
.polygon(
|
||||
[(x - 6, y - 6), (x - 6, y + 6), (x + 6, y + 6), (x + 6, y - 6), (x - 6, y - 6)]
|
||||
)
|
||||
.push(mounting_pillar_positions)
|
||||
.trapezoid(-12, 12, 90, mode="a")
|
||||
.circle(ti_radius, mode="s")
|
||||
)
|
||||
|
||||
@ -72,25 +67,11 @@ def model():
|
||||
# of the inclined screen
|
||||
.placeSketch(cq.Sketch().trapezoid(1000, 1000, 90, mode="a"))
|
||||
.cutBlind(1000)
|
||||
# Cut off viewport hole so we can see the screen
|
||||
.workplaneFromTagged("slanted")
|
||||
.placeSketch(viewport_cutout)
|
||||
.cutBlind(-shell_t)
|
||||
# Make hole for screen assembly so the whole screen fits
|
||||
.workplaneFromTagged("slanted")
|
||||
.workplane(offset=-shell_t, centerOption="CenterOfBoundBox")
|
||||
# Left bezel is wider than right one, so this hole is displaced to the left
|
||||
.center(-3, 0)
|
||||
.placeSketch(screen_cutout)
|
||||
.cutBlind(-scr_thickness)
|
||||
# Trim the top
|
||||
.workplaneFromTagged("mid_height")
|
||||
.workplane(offset=21)
|
||||
.placeSketch(cq.Sketch().trapezoid(1000, 1000, 90, mode="a"))
|
||||
.cutBlind(100)
|
||||
# Fillet top of the object
|
||||
.edges(">Z and |X")
|
||||
.fillet(2.5)
|
||||
# Make bottom smaller to fit with base
|
||||
.faces(">X")
|
||||
.workplane(centerOption="CenterOfBoundBox")
|
||||
@ -112,6 +93,20 @@ def model():
|
||||
.fillet(3)
|
||||
)
|
||||
.cutBlind(-1000)
|
||||
# Fillet top of the object
|
||||
.edges("|X and >Z")
|
||||
.fillet(3)
|
||||
# Cut off viewport hole so we can see the screen
|
||||
.workplaneFromTagged("slanted")
|
||||
.placeSketch(viewport_cutout)
|
||||
.cutBlind(-shell_t)
|
||||
# Make hole for screen assembly so the whole screen fits
|
||||
.workplaneFromTagged("slanted")
|
||||
.workplane(offset=-shell_t, centerOption="CenterOfBoundBox")
|
||||
# Left bezel is wider than right one, so this hole is displaced to the left
|
||||
.center(-3, 0)
|
||||
.placeSketch(screen_cutout)
|
||||
.cutBlind(-scr_thickness)
|
||||
# Make it hollow
|
||||
.faces("<Z")
|
||||
# Can't be exactly shell_t because cq fails
|
||||
@ -122,11 +117,11 @@ def model():
|
||||
.placeSketch(board_cutout)
|
||||
.cutBlind(-6)
|
||||
# Make small hole for the keyboard cable
|
||||
.faces(">Y")
|
||||
.workplane(offset=-5, centerOption="CenterOfBoundBox")
|
||||
.center(-width / 2 + 134, -44)
|
||||
.faces("<Y")
|
||||
.workplane(centerOption="CenterOfBoundBox")
|
||||
.center(width / 2 - 175, -4)
|
||||
.placeSketch(kbd_cable_hole)
|
||||
.cutBlind(-1000)
|
||||
.cutBlind(-height / 2)
|
||||
# Pillars to join with bottom half
|
||||
.workplaneFromTagged("mid_height")
|
||||
.workplane(offset=-thickness / 2, centerOption="CenterOfBoundBox")
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user