| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // Waveshare GDEY0583T81 5.83" ePaper Display Case
- // Display slides in from Y-; no Y- side wall
- // FPC cable exits toward Y+ then bends 90° toward Z- through backplate slot
- include <params.scad>
- use <GDEY0583T81.scad>
- /* [Preview] */
- SHOW_DISP = true;
- EPD_EXPLODE = 0; // mm to pull display mockup toward Y- for inspection
- module epd_case() {
- color("#004B49") {
- difference() {
- // Solid case body — open at Y=0 (no Y- wall) by construction
- rounded_box(epd_case_w, epd_case_d, epd_case_h, CORNER_R);
- // Display cavity: slides in from Y=0; BEZEL_Y extends depth so display seats at Y=BEZEL_Y
- translate([WALL, -0.01, WALL])
- cube([epd_cav_w, BEZEL_Y + epd_cav_d + DISP_Y_EXTRA + 0.01, DISP_T + TOL]);
- // Active area window: straight portion + chamfered top edges
- // Extends 0.01 mm into the display cavity to avoid a coplanar face with the mockup
- translate([epd_win_x, epd_win_y, WALL + DISP_T - 0.01])
- cube([epd_win_w, ACT_D, LIP - CHAM + 0.02]);
- hull() {
- translate([epd_win_x, epd_win_y, epd_case_h - CHAM])
- cube([epd_win_w, ACT_D, 0.01]);
- translate([epd_win_x - _cham_xy, epd_win_y - _cham_xy, epd_case_h])
- cube([epd_win_w + 2*_cham_xy, ACT_D + 2*_cham_xy, 0.01]);
- }
- // FPC cable slot — quarter-cylinder swept volume of cable arc from horizontal to vertical.
- // Arc center at (Y=DISP_D, Z=WALL−FPC_BEND_R); first-quadrant slice (Y≥DISP_D, Z≥arc_center_z).
- // Creates opening through backplate floor and clears Y+ wall material for bend.
- translate([_fpc_x1, BEZEL_Y + DISP_D + DISP_Y_EXTRA, WALL - FPC_BEND_R])
- intersection() {
- rotate([0, 90, 0])
- cylinder(r=_fpc_ro, h=_fpc_xw, $fn=32);
- cube([_fpc_xw, _fpc_ro + 1, _fpc_ro + 1]);
- }
- }}
- // Display mockup — seated at case origin; EPD_EXPLODE pulls it toward Y-
- if ($preview && SHOW_DISP)
- color("#F0F0F0")
- translate([WALL + TOL, BEZEL_Y + DISP_Y_EXTRA - EPD_EXPLODE, WALL])
- GDEY0583T81(fpc_bend_start=0, fpc_bend_r=FPC_BEND_R, fpc_post_clip=2);
- }
- epd_case();
|