From 65fcda98ad630493a6abab5c8fe28fc300455545 Mon Sep 17 00:00:00 2001 From: ede1998 Date: Sat, 29 Aug 2026 23:13:07 +0200 Subject: [PATCH] model character display --- model/common.scad | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/model/common.scad b/model/common.scad index 415da32..15bec72 100644 --- a/model/common.scad +++ b/model/common.scad @@ -199,3 +199,64 @@ module nfc(pin_header = true) { } } +include + +module tertiary_display(pin_headers = true) { + pcb_length = 81; + pcb_width = 36.1; + pcb_height = 3.7; + + hole_diameter = 2.8; + hole_inset = 1; + + display_length = 71.2; + display_width = 24.4; + display_height = 7; + + piggy_length = 41.8; + piggy_width = 19.1; + piggy_height = 8.5 - 2.6; + piggy_inset = 6.2; + + jumper_protrusion = 6.6; + pin_protrusion = 6.2; + + color("green") + difference() { + cuboid([pcb_length, pcb_width, pcb_height]) { + position(TOP) + cuboid([display_length, display_width, display_height], anchor=BOTTOM); + } + + xcopies(pcb_length - (2 * hole_inset) - hole_diameter) { + ycopies(pcb_width - (2 * hole_inset) - hole_diameter) { + zcyl(d=hole_diameter, h=pcb_height + 1); + } + } + } + + // Replaces position(BOTTOM + BACK + LEFT) so that difference cannot mess with color. + translate([-pcb_length / 2 + piggy_inset, pcb_width / 2, -pcb_height / 2]) { + color("black") + cuboid([piggy_length, piggy_width, piggy_height], anchor=TOP + BACK + LEFT); + + if (pin_headers) { + // Replaces position(LEFT + BOTTOM) so that parent child cannot mess with color. + translate([0, -piggy_width / 2, -piggy_height]) + right(6 - pin_protrusion) + yrot(-90) + pin_header(4, spin=90, anchor=BACK + TOP); + + // Replaces position(RIGHT + BOTTOM) so that parent child cannot mess with color. + translate([piggy_length, -piggy_width / 2, -piggy_height]) + left(6 - pin_protrusion) + yrot(90) + back(1.6) + pin_header(2, spin=-90, anchor=BACK + TOP); + + // Replaces position(BACK + TOP) so that parent child cannot mess with color. + translate([piggy_length / 2, -EPS, 0]) + pin_header(16, anchor=BACK + TOP); + } + } +}