aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mechanical-specifications.typ341
-rw-r--r--pictures/grid.svg1177
2 files changed, 338 insertions, 1180 deletions
diff --git a/mechanical-specifications.typ b/mechanical-specifications.typ
index 2a433f9..ddc3254 100644
--- a/mechanical-specifications.typ
+++ b/mechanical-specifications.typ
@@ -2460,9 +2460,344 @@ All panel-mounted components follow a $qty(0.75, "inch")$ ($qty(19.05, "mm")$)
grid for compatibility with standard banana jack spacing and shorting bars.
#figure(
- image("pictures/grid.svg"),
- caption: [Grid],
-) <figure-grid>
+ cetz.canvas({
+ import cetz.draw: *
+
+ // Scale factor: 1 mm = 0.06 drawing units
+ let s = 0.06
+
+ let panel-w = 38.0 * s // 1.824 units
+ let panel-h = 177.8 * s // 8.5344 units
+ let lip-h = 6.35 * s // Lip height top/bottom
+
+ // Grid Origin & Pitch
+ let orig-x = 9.525 * s // Column 1 (A)
+ let col2-x = 28.575 * s // Column 2 (B)
+ let col-pitch = 19.05 * s // 0.75 inch pitch
+
+ let orig-y-top = 22.225 * s // Row 1 Y offset from top
+ let row-pitch = 19.05 * s // 0.75 inch pitch
+
+ let y-panel-top = panel-h
+ let y-panel-bot = 0
+
+ // Row Y-coordinates from bottom Y=0
+ let row-y = (
+ y-panel-top - orig-y-top - 0 * row-pitch, // Row 1
+ y-panel-top - orig-y-top - 1 * row-pitch, // Row 2
+ y-panel-top - orig-y-top - 2 * row-pitch, // Row 3
+ y-panel-top - orig-y-top - 3 * row-pitch, // Row 4
+ y-panel-top - orig-y-top - 4 * row-pitch, // Row 5
+ y-panel-top - orig-y-top - 5 * row-pitch, // Row 6
+ y-panel-top - orig-y-top - 6 * row-pitch, // Row 7
+ y-panel-top - orig-y-top - 7 * row-pitch, // Row 8
+ )
+
+ // ==========================================
+ // 1. FULL PANEL GRID MATRIX (A1 to B8)
+ // ==========================================
+ let x-grid-start = 0
+
+ // View Title
+ content((x-grid-start + panel-w / 2, y-panel-top + 1.5), text(
+ size: 8.5pt,
+ weight: "bold",
+ )[1. 2 $times$ 8 GRID MATRIX LAYOUT])
+ content((x-grid-start + panel-w / 2, y-panel-top + 1.15), text(
+ size: 7pt,
+ fill: luma(90),
+ )[($38.0 upright("mm") times 177.8 upright("mm")$ Panel)])
+
+ // Panel Outer Boundary
+ rect(
+ (x-grid-start, y-panel-bot),
+ (x-grid-start + panel-w, y-panel-top),
+ fill: luma(250),
+ stroke: 1.2pt + black,
+ )
+
+ // Top/Bottom Lip Boundaries
+ line(
+ (x-grid-start, y-panel-top - lip-h),
+ (x-grid-start + panel-w, y-panel-top - lip-h),
+ stroke: (paint: luma(140), thickness: 0.5pt, dash: "dashed"),
+ )
+ line(
+ (x-grid-start, y-panel-bot + lip-h),
+ (x-grid-start + panel-w, y-panel-bot + lip-h),
+ stroke: (paint: luma(140), thickness: 0.5pt, dash: "dashed"),
+ )
+
+ // Grid Column Lines (A & B)
+ line(
+ (x-grid-start + orig-x, y-panel-bot + lip-h),
+ (x-grid-start + orig-x, y-panel-top - lip-h),
+ stroke: (paint: luma(130), thickness: 0.5pt, dash: "dash-dotted"),
+ )
+ line(
+ (x-grid-start + col2-x, y-panel-bot + lip-h),
+ (x-grid-start + col2-x, y-panel-top - lip-h),
+ stroke: (paint: luma(130), thickness: 0.5pt, dash: "dash-dotted"),
+ )
+
+ // Grid Row Lines (1 to 8)
+ for ry in row-y {
+ line(
+ (x-grid-start, ry),
+ (x-grid-start + panel-w, ry),
+ stroke: (paint: luma(130), thickness: 0.5pt, dash: "dash-dotted"),
+ )
+ }
+
+ // Grid Node Markers & Labels (A1..A8, B1..B8)
+ let col-names = ("A", "B")
+ let col-xs = (x-grid-start + orig-x, x-grid-start + col2-x)
+
+ for (c-idx, cx) in col-xs.enumerate() {
+ let c-letter = col-names.at(c-idx)
+ for (r-idx, ry) in row-y.enumerate() {
+ let node-name = c-letter + str(r-idx + 1)
+ circle((cx, ry), radius: 0.08, fill: white, stroke: 0.8pt + black)
+ content((cx, ry + 0.18), text(size: 5pt, weight: "bold")[#node-name])
+ }
+ }
+
+ // Dimension: Origin X (9.525 mm)
+ line(
+ (x-grid-start, y-panel-top),
+ (x-grid-start, y-panel-top + 0.4),
+ stroke: 0.4pt + luma(140),
+ )
+ line(
+ (x-grid-start + orig-x, y-panel-top),
+ (x-grid-start + orig-x, y-panel-top + 0.4),
+ stroke: 0.4pt + luma(140),
+ )
+ line(
+ (x-grid-start, y-panel-top + 0.35),
+ (x-grid-start + orig-x, y-panel-top + 0.35),
+ mark: (start: "stealth", end: "stealth"),
+ mark-size: 0.08,
+ stroke: 0.5pt + black,
+ )
+ content((x-grid-start + orig-x / 2, y-panel-top + 0.15), text(
+ size: 6.5pt,
+ )[$qty(9.525, "mm")$])
+
+ // Dimension: Column Pitch (19.05 mm)
+ line(
+ (x-grid-start + col2-x, y-panel-top),
+ (x-grid-start + col2-x, y-panel-top + 0.4),
+ stroke: 0.4pt + luma(140),
+ )
+ line(
+ (x-grid-start + orig-x, y-panel-top + 0.35),
+ (x-grid-start + col2-x, y-panel-top + 0.35),
+ mark: (start: "stealth", end: "stealth"),
+ mark-size: 0.08,
+ stroke: 0.5pt + black,
+ )
+ content((x-grid-start + (orig-x + col2-x) / 2, y-panel-top + 0.55), text(
+ size: 6.5pt,
+ )[$qty(19.05, "mm")$ Pitch])
+
+ // Dimension: Origin Y (22.225 mm from top)
+ let row1-y = row-y.at(0)
+ line(
+ (x-grid-start, y-panel-top),
+ (x-grid-start - 0.5, y-panel-top),
+ stroke: 0.4pt + luma(140),
+ )
+ line(
+ (x-grid-start, row1-y),
+ (x-grid-start - 0.5, row1-y),
+ stroke: 0.4pt + luma(140),
+ )
+ line(
+ (x-grid-start - 0.45, y-panel-top),
+ (x-grid-start - 0.45, row1-y),
+ mark: (start: "stealth", end: "stealth"),
+ mark-size: 0.08,
+ stroke: 0.5pt + black,
+ )
+ content(
+ (x-grid-start - 0.75, (y-panel-top + row1-y) / 2),
+ text(size: 6.5pt)[Origin Y: $qty(22.225, "mm")$],
+ angle: 90deg,
+ )
+
+ // Dimension: Row Pitch (19.05 mm)
+ let row2-y = row-y.at(1)
+ line(
+ (x-grid-start, row2-y),
+ (x-grid-start - 0.5, row2-y),
+ stroke: 0.4pt + luma(140),
+ )
+ line(
+ (x-grid-start - 0.45, row1-y),
+ (x-grid-start - 0.45, row2-y),
+ mark: (start: "stealth", end: "stealth"),
+ mark-size: 0.08,
+ stroke: 0.5pt + black,
+ )
+ content(
+ (x-grid-start - 0.25, (row1-y + row2-y) / 2),
+ text(size: 6.5pt)[Row pitch: $qty(19.05, "mm")$],
+ angle: 90deg,
+ )
+
+ // ==========================================
+ // 2. COMPONENT PLACEMENT EXAMPLES (MAGNIFIED ROWS 1–3)
+ // ==========================================
+ let x-ex-start = 5.8
+ let ex-scale = 1.35 // Magnification factor for detail view
+ let ex-w = panel-w * ex-scale
+ let ex-h = (orig-y-top + 2.5 * row-pitch) * ex-scale
+
+ let y-ex-top = y-panel-top
+ let y-ex-bot = y-ex-top - ex-h
+
+ // View Title
+ content((x-ex-start + ex-w / 2, y-panel-top + 1.5), text(
+ size: 8.5pt,
+ weight: "bold",
+ )[2. COMPONENT PLACEMENT EXAMPLES])
+ content((x-ex-start + ex-w / 2, y-panel-top + 1.15), text(
+ size: 7pt,
+ fill: luma(90),
+ )[(Magnified Detail: Rows 1 to 3)])
+
+ // Magnified Panel Outline
+ rect(
+ (x-ex-start, y-ex-bot),
+ (x-ex-start + ex-w, y-ex-top),
+ fill: luma(248),
+ stroke: 1.2pt + black,
+ )
+
+ // Magnified Grid Lines
+ let ex-colA-x = x-ex-start + orig-x * ex-scale
+ let ex-colB-x = x-ex-start + col2-x * ex-scale
+ let ex-row1-y = y-ex-top - orig-y-top * ex-scale
+ let ex-row2-y = ex-row1-y - row-pitch * ex-scale
+ let ex-row3-y = ex-row2-y - row-pitch * ex-scale
+
+ let ex-rows = (ex-row1-y, ex-row2-y, ex-row3-y)
+
+ line((ex-colA-x, y-ex-bot), (ex-colA-x, y-ex-top), stroke: (
+ paint: luma(140),
+ thickness: 0.4pt,
+ dash: "dash-dotted",
+ ))
+ line((ex-colB-x, y-ex-bot), (ex-colB-x, y-ex-top), stroke: (
+ paint: luma(140),
+ thickness: 0.4pt,
+ dash: "dash-dotted",
+ ))
+ for ery in ex-rows {
+ line((x-ex-start, ery), (x-ex-start + ex-w, ery), stroke: (
+ paint: luma(140),
+ thickness: 0.4pt,
+ dash: "dash-dotted",
+ ))
+ }
+
+ // Placement Example 1: 4 mm Banana Jack Hole on A1 (\diameter 8.0 mm)
+ let r-banana = (8.0 / 2) * s * ex-scale
+ circle(
+ (ex-colA-x, ex-row1-y),
+ radius: r-banana,
+ fill: white,
+ stroke: 1pt + black,
+ )
+ circle((ex-colA-x, ex-row1-y), radius: 0.05, fill: black)
+
+ // Placement Example 2: Potentiometer Shaft Hole on B1 (\diameter 7.0 mm)
+ let r-pot = (7.0 / 2) * s * ex-scale
+ circle(
+ (ex-colB-x, ex-row1-y),
+ radius: r-pot,
+ fill: white,
+ stroke: 1pt + black,
+ )
+ circle((ex-colB-x, ex-row1-y), radius: 0.05, fill: black)
+
+ // Placement Example 3: Off-Grid 3 mm LED Hole between A1 and A2 (\diameter 3.2 mm)
+ let ex-led-y = (ex-row1-y + ex-row2-y) / 2
+ let r-led = (3.2 / 2) * s * ex-scale
+ circle(
+ (ex-colA-x, ex-led-y),
+ radius: r-led,
+ fill: luma(220),
+ stroke: 0.9pt + black,
+ )
+ circle((ex-colA-x, ex-led-y), radius: 0.04, fill: black)
+
+ // Placement Example 4: Toggle Switch Hole on B2 (\diameter 6.0 mm)
+ let r-sw = (6.0 / 2) * s * ex-scale
+ circle(
+ (ex-colB-x, ex-row2-y),
+ radius: r-sw,
+ fill: white,
+ stroke: 1pt + black,
+ )
+
+ // Callout Annotations for Placement Examples
+ line(
+ (ex-colA-x, ex-row1-y),
+ (ex-colA-x - 0.85, ex-row1-y),
+ stroke: 0.5pt + black,
+ )
+ content(
+ (ex-colA-x - 0.95, ex-row1-y + r-banana + 0.35),
+ angle: 90deg,
+ text(
+ size: 6pt,
+ )[A1: $4 upright("mm")$ Banana Jack ($diameter 8.0 upright("mm")$)],
+ anchor: "east",
+ )
+
+ line(
+ (ex-colB-x, ex-row1-y),
+ (ex-colB-x + 0.85, ex-row1-y),
+ stroke: 0.5pt + black,
+ )
+ content(
+ (ex-colB-x + 0.95, ex-row1-y),
+ text(
+ size: 6pt,
+ )[B1: Pot shaft ($diameter 7.0 upright("mm")$)],
+ anchor: "west",
+ )
+
+ line(
+ (ex-colA-x + r-led, ex-led-y),
+ (x-ex-start + ex-w + 0.3, ex-led-y),
+ stroke: 0.5pt + black,
+ )
+ content(
+ (x-ex-start + ex-w + 0.35, ex-led-y),
+ text(
+ size: 6pt,
+ )[Off-grid LED ($diameter 3.2 upright("mm")$)],
+ anchor: "west",
+ )
+
+ line(
+ (ex-colB-x + r-sw, ex-row2-y),
+ (x-ex-start + ex-w + 0.3, ex-row2-y),
+ stroke: 0.5pt + black,
+ )
+ content(
+ (x-ex-start + ex-w + 0.35, ex-row2-y),
+ text(
+ size: 6pt,
+ )[B2: toggle switch ($diameter 6.0 upright("mm")$)],
+ anchor: "west",
+ )
+ }),
+ caption: [Panels grid specification technical drawing showing full $2 times 8$ grid matrix coordinates (origin X = $qty(9.525, "mm")$, origin Y = $qty(22.225, "mm")$, pitch = $qty(19.05, "mm")$) and component placement rules.],
+) <figure-panels-grid-diagram>
===== Origin <panels-grid-origin>
diff --git a/pictures/grid.svg b/pictures/grid.svg
deleted file mode 100644
index 542538c..0000000
--- a/pictures/grid.svg
+++ /dev/null
@@ -1,1177 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- viewBox="0 0 754.0932 593.61035"
- width="754.0932"
- height="593.61035"
- style="font-family:serif"
- version="1.1"
- id="svg84"
- sodipodi:docname="grid.svg"
- inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#">
- <sodipodi:namedview
- id="namedview84"
- pagecolor="#ffffff"
- bordercolor="#000000"
- borderopacity="0.25"
- inkscape:showpageshadow="false"
- inkscape:pageopacity="0.0"
- inkscape:pagecheckerboard="0"
- inkscape:deskcolor="#d1d1d1"
- showborder="false"
- borderlayer="false"
- inkscape:zoom="1.2698413"
- inkscape:cx="353.98125"
- inkscape:cy="290.5875"
- inkscape:window-width="1920"
- inkscape:window-height="1011"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:window-maximized="1"
- inkscape:current-layer="svg84" />
- <defs
- id="defs7">
- <marker
- style="overflow:visible"
- id="Triangle"
- refX="0"
- refY="0"
- orient="auto-start-reverse"
- inkscape:stockid="Triangle arrow"
- markerWidth="1"
- markerHeight="1"
- viewBox="0 0 1 1"
- inkscape:isstock="true"
- inkscape:collect="always"
- preserveAspectRatio="xMidYMid">
- <path
- transform="scale(0.5)"
- style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
- d="M 5.77,0 -2.88,5 V -5 Z"
- id="path135" />
- </marker>
- <!-- Standard CAD Arrowheads -->
- <!-- Standard Banana Jack Hole Pattern (8.0 mm) -->
- <g
- id="jack-hole">
- <circle
- cx="0"
- cy="0"
- r="11.2"
- fill="#ffffff"
- stroke="#000000"
- stroke-width="1.2"
- id="circle2" />
- <line
- x1="-14"
- y1="0"
- x2="14"
- y2="0"
- stroke="#000000"
- stroke-width="0.5"
- stroke-dasharray="2, 2"
- id="line2" />
- <line
- x1="0"
- y1="-14"
- x2="0"
- y2="14"
- stroke="#000000"
- stroke-width="0.5"
- stroke-dasharray="2, 2"
- id="line3" />
- </g>
- <!-- Potentiometer Shaft Hole Pattern (7.0 mm) -->
- <g
- id="pot-hole">
- <circle
- cx="0"
- cy="0"
- r="9.8000002"
- fill="#ffffff"
- stroke="#000000"
- stroke-width="1.2"
- id="circle3" />
- <line
- x1="-12"
- y1="0"
- x2="12"
- y2="0"
- stroke="#000000"
- stroke-width="0.5"
- stroke-dasharray="2, 2"
- id="line4" />
- <line
- x1="0"
- y1="-12"
- x2="0"
- y2="12"
- stroke="#000000"
- stroke-width="0.5"
- stroke-dasharray="2, 2"
- id="line5" />
- </g>
- <!-- LED Indicator Hole Pattern (3.2 mm) -->
- <g
- id="led-hole">
- <circle
- cx="0"
- cy="0"
- r="4.48"
- fill="#000000"
- stroke="#000000"
- stroke-width="1"
- id="circle5" />
- <line
- x1="-7"
- y1="0"
- x2="7"
- y2="0"
- stroke="#000000"
- stroke-width="0.5"
- stroke-dasharray="2, 2"
- id="line6" />
- <line
- x1="0"
- y1="-7"
- x2="0"
- y2="7"
- stroke="#000000"
- stroke-width="0.5"
- stroke-dasharray="2, 2"
- id="line7" />
- </g>
- </defs>
- <!-- ================================================================= -->
- <!-- TITLE & HEADER -->
- <!-- ================================================================= -->
- <!-- ================================================================= -->
- <!-- VIEW 1: FULL FRONT PANEL GRID ELEVATION (LEFT VIEW) -->
- <!-- ================================================================= -->
- <text
- x="93.644455"
- y="9.6103516"
- text-anchor="middle"
- fill="#000000"
- font-size="13px"
- font-weight="700"
- id="text9">FULL PANEL GRID LAYOUT</text>
- <text
- x="93.644455"
- y="25.610352"
- text-anchor="middle"
- fill="#666666"
- font-size="10px"
- id="text10"
- style="fill:#000000;fill-opacity:1">(Scale: 2.8 px/mm | 2 Columns × 8 Rows)</text>
- <rect
- x="40.444454"
- y="85.610352"
- width="106.4"
- height="497.84"
- fill="#f8fafc"
- stroke="#000000"
- stroke-width="2"
- id="rect10"
- style="fill:#ffffff;fill-opacity:1" />
- <line
- x1="40.444454"
- y1="103.39035"
- x2="146.84445"
- y2="103.39035"
- stroke="#000000"
- stroke-width="1"
- stroke-dasharray="3, 3"
- id="line10" />
- <line
- x1="40.444454"
- y1="565.67035"
- x2="146.84445"
- y2="565.67035"
- stroke="#000000"
- stroke-width="1"
- stroke-dasharray="3, 3"
- id="line11" />
- <line
- x1="67.114456"
- y1="70.610352"
- x2="67.114456"
- y2="593.61035"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line12" />
- <line
- x1="120.45445"
- y1="70.610352"
- x2="120.45445"
- y2="593.61035"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line13" />
- <line
- x1="28.644451"
- y1="147.84035"
- x2="158.64445"
- y2="147.84035"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line14" />
- <use
- href="#jack-hole"
- x="173.47"
- y="172.23"
- id="use14"
- transform="translate(-106.35555,-24.389648)" />
- <use
- href="#jack-hole"
- x="226.81"
- y="172.23"
- id="use15"
- transform="translate(-106.35555,-24.389648)" />
- <text
- x="67.114456"
- y="151.34035"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text15">A1</text>
- <text
- x="120.45445"
- y="151.34035"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text16">B1</text>
- <line
- x1="28.644451"
- y1="201.18036"
- x2="158.64445"
- y2="201.18036"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line16" />
- <use
- href="#jack-hole"
- x="173.47"
- y="225.57001"
- id="use16"
- transform="translate(-106.35555,-24.389648)" />
- <use
- href="#jack-hole"
- x="226.81"
- y="225.57001"
- id="use17"
- transform="translate(-106.35555,-24.389648)" />
- <text
- x="67.114456"
- y="204.68036"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text17">A2</text>
- <text
- x="120.45445"
- y="204.68036"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text18">B2</text>
- <line
- x1="28.644451"
- y1="254.52036"
- x2="158.64445"
- y2="254.52036"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line18" />
- <use
- href="#jack-hole"
- x="173.47"
- y="278.91"
- id="use18"
- transform="translate(-106.35555,-24.389648)" />
- <use
- href="#jack-hole"
- x="226.81"
- y="278.91"
- id="use19"
- transform="translate(-106.35555,-24.389648)" />
- <text
- x="67.114456"
- y="258.02036"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text19">A3</text>
- <text
- x="120.45445"
- y="258.02036"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text20">B3</text>
- <line
- x1="28.644451"
- y1="307.86035"
- x2="158.64445"
- y2="307.86035"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line20" />
- <use
- href="#pot-hole"
- x="173.47"
- y="332.25"
- id="use20"
- transform="translate(-106.35555,-24.389648)" />
- <use
- href="#pot-hole"
- x="226.81"
- y="332.25"
- id="use21"
- transform="translate(-106.35555,-24.389648)" />
- <text
- x="67.114456"
- y="311.36035"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text21">A4</text>
- <text
- x="120.45445"
- y="311.36035"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text22">B4</text>
- <use
- href="#led-hole"
- x="200.14"
- y="358.92001"
- id="use22"
- transform="translate(-106.35555,-24.389648)" />
- <line
- x1="28.644451"
- y1="361.20035"
- x2="158.64445"
- y2="361.20035"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line22" />
- <use
- href="#jack-hole"
- x="173.47"
- y="385.59"
- id="use23"
- transform="translate(-106.35555,-24.389648)" />
- <use
- href="#jack-hole"
- x="226.81"
- y="385.59"
- id="use24"
- transform="translate(-106.35555,-24.389648)" />
- <text
- x="67.114456"
- y="364.70035"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text24">A5</text>
- <text
- x="120.45445"
- y="364.70035"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text25">B5</text>
- <line
- x1="28.644451"
- y1="414.54034"
- x2="158.64445"
- y2="414.54034"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line25" />
- <use
- href="#jack-hole"
- x="173.47"
- y="438.92999"
- id="use25"
- transform="translate(-106.35555,-24.389648)" />
- <use
- href="#jack-hole"
- x="226.81"
- y="438.92999"
- id="use26"
- transform="translate(-106.35555,-24.389648)" />
- <text
- x="67.114456"
- y="418.04034"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text26">A6</text>
- <text
- x="120.45445"
- y="418.04034"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text27">B6</text>
- <line
- x1="28.644451"
- y1="467.88034"
- x2="158.64445"
- y2="467.88034"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line27" />
- <use
- href="#jack-hole"
- x="173.47"
- y="492.26999"
- id="use27"
- transform="translate(-106.35555,-24.389648)" />
- <use
- href="#jack-hole"
- x="226.81"
- y="492.26999"
- id="use28"
- transform="translate(-106.35555,-24.389648)" />
- <text
- x="67.114456"
- y="471.38034"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text28">A7</text>
- <text
- x="120.45445"
- y="471.38034"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text29">B7</text>
- <line
- x1="28.644451"
- y1="521.22034"
- x2="158.64445"
- y2="521.22034"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line29" />
- <use
- href="#jack-hole"
- x="173.47"
- y="545.60999"
- id="use29"
- transform="translate(-106.35555,-24.389648)" />
- <use
- href="#jack-hole"
- x="226.81"
- y="545.60999"
- id="use30"
- transform="translate(-106.35555,-24.389648)" />
- <text
- x="67.114456"
- y="524.72034"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text30">A8</text>
- <text
- x="120.45445"
- y="524.72034"
- text-anchor="middle"
- fill="#000000"
- font-size="8px"
- font-weight="700"
- id="text31">B8</text>
- <line
- x1="40.444454"
- y1="85.610352"
- x2="40.444454"
- y2="50.610352"
- stroke="#000000"
- stroke-width="0.75"
- id="line31" />
- <line
- x1="146.84445"
- y1="85.610352"
- x2="146.84445"
- y2="50.610352"
- stroke="#000000"
- stroke-width="0.75"
- id="line32" />
- <line
- x1="44.815609"
- y1="49.610352"
- x2="142.47328"
- y2="49.610352"
- stroke="#000000"
- stroke-width="1.14964"
- marker-start="url(#arrow-start)"
- marker-end="url(#arrow-end)"
- id="line33"
- style="marker-start:url(#Triangle);marker-end:url(#Triangle)" />
- <text
- x="93.644455"
- y="44.610352"
- text-anchor="middle"
- fill="#000000"
- font-size="10.5px"
- font-weight="700"
- id="text33">38.0 mm</text>
- <text
- x="67.114456"
- y="70.610352"
- text-anchor="middle"
- fill="#000000"
- font-size="9px"
- font-weight="700"
- id="text34">Col 1 (A)</text>
- <text
- x="120.45445"
- y="70.610352"
- text-anchor="middle"
- fill="#000000"
- font-size="9px"
- font-weight="700"
- id="text35">Col 2 (B)</text>
- <text
- x="23.644451"
- y="150.61035"
- text-anchor="end"
- fill="#000000"
- font-size="8.5px"
- font-weight="600"
- id="text36">Row 1</text>
- <text
- x="23.644451"
- y="203.61035"
- text-anchor="end"
- fill="#000000"
- font-size="8.5px"
- font-weight="600"
- id="text37">Row 2</text>
- <text
- x="23.644451"
- y="256.61035"
- text-anchor="end"
- fill="#000000"
- font-size="8.5px"
- font-weight="600"
- id="text38">Row 3</text>
- <text
- x="23.644451"
- y="310.61035"
- text-anchor="end"
- fill="#000000"
- font-size="8.5px"
- font-weight="600"
- id="text39">Row 4</text>
- <text
- x="23.644451"
- y="363.61035"
- text-anchor="end"
- fill="#000000"
- font-size="8.5px"
- font-weight="600"
- id="text40">Row 5</text>
- <text
- x="23.644451"
- y="416.61035"
- text-anchor="end"
- fill="#000000"
- font-size="8.5px"
- font-weight="600"
- id="text41">Row 6</text>
- <text
- x="23.644451"
- y="470.61035"
- text-anchor="end"
- fill="#000000"
- font-size="8.5px"
- font-weight="600"
- id="text42">Row 7</text>
- <text
- x="23.644451"
- y="523.61035"
- text-anchor="end"
- fill="#000000"
- font-size="8.5px"
- font-weight="600"
- id="text43">Row 8</text>
- <line
- x1="146.84445"
- y1="85.610352"
- x2="183.64445"
- y2="85.610352"
- stroke="#000000"
- stroke-width="0.75"
- id="line43" />
- <line
- x1="146.84445"
- y1="583.45038"
- x2="183.64445"
- y2="583.45038"
- stroke="#000000"
- stroke-width="0.75"
- id="line44" />
- <line
- x1="183.64445"
- y1="90.25563"
- x2="183.64445"
- y2="578.80505"
- stroke="#000000"
- stroke-width="1.18875"
- marker-start="url(#arrow-start)"
- marker-end="url(#arrow-end)"
- id="line45"
- style="marker-start:url(#Triangle);marker-end:url(#Triangle)" />
- <g
- transform="rotate(90,-69.44295,265.0874)"
- id="g45">
- <text
- x="0"
- y="0"
- text-anchor="middle"
- fill="#000000"
- font-size="10.5px"
- font-weight="700"
- id="text45">177.8 mm (4U Panel Height)</text>
- </g>
- <!-- ================================================================= -->
- <!-- VIEW 2: ZOOMED ORIGIN & PITCH DETAIL (TOP RIGHT) -->
- <!-- ================================================================= -->
- <text
- x="493.64444"
- y="9.6103516"
- text-anchor="middle"
- fill="#000000"
- font-size="13px"
- font-weight="700"
- id="text46">GRID ORIGIN &amp; PITCH DETAIL</text>
- <text
- x="493.64444"
- y="25.610352"
- text-anchor="middle"
- fill="#666666"
- font-size="10px"
- id="text47"
- style="fill:#000000;fill-opacity:1">(Enlarged View: Rows 1–2 / Scale 4.5 px/mm)</text>
- <rect
- x="408.14444"
- y="90.610352"
- width="171"
- height="247.5"
- fill="#f8fafc"
- stroke="#000000"
- stroke-width="2"
- id="rect47"
- style="fill:#ffffff;fill-opacity:1" />
- <line
- x1="451.00443"
- y1="75.610352"
- x2="451.00443"
- y2="350.61035"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line47" />
- <line
- x1="536.72449"
- y1="75.610352"
- x2="536.72449"
- y2="350.61035"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line48" />
- <line
- x1="388.64444"
- y1="190.62035"
- x2="598.64447"
- y2="190.62035"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line49" />
- <line
- x1="388.64444"
- y1="276.34534"
- x2="598.64447"
- y2="276.34534"
- stroke="#000000"
- stroke-width="0.8"
- stroke-dasharray="8, 3, 2, 3"
- id="line50" />
- <circle
- cx="451.00443"
- cy="190.62035"
- r="18"
- fill="#ffffff"
- stroke="#000000"
- stroke-width="1.5"
- id="circle50" />
- <circle
- cx="536.72449"
- cy="190.62035"
- r="18"
- fill="#ffffff"
- stroke="#000000"
- stroke-width="1.5"
- id="circle51" />
- <circle
- cx="451.00443"
- cy="276.34534"
- r="18"
- fill="#ffffff"
- stroke="#000000"
- stroke-width="1.5"
- id="circle52" />
- <circle
- cx="536.72449"
- cy="276.34534"
- r="18"
- fill="#ffffff"
- stroke="#000000"
- stroke-width="1.5"
- id="circle53" />
- <text
- x="451.00443"
- y="194.62035"
- text-anchor="middle"
- fill="#000000"
- font-size="11px"
- font-weight="700"
- id="text53">A1</text>
- <text
- x="536.72449"
- y="194.62035"
- text-anchor="middle"
- fill="#000000"
- font-size="11px"
- font-weight="700"
- id="text54">B1</text>
- <text
- x="451.00443"
- y="280.34534"
- text-anchor="middle"
- fill="#000000"
- font-size="11px"
- font-weight="700"
- id="text55">A2</text>
- <text
- x="536.72449"
- y="280.34534"
- text-anchor="middle"
- fill="#000000"
- font-size="11px"
- font-weight="700"
- id="text56">B2</text>
- <line
- x1="408.14444"
- y1="90.610352"
- x2="408.14444"
- y2="60.610352"
- stroke="#000000"
- stroke-width="0.75"
- id="line56" />
- <line
- x1="451.00443"
- y1="190.62035"
- x2="451.00443"
- y2="60.610352"
- stroke="#000000"
- stroke-width="0.75"
- id="line57" />
- <line
- x1="412.78903"
- y1="59.610352"
- x2="447.14731"
- y2="59.610352"
- stroke="#000000"
- stroke-width="1.07441"
- marker-start="url(#arrow-start)"
- marker-end="url(#arrow-end)"
- id="line58"
- style="marker-start:url(#Triangle);marker-end:url(#Triangle)" />
- <text
- x="429.57443"
- y="69.610352"
- text-anchor="middle"
- fill="#000000"
- font-size="9px"
- font-weight="700"
- id="text58">Origin X: 9.525 mm</text>
- <line
- x1="536.72449"
- y1="190.62035"
- x2="536.72449"
- y2="60.610352"
- stroke="#000000"
- stroke-width="0.75"
- id="line59" />
- <line
- x1="454.54605"
- y1="59.610352"
- x2="532.39539"
- y2="59.610352"
- stroke="#000000"
- stroke-width="1.14358"
- marker-start="url(#arrow-start)"
- marker-end="url(#arrow-end)"
- id="line60"
- style="marker-start:url(#Triangle);marker-end:url(#Triangle)" />
- <text
- x="493.86441"
- y="53.610352"
- text-anchor="middle"
- fill="#000000"
- font-size="9px"
- font-weight="700"
- id="text60">Column Pitch: 19.05 mm (0.75&quot;)</text>
- <line
- x1="408.14444"
- y1="90.610352"
- x2="358.64444"
- y2="90.610352"
- stroke="#000000"
- stroke-width="0.75"
- id="line61" />
- <line
- x1="451.00443"
- y1="190.62035"
- x2="358.64444"
- y2="190.62035"
- stroke="#000000"
- stroke-width="0.75"
- id="line62" />
- <line
- x1="357.64444"
- y1="95.74807"
- x2="357.64444"
- y2="187.05763"
- stroke="#000000"
- stroke-width="1.14662"
- marker-start="url(#arrow-start)"
- marker-end="url(#arrow-end)"
- id="line63"
- style="marker-start:url(#Triangle);marker-end:url(#Triangle)" />