diff options
| author | Denis Chevalier <perso@denischevalier.fr> | 2026-08-10 22:32:38 +0200 |
|---|---|---|
| committer | Denis Chevalier <perso@denischevalier.fr> | 2026-08-10 22:32:38 +0200 |
| commit | b28f97f3526859633fde603764b827389279d10f (patch) | |
| tree | ef483985fc0be4237f98b2ad7dd0682b160b4cef /diagrams/cassette-external-dimensions.typ | |
| parent | 32d3f3d945002c1413490449aa08522c78f4dcad (diff) | |
| download | same-b28f97f3526859633fde603764b827389279d10f.tar.gz same-b28f97f3526859633fde603764b827389279d10f.tar.bz2 same-b28f97f3526859633fde603764b827389279d10f.zip | |
extract figures in separate files
Diffstat (limited to 'diagrams/cassette-external-dimensions.typ')
| -rw-r--r-- | diagrams/cassette-external-dimensions.typ | 221 |
1 files changed, 221 insertions, 0 deletions
diff --git a/diagrams/cassette-external-dimensions.typ b/diagrams/cassette-external-dimensions.typ new file mode 100644 index 0000000..61b0877 --- /dev/null +++ b/diagrams/cassette-external-dimensions.typ @@ -0,0 +1,221 @@ +#import "../lib/unify.typ": qty +#import "@preview/cetz:0.5.2" + +#figure( + cetz.canvas({ + import cetz.draw: * + + // Scale factor: 1 mm = 0.06 drawing units + let s = 0.06 + + let h-panel = 177.8 * s // 6.223 + let h-body = 165.1 * s // 5.7785 + let h-lip = 6.35 * s // 0.22225 + let w-panel = 38.0 * s // 1.33 + let d-body = 152.4 * s // 5.334 + let t-panel = 3.0 * s // 0.105 (exaggerated slightly for visual clarity) + + let y-center = 0 + let y-top-panel = h-panel / 2 + let y-bot-panel = -h-panel / 2 + let y-top-body = h-body / 2 + let y-bot-body = -h-body / 2 + + // --- FRONT ELEVATION --- + let x-front-left = 0 + let x-front-right = w-panel + let x-front-mid = w-panel / 2 + + // View Title + content((x-front-mid, y-top-panel + 0.8), text( + size: 9pt, + weight: "bold", + )[FRONT ELEVATION]) + + // Front Panel Outline + rect( + (x-front-left, y-bot-panel), + (x-front-right, y-top-panel), + fill: luma(250), + stroke: 1.2pt + black, + ) + + // Hidden Body Transition Lines (Dashed) + line( + (x-front-left, y-top-body), + (x-front-right, y-top-body), + stroke: (paint: luma(130), thickness: 0.7pt, dash: "dashed"), + ) + line( + (x-front-left, y-bot-body), + (x-front-right, y-bot-body), + stroke: (paint: luma(130), thickness: 0.7pt, dash: "dashed"), + ) + + // Panel Mounting Screw Holes (Top and Bottom Lips) + circle( + (x-front-mid, y-top-panel - h-lip / 2), + radius: 0.08, + fill: white, + stroke: 0.8pt + black, + ) + circle( + (x-front-mid, y-bot-panel + h-lip / 2), + radius: 0.08, + fill: white, + stroke: 0.8pt + black, + ) + + // Dimension: Panel Width (38.0 mm) + line( + (x-front-left, y-bot-panel), + (x-front-left, y-bot-panel - 0.6), + stroke: 0.5pt + luma(120), + ) + line( + (x-front-right, y-bot-panel), + (x-front-right, y-bot-panel - 0.6), + stroke: 0.5pt + luma(120), + ) + line( + (x-front-left, y-bot-panel - 0.6), + (x-front-right, y-bot-panel - 0.6), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.12, + stroke: 0.7pt + black, + ) + content((x-front-mid, y-bot-panel - 0.9), text( + size: 7.5pt, + )[$qty(38.0, "mm")$]) + + // Dimension: Panel Height (177.8 mm / 4U) + line( + (x-front-left, y-top-panel), + (x-front-left - 0.6, y-top-panel), + stroke: 0.5pt + luma(120), + ) + line( + (x-front-left, y-bot-panel), + (x-front-left - 0.6, y-bot-panel), + stroke: 0.5pt + luma(120), + ) + line( + (x-front-left - 0.6, y-bot-panel), + (x-front-left - 0.6, y-top-panel), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.12, + stroke: 0.7pt + black, + ) + content( + (x-front-left - 0.95, y-center), + text(size: 7.5pt)[$qty(177.8, "mm")$ ($qty(4, "U")$)], + angle: 90deg, + ) + + // --- SIDE ELEVATION --- + let x-side-start = 2.8 + let x-panel-back = x-side-start + t-panel + let x-body-rear = x-panel-back + d-body + let x-side-mid = (x-side-start + x-body-rear) / 2 + + // View Title + content((x-side-mid, y-top-panel + 0.8), text( + size: 9pt, + weight: "bold", + )[SIDE ELEVATION]) + + // Cassette Steel Body + rect( + (x-panel-back, y-bot-body), + (x-body-rear, y-top-body), + fill: luma(235), + stroke: 1.2pt + black, + ) + + // Front Panel Plate Attached to Body + rect( + (x-side-start, y-bot-panel), + (x-panel-back, y-top-panel), + fill: luma(210), + stroke: 1.2pt + black, + ) + + // Rear DB-25 Connector Standoff / Bezel Projection + rect( + (x-body-rear, y-center - 0.6), + (x-body-rear + 0.25, y-center + 0.6), + fill: luma(240), + stroke: 0.8pt + black, + ) + + // Dimension: Depth (152.4 mm) + line( + (x-panel-back, y-top-panel), + (x-panel-back, y-top-panel + 0.2), + stroke: 0.5pt + luma(120), + ) + line( + (x-body-rear, y-top-panel - 0.4), + (x-body-rear, y-top-panel + 0.2), + stroke: 0.5pt + luma(120), + ) + line( + (x-panel-back, y-top-panel + 0.2), + (x-body-rear, y-top-panel + 0.2), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.12, + stroke: 0.7pt + black, + ) + content(((x-panel-back + x-body-rear) / 2, y-top-panel + 0.4), text( + size: 7.5pt, + )[$qty(152.4, "mm")$]) + + // Dimension: Body Height (165.1 mm) + line( + (x-body-rear, y-top-body), + (x-body-rear + 0.6, y-top-body), + stroke: 0.5pt + luma(120), + ) + line( + (x-body-rear, y-bot-body), + (x-body-rear + 0.6, y-bot-body), + stroke: 0.5pt + luma(120), + ) + line( + (x-body-rear + 0.6, y-bot-body), + (x-body-rear + 0.6, y-top-body), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.12, + stroke: 0.7pt + black, + ) + content( + (x-body-rear + 0.9, y-center), + text(size: 7.5pt)[$qty(165.1, "mm")$], + angle: -90deg, + ) + + // Dimension: Top Lip Height (6.35 mm) + line( + (x-panel-back, y-top-panel), + (x-body-rear + 1.8, y-top-panel), + stroke: 0.4pt + luma(160), + ) + line( + (x-panel-back, y-top-body), + (x-body-rear + 1.8, y-top-body), + stroke: 0.4pt + luma(160), + ) + line( + (x-body-rear + 1.65, y-top-body), + (x-body-rear + 1.65, y-top-panel), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.10, + stroke: 0.7pt + black, + ) + content( + (x-body-rear + 2.2, (y-top-panel + y-top-body) / 2), + text(size: 7.0pt)[$qty(6.35, "mm")$], + ) + }), + caption: [Cassette enclosure orthographic projections (front and side elevation) detailing external physical dimensions and lip offsets], +) <figure-cassette-external-dimensions-diagram> |
