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
|
# Measured from top-left corner OUTSIDE
|
||||||
mounting_pillar_positions = [
|
mounting_pillar_positions = [
|
||||||
(6, -6),
|
(6, -6),
|
||||||
|
(6, -40),
|
||||||
(120, -6),
|
(120, -6),
|
||||||
(170, -6),
|
(170, -6),
|
||||||
(width - 6, -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)
|
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 = (
|
mounting_pillars = (
|
||||||
cq.Sketch()
|
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)
|
.push(mounting_pillar_positions)
|
||||||
|
.trapezoid(-12, 12, 90, mode="a")
|
||||||
.circle(ti_radius, mode="s")
|
.circle(ti_radius, mode="s")
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -72,25 +67,11 @@ def model():
|
|||||||
# of the inclined screen
|
# of the inclined screen
|
||||||
.placeSketch(cq.Sketch().trapezoid(1000, 1000, 90, mode="a"))
|
.placeSketch(cq.Sketch().trapezoid(1000, 1000, 90, mode="a"))
|
||||||
.cutBlind(1000)
|
.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
|
# Trim the top
|
||||||
.workplaneFromTagged("mid_height")
|
.workplaneFromTagged("mid_height")
|
||||||
.workplane(offset=21)
|
.workplane(offset=21)
|
||||||
.placeSketch(cq.Sketch().trapezoid(1000, 1000, 90, mode="a"))
|
.placeSketch(cq.Sketch().trapezoid(1000, 1000, 90, mode="a"))
|
||||||
.cutBlind(100)
|
.cutBlind(100)
|
||||||
# Fillet top of the object
|
|
||||||
.edges(">Z and |X")
|
|
||||||
.fillet(2.5)
|
|
||||||
# Make bottom smaller to fit with base
|
# Make bottom smaller to fit with base
|
||||||
.faces(">X")
|
.faces(">X")
|
||||||
.workplane(centerOption="CenterOfBoundBox")
|
.workplane(centerOption="CenterOfBoundBox")
|
||||||
@ -112,6 +93,20 @@ def model():
|
|||||||
.fillet(3)
|
.fillet(3)
|
||||||
)
|
)
|
||||||
.cutBlind(-1000)
|
.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
|
# Make it hollow
|
||||||
.faces("<Z")
|
.faces("<Z")
|
||||||
# Can't be exactly shell_t because cq fails
|
# Can't be exactly shell_t because cq fails
|
||||||
@ -122,11 +117,11 @@ def model():
|
|||||||
.placeSketch(board_cutout)
|
.placeSketch(board_cutout)
|
||||||
.cutBlind(-6)
|
.cutBlind(-6)
|
||||||
# Make small hole for the keyboard cable
|
# Make small hole for the keyboard cable
|
||||||
.faces(">Y")
|
.faces("<Y")
|
||||||
.workplane(offset=-5, centerOption="CenterOfBoundBox")
|
.workplane(centerOption="CenterOfBoundBox")
|
||||||
.center(-width / 2 + 134, -44)
|
.center(width / 2 - 175, -4)
|
||||||
.placeSketch(kbd_cable_hole)
|
.placeSketch(kbd_cable_hole)
|
||||||
.cutBlind(-1000)
|
.cutBlind(-height / 2)
|
||||||
# Pillars to join with bottom half
|
# Pillars to join with bottom half
|
||||||
.workplaneFromTagged("mid_height")
|
.workplaneFromTagged("mid_height")
|
||||||
.workplane(offset=-thickness / 2, centerOption="CenterOfBoundBox")
|
.workplane(offset=-thickness / 2, centerOption="CenterOfBoundBox")
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user