Large design change.

While not as pretty this should work much better mechanically
based on the results from the last test print.

* Added room for the plugs to slide from the middle outwards
* Made back reinforcement much larger so it connects the piece that is
  split by that plug channel
* Removed separate board cutout (not needed anymore)
* Fix cable channel (was cutting through end caps)
* Change shelling parameters so it keeps a cap on both ends
* Adjusted segment breaks for new reality

* TODO: adjust rear hinge design to be flat and not "envolving"
This commit is contained in:
Roberto Alsina 2022-07-24 11:06:50 -03:00
parent 4a4d11bd95
commit c2caea9039
2 changed files with 14 additions and 19 deletions

View File

@ -11,14 +11,15 @@ board_cutout = (
cq.Sketch().trapezoid(55, 50, 90, mode="a").reset().vertices("<X").fillet(5) cq.Sketch().trapezoid(55, 50, 90, mode="a").reset().vertices("<X").fillet(5)
) )
plug_cutout = cq.Sketch().trapezoid(55, 11, 90, mode="a").reset().vertices("<X") plug_channel_cutout = cq.Sketch().trapezoid(45, 6, 90, mode="a").reset().vertices("<X")
cable_relief = cq.Sketch().trapezoid(width, 30, 90) cable_relief = cq.Sketch().trapezoid(width - 2 * shell_t, 30, 90)
break_depth = 20
segment_breaks_top = ( segment_breaks_top = (
cq.Sketch() cq.Sketch()
.rarray(1, length, 1, 1) .rarray(1, length, 1, 1)
.trapezoid(width / 3, 35, 110, mode="a") .trapezoid(width / 3, break_depth, 110, mode="a")
.reset() .reset()
.vertices() .vertices()
.fillet(5) .fillet(5)
@ -27,14 +28,14 @@ segment_breaks_top = (
segment_breaks_bottom = ( segment_breaks_bottom = (
cq.Sketch() cq.Sketch()
.rarray(1, length, 1, 1) .rarray(1, length, 1, 1)
.trapezoid(width / 3, 35, 70, mode="a") .trapezoid(width / 3, break_depth, 70, mode="a")
.reset() .reset()
.vertices() .vertices()
.fillet(5) .fillet(5)
) )
back_reinforcement = ( back_reinforcement = (
cq.Sketch().trapezoid(width / 2, 15, 90, mode="a").reset().vertices().fillet(2) cq.Sketch().trapezoid(width / 2, length-break_depth, 90, mode="a").reset().vertices().fillet(2)
) )
threaded_inserts = cq.Sketch().rarray(width / 8, 0, 4, 1).circle(ti_radius, mode="a") threaded_inserts = cq.Sketch().rarray(width / 8, 0, 4, 1).circle(ti_radius, mode="a")
@ -50,16 +51,9 @@ def case():
.lineTo(0, height) .lineTo(0, height)
.close() .close()
.extrude(length) .extrude(length)
.faces(">X")
.shell(-shell_t) .shell(-shell_t)
.edges("|X") .edges("|X")
.fillet(fillet_s) .fillet(fillet_s)
# Cutout room for plugs to slide in and be exposed
.faces(">X")
.workplane(centerOption="CenterOfBoundBox")
.center(0, -5)
.placeSketch(plug_cutout)
.cutBlind(-width / 2)
# Cutout visible screen area from top face # Cutout visible screen area from top face
.faces(">Z") .faces(">Z")
.workplane(centerOption="CenterOfBoundBox") .workplane(centerOption="CenterOfBoundBox")
@ -75,12 +69,6 @@ def case():
.center(0, -length) .center(0, -length)
.placeSketch(segment_breaks_bottom) .placeSketch(segment_breaks_bottom)
.cutBlind(-1000) .cutBlind(-1000)
# Cutout for the circuit board
.faces("<Z")
.workplane(centerOption="CenterOfBoundBox")
.center(width / 2 - 27.5, 0)
.placeSketch(board_cutout)
.cutBlind(-shell_t)
# Make some room for the ribbon cable # Make some room for the ribbon cable
.faces("<Z[-2]") .faces("<Z[-2]")
.workplane(centerOption="CenterOfBoundBox") .workplane(centerOption="CenterOfBoundBox")
@ -90,11 +78,17 @@ def case():
.faces("<Z") .faces("<Z")
.workplane(centerOption="CenterOfBoundBox") .workplane(centerOption="CenterOfBoundBox")
.placeSketch(back_reinforcement) .placeSketch(back_reinforcement)
.extrude(1 + 1 + ti_depth - shell_t) .extrude(7 + ti_depth - shell_t)
.faces("<Z") .faces("<Z")
.workplane(centerOption="CenterOfBoundBox") .workplane(centerOption="CenterOfBoundBox")
.placeSketch(threaded_inserts) .placeSketch(threaded_inserts)
.cutBlind(-ti_depth) .cutBlind(-ti_depth)
# Cutout room for plugs to slide in and be exposed
.faces(">X")
.workplane(centerOption="CenterOfBoundBox")
.center(0, -5)
.placeSketch(plug_channel_cutout)
.cutBlind(-width / 2)
) )

View File

@ -9,6 +9,7 @@ screen_left_margin = 7 + shell_t # (7 is bezel width on that side)
# width, length, height INCLUDING_BEZEL # width, length, height INCLUDING_BEZEL
display_w = 233 display_w = 233
display_l = 65 display_l = 65
# This is the general height without the board, that's handled separately
display_h = 5 display_h = 5
width = 250 width = 250