From d658ce8344e110654152010aa36f4cd3ed54154d Mon Sep 17 00:00:00 2001 From: Denis Chevalier Date: Mon, 10 Aug 2026 17:42:26 +0200 Subject: replace front panel geometry with cetz diagram --- mechanical-specifications.typ | 250 ++++++++++++++- pictures/front-panel-geometry.svg | 648 -------------------------------------- 2 files changed, 247 insertions(+), 651 deletions(-) delete mode 100644 pictures/front-panel-geometry.svg diff --git a/mechanical-specifications.typ b/mechanical-specifications.typ index 11fe05c..eb00fca 100644 --- a/mechanical-specifications.typ +++ b/mechanical-specifications.typ @@ -950,10 +950,254 @@ interlocking U-shaped steel channel: ===== Front panel #figure( - image("pictures/front-panel-geometry.svg"), - caption: [Front channel construction], -) + cetz.canvas({ + import cetz.draw: * + + // Scale factor: 1 mm = 0.050 drawing units + let s = 0.050 + + let h-total = 177.8 * s // 8.890 mm + let h-body = 165.1 * s // 8.255 mm + let h-lip = 6.35 * s // 0.3175 mm (6.35 mm top/bottom lips) + let w = 38.0 * s // 1.900 mm (panel width) + let f = 8.0 * s // 0.400 mm (8 mm L-channel flange overlap) + + let y-bot = 0 + let y-lip-bot = h-lip + let y-lip-top = h-total - h-lip + let y-top = h-total + + // Helper: Draw M3 clearance hole (3.2 mm diameter) + let draw-m3-hole(cx, cy) = { + circle((cx, cy), radius: 1.6 * s, fill: white, stroke: 0.8pt + black) + line((cx - 2.5 * s, cy), (cx + 2.5 * s, cy), stroke: 0.3pt + luma(120)) + line((cx, cy - 2.5 * s), (cx, cy + 2.5 * s), stroke: 0.3pt + luma(120)) + } + + // Helper: Draw M3 countersunk hole (concentric circles + crosshair) + let draw-csink(cx, cy) = { + circle((cx, cy), radius: 3.0 * s, fill: white, stroke: 0.8pt + black) + circle((cx, cy), radius: 1.6 * s, fill: luma(200), stroke: 0.5pt + black) + line((cx - 4.0 * s, cy), (cx + 4.0 * s, cy), stroke: 0.3pt + luma(120)) + line((cx, cy - 4.0 * s), (cx, cy + 4.0 * s), stroke: 0.3pt + luma(120)) + } + + // ========================================== + // 1. FRONT ELEVATION (38.0 x 177.8 mm) + // ========================================== + let x-front-start = 0 + let x-front-end = x-front-start + w + let x-front-mid = (x-front-start + x-front-end) / 2 + + // View Title + content((x-front-mid, y-top + 0.8), text( + size: 8.5pt, + weight: "bold", + )[FRONT ELEVATION]) + + // Main Panel Outer Boundary + rect( + (x-front-start, y-bot), + (x-front-end, y-top), + fill: luma(245), + stroke: 1.2pt + black, + ) + + // Lip Limit Boundary Indicators (Dashed horizontal lines at 6.35 mm from top/bottom) + line( + (x-front-start, y-lip-bot), + (x-front-end, y-lip-bot), + stroke: (paint: luma(110), thickness: 0.7pt, dash: "dashed"), + ) + line( + (x-front-start, y-lip-top), + (x-front-end, y-lip-top), + stroke: (paint: luma(110), thickness: 0.7pt, dash: "dashed"), + ) + + // Centered M3 Panel Mounting Holes in Top and Bottom Lips + draw-m3-hole(x-front-mid, h-lip / 2) + draw-m3-hole(x-front-mid, h-total - h-lip / 2) + + // L-Channel Attachment Countersunk Holes (X = 4.0 mm, Y = 30.0 mm and 135.0 mm from body start) + let y-hole-lower = y-lip-bot + 30.0 * s + let y-hole-upper = y-lip-bot + 135.0 * s + let x-hole-lchannel = x-front-start + 4.0 * s + + draw-csink(x-hole-lchannel, y-hole-lower) + draw-csink(x-hole-lchannel, y-hole-upper) + + // Dimension: Panel Width (38.0 mm) + line( + (x-front-start, y-bot), + (x-front-start, y-bot - 0.6), + stroke: 0.4pt + luma(140), + ) + line( + (x-front-end, y-bot), + (x-front-end, y-bot - 0.6), + stroke: 0.4pt + luma(140), + ) + line( + (x-front-start, y-bot - 0.55), + (x-front-end, y-bot - 0.55), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.10, + stroke: 0.6pt + black, + ) + content((x-front-mid, y-bot - 0.85), text(size: 7pt)[$qty(38.0, "mm")$]) + + // Dimension: Total Height (177.8 mm / 4U) + line( + (x-front-start, y-bot), + (x-front-start - 0.6, y-bot), + stroke: 0.4pt + luma(140), + ) + line( + (x-front-start, y-top), + (x-front-start - 0.6, y-top), + stroke: 0.4pt + luma(140), + ) + line( + (x-front-start - 0.55, y-bot), + (x-front-start - 0.55, y-top), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.10, + stroke: 0.6pt + black, + ) + content( + (x-front-start - 0.85, (y-bot + y-top) / 2), + text(size: 7pt)[$qty(177.8, "mm")$ ($qty(4, "U")$)], + angle: 90deg, + ) + + // Dimension: Lip Height (6.35 mm) + line( + (x-front-end, y-top), + (x-front-end + 0.6, y-top), + stroke: 0.4pt + luma(140), + ) + line( + (x-front-end, y-lip-top), + (x-front-end + 0.6, y-lip-top), + stroke: 0.4pt + luma(140), + ) + line( + (x-front-end + 0.55, y-lip-top), + (x-front-end + 0.55, y-top), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.08, + stroke: 0.6pt + black, + ) + content( + (x-front-end + 1.2, (y-lip-top + y-top) / 2), + text(size: 6.5pt)[$qty(6.35, "mm")$], + ) + + // Dimension: Body Height (165.1 mm) + line( + (x-front-end, y-lip-bot), + (x-front-end + 0.6, y-lip-bot), + stroke: 0.4pt + luma(140), + ) + line( + (x-front-end + 0.55, y-lip-bot), + (x-front-end + 0.55, y-lip-top), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.10, + stroke: 0.6pt + black, + ) + content( + (x-front-end + 0.85, (y-lip-bot + y-lip-top) / 2), + text(size: 7pt)[$qty(165.1, "mm")$], + angle: -90deg, + ) + // ========================================== + // 2. REAR ELEVATION (INNER FACE: 38.0 x 177.8 mm) + // ========================================== + let x-rear-start = 4.5 + let x-rear-end = x-rear-start + w + let x-rear-mid = (x-rear-start + x-rear-end) / 2 + + // View Title + content((x-rear-mid, y-top + 0.8), text( + size: 8.5pt, + weight: "bold", + )[REAR ELEVATION (INNER FACE)]) + + // Painted Central Surface Area + rect( + (x-rear-start, y-bot), + (x-rear-end, y-top), + fill: luma(225), + stroke: 1.2pt + black, + ) + + // Masked Unpainted Area 1: Top Lip (6.35 mm full width) + rect( + (x-rear-start, y-lip-top), + (x-rear-end, y-top), + fill: luma(250), + stroke: (paint: luma(120), thickness: 0.6pt, dash: "dashed"), + ) + + // Masked Unpainted Area 2: Bottom Lip (6.35 mm full width) + rect( + (x-rear-start, y-bot), + (x-rear-end, y-lip-bot), + fill: luma(250), + stroke: (paint: luma(120), thickness: 0.6pt, dash: "dashed"), + ) + + // Masked Unpainted Area 3: L-Channel Front Flange Contact Strip (8 mm along right side in rear view) + rect( + (x-rear-end - f, y-lip-bot), + (x-rear-end, y-lip-top), + fill: luma(250), + stroke: (paint: luma(120), thickness: 0.6pt, dash: "dashed"), + ) + + // Center Painted Label + content( + (x-rear-start + (w - f) / 2, (y-lip-bot + y-lip-top) / 2), + text(size: 7.5pt, fill: luma(100))[Painted Surface], + ) + + // M3 Lip Holes in Rear View + draw-m3-hole(x-rear-mid, h-lip / 2) + draw-m3-hole(x-rear-mid, h-total - h-lip / 2) + + // L-Channel Attachment Holes in Rear View (X = 38.0 - 4.0 = 34.0 mm in rear view) + let x-hole-rear = x-rear-end - 4.0 * s + draw-m3-hole(x-hole-rear, y-hole-lower) + draw-m3-hole(x-hole-rear, y-hole-upper) + + // Masked Contact Area Callout Annotations + line( + (x-rear-mid, y-top - h-lip / 2), + (x-rear-end + 0.5, y-top + 0.3), + stroke: 0.5pt + black, + ) + content( + (x-rear-end + 0.55, y-top + 0.3), + text(size: 6.5pt)[Masked unpainted lip (chassis grounding)], + anchor: "south-west", + ) + + line( + (x-rear-end - f / 2, y-hole-upper + 10.0 * s), + (x-rear-end + 0.5, y-hole-upper + 10.0 * s), + stroke: 0.5pt + black, + ) + content( + (x-rear-end + 0.55, y-hole-upper + 10.0 * s), + text(size: 6.5pt)[Masked 8 mm flange contact strip], + anchor: "west", + ) + }), + caption: [Cassette Front Panel technical drawings showing Front Elevation (with countersunk L-channel attachment holes and lip mounting holes) and Rear Elevation (inner face detailing masked unpainted EMI contact areas).], +) / Geometry: $qty(177.8, "mm") times qty(38.0, "mm")$, body section $qty(165.1, "mm")$ / Holes: Features Countersunk Through-Holes corresponding to the L-Channel's diff --git a/pictures/front-panel-geometry.svg b/pictures/front-panel-geometry.svg deleted file mode 100644 index 39aa860..0000000 --- a/pictures/front-panel-geometry.svg +++ /dev/null @@ -1,648 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - ISOMETRIC VIEW - (Showing Front/Rear Faces, Lips & Masking) - - - - - - - Top Lip Extension - 6.35 mm (0.25") - - Body Section - Height: 165.1 mm (6.5") - - Inner Face Contact Area - Masked (Unpainted) for grounding - - - - FRONT ELEVATION - (Outside Face: 177.8 mm × 38.0 mm) - - - - - - - - Width: 38.0 mm - +0.0 / -0.1 mm - - - - - Body: 165.1 mm ±0.1 - - - - - - Panel Height: 177.8 mm ±0.1 (4U) - - - - - REAR ELEVATION - (Inside Face: Masked Contact Area) - - - - - Masked Contact Zone - Unpainted for L-channel contact - - Powder-Coated Interior - Matte Black (RAL 9005) - - - - SIDE PROFILE - (Thickness & Lip Extensions) - - - - - 6.35 mm Lip - - - - 6.35 mm Lip - - 1.2 mm - Steel Plate - - - - - - - - - - - - - - - - - - - -- cgit