From 0c50dbe8568d1d2e74caaddd6e2d1484c1d4f544 Mon Sep 17 00:00:00 2001 From: Denis Chevalier Date: Mon, 10 Aug 2026 16:32:42 +0200 Subject: replace cassette external dimensions svg with cetz drawing --- mechanical-specifications.typ | 221 ++++++++++- pictures/cassette-external-dimensions.svg | 628 ------------------------------ 2 files changed, 218 insertions(+), 631 deletions(-) delete mode 100644 pictures/cassette-external-dimensions.svg diff --git a/mechanical-specifications.typ b/mechanical-specifications.typ index e39a05e..3be195d 100644 --- a/mechanical-specifications.typ +++ b/mechanical-specifications.typ @@ -1,4 +1,5 @@ #import "lib/unify.typ": qty, qtyrange +#import "@preview/cetz:0.5.2" = Mechanical specifications @@ -36,9 +37,223 @@ especially in terms of magnetic shielding. ==== External dimensions #figure( - image("pictures/cassette-external-dimensions.svg"), - caption: "Cassette external dimensions", -) + cetz.canvas({ + import cetz.draw: * + + // Scale factor: 1 mm = 0.035 drawing units + let s = 0.035 + + 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.2), + (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( table( diff --git a/pictures/cassette-external-dimensions.svg b/pictures/cassette-external-dimensions.svg deleted file mode 100644 index 793ec3f..0000000 --- a/pictures/cassette-external-dimensions.svg +++ /dev/null @@ -1,628 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SIDE ELEVATION - - - - - - - - - - - - - Chassis Rail Limit - Chassis Rail Limit - - - - - - - Panel Height: 177.8 mm ±0.1 (4U / 7.0") - - - - - Body Height: 165.1 mm ±0.1 (6.5") - - - - Lip height: 6.35 mm - - Lip height: 6.35 mm - - - - - - Depth: 152.4 mm ±0.2 (6.0") - - - - - - - FRONT ELEVATION - - - - - - - - - - - - - - - Width: 38.0 mm - +0.0 / -0.1 mm (1.5") - - - - - - - - - - - - - - - - - - - - - - -- cgit