From 5a150e77e55cc22fb063facf97fd927a726f9857 Mon Sep 17 00:00:00 2001 From: Denis Chevalier Date: Mon, 10 Aug 2026 18:19:23 +0200 Subject: replace db-25 connector cutout svg with cetz --- mechanical-specifications.typ | 296 ++++++++++++++++- pictures/db-25-connector-cutout.svg | 611 ------------------------------------ 2 files changed, 293 insertions(+), 614 deletions(-) delete mode 100644 pictures/db-25-connector-cutout.svg diff --git a/mechanical-specifications.typ b/mechanical-specifications.typ index 966ab3f..2a433f9 100644 --- a/mechanical-specifications.typ +++ b/mechanical-specifications.typ @@ -1636,9 +1636,299 @@ maintaining EMI shielding. ==== DB-25 connector cutout #figure( - image("pictures/db-25-connector-cutout.svg"), - caption: [DB-25 connector cutout], -) + cetz.canvas({ + import cetz.draw: * + + // Scale factor: 1 mm = 0.06 drawing units + let s = 0.06 + + let panel-w = 35.7 * s // 1.6065 units + let panel-h = 165.1 * s // 7.4295 units + let cx-panel = panel-w / 2 + let cy-panel = panel-h / 2 // 82.5 mm from top/bottom + + // DB-25 Cutout Dimensions (Scale for Detail View) + let ds = 0.12 // Magnified detail scale + + let d-width = 33.3 * ds // Overall cutout width (33.3 mm) + let d-height = 12.5 * ds // Cutout height (12.5 mm) + let hole-spacing = 24.99 * ds // Mounting hole spacing from center / pitch + let hole-r = (3.2 / 2) * ds // 3.2 mm diameter (1.6 mm radius) + + // ========================================== + // 1. REAR PANEL CUTOUT PLACEMENT VIEW (35.7 mm x 165.1 mm) + // ========================================== + let x-panel-start = 0 + let y-panel-start = 0 + + // View Title + content((cx-panel, panel-h + 0.8), text( + size: 8.5pt, + weight: "bold", + )[REAR PANEL PLACEMENT]) + content((cx-panel, panel-h + 0.45), text( + size: 7pt, + fill: luma(90), + )[(Centered Position)]) + + // Rear Closure Plate Outline + rect( + (x-panel-start, y-panel-start), + (x-panel-start + panel-w, y-panel-start + panel-h), + fill: luma(245), + stroke: 1.2pt + black, + ) + + // Centerlines on Rear Panel + line( + (x-panel-start - 0.4, cy-panel), + (x-panel-start + panel-w + 0.4, cy-panel), + stroke: (paint: luma(120), thickness: 0.4pt, dash: "dash-dotted"), + ) + line( + (cx-panel, y-panel-start - 0.4), + (cx-panel, y-panel-start + panel-h + 0.4), + stroke: (paint: luma(120), thickness: 0.4pt, dash: "dash-dotted"), + ) + + // Small DB-25 D-Sub Cutout Representation in Center + let sm-w = 26.0 * s + let sm-h = 11.0 * s + rect( + (cx-panel - sm-w / 2, cy-panel - sm-h / 2), + (cx-panel + sm-w / 2, cy-panel + sm-h / 2), + fill: white, + stroke: 0.8pt + black, + ) + circle( + (cx-panel - 12.5 * s, cy-panel), + radius: 1.6 * s, + fill: white, + stroke: 0.6pt + black, + ) + circle( + (cx-panel + 12.5 * s, cy-panel), + radius: 1.6 * s, + fill: white, + stroke: 0.6pt + black, + ) + + // Center X Dimension Callout (17.85 mm) + line( + (x-panel-start, y-panel-start), + (x-panel-start, y-panel-start - 0.5), + stroke: 0.4pt + luma(140), + ) + line( + (cx-panel, y-panel-start), + (cx-panel, y-panel-start - 0.5), + stroke: 0.4pt + luma(140), + ) + line( + (x-panel-start, y-panel-start - 0.45), + (cx-panel, y-panel-start - 0.45), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.08, + stroke: 0.6pt + black, + ) + content((cx-panel / 2, y-panel-start - 0.7), text( + size: 6.5pt, + weight: "bold", + )[$qty(17.85, "mm")$]) + + // Center Y Dimension Callout (82.5 mm) + line( + (x-panel-start, y-panel-start), + (x-panel-start - 0.5, y-panel-start), + stroke: 0.4pt + luma(140), + ) + line( + (x-panel-start, cy-panel), + (x-panel-start - 0.5, cy-panel), + stroke: 0.4pt + luma(140), + ) + line( + (x-panel-start - 0.45, y-panel-start), + (x-panel-start - 0.45, cy-panel), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.08, + stroke: 0.6pt + black, + ) + content( + (x-panel-start - 0.75, cy-panel / 2), + text(size: 6.5pt, weight: "bold")[$qty(82.5, "mm")$], + angle: 90deg, + ) + + // ========================================== + // 2. MAGNIFIED DB-25 CUTOUT GEOMETRY DETAIL + // ========================================== + let x-det-center = 6.2 + let y-det-center = cy-panel + + // View Title + content((x-det-center, y-det-center + 2.2), text( + size: 8.5pt, + weight: "bold", + )[CUTOUT GEOMETRY DETAIL]) + content((x-det-center, y-det-center + 1.85), text( + size: 7pt, + fill: luma(90), + )[(Standard D-Shaped DB-25 Profile)]) + + // Centerlines + line( + (x-det-center - 2.5, y-det-center), + (x-det-center + 2.5, y-det-center), + stroke: (paint: luma(120), thickness: 0.4pt, dash: "dash-dotted"), + ) + line( + (x-det-center, y-det-center - 1.5), + (x-det-center, y-det-center + 1.5), + stroke: (paint: luma(120), thickness: 0.4pt, dash: "dash-dotted"), + ) + + // D-Sub Trapezoidal Shroud Profile (Closed Path) + let tw = 25.0 * ds // Top wider width + let bw = 22.5 * ds // Bottom narrower width + let hh = d-height / 2 + + line( + (x-det-center - tw / 2, y-det-center + hh), + (x-det-center + tw / 2, y-det-center + hh), + (x-det-center + bw / 2, y-det-center - hh), + (x-det-center - bw / 2, y-det-center - hh), + close: true, + fill: white, + stroke: 1.2pt + black, + ) + + // Mounting Holes (Left & Right, Diameter 3.2 mm) + let hole-left-x = x-det-center - hole-spacing / 2 + let hole-right-x = x-det-center + hole-spacing / 2 + + circle( + (hole-left-x, y-det-center), + radius: hole-r, + fill: white, + stroke: 0.8pt + black, + ) + circle( + (hole-right-x, y-det-center), + radius: hole-r, + fill: white, + stroke: 0.8pt + black, + ) + + // Hole Center Crosshairs + line( + (hole-left-x - 0.2, y-det-center), + (hole-left-x + 0.2, y-det-center), + stroke: 0.3pt + luma(120), + ) + line( + (hole-left-x, y-det-center - 0.2), + (hole-left-x, y-det-center + 0.2), + stroke: 0.3pt + luma(120), + ) + line( + (hole-right-x - 0.2, y-det-center), + (hole-right-x + 0.2, y-det-center), + stroke: 0.3pt + luma(120), + ) + line( + (hole-right-x, y-det-center - 0.2), + (hole-right-x, y-det-center + 0.2), + stroke: 0.3pt + luma(120), + ) + + // Overall D-Opening Width Dimension (33.3 mm) + let x-left-edge = x-det-center - d-width / 2 + let x-right-edge = x-det-center + d-width / 2 + + line( + (x-left-edge, y-det-center + hh), + (x-left-edge, y-det-center + hh + 0.6), + stroke: 0.4pt + luma(140), + ) + line( + (x-right-edge, y-det-center + hh), + (x-right-edge, y-det-center + hh + 0.6), + stroke: 0.4pt + luma(140), + ) + line( + (x-left-edge, y-det-center + hh + 0.6), + (x-right-edge, y-det-center + hh + 0.6), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.08, + stroke: 0.6pt + black, + ) + content((x-det-center, y-det-center + hh + 0.3), text( + size: 7pt, + )[Opening width: $qty(33.3, "mm")$]) + + // D-Opening Height Dimension (12.5 mm) + line( + (x-left-edge, y-det-center - hh), + (x-left-edge - 0.5, y-det-center - hh), + stroke: 0.4pt + luma(140), + ) + line( + (x-left-edge, y-det-center + hh), + (x-left-edge - 0.5, y-det-center + hh), + stroke: 0.4pt + luma(140), + ) + line( + (x-left-edge - 0.5, y-det-center - hh), + (x-left-edge - 0.5, y-det-center + hh), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.08, + stroke: 0.6pt + black, + ) + content( + (x-left-edge - 0.75, y-det-center), + text(size: 7pt)[$qty(12.5, "mm")$], + angle: 90deg, + ) + + // Mounting Hole Spacing Dimension (24.99 mm) + line( + (hole-left-x, y-det-center - hh), + (hole-left-x, y-det-center - hh - 0.6), + stroke: 0.4pt + luma(140), + ) + line( + (hole-right-x, y-det-center - hh), + (hole-right-x, y-det-center - hh - 0.6), + stroke: 0.4pt + luma(140), + ) + line( + (hole-left-x, y-det-center - hh - 0.6), + (hole-right-x, y-det-center - hh - 0.6), + mark: (start: "stealth", end: "stealth"), + mark-size: 0.08, + stroke: 0.6pt + black, + ) + content((x-det-center, y-det-center - hh - 0.9), text( + size: 7pt, + )[Hole pitch: $qty(24.99, "mm")$]) + + // Hole Diameter Callout (diameter 3.2 mm) + line( + (hole-right-x, y-det-center + hole-r), + (hole-right-x + 0.6, y-det-center + 1.1), + mark: (start: "stealth"), + mark-size: 0.08, + stroke: 0.6pt + black, + ) + content( + (hole-right-x + 0.65, y-det-center + 1.15), + text(size: 6.5pt)[$2 times diameter qty(3.2, "mm")$ holes], + anchor: "west", + ) + }), + caption: [Cassette DB-25 connector cutout technical drawing showing rear panel placement coordinates and magnified CAD geometry dimensions.], +) #figure( table( diff --git a/pictures/db-25-connector-cutout.svg b/pictures/db-25-connector-cutout.svg deleted file mode 100644 index 2174c9e..0000000 --- a/pictures/db-25-connector-cutout.svg +++ /dev/null @@ -1,611 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - REAR CLOSURE ELEVATION - (Outside Face: 165.1 mm × 35.7 mm) - - - - - - - - - - - - - - - 82.5 mm - (Center Y) - - - - - 165.1 mm - - - - - - 35.7 mm - (Center X: 17.85 mm) - - - - DETAILED CUTOUT GEOMETRY - (Enlarged Profile: Scale 8:1) - - - - - - - - - - - - - - - - - D-Opening Width: 33.3 mm - - - - - 12.5 mm - - - - - - Mounting Pitch: 24.99 mm - - - - 2× Mounting Hole: ⌀ 3.2 mm - - Full Corner Radius - - - - - - - - - - - - - - - - - - - -- cgit