component
Harwin M20-9990246 2-pin vertical header
Public Made by Adomby adom
2-pin 2.54 mm THT header. Unpolarized, tin finish; nominal assets and 50-mating-cycle limit documented.
← Commit history
Publish 0.1.0
21 files changed
+5305
LICENSE+9README.md+21THIRD_PARTY.md+1build_model.py+44datasheet.pdffootprint-input.json+38footprint.html+210hero.pngm20-9990246-hero.glbm20-9990246-hero.overlay.json+125m20-9990246.adom-lbr.json+181m20-9990246.glbm20-9990246.kicad_mod+88m20-9990246.kicad_sym+130m20-9990246.lbr+109m20-9990246.step+2026package.json+88page.json+94provenance.json+56skills/m20-9990246/SKILL.md+15symbol.html+2070LICENSEadded+9@@ -0,0 +1,9 @@+MIT License++Copyright (c) 2026 Adom Industries Inc.++Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
README.mdadded+21@@ -0,0 +1,21 @@+# M20-9990246 vertical header++Harwin 2-position single-row 2.54 mm header, 0.64 mm square pins, 3 mm PCB tails and 6.1 mm mating pin height. The 46 suffix is tin over nickel. It is unpolarized and has no intrinsic signal assignment or keyed mating direction.++The manufacturer specifies a 3 A maximum contact rating and −40 to +105 °C range. The drawing lists **50 mating operations for tin**, versus 300 for gold. This is not a high-cycle workcell connector; assess expected service cycles and retention before product release.++## Circuit and mating++The library numbers contacts 1 through 2 in a row from the footprint origin. This numbering is an Adom circuit convention for a geometrically symmetric header, not a claimed physical molded pin-1 identifier. In the custom electronic load, J10 uses **1 TEMP_SENSE, 2 GND**. Inspect board silkscreen, harness continuity and connector orientation before connecting it.++The nominal harness study uses housing M20-1060200 with 2 M20-1180046 crimp contacts. That is an Adom-added termination; the Sunon fan itself has flying leads. Mating, contact insertion, wire gauge, stripping, crimp tooling, retention and polarity remain separate qualification tasks. The housing is not included with this bare header.++## Library and geometry++The footprint follows 2.54 mm pitch and Harwin's recommended **1.02 ±0.05 mm finished hole**. Its 1.7 mm copper pads and courtyard are Adom candidate geometry. Confirm plated-hole tolerance, annular ring, copper clearance and solder process with the fabrication service. A nominal drill field does not certify the finished hole.++The original nominal model is 5.08 × 2.54 mm in plan, 8.64 mm above the PCB and 3 mm below. It uses plain rectangular housing and flat pin tips: molded recesses, chamfers and tolerance envelopes are not fully reproduced. This is not Harwin CAD. STEP units are mm, GLB meters, Z up, body seating at zero, pin 1 at X=Y=0. The hero adds nonphysical footprint labels; board-use geometry omits them.++[Manufacturer product page](https://www.harwin.com/products/M20-9990246) · [Manufacturer drawing](https://content.harwin.com/asset/640f59f4-1860-40fe-82ef-f2a104ffa7d8/DRG-00479-Technical-Drawing-Datasheet-M20-999-pdf.pdf)++Harwin links TraceParts CAD downloads requiring a registered email and Supplyframe assets. Those were not redistributed; their reuse rights were not established. The shipped model is Adom's original nominal reconstruction. See provenance.json and THIRD_PARTY.md.
THIRD_PARTY.mdadded+1@@ -0,0 +1 @@+Original Adom geometry, symbol, candidate footprint and documentation: MIT. Harwin drawing remains manufacturer copyright and is supplied as reference. No TraceParts/Supplyframe CAD is redistributed.
build_model.pyadded+44@@ -0,0 +1,44 @@+"""Original nominal Harwin header envelope; shared OCP kernel, not vendor CAD.+Flat pin tips and plain housing simplify manufacturer chamfers, recesses and mold details.+"""+import sys+from pathlib import Path+from OCP.gp import gp_Pnt,gp_Vec+from OCP.BRepBuilderAPI import BRepBuilderAPI_MakePolygon,BRepBuilderAPI_MakeFace+from OCP.BRepOffsetAPI import BRepOffsetAPI_ThruSections+from OCP.BRepPrimAPI import BRepPrimAPI_MakePrism,BRepPrimAPI_MakeBox+from OCP.BRepAlgoAPI import BRepAlgoAPI_Cut+from OCP.TopoDS import TopoDS_Compound+from OCP.BRep import BRep_Builder+from OCP.TopLoc import TopLoc_Location+from OCP.TDocStd import TDocStd_Document+from OCP.TCollection import TCollection_ExtendedString+from OCP.XCAFDoc import XCAFDoc_DocumentTool,XCAFDoc_ColorType+from OCP.TDataStd import TDataStd_Name+from OCP.Quantity import Quantity_Color,Quantity_TOC_RGB+from OCP.STEPCAFControl import STEPCAFControl_Writer+from OCP.STEPControl import STEPControl_AsIs+from OCP.IFSelect import IFSelect_RetDone+out=Path(sys.argv[1]);out.mkdir(parents=True,exist_ok=True)+def wire(points):+ p=BRepBuilderAPI_MakePolygon()+ for xyz in points:p.Add(gp_Pnt(*xyz))+ p.Close();return p.Wire()+# Cut taper wedges from a box; keep the top's analytic +Z plane for metadata.+N=2+body=BRepPrimAPI_MakeBox(gp_Pnt(-1.27,-(N-1)*2.54-1.27,0),2.54,N*2.54,2.54).Shape()+parts=[]+for i in range(N):+ y=-i*2.54+ pin=BRepPrimAPI_MakeBox(gp_Pnt(-.32,y-.32,-3),.64,.64,11.64).Shape()+ body=BRepAlgoAPI_Cut(body,pin).Shape()+ parts.append((f'Contact{i+1}_Nominal_Tin',pin,(.72,.73,.75)))+parts.insert(0,('Housing_Nominal_Black',body,(.055,.06,.065)))+doc=TDocStd_Document(TCollection_ExtendedString('BinXCAF'));st=XCAFDoc_DocumentTool.ShapeTool_s(doc.Main());ct=XCAFDoc_DocumentTool.ColorTool_s(doc.Main())+compound=TopoDS_Compound();builder=BRep_Builder();builder.MakeCompound(compound)+assembly=st.AddShape(compound,True);TDataStd_Name.Set_s(assembly,TCollection_ExtendedString('M20-9990246_AI_Nominal'))+for name,shape,color in parts:+ label=st.AddShape(shape,False);TDataStd_Name.Set_s(label,TCollection_ExtendedString(name));ct.SetColor(label,Quantity_Color(*color,Quantity_TOC_RGB),XCAFDoc_ColorType.XCAFDoc_ColorGen);st.AddComponent(assembly,label,TopLoc_Location())+st.UpdateAssemblies();writer=STEPCAFControl_Writer();writer.SetColorMode(True);writer.SetNameMode(True);writer.Transfer(doc,STEPControl_AsIs)+assert writer.Write(str(out/'m20-9990246.step'))==IFSelect_RetDone+print('WROTE',out/'m20-9990246.step')
datasheet.pdfadded⋯ 1 unchanged line ⋯
footprint-input.jsonadded+38@@ -0,0 +1,38 @@+{+ "footprintName": "M20-9990246_Vertical",+ "description": "Harwin M20-999, 2.54 mm pitch, recommended 1.02 +/-0.05 mm finished hole; 1.7 mm pads are Adom candidate geometry requiring fab review.",+ "pads": [+ {+ "number": "1",+ "x": 0,+ "y": 0.0,+ "dx": 1.7,+ "dy": 1.7,+ "drill": 1.02,+ "type": "thru_hole",+ "shape": "rect"+ },+ {+ "number": "2",+ "x": 0,+ "y": 2.54,+ "dx": 1.7,+ "dy": 1.7,+ "drill": 1.02,+ "type": "thru_hole",+ "shape": "circle"+ }+ ],+ "body": {+ "x1": -1.27,+ "y1": -1.27,+ "x2": 1.27,+ "y2": 3.81+ },+ "courtyard": {+ "x1": -1.65,+ "y1": -1.8,+ "x2": 1.65,+ "y2": 4.34+ }+}
footprint.htmladded+210@@ -0,0 +1,210 @@+<!doctype html><html><head><meta charset="utf-8">+<title>M20-9990246_Vertical - adom-footprint</title>+<meta name="viewport" content="width=device-width,initial-scale=1">+<style>+/* ── adom-footprint shared viewer core (CSS) ───────────────────────────────+ Included VERBATIM by both the live app (app.html) and the static embed+ (embed.html) so the canvas, zoom toolbar and layer-panel rows look identical+ and cannot drift. Self-contained literal colours (no dependency on either+ file's CSS vars). Class prefix: av- */++.av-vp{position:absolute;inset:0;overflow:hidden;cursor:grab;background:radial-gradient(circle at 50% 42%,#121a26 0%,#0d1117 72%)}+.av-vp.grab{cursor:grabbing}+/* DIRECT child only — the zoom-toolbar button icons (.av-tools svg) also live+ inside .av-vp; without '>' they'd inherit position:absolute and stack at 0,0. */+.av-vp > svg{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0;display:block}++/* zoom toolbar */+/* Grouped translucent toolbar (matches adom-symbol's .tools): one container, borderless+ buttons that highlight on hover — instead of individually-boxed buttons. */+.av-tools{position:absolute;left:10px;top:10px;display:flex;gap:3px;padding:3px;z-index:5;background:rgba(22,27,34,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #222b38;border-radius:9px}+.av-tools button{width:30px;height:30px;border-radius:6px;border:none;background:transparent;color:#cfd8e2;cursor:pointer;display:grid;place-items:center;transition:background .15s ease,color .15s ease}+.av-tools button svg{width:16px;height:16px;display:block}+.av-tools button:hover{background:#222b38;color:#37c8a6}+.av-tools button:focus,.av-tools button:focus-visible{outline:none}+.av-panhint{position:absolute;right:10px;bottom:9px;color:#8b949e;font-size:11px;z-index:5;pointer-events:none;user-select:none;-webkit-user-select:none}++/* layer panel rows */+.av-lrow{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;cursor:pointer}+.av-lrow:hover{background:#161c27}+.av-lrow .sw{width:13px;height:13px;border-radius:3px;border:1px solid rgba(255,255,255,.15);flex:0 0 13px}+.av-lrow .sw.ring{background:transparent!important}+.av-lrow .ln{flex:1;font-size:13px}+.av-lrow .meta{font-size:10px;color:#8b949e}+.av-lrow .chk{width:16px;height:16px;border-radius:4px;border:1.5px solid #3a4757;display:grid;place-items:center;color:#0b0f17;font-size:11px}+.av-lrow.on .chk{background:#37c8a6;border-color:#37c8a6}+.av-lrow.off .ln,.av-lrow.off .sw{opacity:.4}+.av-lrow.special{background:linear-gradient(100deg,rgba(55,200,166,.10),transparent);border:1px solid rgba(55,200,166,.25);margin-top:4px}+.av-lrow.special .ln{color:#7ef0d2;font-weight:600}++:root{--bg:#0d1117;--panel:#11161f;--border:#222b38;--text:#e6edf3;--muted:#8b949e;--accent:#37c8a6}+*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}+body{background:var(--bg);color:var(--text);font-family:'Satoshi','Segoe UI',system-ui,sans-serif;display:flex;flex-direction:column;overflow:hidden}+header{display:flex;align-items:center;gap:9px;padding:9px 14px;border-bottom:1px solid var(--border);flex:0 0 auto}+header .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}+header .b{font-weight:700;font-size:14px}header .b span{color:var(--muted);font-weight:400}+header .nm{margin-left:auto;font-weight:600;font-size:13px;color:#cfd8e2}+main{flex:1;display:flex;min-height:0}+.vpwrap{flex:1;position:relative;min-width:0}+aside{flex:0 0 248px;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}+aside .ah{padding:9px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted)}+.layers{padding:6px}+.note{font-size:11px;color:var(--muted);line-height:1.45;padding:8px 11px}+.note b{color:#7ef0d2}+</style></head>+<body>+ <header><span class="dot"></span><span class="b">adom-footprint <span>· interactive</span></span><span class="nm">M20-9990246_Vertical</span></header>+ <main>+ <div class="vpwrap">+ <div class="av-vp" id="vp">+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-1.850 -1.850 3.700 6.240" preserveAspectRatio="xMidYMid meet"><g class="adom-layer-courtyard"></g><g class="adom-layer-fab"></g><g class="adom-layer-copper"><g data-pad="1" data-shape="rect" data-size="1.700x1.700" data-mount="thru_hole"><rect x="-0.850" y="-0.850" width="1.700" height="1.700" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="2" data-shape="circle" data-size="1.700x1.700" data-mount="thru_hole"><circle cx="0.000" cy="2.540" r="0.850" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g></g><g class="adom-layer-heatsink"></g><g class="adom-layer-drill"><circle cx="0.000" cy="0.000" r="0.510" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="0.000" cy="2.540" r="0.510" fill="#0d1117" stroke="#666" stroke-width="0.05"/></g><g class="adom-layer-silk"></g><g class="adom-layer-padnum"><text x="0.000" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.714" fill="#fff" font-family="sans-serif" style="pointer-events:none">1</text><text x="0.000" y="2.540" text-anchor="middle" dominant-baseline="central" font-size="0.714" fill="#fff" font-family="sans-serif" style="pointer-events:none">2</text></g><g class="adom-layer-paste-apertures"></g><g class="adom-layer-paste-dots"></g></svg>+ </div>+ </div>+ <aside>+ <div class="ah">Layers</div>+ <div class="layers" id="layers"></div>+ <div class="note">The <b>solder paste jet</b> layer shows the 300µm paste-dispensing dots that travel with the footprint. Off by default — toggle it on.</div>+ </aside>+ </main>+<script>/* ── adom-footprint shared viewer core (window.AV) ─────────────────────────+ Single source of truth for the layer list, toggle behaviour, defaults,+ pan/zoom and toolbar icons. Included VERBATIM by both app.html (live) and+ embed.html (static) so the two viewers cannot drift. Pure client-side; works+ on any SVG that carries the <g class="adom-layer-*"> groups. */+(function(){+ var ICON_ZIN='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M10.5 8v5M8 10.5h5"/></svg>';+ var ICON_ZOUT='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M8 10.5h5"/></svg>';+ // Zoom-to-FIT = a magnifier with a small square inside (fit content to view).+ // Deliberately NOT the four-corner expand/"fullscreen" glyph.+ var ICON_FIT='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5"/><rect x="7.6" y="7.6" width="5.8" height="5.8" rx="1.2"/></svg>';++ // The canonical layer list. Every layer is a <g class="adom-layer-*"> in the+ // self-rendered SVG, so toggling is group-based (robust) — never colour-match.+ // `kind:'group'` on every entry: all layers are toggled by their <g> group+ // (robust), never by colour-match. (app.html still reads def.kind.)+ var LAYER_DEFS=[+ {key:'copper', name:'Copper', kind:'group', sel:'.adom-layer-copper', sw:'#C83434'},+ // Auto-generated thermal-via array under the exposed pad — only present (and+ // listed) when the footprint has an exposed thermal pad.+ {key:'heatsink', name:'Heatsink vias', kind:'group', sel:'.adom-layer-heatsink', sw:'#e8a13a'},+ {key:'padnum', name:'Pad numbers', kind:'group', sel:'.adom-layer-padnum', sw:'#ffffff', ring:true},+ {key:'silk', name:'Silkscreen', kind:'group', sel:'.adom-layer-silk', sw:'#00cccc'},+ {key:'fab', name:'Fab (F.Fab)', kind:'group', sel:'.adom-layer-fab', sw:'#6e7681', ring:true},+ {key:'courtyard', name:'Courtyard', kind:'group', sel:'.adom-layer-courtyard', sw:'#FF26E2', ring:true},+ {key:'drill', name:'Drill', kind:'group', sel:'.adom-layer-drill', sw:'#888888', ring:true},+ {key:'paste-ap', name:'Paste apertures', kind:'group', sel:'.adom-layer-paste-apertures', sw:'#8aa0b8', ring:true},+ // Generic name — the 300µm solder-paste dispensing dots. Off by default.+ {key:'paste-dots',name:'Solder paste jet', kind:'group', sel:'.adom-layer-paste-dots', sw:'#37c8a6', special:true},+ ];++ // True only if the group actually holds drawn geometry (not an empty <g>) — so+ // layers with nothing in THIS footprint aren't listed as dead, dim rows.+ function groupHasGeo(svg,def){+ if(!svg) return false; var n=0,g=svg.querySelectorAll(def.sel);+ for(var i=0;i<g.length;i++){ n+=g[i].querySelectorAll('path,rect,circle,line,polygon,polyline,text').length; }+ return n>0;+ }+ function layerPresent(svg,def){ return groupHasGeo(svg,def); }+ function applyLayer(svg,def,on){+ if(!svg) return; var g=svg.querySelectorAll(def.sel);+ for(var i=0;i<g.length;i++) g[i].style.display=on?'':'none';+ }++ // Build layer rows into a container. opts:+ // svg, container, state {key:bool}, meta {pasteDots,pasteApertures},+ // onToggle(key,on). Missing state key -> special OFF, others ON. Skips empty+ // non-special groups. Returns the keys actually shown.+ function buildLayers(opts){+ var svg=opts.svg, box=opts.container, state=opts.state||{}, meta=opts.meta||{}, shown=[];+ box.innerHTML='';+ LAYER_DEFS.forEach(function(def){+ if(!def.special && !groupHasGeo(svg,def)) return;+ var on = def.special ? (state[def.key]===true) : (state[def.key]!==false);+ var m = def.key==='paste-dots' ? ((meta.pasteDots||0)+' @ 300µm')+ : def.key==='paste-ap' ? ((meta.pasteApertures||0)+' openings') : '';+ var row=document.createElement('div');+ row.className='av-lrow '+(on?'on':'off')+(def.special?' special':'');+ row.innerHTML='<span class="sw'+(def.ring?' ring':'')+'" style="'+(def.ring?('border-color:'+def.sw):('background:'+def.sw))+'"></span>'+ +'<span class="ln">'+def.name+'</span>'+(m?'<span class="meta">'+m+'</span>':'')+ +'<span class="chk">'+(on?'✓':'')+'</span>';+ row.onclick=function(){+ var nv=!row.classList.contains('on');+ row.classList.toggle('on',nv); row.classList.toggle('off',!nv);+ row.querySelector('.chk').textContent=nv?'✓':'';+ state[def.key]=nv; applyLayer(svg,def,nv);+ if(opts.onToggle) opts.onToggle(def.key,nv);+ };+ box.appendChild(row); applyLayer(svg,def,on); shown.push(def.key);+ });+ return shown;+ }++ // Wire pan + zoom on a viewport element (the box that contains the <svg>).+ // Returns a controller {fit, zoomIn, zoomOut, apply}.+ function initViewport(vp){+ var svg=vp.querySelector('svg');+ if(svg){ svg.removeAttribute('width'); svg.removeAttribute('height'); }+ var s=1,tx=0,ty=0;+ function apply(){ var el=vp.querySelector('svg'); if(el) el.style.transform='translate('+tx+'px,'+ty+'px) scale('+s+')'; }+ function zoomAt(cx,cy,f){ tx=cx-(cx-tx)*f; ty=cy-(cy-ty)*f; s*=f; apply(); }+ function fit(){ s=1;tx=0;ty=0;apply(); }+ // Smooth, delta-PROPORTIONAL zoom (matches adom-symbol). A fixed per-event+ // factor makes the trackpad leap — one gentle two-finger nudge fires a burst+ // of tiny wheel events and a fixed 1.12× compounds. Instead derive the factor+ // from how much actually scrolled (exp → smooth + reversible), normalise+ // device units, and clamp one event so a chunky mouse notch can't jump.+ var ZOOM_K=0.0022; // sensitivity: lower = gentler+ vp.addEventListener('wheel',function(e){+ e.preventDefault();+ var d=e.deltaY;+ if(e.deltaMode===1) d*=16; else if(e.deltaMode===2) d*=vp.clientHeight;+ d=Math.max(-50,Math.min(50,d));+ var r=vp.getBoundingClientRect();+ zoomAt(e.clientX-r.left,e.clientY-r.top,Math.exp(-d*ZOOM_K));+ },{passive:false});+ var drag=false,lx=0,ly=0;+ vp.addEventListener('pointerdown',function(e){ if(e.target.closest('.av-tools'))return; drag=true;lx=e.clientX;ly=e.clientY;vp.classList.add('grab');vp.setPointerCapture(e.pointerId); });+ vp.addEventListener('pointermove',function(e){ if(!drag)return; tx+=e.clientX-lx;ty+=e.clientY-ly;lx=e.clientX;ly=e.clientY;apply(); });+ vp.addEventListener('pointerup',function(){ drag=false;vp.classList.remove('grab'); });+ fit();+ return {+ fit:fit,+ zoomIn:function(){ var r=vp.getBoundingClientRect(); zoomAt(r.width/2,r.height/2,1.2); },+ zoomOut:function(){ var r=vp.getBoundingClientRect(); zoomAt(r.width/2,r.height/2,1/1.2); },+ apply:apply+ };+ }++ // Inject the standard zoom toolbar (+ / − / fit) + pan hint into a viewport,+ // wired to a controller from initViewport. Idempotent.+ function addToolbar(vp,ctl){+ if(vp.querySelector('.av-tools')) return;+ var t=document.createElement('div'); t.className='av-tools';+ t.innerHTML='<button data-z="in" title="Zoom in">'+ICON_ZIN+'</button>'+ +'<button data-z="out" title="Zoom out">'+ICON_ZOUT+'</button>'+ +'<button data-z="fit" title="Zoom to fit">'+ICON_FIT+'</button>';+ vp.appendChild(t);+ t.querySelector('[data-z="in"]').onclick=ctl.zoomIn;+ t.querySelector('[data-z="out"]').onclick=ctl.zoomOut;+ t.querySelector('[data-z="fit"]').onclick=ctl.fit;+ var h=document.createElement('div'); h.className='av-panhint'; h.textContent='drag to pan · scroll to zoom'; vp.appendChild(h);+ }++ window.AV={+ LAYER_DEFS:LAYER_DEFS, groupHasGeo:groupHasGeo, layerPresent:layerPresent,+ applyLayer:applyLayer, buildLayers:buildLayers, initViewport:initViewport,+ addToolbar:addToolbar, ICON_FIT:ICON_FIT, ICON_ZIN:ICON_ZIN, ICON_ZOUT:ICON_ZOUT+ };+})();+</script>+<script>+var META={"pasteApertures":0,"pasteDots":0};+(function(){+ var vp=document.getElementById('vp');+ var svg=vp.querySelector('svg');+ var ctl=AV.initViewport(vp);+ AV.addToolbar(vp,ctl);+ AV.buildLayers({ svg:svg, container:document.getElementById('layers'), state:{}, meta:META });+})();+</script>+</body></html>
hero.pngadded⋯ 1 unchanged line ⋯
m20-9990246-hero.glbadded⋯ 1 unchanged line ⋯
m20-9990246-hero.overlay.jsonadded+125@@ -0,0 +1,125 @@+{+ "spec": "adom-hero 1.4",+ "mpn": "M20-9990246",+ "kind": "component + footprint reference art",+ "board_use": false,+ "plane_z_mm": -0.02,+ "units": "metre",+ "upAxis": "Z",+ "layers": {+ "pad_outlines": {+ "material": "Footprint pads - teal dashed outlines - 50 percent opacity",+ "rgba": [+ 0.0,+ 0.902,+ 0.863,+ 0.5+ ],+ "pads": 2,+ "span_mm": 4.24,+ "dash_mm": 0.12,+ "gap_mm": 0.072,+ "pad_stroke_mm": 0.03+ },+ "silkscreen": {+ "material": "Silkscreen reference lines - 30 percent opacity",+ "rgba": [+ 0.92,+ 0.96,+ 1.0,+ 0.3+ ],+ "footprint_items": 2,+ "pin1": null+ },+ "signal_names": {+ "material": "Signal names - 50 percent opacity",+ "rgba": [+ 0.92,+ 0.96,+ 1.0,+ 0.5+ ],+ "font": "DejaVu Sans Mono",+ "labels": 2,+ "sides": "top + mirrored underside (single-sided)",+ "omitted": null,+ "fallback_to_pad_number": 2+ }+ },+ "align": {+ "ok": true,+ "centre_offset_mm": 0.0,+ "tolerance_mm": 0.339,+ "orientation_flipped": false,+ "contacts_bbox_mm": [+ -0.32,+ 0.32,+ -2.86,+ 0.32+ ],+ "pads_bbox_mm": [+ -0.85,+ 0.85,+ -3.39,+ 0.85+ ],+ "seating_z_mm": -3.0+ },+ "sources": {+ "glb": "m20-9990246.glb",+ "glb_sha256": "821f44a6cc5f2f55ce272946298bd172f8515ae8df59a9ecda9f517b3c31945a",+ "footprint": "m20-9990246.kicad_mod",+ "footprint_sha256": "01fa5fab0de880725144b21ea6a3b5f6758e0fbfc8b67abec9c401d87a05cc35",+ "pins": "page.json component.pins"+ },+ "generator": "factory/hero_glb.py",+ "labels": [+ {+ "pad": "1",+ "text": "1",+ "x": 1.0,+ "y": 0.0,+ "align": "left",+ "vertical": false,+ "h": 0.6+ },+ {+ "pad": "2",+ "text": "2",+ "x": 1.0,+ "y": 2.54,+ "align": "left",+ "vertical": false,+ "h": 0.6+ }+ ],+ "pads": [+ {+ "number": "1",+ "shape": "rect",+ "center_mm": [+ 0.0,+ 0.0+ ],+ "size_mm": [+ 1.7,+ 1.7+ ],+ "rot": 0.0+ },+ {+ "number": "2",+ "shape": "circle",+ "center_mm": [+ 0.0,+ 2.54+ ],+ "size_mm": [+ 1.7,+ 1.7+ ],+ "rot": 0.0+ }+ ]+}
m20-9990246.adom-lbr.jsonadded+181@@ -0,0 +1,181 @@+{+ "schema_version": 2,+ "mpn": "M20-9990246",+ "manufacturer": "Harwin",+ "package": "",+ "value": "",+ "category": "",+ "symbol": {+ "name": "M20-9990246",+ "pins": [+ {+ "number": "1",+ "name": "1",+ "x": -350,+ "y": 50,+ "length": 100,+ "rotation": 0,+ "electrical_type": "passive"+ },+ {+ "number": "2",+ "name": "2",+ "x": -350,+ "y": -50,+ "length": 100,+ "rotation": 0,+ "electrical_type": "passive"+ }+ ],+ "body": null,+ "graphics": [+ {+ "kind": "rect",+ "x1": -250.0,+ "y1": 200.0,+ "x2": 350.0,+ "y2": -200.0,+ "width": 0.0,+ "filled": true,+ "fill_style": "background"+ }+ ],+ "designator_prefix": "J",+ "footprint": "M20-9990246_Vertical",+ "parameters": [+ {+ "name": "Value",+ "value": "M20-9990246",+ "visible": true+ },+ {+ "name": "Datasheet",+ "value": "https://content.harwin.com/asset/640f59f4-1860-40fe-82ef-f2a104ffa7d8/DRG-00479-Technical-Drawing-Datasheet-M20-999-pdf.pdf",+ "visible": true+ },+ {+ "name": "Manufacturer",+ "value": "Harwin",+ "visible": true+ },+ {+ "name": "MPN",+ "value": "M20-9990246",+ "visible": true+ },+ {+ "name": "Mouser",+ "value": "855-M20-9990246",+ "visible": true+ },+ {+ "name": "Adom Wiki",+ "value": "https://wiki.adom.inc/adom/m20-9990246",+ "visible": true+ },+ {+ "name": "Supplier 1",+ "value": "Mouser",+ "visible": false+ },+ {+ "name": "Supplier Part Number 1",+ "value": "855-M20-9990246",+ "visible": false+ },+ {+ "name": "Manufacturer Part Number",+ "value": "M20-9990246",+ "visible": false+ }+ ],+ "pin_numbers_hidden": false,+ "pin_names_hidden": false+ },+ "footprint": {+ "name": "M20-9990246_Vertical",+ "pads": [+ {+ "number": "1",+ "x_mm": 0.0,+ "y_mm": 0.0,+ "w_mm": 1.7,+ "h_mm": 1.7,+ "drill_mm": 1.02,+ "rotation": 0.0,+ "shape": "rect",+ "plated": true+ },+ {+ "number": "2",+ "x_mm": 0.0,+ "y_mm": 2.54,+ "w_mm": 1.7,+ "h_mm": 1.7,+ "drill_mm": 1.02,+ "rotation": 0.0,+ "shape": "circle",+ "plated": true+ }+ ],+ "graphics": [+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": -1.48,+ "y1": -1.27,+ "x2": -1.48,+ "y2": 3.81,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": 1.48,+ "y1": -1.27,+ "x2": 1.48,+ "y2": 3.81,+ "width": 0.12+ },+ {+ "kind": "rect",+ "layer": {+ "role": "courtyard"+ },+ "x1": -1.65,+ "y1": -1.8,+ "x2": 1.65,+ "y2": 4.34,+ "width": 0.05+ },+ {+ "kind": "rect",+ "layer": {+ "role": "fab"+ },+ "x1": -1.27,+ "y1": -1.27,+ "x2": 1.27,+ "y2": 3.81,+ "width": 0.1+ }+ ]+ },+ "connect": [+ {+ "pin": "1",+ "pad": "1"+ },+ {+ "pin": "2",+ "pad": "2"+ }+ ],+ "provenance": {+ "source": "kicad_import"+ }+}
m20-9990246.glbadded⋯ 1 unchanged line ⋯
m20-9990246.kicad_modadded+88@@ -0,0 +1,88 @@+(footprint "M20-9990246_Vertical"+ (version 20240108)+ (generator "adom-footprint")+ (layer "F.Cu")+ (descr "Harwin M20-999, 2.54 mm pitch, recommended 1.02 +/-0.05 mm finished hole; 1.7 mm pads are Adom candidate geometry requiring fab review.")+ (attr "through_hole")+ (fp_rect+ (start -1.65 -1.8)+ (end 1.65 4.34)+ (stroke+ (width 0.05)+ (type default)+ )+ (fill none)+ (layer "F.CrtYd")+ )+ (fp_rect+ (start -1.27 -1.27)+ (end 1.27 3.81)+ (stroke+ (width 0.1)+ (type default)+ )+ (fill none)+ (layer "F.Fab")+ )+ (fp_line+ (start -1.48 -1.27)+ (end -1.48 3.81)+ (stroke+ (width 0.12)+ (type default)+ )+ (layer "F.SilkS")+ )+ (fp_line+ (start 1.48 -1.27)+ (end 1.48 3.81)+ (stroke+ (width 0.12)+ (type default)+ )+ (layer "F.SilkS")+ )+ (fp_text reference "REF**"+ (at 0 -2.8)+ (layer "F.SilkS")+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (fp_text value "M20-9990246_Vertical"+ (at 0 5.34)+ (layer "F.Fab")+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (pad "1" thru_hole rect+ (at 0 0)+ (size 1.7 1.7)+ (drill 1.02)+ (layers "*.Cu" "*.Mask")+ )+ (pad "2" thru_hole circle+ (at 0 2.54)+ (size 1.7 1.7)+ (drill 1.02)+ (layers "*.Cu" "*.Mask")+ )+ (model "${KIPRJMOD}/m20-9990246.step"+ (offset+ (xyz 0 0 0)+ )+ (scale+ (xyz 1 1 1)+ )+ (rotate+ (xyz 0 0 0)+ )+ )+)
m20-9990246.kicad_symadded+130@@ -0,0 +1,130 @@+(kicad_symbol_lib (version 20231120) (generator "adom-component-audit")+(symbol "M20-9990246"+ (pin_names+ (offset 0.5)+ )+ (in_bom yes)+ (on_board yes)+ (property "Reference" "J"+ (at 0 7.62 0)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "Value" "M20-9990246"+ (at 0 -7.62 0)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (symbol "M20-9990246_0_1"+ (rectangle+ (start -7.62 5.08)+ (end 7.62 -5.08)+ (stroke+ (width 0)+ (type default)+ )+ (fill+ (type background)+ )+ )+ )+ (symbol "M20-9990246_1_1"+ (pin passive line+ (at -10.16 1.27 0)+ (length 2.54)+ (name "1"+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (number "1"+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ )+ (pin passive line+ (at -10.16 -1.27 0)+ (length 2.54)+ (name "2"+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (number "2"+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ )+ )+ (property "Footprint" "M20-9990246:M20-9990246_Vertical"+ (at 0 0 0)+ (hide yes)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "Datasheet" "https://content.harwin.com/asset/640f59f4-1860-40fe-82ef-f2a104ffa7d8/DRG-00479-Technical-Drawing-Datasheet-M20-999-pdf.pdf"+ (at 0 0 0)+ (hide yes)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "Manufacturer" "Harwin"+ (at 0 0 0)+ (hide yes)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "MPN" "M20-9990246"+ (at 0 0 0)+ (hide yes)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "Mouser" "855-M20-9990246"+ (at 0 0 0)+ (hide yes)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "Adom Wiki" "https://wiki.adom.inc/adom/m20-9990246"+ (at 0 0 0)+ (hide yes)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+)+)
m20-9990246.lbradded+109@@ -0,0 +1,109 @@+<?xml version="1.0" encoding="utf-8"?>+<!DOCTYPE eagle SYSTEM "eagle.dtd">+<eagle version="9.6.2">+<drawing>+<settings><setting alwaysvectorfont="no"/></settings>+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>+<layers>+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>+<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>+<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="yes"/>+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="yes"/>+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="yes"/>+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="yes"/>+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="yes"/>+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>+</layers>+<library>+<description>2-pin 2.54 mm THT header. Unpolarized, tin finish; nominal assets and 50-mating-cycle limit documented</description>+<packages>+<package name="M20-9990246_Vertical">+ <description>2 pads, 1.7 x 4.2 mm. Harwin M20-999, 2.54 mm pitch, recommended 1.02 +/-0.05 mm finished hole; 1.7 mm pads are Adom candidate geometry requiring fab review.</description>+ <pad name="1" x="0.0000" y="-0.0000" drill="1.0200" diameter="1.7000" shape="square"/>+ <pad name="2" x="0.0000" y="-2.5400" drill="1.0200" diameter="1.7000" shape="round"/>+ <wire x1="-1.2700" y1="1.2700" x2="1.2700" y2="1.2700" width="0.1000" layer="51"/>+ <wire x1="1.2700" y1="1.2700" x2="1.2700" y2="-3.8100" width="0.1000" layer="51"/>+ <wire x1="1.2700" y1="-3.8100" x2="-1.2700" y2="-3.8100" width="0.1000" layer="51"/>+ <wire x1="-1.2700" y1="-3.8100" x2="-1.2700" y2="1.2700" width="0.1000" layer="51"/>+ <wire x1="-1.4800" y1="1.2700" x2="-1.4800" y2="-3.8100" width="0.1200" layer="21"/>+ <wire x1="1.4800" y1="1.2700" x2="1.4800" y2="-3.8100" width="0.1200" layer="21"/>+ <text x="0" y="1.870" size="1.27" layer="25" align="bottom-center">>NAME</text>+ <text x="0" y="-4.410" size="1.27" layer="27" align="top-center">>VALUE</text>+</package>+</packages>+<symbols>+<symbol name="M20-9990246">+ <description>2-pin 2.54 mm THT header. Unpolarized, tin finish; nominal assets and 50-mating-cycle limit documented</description>+ <wire x1="-7.62" y1="5.08" x2="7.62" y2="5.08" width="0.254" layer="94"/>+ <wire x1="7.62" y1="5.08" x2="7.62" y2="-5.08" width="0.254" layer="94"/>+ <wire x1="7.62" y1="-5.08" x2="-7.62" y2="-5.08" width="0.254" layer="94"/>+ <wire x1="-7.62" y1="-5.08" x2="-7.62" y2="5.08" width="0.254" layer="94"/>+ <text x="0.0000" y="7.6200" size="1.27" layer="95" align="center">>NAME</text>+ <text x="0.0000" y="-7.6200" size="1.27" layer="96" align="center">>VALUE</text>+ <pin name="1" x="-10.16" y="1.27" length="short" direction="pas"/>+ <pin name="2" x="-10.16" y="-1.27" length="short" direction="pas"/>+</symbol>+</symbols>+<devicesets>+<deviceset name="M20-9990246" prefix="J">+ <description>2-pin 2.54 mm THT header. Unpolarized, tin finish; nominal assets and 50-mating-cycle limit documented</description>+ <gates>+ <gate name="G$1" symbol="M20-9990246" x="0" y="0"/>+ </gates>+ <devices>+ <device name="" package="M20-9990246_Vertical">+ <connects>+ <connect gate="G$1" pin="1" pad="1"/>+ <connect gate="G$1" pin="2" pad="2"/>+ </connects>+ <technologies>+ <technology name="">+ <attribute name="MPN" value="M20-9990246" constant="no"/>+ <attribute name="MANUFACTURER" value="Harwin" constant="no"/>+ <attribute name="DATASHEET" value="https://content.harwin.com/asset/640f59f4-1860-40fe-82ef-f2a104ffa7d8/DRG-00479-Technical-Drawing-Datasheet-M20-999-pdf.pdf" constant="no"/>+ <attribute name="ADOM_WIKI" value="https://wiki.adom.inc/adom/m20-9990246" constant="no"/>+ <attribute name="MOUSER_PN" value="855-M20-9990246" constant="no"/>+ </technology>+ </technologies>+ </device>+ </devices>+</deviceset>+</devicesets>+</library>+</drawing>+</eagle>
m20-9990246.stepadded+2026@@ -0,0 +1,2026 @@+ISO-10303-21;+HEADER;+FILE_DESCRIPTION(('Open CASCADE Model'),'2;1');+FILE_NAME('Open CASCADE Shape Model','2026-10-11T16:18:27',('Author'),(+ 'Open CASCADE'),'Open CASCADE STEP processor 7.8','Open CASCADE 7.8'+ ,'Unknown');+FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));+ENDSEC;+DATA;+#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',+ 'automotive_design',2000,#2);+#2 = APPLICATION_CONTEXT(+ 'core data for automotive mechanical design processes');+#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);+#4 = PRODUCT_DEFINITION_SHAPE('','',#5);+#5 = PRODUCT_DEFINITION('design','',#6,#9);+#6 = PRODUCT_DEFINITION_FORMATION('','',#7);+#7 = PRODUCT('M20-9990246_AI_Nominal','M20-9990246_AI_Nominal','',(#8));+#8 = PRODUCT_CONTEXT('',#2,'mechanical');+#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#10 = SHAPE_REPRESENTATION('',(#11,#15,#19,#23),#27);+#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);+#12 = CARTESIAN_POINT('',(0.,0.,0.));+#13 = DIRECTION('',(0.,0.,1.));+#14 = DIRECTION('',(1.,0.,-0.));+#15 = AXIS2_PLACEMENT_3D('',#16,#17,#18);+#16 = CARTESIAN_POINT('',(0.,0.,0.));+#17 = DIRECTION('',(0.,0.,1.));+#18 = DIRECTION('',(1.,0.,-0.));+#19 = AXIS2_PLACEMENT_3D('',#20,#21,#22);+#20 = CARTESIAN_POINT('',(0.,0.,0.));+#21 = DIRECTION('',(0.,0.,1.));+#22 = DIRECTION('',(1.,0.,-0.));+#23 = AXIS2_PLACEMENT_3D('',#24,#25,#26);+#24 = CARTESIAN_POINT('',(0.,0.,0.));+#25 = DIRECTION('',(0.,0.,1.));+#26 = DIRECTION('',(1.,0.,-0.));+#27 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#31)) GLOBAL_UNIT_ASSIGNED_CONTEXT(+(#28,#29,#30)) REPRESENTATION_CONTEXT('Context #1',+ '3D Context with UNIT and UNCERTAINTY') );+#28 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#29 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#30 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#31 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#28,+ 'distance_accuracy_value','confusion accuracy');+#32 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));+#33 = SHAPE_DEFINITION_REPRESENTATION(#34,#40);+#34 = PRODUCT_DEFINITION_SHAPE('','',#35);+#35 = PRODUCT_DEFINITION('design','',#36,#39);+#36 = PRODUCT_DEFINITION_FORMATION('','',#37);+#37 = PRODUCT('Housing_Nominal_Black','Housing_Nominal_Black','',(#38));+#38 = PRODUCT_CONTEXT('',#2,'mechanical');+#39 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#40 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#41),#971);+#41 = MANIFOLD_SOLID_BREP('',#42);+#42 = CLOSED_SHELL('',(#43,#163,#239,#500,#549,#748,#755,#802,#829,#856,+ #863,#910,#937,#964));+#43 = ADVANCED_FACE('',(#44),#58,.F.);+#44 = FACE_BOUND('',#45,.F.);+#45 = EDGE_LOOP('',(#46,#81,#109,#137));+#46 = ORIENTED_EDGE('',*,*,#47,.F.);+#47 = EDGE_CURVE('',#48,#50,#52,.T.);+#48 = VERTEX_POINT('',#49);+#49 = CARTESIAN_POINT('',(-1.27,-3.81,0.));+#50 = VERTEX_POINT('',#51);+#51 = CARTESIAN_POINT('',(-1.27,-3.81,2.54));+#52 = SURFACE_CURVE('',#53,(#57,#69),.PCURVE_S1.);+#53 = LINE('',#54,#55);+#54 = CARTESIAN_POINT('',(-1.27,-3.81,0.));+#55 = VECTOR('',#56,1.);+#56 = DIRECTION('',(0.,0.,1.));+#57 = PCURVE('',#58,#63);+#58 = PLANE('',#59);+#59 = AXIS2_PLACEMENT_3D('',#60,#61,#62);+#60 = CARTESIAN_POINT('',(-1.27,-3.81,0.));+#61 = DIRECTION('',(1.,0.,-0.));+#62 = DIRECTION('',(0.,0.,1.));+#63 = DEFINITIONAL_REPRESENTATION('',(#64),#68);+#64 = LINE('',#65,#66);+#65 = CARTESIAN_POINT('',(0.,0.));+#66 = VECTOR('',#67,1.);+#67 = DIRECTION('',(1.,0.));+#68 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#69 = PCURVE('',#70,#75);+#70 = PLANE('',#71);+#71 = AXIS2_PLACEMENT_3D('',#72,#73,#74);+#72 = CARTESIAN_POINT('',(-1.27,-3.81,0.));+#73 = DIRECTION('',(-0.,1.,0.));+#74 = DIRECTION('',(0.,0.,1.));+#75 = DEFINITIONAL_REPRESENTATION('',(#76),#80);+#76 = LINE('',#77,#78);+#77 = CARTESIAN_POINT('',(0.,0.));+#78 = VECTOR('',#79,1.);+#79 = DIRECTION('',(1.,0.));+#80 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#81 = ORIENTED_EDGE('',*,*,#82,.T.);+#82 = EDGE_CURVE('',#48,#83,#85,.T.);+#83 = VERTEX_POINT('',#84);+#84 = CARTESIAN_POINT('',(-1.27,1.27,0.));+#85 = SURFACE_CURVE('',#86,(#90,#97),.PCURVE_S1.);+#86 = LINE('',#87,#88);+#87 = CARTESIAN_POINT('',(-1.27,-3.81,0.));+#88 = VECTOR('',#89,1.);+#89 = DIRECTION('',(-0.,1.,0.));+#90 = PCURVE('',#58,#91);+#91 = DEFINITIONAL_REPRESENTATION('',(#92),#96);+#92 = LINE('',#93,#94);+#93 = CARTESIAN_POINT('',(0.,0.));+#94 = VECTOR('',#95,1.);+#95 = DIRECTION('',(0.,-1.));+#96 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#97 = PCURVE('',#98,#103);+#98 = PLANE('',#99);+#99 = AXIS2_PLACEMENT_3D('',#100,#101,#102);+#100 = CARTESIAN_POINT('',(-1.27,-3.81,0.));+#101 = DIRECTION('',(0.,0.,1.));+#102 = DIRECTION('',(1.,0.,-0.));+#103 = DEFINITIONAL_REPRESENTATION('',(#104),#108);+#104 = LINE('',#105,#106);+#105 = CARTESIAN_POINT('',(0.,0.));+#106 = VECTOR('',#107,1.);+#107 = DIRECTION('',(0.,1.));+#108 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#109 = ORIENTED_EDGE('',*,*,#110,.T.);+#110 = EDGE_CURVE('',#83,#111,#113,.T.);+#111 = VERTEX_POINT('',#112);+#112 = CARTESIAN_POINT('',(-1.27,1.27,2.54));+#113 = SURFACE_CURVE('',#114,(#118,#125),.PCURVE_S1.);+#114 = LINE('',#115,#116);+#115 = CARTESIAN_POINT('',(-1.27,1.27,0.));+#116 = VECTOR('',#117,1.);+#117 = DIRECTION('',(0.,0.,1.));+#118 = PCURVE('',#58,#119);+#119 = DEFINITIONAL_REPRESENTATION('',(#120),#124);+#120 = LINE('',#121,#122);+#121 = CARTESIAN_POINT('',(0.,-5.08));+#122 = VECTOR('',#123,1.);+#123 = DIRECTION('',(1.,0.));+#124 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#125 = PCURVE('',#126,#131);+#126 = PLANE('',#127);+#127 = AXIS2_PLACEMENT_3D('',#128,#129,#130);+#128 = CARTESIAN_POINT('',(-1.27,1.27,0.));+#129 = DIRECTION('',(-0.,1.,0.));+#130 = DIRECTION('',(0.,0.,1.));+#131 = DEFINITIONAL_REPRESENTATION('',(#132),#136);+#132 = LINE('',#133,#134);+#133 = CARTESIAN_POINT('',(0.,0.));+#134 = VECTOR('',#135,1.);+#135 = DIRECTION('',(1.,0.));+#136 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#137 = ORIENTED_EDGE('',*,*,#138,.F.);+#138 = EDGE_CURVE('',#50,#111,#139,.T.);+#139 = SURFACE_CURVE('',#140,(#144,#151),.PCURVE_S1.);+#140 = LINE('',#141,#142);+#141 = CARTESIAN_POINT('',(-1.27,-3.81,2.54));+#142 = VECTOR('',#143,1.);+#143 = DIRECTION('',(-0.,1.,0.));+#144 = PCURVE('',#58,#145);+#145 = DEFINITIONAL_REPRESENTATION('',(#146),#150);+#146 = LINE('',#147,#148);+#147 = CARTESIAN_POINT('',(2.54,0.));+#148 = VECTOR('',#149,1.);+#149 = DIRECTION('',(0.,-1.));+#150 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#151 = PCURVE('',#152,#157);+#152 = PLANE('',#153);+#153 = AXIS2_PLACEMENT_3D('',#154,#155,#156);+#154 = CARTESIAN_POINT('',(-1.27,-3.81,2.54));+#155 = DIRECTION('',(0.,0.,1.));+#156 = DIRECTION('',(1.,0.,-0.));+#157 = DEFINITIONAL_REPRESENTATION('',(#158),#162);+#158 = LINE('',#159,#160);+#159 = CARTESIAN_POINT('',(0.,0.));+#160 = VECTOR('',#161,1.);+#161 = DIRECTION('',(0.,1.));+#162 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#163 = ADVANCED_FACE('',(#164),#70,.F.);+#164 = FACE_BOUND('',#165,.F.);+#165 = EDGE_LOOP('',(#166,#189,#190,#213));+#166 = ORIENTED_EDGE('',*,*,#167,.F.);+#167 = EDGE_CURVE('',#48,#168,#170,.T.);+#168 = VERTEX_POINT('',#169);+#169 = CARTESIAN_POINT('',(1.27,-3.81,0.));+#170 = SURFACE_CURVE('',#171,(#175,#182),.PCURVE_S1.);+#171 = LINE('',#172,#173);+#172 = CARTESIAN_POINT('',(-1.27,-3.81,0.));+#173 = VECTOR('',#174,1.);+#174 = DIRECTION('',(1.,0.,-0.));+#175 = PCURVE('',#70,#176);+#176 = DEFINITIONAL_REPRESENTATION('',(#177),#181);+#177 = LINE('',#178,#179);+#178 = CARTESIAN_POINT('',(0.,0.));+#179 = VECTOR('',#180,1.);+#180 = DIRECTION('',(0.,1.));+#181 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#182 = PCURVE('',#98,#183);+#183 = DEFINITIONAL_REPRESENTATION('',(#184),#188);+#184 = LINE('',#185,#186);+#185 = CARTESIAN_POINT('',(0.,0.));+#186 = VECTOR('',#187,1.);+#187 = DIRECTION('',(1.,0.));+#188 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#189 = ORIENTED_EDGE('',*,*,#47,.T.);+#190 = ORIENTED_EDGE('',*,*,#191,.T.);+#191 = EDGE_CURVE('',#50,#192,#194,.T.);+#192 = VERTEX_POINT('',#193);+#193 = CARTESIAN_POINT('',(1.27,-3.81,2.54));+#194 = SURFACE_CURVE('',#195,(#199,#206),.PCURVE_S1.);+#195 = LINE('',#196,#197);+#196 = CARTESIAN_POINT('',(-1.27,-3.81,2.54));+#197 = VECTOR('',#198,1.);+#198 = DIRECTION('',(1.,0.,-0.));+#199 = PCURVE('',#70,#200);+#200 = DEFINITIONAL_REPRESENTATION('',(#201),#205);+#201 = LINE('',#202,#203);+#202 = CARTESIAN_POINT('',(2.54,0.));+#203 = VECTOR('',#204,1.);+#204 = DIRECTION('',(0.,1.));+#205 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#206 = PCURVE('',#152,#207);+#207 = DEFINITIONAL_REPRESENTATION('',(#208),#212);+#208 = LINE('',#209,#210);+#209 = CARTESIAN_POINT('',(0.,0.));+#210 = VECTOR('',#211,1.);+#211 = DIRECTION('',(1.,0.));+#212 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#213 = ORIENTED_EDGE('',*,*,#214,.F.);+#214 = EDGE_CURVE('',#168,#192,#215,.T.);+#215 = SURFACE_CURVE('',#216,(#220,#227),.PCURVE_S1.);+#216 = LINE('',#217,#218);+#217 = CARTESIAN_POINT('',(1.27,-3.81,0.));+#218 = VECTOR('',#219,1.);+#219 = DIRECTION('',(0.,0.,1.));+#220 = PCURVE('',#70,#221);+#221 = DEFINITIONAL_REPRESENTATION('',(#222),#226);+#222 = LINE('',#223,#224);+#223 = CARTESIAN_POINT('',(0.,2.54));+#224 = VECTOR('',#225,1.);+#225 = DIRECTION('',(1.,0.));+#226 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#227 = PCURVE('',#228,#233);+#228 = PLANE('',#229);+#229 = AXIS2_PLACEMENT_3D('',#230,#231,#232);+#230 = CARTESIAN_POINT('',(1.27,-3.81,0.));+#231 = DIRECTION('',(1.,0.,-0.));+#232 = DIRECTION('',(0.,0.,1.));+#233 = DEFINITIONAL_REPRESENTATION('',(#234),#238);+#234 = LINE('',#235,#236);+#235 = CARTESIAN_POINT('',(0.,0.));+#236 = VECTOR('',#237,1.);+#237 = DIRECTION('',(1.,0.));+#238 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#239 = ADVANCED_FACE('',(#240,#288,#394),#152,.T.);+#240 = FACE_BOUND('',#241,.T.);+#241 = EDGE_LOOP('',(#242,#243,#244,#267));+#242 = ORIENTED_EDGE('',*,*,#138,.F.);+#243 = ORIENTED_EDGE('',*,*,#191,.T.);+#244 = ORIENTED_EDGE('',*,*,#245,.T.);+#245 = EDGE_CURVE('',#192,#246,#248,.T.);+#246 = VERTEX_POINT('',#247);+#247 = CARTESIAN_POINT('',(1.27,1.27,2.54));+#248 = SURFACE_CURVE('',#249,(#253,#260),.PCURVE_S1.);+#249 = LINE('',#250,#251);+#250 = CARTESIAN_POINT('',(1.27,-3.81,2.54));+#251 = VECTOR('',#252,1.);+#252 = DIRECTION('',(-0.,1.,0.));+#253 = PCURVE('',#152,#254);+#254 = DEFINITIONAL_REPRESENTATION('',(#255),#259);+#255 = LINE('',#256,#257);+#256 = CARTESIAN_POINT('',(2.54,0.));+#257 = VECTOR('',#258,1.);+#258 = DIRECTION('',(0.,1.));+#259 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#260 = PCURVE('',#228,#261);+#261 = DEFINITIONAL_REPRESENTATION('',(#262),#266);+#262 = LINE('',#263,#264);+#263 = CARTESIAN_POINT('',(2.54,0.));+#264 = VECTOR('',#265,1.);+#265 = DIRECTION('',(0.,-1.));+#266 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#267 = ORIENTED_EDGE('',*,*,#268,.F.);+#268 = EDGE_CURVE('',#111,#246,#269,.T.);+#269 = SURFACE_CURVE('',#270,(#274,#281),.PCURVE_S1.);+#270 = LINE('',#271,#272);+#271 = CARTESIAN_POINT('',(-1.27,1.27,2.54));+#272 = VECTOR('',#273,1.);+#273 = DIRECTION('',(1.,0.,-0.));+#274 = PCURVE('',#152,#275);+#275 = DEFINITIONAL_REPRESENTATION('',(#276),#280);+#276 = LINE('',#277,#278);+#277 = CARTESIAN_POINT('',(0.,5.08));+#278 = VECTOR('',#279,1.);+#279 = DIRECTION('',(1.,0.));+#280 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#281 = PCURVE('',#126,#282);+#282 = DEFINITIONAL_REPRESENTATION('',(#283),#287);+#283 = LINE('',#284,#285);+#284 = CARTESIAN_POINT('',(2.54,0.));+#285 = VECTOR('',#286,1.);+#286 = DIRECTION('',(0.,1.));+#287 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#288 = FACE_BOUND('',#289,.T.);+#289 = EDGE_LOOP('',(#290,#318,#344,#370));+#290 = ORIENTED_EDGE('',*,*,#291,.T.);+#291 = EDGE_CURVE('',#292,#294,#296,.T.);+#292 = VERTEX_POINT('',#293);+#293 = CARTESIAN_POINT('',(0.32,-2.86,2.54));+#294 = VERTEX_POINT('',#295);+#295 = CARTESIAN_POINT('',(-0.32,-2.86,2.54));+#296 = SURFACE_CURVE('',#297,(#301,#307),.PCURVE_S1.);+#297 = LINE('',#298,#299);+#298 = CARTESIAN_POINT('',(-0.795,-2.86,2.54));+#299 = VECTOR('',#300,1.);+#300 = DIRECTION('',(-1.,-0.,0.));+#301 = PCURVE('',#152,#302);+#302 = DEFINITIONAL_REPRESENTATION('',(#303),#306);+#303 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#304,#305),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#304 = CARTESIAN_POINT('',(1.59,0.95));+#305 = CARTESIAN_POINT('',(0.95,0.95));+#306 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#307 = PCURVE('',#308,#313);+#308 = PLANE('',#309);+#309 = AXIS2_PLACEMENT_3D('',#310,#311,#312);+#310 = CARTESIAN_POINT('',(-0.32,-2.86,-3.));+#311 = DIRECTION('',(-0.,1.,0.));+#312 = DIRECTION('',(0.,0.,1.));+#313 = DEFINITIONAL_REPRESENTATION('',(#314),#317);+#314 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#315,#316),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#315 = CARTESIAN_POINT('',(5.54,0.64));+#316 = CARTESIAN_POINT('',(5.54,0.));+#317 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#318 = ORIENTED_EDGE('',*,*,#319,.T.);+#319 = EDGE_CURVE('',#294,#320,#322,.T.);+#320 = VERTEX_POINT('',#321);+#321 = CARTESIAN_POINT('',(-0.32,-2.22,2.54));+#322 = SURFACE_CURVE('',#323,(#327,#333),.PCURVE_S1.);+#323 = LINE('',#324,#325);+#324 = CARTESIAN_POINT('',(-0.32,-3.335,2.54));+#325 = VECTOR('',#326,1.);+#326 = DIRECTION('',(-0.,1.,0.));+#327 = PCURVE('',#152,#328);+#328 = DEFINITIONAL_REPRESENTATION('',(#329),#332);+#329 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#330,#331),.UNSPECIFIED.,.F.,.F.,+ (2,2),(0.475,1.115),.PIECEWISE_BEZIER_KNOTS.);+#330 = CARTESIAN_POINT('',(0.95,0.95));+#331 = CARTESIAN_POINT('',(0.95,1.59));+#332 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#333 = PCURVE('',#334,#339);+#334 = PLANE('',#335);+#335 = AXIS2_PLACEMENT_3D('',#336,#337,#338);+#336 = CARTESIAN_POINT('',(-0.32,-2.86,-3.));+#337 = DIRECTION('',(1.,0.,-0.));+#338 = DIRECTION('',(0.,0.,1.));+#339 = DEFINITIONAL_REPRESENTATION('',(#340),#343);+#340 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#341,#342),.UNSPECIFIED.,.F.,.F.,+ (2,2),(0.475,1.115),.PIECEWISE_BEZIER_KNOTS.);+#341 = CARTESIAN_POINT('',(5.54,0.));+#342 = CARTESIAN_POINT('',(5.54,-0.64));+#343 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#344 = ORIENTED_EDGE('',*,*,#345,.F.);+#345 = EDGE_CURVE('',#346,#320,#348,.T.);+#346 = VERTEX_POINT('',#347);+#347 = CARTESIAN_POINT('',(0.32,-2.22,2.54));+#348 = SURFACE_CURVE('',#349,(#353,#359),.PCURVE_S1.);+#349 = LINE('',#350,#351);+#350 = CARTESIAN_POINT('',(-0.795,-2.22,2.54));+#351 = VECTOR('',#352,1.);+#352 = DIRECTION('',(-1.,-0.,0.));+#353 = PCURVE('',#152,#354);+#354 = DEFINITIONAL_REPRESENTATION('',(#355),#358);+#355 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#356,#357),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#356 = CARTESIAN_POINT('',(1.59,1.59));+#357 = CARTESIAN_POINT('',(0.95,1.59));+#358 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#359 = PCURVE('',#360,#365);+#360 = PLANE('',#361);+#361 = AXIS2_PLACEMENT_3D('',#362,#363,#364);+#362 = CARTESIAN_POINT('',(-0.32,-2.22,-3.));+#363 = DIRECTION('',(-0.,1.,0.));+#364 = DIRECTION('',(0.,0.,1.));+#365 = DEFINITIONAL_REPRESENTATION('',(#366),#369);+#366 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#367,#368),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#367 = CARTESIAN_POINT('',(5.54,0.64));+#368 = CARTESIAN_POINT('',(5.54,0.));+#369 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#370 = ORIENTED_EDGE('',*,*,#371,.F.);+#371 = EDGE_CURVE('',#292,#346,#372,.T.);+#372 = SURFACE_CURVE('',#373,(#377,#383),.PCURVE_S1.);+#373 = LINE('',#374,#375);+#374 = CARTESIAN_POINT('',(0.32,-3.335,2.54));+#375 = VECTOR('',#376,1.);+#376 = DIRECTION('',(-0.,1.,0.));+#377 = PCURVE('',#152,#378);+#378 = DEFINITIONAL_REPRESENTATION('',(#379),#382);+#379 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#380,#381),.UNSPECIFIED.,.F.,.F.,+ (2,2),(0.475,1.115),.PIECEWISE_BEZIER_KNOTS.);+#380 = CARTESIAN_POINT('',(1.59,0.95));+#381 = CARTESIAN_POINT('',(1.59,1.59));+#382 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#383 = PCURVE('',#384,#389);+#384 = PLANE('',#385);+#385 = AXIS2_PLACEMENT_3D('',#386,#387,#388);+#386 = CARTESIAN_POINT('',(0.32,-2.86,-3.));+#387 = DIRECTION('',(1.,0.,-0.));+#388 = DIRECTION('',(0.,0.,1.));+#389 = DEFINITIONAL_REPRESENTATION('',(#390),#393);+#390 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#391,#392),.UNSPECIFIED.,.F.,.F.,+ (2,2),(0.475,1.115),.PIECEWISE_BEZIER_KNOTS.);+#391 = CARTESIAN_POINT('',(5.54,0.));+#392 = CARTESIAN_POINT('',(5.54,-0.64));+#393 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#394 = FACE_BOUND('',#395,.T.);+#395 = EDGE_LOOP('',(#396,#424,#450,#476));+#396 = ORIENTED_EDGE('',*,*,#397,.T.);+#397 = EDGE_CURVE('',#398,#400,#402,.T.);+#398 = VERTEX_POINT('',#399);+#399 = CARTESIAN_POINT('',(0.32,-0.32,2.54));+#400 = VERTEX_POINT('',#401);+#401 = CARTESIAN_POINT('',(-0.32,-0.32,2.54));+#402 = SURFACE_CURVE('',#403,(#407,#413),.PCURVE_S1.);+#403 = LINE('',#404,#405);+#404 = CARTESIAN_POINT('',(-0.795,-0.32,2.54));+#405 = VECTOR('',#406,1.);+#406 = DIRECTION('',(-1.,-0.,0.));+#407 = PCURVE('',#152,#408);+#408 = DEFINITIONAL_REPRESENTATION('',(#409),#412);+#409 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#410,#411),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#410 = CARTESIAN_POINT('',(1.59,3.49));+#411 = CARTESIAN_POINT('',(0.95,3.49));+#412 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#413 = PCURVE('',#414,#419);+#414 = PLANE('',#415);+#415 = AXIS2_PLACEMENT_3D('',#416,#417,#418);+#416 = CARTESIAN_POINT('',(-0.32,-0.32,-3.));+#417 = DIRECTION('',(-0.,1.,0.));+#418 = DIRECTION('',(0.,0.,1.));+#419 = DEFINITIONAL_REPRESENTATION('',(#420),#423);+#420 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#421,#422),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#421 = CARTESIAN_POINT('',(5.54,0.64));+#422 = CARTESIAN_POINT('',(5.54,0.));+#423 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#424 = ORIENTED_EDGE('',*,*,#425,.T.);+#425 = EDGE_CURVE('',#400,#426,#428,.T.);+#426 = VERTEX_POINT('',#427);+#427 = CARTESIAN_POINT('',(-0.32,0.32,2.54));+#428 = SURFACE_CURVE('',#429,(#433,#439),.PCURVE_S1.);+#429 = LINE('',#430,#431);+#430 = CARTESIAN_POINT('',(-0.32,-2.065,2.54));+#431 = VECTOR('',#432,1.);+#432 = DIRECTION('',(-0.,1.,0.));+#433 = PCURVE('',#152,#434);+#434 = DEFINITIONAL_REPRESENTATION('',(#435),#438);+#435 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#436,#437),.UNSPECIFIED.,.F.,.F.,+ (2,2),(1.745,2.385),.PIECEWISE_BEZIER_KNOTS.);+#436 = CARTESIAN_POINT('',(0.95,3.49));+#437 = CARTESIAN_POINT('',(0.95,4.13));+#438 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#439 = PCURVE('',#440,#445);+#440 = PLANE('',#441);+#441 = AXIS2_PLACEMENT_3D('',#442,#443,#444);+#442 = CARTESIAN_POINT('',(-0.32,-0.32,-3.));+#443 = DIRECTION('',(1.,0.,-0.));+#444 = DIRECTION('',(0.,0.,1.));+#445 = DEFINITIONAL_REPRESENTATION('',(#446),#449);+#446 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#447,#448),.UNSPECIFIED.,.F.,.F.,+ (2,2),(1.745,2.385),.PIECEWISE_BEZIER_KNOTS.);+#447 = CARTESIAN_POINT('',(5.54,0.));+#448 = CARTESIAN_POINT('',(5.54,-0.64));+#449 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#450 = ORIENTED_EDGE('',*,*,#451,.F.);+#451 = EDGE_CURVE('',#452,#426,#454,.T.);+#452 = VERTEX_POINT('',#453);+#453 = CARTESIAN_POINT('',(0.32,0.32,2.54));+#454 = SURFACE_CURVE('',#455,(#459,#465),.PCURVE_S1.);+#455 = LINE('',#456,#457);+#456 = CARTESIAN_POINT('',(-0.795,0.32,2.54));+#457 = VECTOR('',#458,1.);+#458 = DIRECTION('',(-1.,-0.,0.));+#459 = PCURVE('',#152,#460);+#460 = DEFINITIONAL_REPRESENTATION('',(#461),#464);+#461 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#462,#463),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#462 = CARTESIAN_POINT('',(1.59,4.13));+#463 = CARTESIAN_POINT('',(0.95,4.13));+#464 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#465 = PCURVE('',#466,#471);+#466 = PLANE('',#467);+#467 = AXIS2_PLACEMENT_3D('',#468,#469,#470);+#468 = CARTESIAN_POINT('',(-0.32,0.32,-3.));+#469 = DIRECTION('',(-0.,1.,0.));+#470 = DIRECTION('',(0.,0.,1.));+#471 = DEFINITIONAL_REPRESENTATION('',(#472),#475);+#472 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#473,#474),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#473 = CARTESIAN_POINT('',(5.54,0.64));+#474 = CARTESIAN_POINT('',(5.54,0.));+#475 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#476 = ORIENTED_EDGE('',*,*,#477,.F.);+#477 = EDGE_CURVE('',#398,#452,#478,.T.);+#478 = SURFACE_CURVE('',#479,(#483,#489),.PCURVE_S1.);+#479 = LINE('',#480,#481);+#480 = CARTESIAN_POINT('',(0.32,-2.065,2.54));+#481 = VECTOR('',#482,1.);+#482 = DIRECTION('',(-0.,1.,0.));+#483 = PCURVE('',#152,#484);+#484 = DEFINITIONAL_REPRESENTATION('',(#485),#488);+#485 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#486,#487),.UNSPECIFIED.,.F.,.F.,+ (2,2),(1.745,2.385),.PIECEWISE_BEZIER_KNOTS.);+#486 = CARTESIAN_POINT('',(1.59,3.49));+#487 = CARTESIAN_POINT('',(1.59,4.13));+#488 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#489 = PCURVE('',#490,#495);+#490 = PLANE('',#491);+#491 = AXIS2_PLACEMENT_3D('',#492,#493,#494);+#492 = CARTESIAN_POINT('',(0.32,-0.32,-3.));+#493 = DIRECTION('',(1.,0.,-0.));+#494 = DIRECTION('',(0.,0.,1.));+#495 = DEFINITIONAL_REPRESENTATION('',(#496),#499);+#496 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#497,#498),.UNSPECIFIED.,.F.,.F.,+ (2,2),(1.745,2.385),.PIECEWISE_BEZIER_KNOTS.);+#497 = CARTESIAN_POINT('',(5.54,0.));+#498 = CARTESIAN_POINT('',(5.54,-0.64));+#499 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#500 = ADVANCED_FACE('',(#501),#126,.T.);+#501 = FACE_BOUND('',#502,.T.);+#502 = EDGE_LOOP('',(#503,#526,#527,#528));+#503 = ORIENTED_EDGE('',*,*,#504,.F.);+#504 = EDGE_CURVE('',#83,#505,#507,.T.);+#505 = VERTEX_POINT('',#506);+#506 = CARTESIAN_POINT('',(1.27,1.27,0.));+#507 = SURFACE_CURVE('',#508,(#512,#519),.PCURVE_S1.);+#508 = LINE('',#509,#510);+#509 = CARTESIAN_POINT('',(-1.27,1.27,0.));+#510 = VECTOR('',#511,1.);+#511 = DIRECTION('',(1.,0.,-0.));+#512 = PCURVE('',#126,#513);+#513 = DEFINITIONAL_REPRESENTATION('',(#514),#518);+#514 = LINE('',#515,#516);+#515 = CARTESIAN_POINT('',(0.,0.));+#516 = VECTOR('',#517,1.);+#517 = DIRECTION('',(0.,1.));+#518 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#519 = PCURVE('',#98,#520);+#520 = DEFINITIONAL_REPRESENTATION('',(#521),#525);+#521 = LINE('',#522,#523);+#522 = CARTESIAN_POINT('',(0.,5.08));+#523 = VECTOR('',#524,1.);+#524 = DIRECTION('',(1.,0.));+#525 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#526 = ORIENTED_EDGE('',*,*,#110,.T.);+#527 = ORIENTED_EDGE('',*,*,#268,.T.);+#528 = ORIENTED_EDGE('',*,*,#529,.F.);+#529 = EDGE_CURVE('',#505,#246,#530,.T.);+#530 = SURFACE_CURVE('',#531,(#535,#542),.PCURVE_S1.);+#531 = LINE('',#532,#533);+#532 = CARTESIAN_POINT('',(1.27,1.27,0.));+#533 = VECTOR('',#534,1.);+#534 = DIRECTION('',(0.,0.,1.));+#535 = PCURVE('',#126,#536);+#536 = DEFINITIONAL_REPRESENTATION('',(#537),#541);+#537 = LINE('',#538,#539);+#538 = CARTESIAN_POINT('',(0.,2.54));+#539 = VECTOR('',#540,1.);+#540 = DIRECTION('',(1.,0.));+#541 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#542 = PCURVE('',#228,#543);+#543 = DEFINITIONAL_REPRESENTATION('',(#544),#548);+#544 = LINE('',#545,#546);+#545 = CARTESIAN_POINT('',(0.,-5.08));+#546 = VECTOR('',#547,1.);+#547 = DIRECTION('',(1.,0.));+#548 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#549 = ADVANCED_FACE('',(#550,#576,#662),#98,.F.);+#550 = FACE_BOUND('',#551,.F.);+#551 = EDGE_LOOP('',(#552,#553,#554,#575));+#552 = ORIENTED_EDGE('',*,*,#82,.F.);+#553 = ORIENTED_EDGE('',*,*,#167,.T.);+#554 = ORIENTED_EDGE('',*,*,#555,.T.);+#555 = EDGE_CURVE('',#168,#505,#556,.T.);+#556 = SURFACE_CURVE('',#557,(#561,#568),.PCURVE_S1.);+#557 = LINE('',#558,#559);+#558 = CARTESIAN_POINT('',(1.27,-3.81,0.));+#559 = VECTOR('',#560,1.);+#560 = DIRECTION('',(-0.,1.,0.));+#561 = PCURVE('',#98,#562);+#562 = DEFINITIONAL_REPRESENTATION('',(#563),#567);+#563 = LINE('',#564,#565);+#564 = CARTESIAN_POINT('',(2.54,0.));+#565 = VECTOR('',#566,1.);+#566 = DIRECTION('',(0.,1.));+#567 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#568 = PCURVE('',#228,#569);+#569 = DEFINITIONAL_REPRESENTATION('',(#570),#574);+#570 = LINE('',#571,#572);+#571 = CARTESIAN_POINT('',(0.,0.));+#572 = VECTOR('',#573,1.);+#573 = DIRECTION('',(0.,-1.));+#574 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#575 = ORIENTED_EDGE('',*,*,#504,.F.);+#576 = FACE_BOUND('',#577,.F.);+#577 = EDGE_LOOP('',(#578,#601,#622,#643));+#578 = ORIENTED_EDGE('',*,*,#579,.T.);+#579 = EDGE_CURVE('',#580,#582,#584,.T.);+#580 = VERTEX_POINT('',#581);+#581 = CARTESIAN_POINT('',(0.32,-2.86,0.));+#582 = VERTEX_POINT('',#583);+#583 = CARTESIAN_POINT('',(-0.32,-2.86,0.));+#584 = SURFACE_CURVE('',#585,(#589,#595),.PCURVE_S1.);+#585 = LINE('',#586,#587);+#586 = CARTESIAN_POINT('',(-0.795,-2.86,0.));+#587 = VECTOR('',#588,1.);+#588 = DIRECTION('',(-1.,-0.,0.));+#589 = PCURVE('',#98,#590);+#590 = DEFINITIONAL_REPRESENTATION('',(#591),#594);+#591 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#592,#593),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#592 = CARTESIAN_POINT('',(1.59,0.95));+#593 = CARTESIAN_POINT('',(0.95,0.95));+#594 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#595 = PCURVE('',#308,#596);+#596 = DEFINITIONAL_REPRESENTATION('',(#597),#600);+#597 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#598,#599),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#598 = CARTESIAN_POINT('',(3.,0.64));+#599 = CARTESIAN_POINT('',(3.,0.));+#600 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#601 = ORIENTED_EDGE('',*,*,#602,.T.);+#602 = EDGE_CURVE('',#582,#603,#605,.T.);+#603 = VERTEX_POINT('',#604);+#604 = CARTESIAN_POINT('',(-0.32,-2.22,0.));+#605 = SURFACE_CURVE('',#606,(#610,#616),.PCURVE_S1.);+#606 = LINE('',#607,#608);+#607 = CARTESIAN_POINT('',(-0.32,-3.335,0.));+#608 = VECTOR('',#609,1.);+#609 = DIRECTION('',(-0.,1.,0.));+#610 = PCURVE('',#98,#611);+#611 = DEFINITIONAL_REPRESENTATION('',(#612),#615);+#612 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#613,#614),.UNSPECIFIED.,.F.,.F.,+ (2,2),(0.475,1.115),.PIECEWISE_BEZIER_KNOTS.);+#613 = CARTESIAN_POINT('',(0.95,0.95));+#614 = CARTESIAN_POINT('',(0.95,1.59));+#615 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#616 = PCURVE('',#334,#617);+#617 = DEFINITIONAL_REPRESENTATION('',(#618),#621);+#618 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#619,#620),.UNSPECIFIED.,.F.,.F.,+ (2,2),(0.475,1.115),.PIECEWISE_BEZIER_KNOTS.);+#619 = CARTESIAN_POINT('',(3.,0.));+#620 = CARTESIAN_POINT('',(3.,-0.64));+#621 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#622 = ORIENTED_EDGE('',*,*,#623,.F.);+#623 = EDGE_CURVE('',#624,#603,#626,.T.);+#624 = VERTEX_POINT('',#625);+#625 = CARTESIAN_POINT('',(0.32,-2.22,0.));+#626 = SURFACE_CURVE('',#627,(#631,#637),.PCURVE_S1.);+#627 = LINE('',#628,#629);+#628 = CARTESIAN_POINT('',(-0.795,-2.22,0.));+#629 = VECTOR('',#630,1.);+#630 = DIRECTION('',(-1.,-0.,0.));+#631 = PCURVE('',#98,#632);+#632 = DEFINITIONAL_REPRESENTATION('',(#633),#636);+#633 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#634,#635),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#634 = CARTESIAN_POINT('',(1.59,1.59));+#635 = CARTESIAN_POINT('',(0.95,1.59));+#636 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#637 = PCURVE('',#360,#638);+#638 = DEFINITIONAL_REPRESENTATION('',(#639),#642);+#639 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#640,#641),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#640 = CARTESIAN_POINT('',(3.,0.64));+#641 = CARTESIAN_POINT('',(3.,0.));+#642 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#643 = ORIENTED_EDGE('',*,*,#644,.F.);+#644 = EDGE_CURVE('',#580,#624,#645,.T.);+#645 = SURFACE_CURVE('',#646,(#650,#656),.PCURVE_S1.);+#646 = LINE('',#647,#648);+#647 = CARTESIAN_POINT('',(0.32,-3.335,0.));+#648 = VECTOR('',#649,1.);+#649 = DIRECTION('',(-0.,1.,0.));+#650 = PCURVE('',#98,#651);+#651 = DEFINITIONAL_REPRESENTATION('',(#652),#655);+#652 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#653,#654),.UNSPECIFIED.,.F.,.F.,+ (2,2),(0.475,1.115),.PIECEWISE_BEZIER_KNOTS.);+#653 = CARTESIAN_POINT('',(1.59,0.95));+#654 = CARTESIAN_POINT('',(1.59,1.59));+#655 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#656 = PCURVE('',#384,#657);+#657 = DEFINITIONAL_REPRESENTATION('',(#658),#661);+#658 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#659,#660),.UNSPECIFIED.,.F.,.F.,+ (2,2),(0.475,1.115),.PIECEWISE_BEZIER_KNOTS.);+#659 = CARTESIAN_POINT('',(3.,0.));+#660 = CARTESIAN_POINT('',(3.,-0.64));+#661 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#662 = FACE_BOUND('',#663,.F.);+#663 = EDGE_LOOP('',(#664,#687,#708,#729));+#664 = ORIENTED_EDGE('',*,*,#665,.T.);+#665 = EDGE_CURVE('',#666,#668,#670,.T.);+#666 = VERTEX_POINT('',#667);+#667 = CARTESIAN_POINT('',(0.32,-0.32,0.));+#668 = VERTEX_POINT('',#669);+#669 = CARTESIAN_POINT('',(-0.32,-0.32,0.));+#670 = SURFACE_CURVE('',#671,(#675,#681),.PCURVE_S1.);+#671 = LINE('',#672,#673);+#672 = CARTESIAN_POINT('',(-0.795,-0.32,0.));+#673 = VECTOR('',#674,1.);+#674 = DIRECTION('',(-1.,-0.,0.));+#675 = PCURVE('',#98,#676);+#676 = DEFINITIONAL_REPRESENTATION('',(#677),#680);+#677 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#678,#679),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#678 = CARTESIAN_POINT('',(1.59,3.49));+#679 = CARTESIAN_POINT('',(0.95,3.49));+#680 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#681 = PCURVE('',#414,#682);+#682 = DEFINITIONAL_REPRESENTATION('',(#683),#686);+#683 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#684,#685),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#684 = CARTESIAN_POINT('',(3.,0.64));+#685 = CARTESIAN_POINT('',(3.,0.));+#686 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#687 = ORIENTED_EDGE('',*,*,#688,.T.);+#688 = EDGE_CURVE('',#668,#689,#691,.T.);+#689 = VERTEX_POINT('',#690);+#690 = CARTESIAN_POINT('',(-0.32,0.32,0.));+#691 = SURFACE_CURVE('',#692,(#696,#702),.PCURVE_S1.);+#692 = LINE('',#693,#694);+#693 = CARTESIAN_POINT('',(-0.32,-2.065,0.));+#694 = VECTOR('',#695,1.);+#695 = DIRECTION('',(-0.,1.,0.));+#696 = PCURVE('',#98,#697);+#697 = DEFINITIONAL_REPRESENTATION('',(#698),#701);+#698 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#699,#700),.UNSPECIFIED.,.F.,.F.,+ (2,2),(1.745,2.385),.PIECEWISE_BEZIER_KNOTS.);+#699 = CARTESIAN_POINT('',(0.95,3.49));+#700 = CARTESIAN_POINT('',(0.95,4.13));+#701 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#702 = PCURVE('',#440,#703);+#703 = DEFINITIONAL_REPRESENTATION('',(#704),#707);+#704 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#705,#706),.UNSPECIFIED.,.F.,.F.,+ (2,2),(1.745,2.385),.PIECEWISE_BEZIER_KNOTS.);+#705 = CARTESIAN_POINT('',(3.,0.));+#706 = CARTESIAN_POINT('',(3.,-0.64));+#707 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#708 = ORIENTED_EDGE('',*,*,#709,.F.);+#709 = EDGE_CURVE('',#710,#689,#712,.T.);+#710 = VERTEX_POINT('',#711);+#711 = CARTESIAN_POINT('',(0.32,0.32,0.));+#712 = SURFACE_CURVE('',#713,(#717,#723),.PCURVE_S1.);+#713 = LINE('',#714,#715);+#714 = CARTESIAN_POINT('',(-0.795,0.32,0.));+#715 = VECTOR('',#716,1.);+#716 = DIRECTION('',(-1.,-0.,0.));+#717 = PCURVE('',#98,#718);+#718 = DEFINITIONAL_REPRESENTATION('',(#719),#722);+#719 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#720,#721),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#720 = CARTESIAN_POINT('',(1.59,4.13));+#721 = CARTESIAN_POINT('',(0.95,4.13));+#722 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#723 = PCURVE('',#466,#724);+#724 = DEFINITIONAL_REPRESENTATION('',(#725),#728);+#725 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#726,#727),.UNSPECIFIED.,.F.,.F.,+ (2,2),(-1.115,-0.475),.PIECEWISE_BEZIER_KNOTS.);+#726 = CARTESIAN_POINT('',(3.,0.64));+#727 = CARTESIAN_POINT('',(3.,0.));+#728 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#729 = ORIENTED_EDGE('',*,*,#730,.F.);+#730 = EDGE_CURVE('',#666,#710,#731,.T.);+#731 = SURFACE_CURVE('',#732,(#736,#742),.PCURVE_S1.);+#732 = LINE('',#733,#734);+#733 = CARTESIAN_POINT('',(0.32,-2.065,0.));+#734 = VECTOR('',#735,1.);+#735 = DIRECTION('',(-0.,1.,0.));+#736 = PCURVE('',#98,#737);+#737 = DEFINITIONAL_REPRESENTATION('',(#738),#741);+#738 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#739,#740),.UNSPECIFIED.,.F.,.F.,+ (2,2),(1.745,2.385),.PIECEWISE_BEZIER_KNOTS.);+#739 = CARTESIAN_POINT('',(1.59,3.49));+#740 = CARTESIAN_POINT('',(1.59,4.13));+#741 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#742 = PCURVE('',#490,#743);+#743 = DEFINITIONAL_REPRESENTATION('',(#744),#747);+#744 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#745,#746),.UNSPECIFIED.,.F.,.F.,+ (2,2),(1.745,2.385),.PIECEWISE_BEZIER_KNOTS.);+#745 = CARTESIAN_POINT('',(3.,0.));+#746 = CARTESIAN_POINT('',(3.,-0.64));+#747 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#748 = ADVANCED_FACE('',(#749),#228,.T.);+#749 = FACE_BOUND('',#750,.T.);+#750 = EDGE_LOOP('',(#751,#752,#753,#754));+#751 = ORIENTED_EDGE('',*,*,#214,.F.);+#752 = ORIENTED_EDGE('',*,*,#555,.T.);+#753 = ORIENTED_EDGE('',*,*,#529,.T.);+#754 = ORIENTED_EDGE('',*,*,#245,.F.);+#755 = ADVANCED_FACE('',(#756),#308,.T.);+#756 = FACE_BOUND('',#757,.T.);+#757 = EDGE_LOOP('',(#758,#779,#780,#801));+#758 = ORIENTED_EDGE('',*,*,#759,.F.);+#759 = EDGE_CURVE('',#580,#292,#760,.T.);+#760 = SURFACE_CURVE('',#761,(#765,#772),.PCURVE_S1.);+#761 = LINE('',#762,#763);+#762 = CARTESIAN_POINT('',(0.32,-2.86,-3.));+#763 = VECTOR('',#764,1.);+#764 = DIRECTION('',(0.,0.,1.));+#765 = PCURVE('',#308,#766);+#766 = DEFINITIONAL_REPRESENTATION('',(#767),#771);+#767 = LINE('',#768,#769);+#768 = CARTESIAN_POINT('',(0.,0.64));+#769 = VECTOR('',#770,1.);+#770 = DIRECTION('',(1.,0.));+#771 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#772 = PCURVE('',#384,#773);+#773 = DEFINITIONAL_REPRESENTATION('',(#774),#778);+#774 = LINE('',#775,#776);+#775 = CARTESIAN_POINT('',(0.,0.));+#776 = VECTOR('',#777,1.);+#777 = DIRECTION('',(1.,0.));+#778 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#779 = ORIENTED_EDGE('',*,*,#579,.T.);+#780 = ORIENTED_EDGE('',*,*,#781,.T.);+#781 = EDGE_CURVE('',#582,#294,#782,.T.);+#782 = SURFACE_CURVE('',#783,(#787,#794),.PCURVE_S1.);+#783 = LINE('',#784,#785);+#784 = CARTESIAN_POINT('',(-0.32,-2.86,-3.));+#785 = VECTOR('',#786,1.);+#786 = DIRECTION('',(0.,0.,1.));+#787 = PCURVE('',#308,#788);+#788 = DEFINITIONAL_REPRESENTATION('',(#789),#793);+#789 = LINE('',#790,#791);+#790 = CARTESIAN_POINT('',(0.,0.));+#791 = VECTOR('',#792,1.);+#792 = DIRECTION('',(1.,0.));+#793 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#794 = PCURVE('',#334,#795);+#795 = DEFINITIONAL_REPRESENTATION('',(#796),#800);+#796 = LINE('',#797,#798);+#797 = CARTESIAN_POINT('',(0.,0.));+#798 = VECTOR('',#799,1.);+#799 = DIRECTION('',(1.,0.));+#800 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#801 = ORIENTED_EDGE('',*,*,#291,.F.);+#802 = ADVANCED_FACE('',(#803),#384,.F.);+#803 = FACE_BOUND('',#804,.F.);+#804 = EDGE_LOOP('',(#805,#806,#807,#828));+#805 = ORIENTED_EDGE('',*,*,#759,.F.);+#806 = ORIENTED_EDGE('',*,*,#644,.T.);+#807 = ORIENTED_EDGE('',*,*,#808,.T.);+#808 = EDGE_CURVE('',#624,#346,#809,.T.);+#809 = SURFACE_CURVE('',#810,(#814,#821),.PCURVE_S1.);+#810 = LINE('',#811,#812);+#811 = CARTESIAN_POINT('',(0.32,-2.22,-3.));+#812 = VECTOR('',#813,1.);+#813 = DIRECTION('',(0.,0.,1.));+#814 = PCURVE('',#384,#815);+#815 = DEFINITIONAL_REPRESENTATION('',(#816),#820);+#816 = LINE('',#817,#818);+#817 = CARTESIAN_POINT('',(0.,-0.64));+#818 = VECTOR('',#819,1.);+#819 = DIRECTION('',(1.,0.));+#820 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#821 = PCURVE('',#360,#822);+#822 = DEFINITIONAL_REPRESENTATION('',(#823),#827);+#823 = LINE('',#824,#825);+#824 = CARTESIAN_POINT('',(0.,0.64));+#825 = VECTOR('',#826,1.);+#826 = DIRECTION('',(1.,0.));+#827 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#828 = ORIENTED_EDGE('',*,*,#371,.F.);+#829 = ADVANCED_FACE('',(#830),#360,.F.);+#830 = FACE_BOUND('',#831,.F.);+#831 = EDGE_LOOP('',(#832,#833,#834,#855));+#832 = ORIENTED_EDGE('',*,*,#808,.F.);+#833 = ORIENTED_EDGE('',*,*,#623,.T.);+#834 = ORIENTED_EDGE('',*,*,#835,.T.);+#835 = EDGE_CURVE('',#603,#320,#836,.T.);+#836 = SURFACE_CURVE('',#837,(#841,#848),.PCURVE_S1.);+#837 = LINE('',#838,#839);+#838 = CARTESIAN_POINT('',(-0.32,-2.22,-3.));+#839 = VECTOR('',#840,1.);+#840 = DIRECTION('',(0.,0.,1.));+#841 = PCURVE('',#360,#842);+#842 = DEFINITIONAL_REPRESENTATION('',(#843),#847);+#843 = LINE('',#844,#845);+#844 = CARTESIAN_POINT('',(0.,0.));+#845 = VECTOR('',#846,1.);+#846 = DIRECTION('',(1.,0.));+#847 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#848 = PCURVE('',#334,#849);+#849 = DEFINITIONAL_REPRESENTATION('',(#850),#854);+#850 = LINE('',#851,#852);+#851 = CARTESIAN_POINT('',(0.,-0.64));+#852 = VECTOR('',#853,1.);+#853 = DIRECTION('',(1.,0.));+#854 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#855 = ORIENTED_EDGE('',*,*,#345,.F.);+#856 = ADVANCED_FACE('',(#857),#334,.T.);+#857 = FACE_BOUND('',#858,.T.);+#858 = EDGE_LOOP('',(#859,#860,#861,#862));+#859 = ORIENTED_EDGE('',*,*,#781,.F.);+#860 = ORIENTED_EDGE('',*,*,#602,.T.);+#861 = ORIENTED_EDGE('',*,*,#835,.T.);+#862 = ORIENTED_EDGE('',*,*,#319,.F.);+#863 = ADVANCED_FACE('',(#864),#414,.T.);+#864 = FACE_BOUND('',#865,.T.);+#865 = EDGE_LOOP('',(#866,#887,#888,#909));+#866 = ORIENTED_EDGE('',*,*,#867,.F.);+#867 = EDGE_CURVE('',#666,#398,#868,.T.);+#868 = SURFACE_CURVE('',#869,(#873,#880),.PCURVE_S1.);+#869 = LINE('',#870,#871);+#870 = CARTESIAN_POINT('',(0.32,-0.32,-3.));+#871 = VECTOR('',#872,1.);+#872 = DIRECTION('',(0.,0.,1.));+#873 = PCURVE('',#414,#874);+#874 = DEFINITIONAL_REPRESENTATION('',(#875),#879);+#875 = LINE('',#876,#877);+#876 = CARTESIAN_POINT('',(0.,0.64));+#877 = VECTOR('',#878,1.);+#878 = DIRECTION('',(1.,0.));+#879 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#880 = PCURVE('',#490,#881);+#881 = DEFINITIONAL_REPRESENTATION('',(#882),#886);+#882 = LINE('',#883,#884);+#883 = CARTESIAN_POINT('',(0.,0.));+#884 = VECTOR('',#885,1.);+#885 = DIRECTION('',(1.,0.));+#886 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#887 = ORIENTED_EDGE('',*,*,#665,.T.);+#888 = ORIENTED_EDGE('',*,*,#889,.T.);+#889 = EDGE_CURVE('',#668,#400,#890,.T.);+#890 = SURFACE_CURVE('',#891,(#895,#902),.PCURVE_S1.);+#891 = LINE('',#892,#893);+#892 = CARTESIAN_POINT('',(-0.32,-0.32,-3.));+#893 = VECTOR('',#894,1.);+#894 = DIRECTION('',(0.,0.,1.));+#895 = PCURVE('',#414,#896);+#896 = DEFINITIONAL_REPRESENTATION('',(#897),#901);+#897 = LINE('',#898,#899);+#898 = CARTESIAN_POINT('',(0.,0.));+#899 = VECTOR('',#900,1.);+#900 = DIRECTION('',(1.,0.));+#901 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#902 = PCURVE('',#440,#903);+#903 = DEFINITIONAL_REPRESENTATION('',(#904),#908);+#904 = LINE('',#905,#906);+#905 = CARTESIAN_POINT('',(0.,0.));+#906 = VECTOR('',#907,1.);+#907 = DIRECTION('',(1.,0.));+#908 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#909 = ORIENTED_EDGE('',*,*,#397,.F.);+#910 = ADVANCED_FACE('',(#911),#490,.F.);+#911 = FACE_BOUND('',#912,.F.);+#912 = EDGE_LOOP('',(#913,#914,#915,#936));+#913 = ORIENTED_EDGE('',*,*,#867,.F.);+#914 = ORIENTED_EDGE('',*,*,#730,.T.);+#915 = ORIENTED_EDGE('',*,*,#916,.T.);+#916 = EDGE_CURVE('',#710,#452,#917,.T.);+#917 = SURFACE_CURVE('',#918,(#922,#929),.PCURVE_S1.);+#918 = LINE('',#919,#920);+#919 = CARTESIAN_POINT('',(0.32,0.32,-3.));+#920 = VECTOR('',#921,1.);+#921 = DIRECTION('',(0.,0.,1.));+#922 = PCURVE('',#490,#923);+#923 = DEFINITIONAL_REPRESENTATION('',(#924),#928);+#924 = LINE('',#925,#926);+#925 = CARTESIAN_POINT('',(0.,-0.64));+#926 = VECTOR('',#927,1.);+#927 = DIRECTION('',(1.,0.));+#928 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#929 = PCURVE('',#466,#930);+#930 = DEFINITIONAL_REPRESENTATION('',(#931),#935);+#931 = LINE('',#932,#933);+#932 = CARTESIAN_POINT('',(0.,0.64));+#933 = VECTOR('',#934,1.);+#934 = DIRECTION('',(1.,0.));+#935 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#936 = ORIENTED_EDGE('',*,*,#477,.F.);+#937 = ADVANCED_FACE('',(#938),#440,.T.);+#938 = FACE_BOUND('',#939,.T.);+#939 = EDGE_LOOP('',(#940,#941,#942,#963));+#940 = ORIENTED_EDGE('',*,*,#889,.F.);+#941 = ORIENTED_EDGE('',*,*,#688,.T.);+#942 = ORIENTED_EDGE('',*,*,#943,.T.);+#943 = EDGE_CURVE('',#689,#426,#944,.T.);+#944 = SURFACE_CURVE('',#945,(#949,#956),.PCURVE_S1.);+#945 = LINE('',#946,#947);+#946 = CARTESIAN_POINT('',(-0.32,0.32,-3.));+#947 = VECTOR('',#948,1.);+#948 = DIRECTION('',(0.,0.,1.));+#949 = PCURVE('',#440,#950);+#950 = DEFINITIONAL_REPRESENTATION('',(#951),#955);+#951 = LINE('',#952,#953);+#952 = CARTESIAN_POINT('',(0.,-0.64));+#953 = VECTOR('',#954,1.);+#954 = DIRECTION('',(1.,0.));+#955 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#956 = PCURVE('',#466,#957);+#957 = DEFINITIONAL_REPRESENTATION('',(#958),#962);+#958 = LINE('',#959,#960);+#959 = CARTESIAN_POINT('',(0.,0.));+#960 = VECTOR('',#961,1.);+#961 = DIRECTION('',(1.,0.));+#962 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#963 = ORIENTED_EDGE('',*,*,#425,.F.);+#964 = ADVANCED_FACE('',(#965),#466,.F.);+#965 = FACE_BOUND('',#966,.F.);+#966 = EDGE_LOOP('',(#967,#968,#969,#970));+#967 = ORIENTED_EDGE('',*,*,#916,.F.);+#968 = ORIENTED_EDGE('',*,*,#709,.T.);+#969 = ORIENTED_EDGE('',*,*,#943,.T.);+#970 = ORIENTED_EDGE('',*,*,#451,.F.);+#971 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#975)) GLOBAL_UNIT_ASSIGNED_CONTEXT+((#972,#973,#974)) REPRESENTATION_CONTEXT('Context #1',+ '3D Context with UNIT and UNCERTAINTY') );+#972 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#973 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#974 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#975 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#972,+ 'distance_accuracy_value','confusion accuracy');+#976 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#977,#979);+#977 = ( REPRESENTATION_RELATIONSHIP('','',#40,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#978) +SHAPE_REPRESENTATION_RELATIONSHIP() );+#978 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15);+#979 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#980+ );+#980 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('1','=>[0:1:1:2]','',#5,#35,$);+#981 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#37));+#982 = SHAPE_DEFINITION_REPRESENTATION(#983,#989);+#983 = PRODUCT_DEFINITION_SHAPE('','',#984);+#984 = PRODUCT_DEFINITION('design','',#985,#988);+#985 = PRODUCT_DEFINITION_FORMATION('','',#986);+#986 = PRODUCT('Contact1_Nominal_Tin','Contact1_Nominal_Tin','',(#987));+#987 = PRODUCT_CONTEXT('',#2,'mechanical');+#988 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#989 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#990),#1320);+#990 = MANIFOLD_SOLID_BREP('',#991);+#991 = CLOSED_SHELL('',(#992,#1112,#1212,#1259,#1306,#1313));+#992 = ADVANCED_FACE('',(#993),#1007,.F.);+#993 = FACE_BOUND('',#994,.F.);+#994 = EDGE_LOOP('',(#995,#1030,#1058,#1086));+#995 = ORIENTED_EDGE('',*,*,#996,.F.);+#996 = EDGE_CURVE('',#997,#999,#1001,.T.);+#997 = VERTEX_POINT('',#998);+#998 = CARTESIAN_POINT('',(-0.32,-0.32,-3.));+#999 = VERTEX_POINT('',#1000);+#1000 = CARTESIAN_POINT('',(-0.32,-0.32,8.64));+#1001 = SURFACE_CURVE('',#1002,(#1006,#1018),.PCURVE_S1.);+#1002 = LINE('',#1003,#1004);+#1003 = CARTESIAN_POINT('',(-0.32,-0.32,-3.));+#1004 = VECTOR('',#1005,1.);+#1005 = DIRECTION('',(0.,0.,1.));+#1006 = PCURVE('',#1007,#1012);+#1007 = PLANE('',#1008);+#1008 = AXIS2_PLACEMENT_3D('',#1009,#1010,#1011);+#1009 = CARTESIAN_POINT('',(-0.32,-0.32,-3.));+#1010 = DIRECTION('',(1.,0.,-0.));+#1011 = DIRECTION('',(0.,0.,1.));+#1012 = DEFINITIONAL_REPRESENTATION('',(#1013),#1017);+#1013 = LINE('',#1014,#1015);+#1014 = CARTESIAN_POINT('',(0.,0.));+#1015 = VECTOR('',#1016,1.);+#1016 = DIRECTION('',(1.,0.));+#1017 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1018 = PCURVE('',#1019,#1024);+#1019 = PLANE('',#1020);+#1020 = AXIS2_PLACEMENT_3D('',#1021,#1022,#1023);+#1021 = CARTESIAN_POINT('',(-0.32,-0.32,-3.));+#1022 = DIRECTION('',(-0.,1.,0.));+#1023 = DIRECTION('',(0.,0.,1.));+#1024 = DEFINITIONAL_REPRESENTATION('',(#1025),#1029);+#1025 = LINE('',#1026,#1027);+#1026 = CARTESIAN_POINT('',(0.,0.));+#1027 = VECTOR('',#1028,1.);+#1028 = DIRECTION('',(1.,0.));+#1029 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1030 = ORIENTED_EDGE('',*,*,#1031,.T.);+#1031 = EDGE_CURVE('',#997,#1032,#1034,.T.);+#1032 = VERTEX_POINT('',#1033);+#1033 = CARTESIAN_POINT('',(-0.32,0.32,-3.));+#1034 = SURFACE_CURVE('',#1035,(#1039,#1046),.PCURVE_S1.);+#1035 = LINE('',#1036,#1037);+#1036 = CARTESIAN_POINT('',(-0.32,-0.32,-3.));+#1037 = VECTOR('',#1038,1.);+#1038 = DIRECTION('',(-0.,1.,0.));+#1039 = PCURVE('',#1007,#1040);+#1040 = DEFINITIONAL_REPRESENTATION('',(#1041),#1045);+#1041 = LINE('',#1042,#1043);+#1042 = CARTESIAN_POINT('',(0.,0.));+#1043 = VECTOR('',#1044,1.);+#1044 = DIRECTION('',(0.,-1.));+#1045 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1046 = PCURVE('',#1047,#1052);+#1047 = PLANE('',#1048);+#1048 = AXIS2_PLACEMENT_3D('',#1049,#1050,#1051);+#1049 = CARTESIAN_POINT('',(-0.32,-0.32,-3.));+#1050 = DIRECTION('',(0.,0.,1.));+#1051 = DIRECTION('',(1.,0.,-0.));+#1052 = DEFINITIONAL_REPRESENTATION('',(#1053),#1057);+#1053 = LINE('',#1054,#1055);+#1054 = CARTESIAN_POINT('',(0.,0.));+#1055 = VECTOR('',#1056,1.);+#1056 = DIRECTION('',(0.,1.));+#1057 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1058 = ORIENTED_EDGE('',*,*,#1059,.T.);+#1059 = EDGE_CURVE('',#1032,#1060,#1062,.T.);+#1060 = VERTEX_POINT('',#1061);+#1061 = CARTESIAN_POINT('',(-0.32,0.32,8.64));+#1062 = SURFACE_CURVE('',#1063,(#1067,#1074),.PCURVE_S1.);+#1063 = LINE('',#1064,#1065);+#1064 = CARTESIAN_POINT('',(-0.32,0.32,-3.));+#1065 = VECTOR('',#1066,1.);+#1066 = DIRECTION('',(0.,0.,1.));+#1067 = PCURVE('',#1007,#1068);+#1068 = DEFINITIONAL_REPRESENTATION('',(#1069),#1073);+#1069 = LINE('',#1070,#1071);+#1070 = CARTESIAN_POINT('',(0.,-0.64));+#1071 = VECTOR('',#1072,1.);+#1072 = DIRECTION('',(1.,0.));+#1073 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1074 = PCURVE('',#1075,#1080);+#1075 = PLANE('',#1076);+#1076 = AXIS2_PLACEMENT_3D('',#1077,#1078,#1079);+#1077 = CARTESIAN_POINT('',(-0.32,0.32,-3.));+#1078 = DIRECTION('',(-0.,1.,0.));+#1079 = DIRECTION('',(0.,0.,1.));+#1080 = DEFINITIONAL_REPRESENTATION('',(#1081),#1085);+#1081 = LINE('',#1082,#1083);+#1082 = CARTESIAN_POINT('',(0.,0.));+#1083 = VECTOR('',#1084,1.);+#1084 = DIRECTION('',(1.,0.));+#1085 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1086 = ORIENTED_EDGE('',*,*,#1087,.F.);+#1087 = EDGE_CURVE('',#999,#1060,#1088,.T.);+#1088 = SURFACE_CURVE('',#1089,(#1093,#1100),.PCURVE_S1.);+#1089 = LINE('',#1090,#1091);+#1090 = CARTESIAN_POINT('',(-0.32,-0.32,8.64));+#1091 = VECTOR('',#1092,1.);+#1092 = DIRECTION('',(-0.,1.,0.));+#1093 = PCURVE('',#1007,#1094);+#1094 = DEFINITIONAL_REPRESENTATION('',(#1095),#1099);+#1095 = LINE('',#1096,#1097);+#1096 = CARTESIAN_POINT('',(11.64,0.));+#1097 = VECTOR('',#1098,1.);+#1098 = DIRECTION('',(0.,-1.));+#1099 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1100 = PCURVE('',#1101,#1106);+#1101 = PLANE('',#1102);+#1102 = AXIS2_PLACEMENT_3D('',#1103,#1104,#1105);+#1103 = CARTESIAN_POINT('',(-0.32,-0.32,8.64));+#1104 = DIRECTION('',(0.,0.,1.));+#1105 = DIRECTION('',(1.,0.,-0.));+#1106 = DEFINITIONAL_REPRESENTATION('',(#1107),#1111);+#1107 = LINE('',#1108,#1109);+#1108 = CARTESIAN_POINT('',(0.,0.));+#1109 = VECTOR('',#1110,1.);+#1110 = DIRECTION('',(0.,1.));+#1111 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1112 = ADVANCED_FACE('',(#1113),#1127,.T.);+#1113 = FACE_BOUND('',#1114,.T.);+#1114 = EDGE_LOOP('',(#1115,#1145,#1168,#1191));+#1115 = ORIENTED_EDGE('',*,*,#1116,.F.);+#1116 = EDGE_CURVE('',#1117,#1119,#1121,.T.);+#1117 = VERTEX_POINT('',#1118);+#1118 = CARTESIAN_POINT('',(0.32,-0.32,-3.));+#1119 = VERTEX_POINT('',#1120);+#1120 = CARTESIAN_POINT('',(0.32,-0.32,8.64));+#1121 = SURFACE_CURVE('',#1122,(#1126,#1138),.PCURVE_S1.);+#1122 = LINE('',#1123,#1124);+#1123 = CARTESIAN_POINT('',(0.32,-0.32,-3.));+#1124 = VECTOR('',#1125,1.);+#1125 = DIRECTION('',(0.,0.,1.));+#1126 = PCURVE('',#1127,#1132);+#1127 = PLANE('',#1128);+#1128 = AXIS2_PLACEMENT_3D('',#1129,#1130,#1131);+#1129 = CARTESIAN_POINT('',(0.32,-0.32,-3.));+#1130 = DIRECTION('',(1.,0.,-0.));+#1131 = DIRECTION('',(0.,0.,1.));+#1132 = DEFINITIONAL_REPRESENTATION('',(#1133),#1137);+#1133 = LINE('',#1134,#1135);+#1134 = CARTESIAN_POINT('',(0.,0.));+#1135 = VECTOR('',#1136,1.);+#1136 = DIRECTION('',(1.,0.));+#1137 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1138 = PCURVE('',#1019,#1139);+#1139 = DEFINITIONAL_REPRESENTATION('',(#1140),#1144);+#1140 = LINE('',#1141,#1142);+#1141 = CARTESIAN_POINT('',(0.,0.64));+#1142 = VECTOR('',#1143,1.);+#1143 = DIRECTION('',(1.,0.));+#1144 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1145 = ORIENTED_EDGE('',*,*,#1146,.T.);+#1146 = EDGE_CURVE('',#1117,#1147,#1149,.T.);+#1147 = VERTEX_POINT('',#1148);+#1148 = CARTESIAN_POINT('',(0.32,0.32,-3.));+#1149 = SURFACE_CURVE('',#1150,(#1154,#1161),.PCURVE_S1.);+#1150 = LINE('',#1151,#1152);+#1151 = CARTESIAN_POINT('',(0.32,-0.32,-3.));+#1152 = VECTOR('',#1153,1.);+#1153 = DIRECTION('',(-0.,1.,0.));+#1154 = PCURVE('',#1127,#1155);+#1155 = DEFINITIONAL_REPRESENTATION('',(#1156),#1160);+#1156 = LINE('',#1157,#1158);+#1157 = CARTESIAN_POINT('',(0.,0.));+#1158 = VECTOR('',#1159,1.);+#1159 = DIRECTION('',(0.,-1.));+#1160 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1161 = PCURVE('',#1047,#1162);+#1162 = DEFINITIONAL_REPRESENTATION('',(#1163),#1167);+#1163 = LINE('',#1164,#1165);+#1164 = CARTESIAN_POINT('',(0.64,0.));+#1165 = VECTOR('',#1166,1.);+#1166 = DIRECTION('',(0.,1.));+#1167 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1168 = ORIENTED_EDGE('',*,*,#1169,.T.);+#1169 = EDGE_CURVE('',#1147,#1170,#1172,.T.);+#1170 = VERTEX_POINT('',#1171);+#1171 = CARTESIAN_POINT('',(0.32,0.32,8.64));+#1172 = SURFACE_CURVE('',#1173,(#1177,#1184),.PCURVE_S1.);+#1173 = LINE('',#1174,#1175);+#1174 = CARTESIAN_POINT('',(0.32,0.32,-3.));+#1175 = VECTOR('',#1176,1.);+#1176 = DIRECTION('',(0.,0.,1.));+#1177 = PCURVE('',#1127,#1178);+#1178 = DEFINITIONAL_REPRESENTATION('',(#1179),#1183);+#1179 = LINE('',#1180,#1181);+#1180 = CARTESIAN_POINT('',(0.,-0.64));+#1181 = VECTOR('',#1182,1.);+#1182 = DIRECTION('',(1.,0.));+#1183 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1184 = PCURVE('',#1075,#1185);+#1185 = DEFINITIONAL_REPRESENTATION('',(#1186),#1190);+#1186 = LINE('',#1187,#1188);+#1187 = CARTESIAN_POINT('',(0.,0.64));+#1188 = VECTOR('',#1189,1.);+#1189 = DIRECTION('',(1.,0.));+#1190 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1191 = ORIENTED_EDGE('',*,*,#1192,.F.);+#1192 = EDGE_CURVE('',#1119,#1170,#1193,.T.);+#1193 = SURFACE_CURVE('',#1194,(#1198,#1205),.PCURVE_S1.);+#1194 = LINE('',#1195,#1196);+#1195 = CARTESIAN_POINT('',(0.32,-0.32,8.64));+#1196 = VECTOR('',#1197,1.);+#1197 = DIRECTION('',(-0.,1.,0.));+#1198 = PCURVE('',#1127,#1199);+#1199 = DEFINITIONAL_REPRESENTATION('',(#1200),#1204);+#1200 = LINE('',#1201,#1202);+#1201 = CARTESIAN_POINT('',(11.64,0.));+#1202 = VECTOR('',#1203,1.);+#1203 = DIRECTION('',(0.,-1.));+#1204 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1205 = PCURVE('',#1101,#1206);+#1206 = DEFINITIONAL_REPRESENTATION('',(#1207),#1211);+#1207 = LINE('',#1208,#1209);+#1208 = CARTESIAN_POINT('',(0.64,0.));+#1209 = VECTOR('',#1210,1.);+#1210 = DIRECTION('',(0.,1.));+#1211 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1212 = ADVANCED_FACE('',(#1213),#1019,.F.);+#1213 = FACE_BOUND('',#1214,.F.);+#1214 = EDGE_LOOP('',(#1215,#1236,#1237,#1258));+#1215 = ORIENTED_EDGE('',*,*,#1216,.F.);+#1216 = EDGE_CURVE('',#997,#1117,#1217,.T.);+#1217 = SURFACE_CURVE('',#1218,(#1222,#1229),.PCURVE_S1.);+#1218 = LINE('',#1219,#1220);+#1219 = CARTESIAN_POINT('',(-0.32,-0.32,-3.));+#1220 = VECTOR('',#1221,1.);+#1221 = DIRECTION('',(1.,0.,-0.));+#1222 = PCURVE('',#1019,#1223);+#1223 = DEFINITIONAL_REPRESENTATION('',(#1224),#1228);+#1224 = LINE('',#1225,#1226);+#1225 = CARTESIAN_POINT('',(0.,0.));+#1226 = VECTOR('',#1227,1.);+#1227 = DIRECTION('',(0.,1.));+#1228 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1229 = PCURVE('',#1047,#1230);+#1230 = DEFINITIONAL_REPRESENTATION('',(#1231),#1235);+#1231 = LINE('',#1232,#1233);+#1232 = CARTESIAN_POINT('',(0.,0.));+#1233 = VECTOR('',#1234,1.);+#1234 = DIRECTION('',(1.,0.));+#1235 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1236 = ORIENTED_EDGE('',*,*,#996,.T.);+#1237 = ORIENTED_EDGE('',*,*,#1238,.T.);+#1238 = EDGE_CURVE('',#999,#1119,#1239,.T.);+#1239 = SURFACE_CURVE('',#1240,(#1244,#1251),.PCURVE_S1.);+#1240 = LINE('',#1241,#1242);+#1241 = CARTESIAN_POINT('',(-0.32,-0.32,8.64));+#1242 = VECTOR('',#1243,1.);+#1243 = DIRECTION('',(1.,0.,-0.));+#1244 = PCURVE('',#1019,#1245);+#1245 = DEFINITIONAL_REPRESENTATION('',(#1246),#1250);+#1246 = LINE('',#1247,#1248);+#1247 = CARTESIAN_POINT('',(11.64,0.));+#1248 = VECTOR('',#1249,1.);+#1249 = DIRECTION('',(0.,1.));+#1250 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1251 = PCURVE('',#1101,#1252);+#1252 = DEFINITIONAL_REPRESENTATION('',(#1253),#1257);+#1253 = LINE('',#1254,#1255);+#1254 = CARTESIAN_POINT('',(0.,0.));+#1255 = VECTOR('',#1256,1.);+#1256 = DIRECTION('',(1.,0.));+#1257 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1258 = ORIENTED_EDGE('',*,*,#1116,.F.);+#1259 = ADVANCED_FACE('',(#1260),#1075,.T.);+#1260 = FACE_BOUND('',#1261,.T.);+#1261 = EDGE_LOOP('',(#1262,#1283,#1284,#1305));+#1262 = ORIENTED_EDGE('',*,*,#1263,.F.);+#1263 = EDGE_CURVE('',#1032,#1147,#1264,.T.);+#1264 = SURFACE_CURVE('',#1265,(#1269,#1276),.PCURVE_S1.);+#1265 = LINE('',#1266,#1267);+#1266 = CARTESIAN_POINT('',(-0.32,0.32,-3.));+#1267 = VECTOR('',#1268,1.);+#1268 = DIRECTION('',(1.,0.,-0.));+#1269 = PCURVE('',#1075,#1270);+#1270 = DEFINITIONAL_REPRESENTATION('',(#1271),#1275);+#1271 = LINE('',#1272,#1273);+#1272 = CARTESIAN_POINT('',(0.,0.));+#1273 = VECTOR('',#1274,1.);+#1274 = DIRECTION('',(0.,1.));+#1275 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1276 = PCURVE('',#1047,#1277);+#1277 = DEFINITIONAL_REPRESENTATION('',(#1278),#1282);+#1278 = LINE('',#1279,#1280);+#1279 = CARTESIAN_POINT('',(0.,0.64));+#1280 = VECTOR('',#1281,1.);+#1281 = DIRECTION('',(1.,0.));+#1282 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1283 = ORIENTED_EDGE('',*,*,#1059,.T.);+#1284 = ORIENTED_EDGE('',*,*,#1285,.T.);+#1285 = EDGE_CURVE('',#1060,#1170,#1286,.T.);+#1286 = SURFACE_CURVE('',#1287,(#1291,#1298),.PCURVE_S1.);+#1287 = LINE('',#1288,#1289);+#1288 = CARTESIAN_POINT('',(-0.32,0.32,8.64));+#1289 = VECTOR('',#1290,1.);+#1290 = DIRECTION('',(1.,0.,-0.));+#1291 = PCURVE('',#1075,#1292);+#1292 = DEFINITIONAL_REPRESENTATION('',(#1293),#1297);+#1293 = LINE('',#1294,#1295);+#1294 = CARTESIAN_POINT('',(11.64,0.));+#1295 = VECTOR('',#1296,1.);+#1296 = DIRECTION('',(0.,1.));+#1297 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1298 = PCURVE('',#1101,#1299);+#1299 = DEFINITIONAL_REPRESENTATION('',(#1300),#1304);+#1300 = LINE('',#1301,#1302);+#1301 = CARTESIAN_POINT('',(0.,0.64));+#1302 = VECTOR('',#1303,1.);+#1303 = DIRECTION('',(1.,0.));+#1304 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1305 = ORIENTED_EDGE('',*,*,#1169,.F.);+#1306 = ADVANCED_FACE('',(#1307),#1047,.F.);+#1307 = FACE_BOUND('',#1308,.F.);+#1308 = EDGE_LOOP('',(#1309,#1310,#1311,#1312));+#1309 = ORIENTED_EDGE('',*,*,#1031,.F.);+#1310 = ORIENTED_EDGE('',*,*,#1216,.T.);+#1311 = ORIENTED_EDGE('',*,*,#1146,.T.);+#1312 = ORIENTED_EDGE('',*,*,#1263,.F.);+#1313 = ADVANCED_FACE('',(#1314),#1101,.T.);+#1314 = FACE_BOUND('',#1315,.T.);+#1315 = EDGE_LOOP('',(#1316,#1317,#1318,#1319));+#1316 = ORIENTED_EDGE('',*,*,#1087,.F.);+#1317 = ORIENTED_EDGE('',*,*,#1238,.T.);+#1318 = ORIENTED_EDGE('',*,*,#1192,.T.);+#1319 = ORIENTED_EDGE('',*,*,#1285,.F.);+#1320 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1324)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#1321,#1322,#1323)) REPRESENTATION_CONTEXT+('Context #1','3D Context with UNIT and UNCERTAINTY') );+#1321 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#1322 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#1323 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#1324 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#1321,+ 'distance_accuracy_value','confusion accuracy');+#1325 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1326,#1328);+#1326 = ( REPRESENTATION_RELATIONSHIP('','',#989,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1327) +SHAPE_REPRESENTATION_RELATIONSHIP() );+#1327 = ITEM_DEFINED_TRANSFORMATION('','',#11,#19);+#1328 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',+ #1329);+#1329 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('2','=>[0:1:1:3]','',#5,#984,$);+#1330 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#986));+#1331 = SHAPE_DEFINITION_REPRESENTATION(#1332,#1338);+#1332 = PRODUCT_DEFINITION_SHAPE('','',#1333);+#1333 = PRODUCT_DEFINITION('design','',#1334,#1337);+#1334 = PRODUCT_DEFINITION_FORMATION('','',#1335);+#1335 = PRODUCT('Contact2_Nominal_Tin','Contact2_Nominal_Tin','',(#1336)+ );+#1336 = PRODUCT_CONTEXT('',#2,'mechanical');+#1337 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#1338 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#1339),#1669);+#1339 = MANIFOLD_SOLID_BREP('',#1340);+#1340 = CLOSED_SHELL('',(#1341,#1461,#1561,#1608,#1655,#1662));+#1341 = ADVANCED_FACE('',(#1342),#1356,.F.);+#1342 = FACE_BOUND('',#1343,.F.);+#1343 = EDGE_LOOP('',(#1344,#1379,#1407,#1435));+#1344 = ORIENTED_EDGE('',*,*,#1345,.F.);+#1345 = EDGE_CURVE('',#1346,#1348,#1350,.T.);+#1346 = VERTEX_POINT('',#1347);+#1347 = CARTESIAN_POINT('',(-0.32,-2.86,-3.));+#1348 = VERTEX_POINT('',#1349);+#1349 = CARTESIAN_POINT('',(-0.32,-2.86,8.64));+#1350 = SURFACE_CURVE('',#1351,(#1355,#1367),.PCURVE_S1.);+#1351 = LINE('',#1352,#1353);+#1352 = CARTESIAN_POINT('',(-0.32,-2.86,-3.));+#1353 = VECTOR('',#1354,1.);+#1354 = DIRECTION('',(0.,0.,1.));+#1355 = PCURVE('',#1356,#1361);+#1356 = PLANE('',#1357);+#1357 = AXIS2_PLACEMENT_3D('',#1358,#1359,#1360);+#1358 = CARTESIAN_POINT('',(-0.32,-2.86,-3.));+#1359 = DIRECTION('',(1.,0.,-0.));+#1360 = DIRECTION('',(0.,0.,1.));+#1361 = DEFINITIONAL_REPRESENTATION('',(#1362),#1366);+#1362 = LINE('',#1363,#1364);+#1363 = CARTESIAN_POINT('',(0.,0.));+#1364 = VECTOR('',#1365,1.);+#1365 = DIRECTION('',(1.,0.));+#1366 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1367 = PCURVE('',#1368,#1373);+#1368 = PLANE('',#1369);+#1369 = AXIS2_PLACEMENT_3D('',#1370,#1371,#1372);+#1370 = CARTESIAN_POINT('',(-0.32,-2.86,-3.));+#1371 = DIRECTION('',(-0.,1.,0.));+#1372 = DIRECTION('',(0.,0.,1.));+#1373 = DEFINITIONAL_REPRESENTATION('',(#1374),#1378);+#1374 = LINE('',#1375,#1376);+#1375 = CARTESIAN_POINT('',(0.,0.));+#1376 = VECTOR('',#1377,1.);+#1377 = DIRECTION('',(1.,0.));+#1378 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1379 = ORIENTED_EDGE('',*,*,#1380,.T.);+#1380 = EDGE_CURVE('',#1346,#1381,#1383,.T.);+#1381 = VERTEX_POINT('',#1382);+#1382 = CARTESIAN_POINT('',(-0.32,-2.22,-3.));+#1383 = SURFACE_CURVE('',#1384,(#1388,#1395),.PCURVE_S1.);+#1384 = LINE('',#1385,#1386);+#1385 = CARTESIAN_POINT('',(-0.32,-2.86,-3.));+#1386 = VECTOR('',#1387,1.);+#1387 = DIRECTION('',(-0.,1.,0.));+#1388 = PCURVE('',#1356,#1389);+#1389 = DEFINITIONAL_REPRESENTATION('',(#1390),#1394);+#1390 = LINE('',#1391,#1392);+#1391 = CARTESIAN_POINT('',(0.,0.));+#1392 = VECTOR('',#1393,1.);+#1393 = DIRECTION('',(0.,-1.));+#1394 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1395 = PCURVE('',#1396,#1401);+#1396 = PLANE('',#1397);+#1397 = AXIS2_PLACEMENT_3D('',#1398,#1399,#1400);+#1398 = CARTESIAN_POINT('',(-0.32,-2.86,-3.));+#1399 = DIRECTION('',(0.,0.,1.));+#1400 = DIRECTION('',(1.,0.,-0.));+#1401 = DEFINITIONAL_REPRESENTATION('',(#1402),#1406);+#1402 = LINE('',#1403,#1404);+#1403 = CARTESIAN_POINT('',(0.,0.));+#1404 = VECTOR('',#1405,1.);+#1405 = DIRECTION('',(0.,1.));+#1406 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1407 = ORIENTED_EDGE('',*,*,#1408,.T.);+#1408 = EDGE_CURVE('',#1381,#1409,#1411,.T.);+#1409 = VERTEX_POINT('',#1410);+#1410 = CARTESIAN_POINT('',(-0.32,-2.22,8.64));+#1411 = SURFACE_CURVE('',#1412,(#1416,#1423),.PCURVE_S1.);+#1412 = LINE('',#1413,#1414);+#1413 = CARTESIAN_POINT('',(-0.32,-2.22,-3.));+#1414 = VECTOR('',#1415,1.);+#1415 = DIRECTION('',(0.,0.,1.));+#1416 = PCURVE('',#1356,#1417);+#1417 = DEFINITIONAL_REPRESENTATION('',(#1418),#1422);+#1418 = LINE('',#1419,#1420);+#1419 = CARTESIAN_POINT('',(0.,-0.64));+#1420 = VECTOR('',#1421,1.);+#1421 = DIRECTION('',(1.,0.));+#1422 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1423 = PCURVE('',#1424,#1429);+#1424 = PLANE('',#1425);+#1425 = AXIS2_PLACEMENT_3D('',#1426,#1427,#1428);+#1426 = CARTESIAN_POINT('',(-0.32,-2.22,-3.));+#1427 = DIRECTION('',(-0.,1.,0.));+#1428 = DIRECTION('',(0.,0.,1.));+#1429 = DEFINITIONAL_REPRESENTATION('',(#1430),#1434);+#1430 = LINE('',#1431,#1432);+#1431 = CARTESIAN_POINT('',(0.,0.));+#1432 = VECTOR('',#1433,1.);+#1433 = DIRECTION('',(1.,0.));+#1434 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1435 = ORIENTED_EDGE('',*,*,#1436,.F.);+#1436 = EDGE_CURVE('',#1348,#1409,#1437,.T.);+#1437 = SURFACE_CURVE('',#1438,(#1442,#1449),.PCURVE_S1.);+#1438 = LINE('',#1439,#1440);+#1439 = CARTESIAN_POINT('',(-0.32,-2.86,8.64));+#1440 = VECTOR('',#1441,1.);+#1441 = DIRECTION('',(-0.,1.,0.));+#1442 = PCURVE('',#1356,#1443);+#1443 = DEFINITIONAL_REPRESENTATION('',(#1444),#1448);+#1444 = LINE('',#1445,#1446);+#1445 = CARTESIAN_POINT('',(11.64,0.));+#1446 = VECTOR('',#1447,1.);+#1447 = DIRECTION('',(0.,-1.));+#1448 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1449 = PCURVE('',#1450,#1455);+#1450 = PLANE('',#1451);+#1451 = AXIS2_PLACEMENT_3D('',#1452,#1453,#1454);+#1452 = CARTESIAN_POINT('',(-0.32,-2.86,8.64));+#1453 = DIRECTION('',(0.,0.,1.));+#1454 = DIRECTION('',(1.,0.,-0.));+#1455 = DEFINITIONAL_REPRESENTATION('',(#1456),#1460);+#1456 = LINE('',#1457,#1458);+#1457 = CARTESIAN_POINT('',(0.,0.));+#1458 = VECTOR('',#1459,1.);+#1459 = DIRECTION('',(0.,1.));+#1460 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1461 = ADVANCED_FACE('',(#1462),#1476,.T.);+#1462 = FACE_BOUND('',#1463,.T.);+#1463 = EDGE_LOOP('',(#1464,#1494,#1517,#1540));+#1464 = ORIENTED_EDGE('',*,*,#1465,.F.);+#1465 = EDGE_CURVE('',#1466,#1468,#1470,.T.);+#1466 = VERTEX_POINT('',#1467);+#1467 = CARTESIAN_POINT('',(0.32,-2.86,-3.));+#1468 = VERTEX_POINT('',#1469);+#1469 = CARTESIAN_POINT('',(0.32,-2.86,8.64));+#1470 = SURFACE_CURVE('',#1471,(#1475,#1487),.PCURVE_S1.);+#1471 = LINE('',#1472,#1473);+#1472 = CARTESIAN_POINT('',(0.32,-2.86,-3.));+#1473 = VECTOR('',#1474,1.);+#1474 = DIRECTION('',(0.,0.,1.));+#1475 = PCURVE('',#1476,#1481);+#1476 = PLANE('',#1477);+#1477 = AXIS2_PLACEMENT_3D('',#1478,#1479,#1480);+#1478 = CARTESIAN_POINT('',(0.32,-2.86,-3.));+#1479 = DIRECTION('',(1.,0.,-0.));+#1480 = DIRECTION('',(0.,0.,1.));+#1481 = DEFINITIONAL_REPRESENTATION('',(#1482),#1486);+#1482 = LINE('',#1483,#1484);+#1483 = CARTESIAN_POINT('',(0.,0.));+#1484 = VECTOR('',#1485,1.);+#1485 = DIRECTION('',(1.,0.));+#1486 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1487 = PCURVE('',#1368,#1488);+#1488 = DEFINITIONAL_REPRESENTATION('',(#1489),#1493);+#1489 = LINE('',#1490,#1491);+#1490 = CARTESIAN_POINT('',(0.,0.64));+#1491 = VECTOR('',#1492,1.);+#1492 = DIRECTION('',(1.,0.));+#1493 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1494 = ORIENTED_EDGE('',*,*,#1495,.T.);+#1495 = EDGE_CURVE('',#1466,#1496,#1498,.T.);+#1496 = VERTEX_POINT('',#1497);+#1497 = CARTESIAN_POINT('',(0.32,-2.22,-3.));+#1498 = SURFACE_CURVE('',#1499,(#1503,#1510),.PCURVE_S1.);+#1499 = LINE('',#1500,#1501);+#1500 = CARTESIAN_POINT('',(0.32,-2.86,-3.));+#1501 = VECTOR('',#1502,1.);+#1502 = DIRECTION('',(-0.,1.,0.));+#1503 = PCURVE('',#1476,#1504);+#1504 = DEFINITIONAL_REPRESENTATION('',(#1505),#1509);+#1505 = LINE('',#1506,#1507);+#1506 = CARTESIAN_POINT('',(0.,0.));+#1507 = VECTOR('',#1508,1.);+#1508 = DIRECTION('',(0.,-1.));+#1509 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1510 = PCURVE('',#1396,#1511);+#1511 = DEFINITIONAL_REPRESENTATION('',(#1512),#1516);+#1512 = LINE('',#1513,#1514);+#1513 = CARTESIAN_POINT('',(0.64,0.));+#1514 = VECTOR('',#1515,1.);+#1515 = DIRECTION('',(0.,1.));+#1516 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1517 = ORIENTED_EDGE('',*,*,#1518,.T.);+#1518 = EDGE_CURVE('',#1496,#1519,#1521,.T.);+#1519 = VERTEX_POINT('',#1520);+#1520 = CARTESIAN_POINT('',(0.32,-2.22,8.64));+#1521 = SURFACE_CURVE('',#1522,(#1526,#1533),.PCURVE_S1.);+#1522 = LINE('',#1523,#1524);+#1523 = CARTESIAN_POINT('',(0.32,-2.22,-3.));+#1524 = VECTOR('',#1525,1.);+#1525 = DIRECTION('',(0.,0.,1.));+#1526 = PCURVE('',#1476,#1527);+#1527 = DEFINITIONAL_REPRESENTATION('',(#1528),#1532);+#1528 = LINE('',#1529,#1530);+#1529 = CARTESIAN_POINT('',(0.,-0.64));+#1530 = VECTOR('',#1531,1.);+#1531 = DIRECTION('',(1.,0.));+#1532 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1533 = PCURVE('',#1424,#1534);+#1534 = DEFINITIONAL_REPRESENTATION('',(#1535),#1539);+#1535 = LINE('',#1536,#1537);+#1536 = CARTESIAN_POINT('',(0.,0.64));+#1537 = VECTOR('',#1538,1.);+#1538 = DIRECTION('',(1.,0.));+#1539 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1540 = ORIENTED_EDGE('',*,*,#1541,.F.);+#1541 = EDGE_CURVE('',#1468,#1519,#1542,.T.);+#1542 = SURFACE_CURVE('',#1543,(#1547,#1554),.PCURVE_S1.);+#1543 = LINE('',#1544,#1545);+#1544 = CARTESIAN_POINT('',(0.32,-2.86,8.64));+#1545 = VECTOR('',#1546,1.);+#1546 = DIRECTION('',(-0.,1.,0.));+#1547 = PCURVE('',#1476,#1548);+#1548 = DEFINITIONAL_REPRESENTATION('',(#1549),#1553);+#1549 = LINE('',#1550,#1551);+#1550 = CARTESIAN_POINT('',(11.64,0.));+#1551 = VECTOR('',#1552,1.);+#1552 = DIRECTION('',(0.,-1.));+#1553 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1554 = PCURVE('',#1450,#1555);+#1555 = DEFINITIONAL_REPRESENTATION('',(#1556),#1560);+#1556 = LINE('',#1557,#1558);+#1557 = CARTESIAN_POINT('',(0.64,0.));+#1558 = VECTOR('',#1559,1.);+#1559 = DIRECTION('',(0.,1.));+#1560 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1561 = ADVANCED_FACE('',(#1562),#1368,.F.);+#1562 = FACE_BOUND('',#1563,.F.);+#1563 = EDGE_LOOP('',(#1564,#1585,#1586,#1607));+#1564 = ORIENTED_EDGE('',*,*,#1565,.F.);+#1565 = EDGE_CURVE('',#1346,#1466,#1566,.T.);+#1566 = SURFACE_CURVE('',#1567,(#1571,#1578),.PCURVE_S1.);+#1567 = LINE('',#1568,#1569);+#1568 = CARTESIAN_POINT('',(-0.32,-2.86,-3.));+#1569 = VECTOR('',#1570,1.);+#1570 = DIRECTION('',(1.,0.,-0.));+#1571 = PCURVE('',#1368,#1572);+#1572 = DEFINITIONAL_REPRESENTATION('',(#1573),#1577);+#1573 = LINE('',#1574,#1575);+#1574 = CARTESIAN_POINT('',(0.,0.));+#1575 = VECTOR('',#1576,1.);+#1576 = DIRECTION('',(0.,1.));+#1577 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1578 = PCURVE('',#1396,#1579);+#1579 = DEFINITIONAL_REPRESENTATION('',(#1580),#1584);+#1580 = LINE('',#1581,#1582);+#1581 = CARTESIAN_POINT('',(0.,0.));+#1582 = VECTOR('',#1583,1.);+#1583 = DIRECTION('',(1.,0.));+#1584 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1585 = ORIENTED_EDGE('',*,*,#1345,.T.);+#1586 = ORIENTED_EDGE('',*,*,#1587,.T.);+#1587 = EDGE_CURVE('',#1348,#1468,#1588,.T.);+#1588 = SURFACE_CURVE('',#1589,(#1593,#1600),.PCURVE_S1.);+#1589 = LINE('',#1590,#1591);+#1590 = CARTESIAN_POINT('',(-0.32,-2.86,8.64));+#1591 = VECTOR('',#1592,1.);+#1592 = DIRECTION('',(1.,0.,-0.));+#1593 = PCURVE('',#1368,#1594);+#1594 = DEFINITIONAL_REPRESENTATION('',(#1595),#1599);+#1595 = LINE('',#1596,#1597);+#1596 = CARTESIAN_POINT('',(11.64,0.));+#1597 = VECTOR('',#1598,1.);+#1598 = DIRECTION('',(0.,1.));+#1599 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1600 = PCURVE('',#1450,#1601);+#1601 = DEFINITIONAL_REPRESENTATION('',(#1602),#1606);+#1602 = LINE('',#1603,#1604);+#1603 = CARTESIAN_POINT('',(0.,0.));+#1604 = VECTOR('',#1605,1.);+#1605 = DIRECTION('',(1.,0.));+#1606 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1607 = ORIENTED_EDGE('',*,*,#1465,.F.);+#1608 = ADVANCED_FACE('',(#1609),#1424,.T.);+#1609 = FACE_BOUND('',#1610,.T.);+#1610 = EDGE_LOOP('',(#1611,#1632,#1633,#1654));+#1611 = ORIENTED_EDGE('',*,*,#1612,.F.);+#1612 = EDGE_CURVE('',#1381,#1496,#1613,.T.);+#1613 = SURFACE_CURVE('',#1614,(#1618,#1625),.PCURVE_S1.);+#1614 = LINE('',#1615,#1616);+#1615 = CARTESIAN_POINT('',(-0.32,-2.22,-3.));+#1616 = VECTOR('',#1617,1.);+#1617 = DIRECTION('',(1.,0.,-0.));+#1618 = PCURVE('',#1424,#1619);+#1619 = DEFINITIONAL_REPRESENTATION('',(#1620),#1624);+#1620 = LINE('',#1621,#1622);+#1621 = CARTESIAN_POINT('',(0.,0.));+#1622 = VECTOR('',#1623,1.);+#1623 = DIRECTION('',(0.,1.));+#1624 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1625 = PCURVE('',#1396,#1626);+#1626 = DEFINITIONAL_REPRESENTATION('',(#1627),#1631);+#1627 = LINE('',#1628,#1629);+#1628 = CARTESIAN_POINT('',(0.,0.64));+#1629 = VECTOR('',#1630,1.);+#1630 = DIRECTION('',(1.,0.));+#1631 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1632 = ORIENTED_EDGE('',*,*,#1408,.T.);+#1633 = ORIENTED_EDGE('',*,*,#1634,.T.);+#1634 = EDGE_CURVE('',#1409,#1519,#1635,.T.);+#1635 = SURFACE_CURVE('',#1636,(#1640,#1647),.PCURVE_S1.);+#1636 = LINE('',#1637,#1638);+#1637 = CARTESIAN_POINT('',(-0.32,-2.22,8.64));+#1638 = VECTOR('',#1639,1.);+#1639 = DIRECTION('',(1.,0.,-0.));+#1640 = PCURVE('',#1424,#1641);+#1641 = DEFINITIONAL_REPRESENTATION('',(#1642),#1646);+#1642 = LINE('',#1643,#1644);+#1643 = CARTESIAN_POINT('',(11.64,0.));+#1644 = VECTOR('',#1645,1.);+#1645 = DIRECTION('',(0.,1.));+#1646 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1647 = PCURVE('',#1450,#1648);+#1648 = DEFINITIONAL_REPRESENTATION('',(#1649),#1653);+#1649 = LINE('',#1650,#1651);+#1650 = CARTESIAN_POINT('',(0.,0.64));+#1651 = VECTOR('',#1652,1.);+#1652 = DIRECTION('',(1.,0.));+#1653 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1654 = ORIENTED_EDGE('',*,*,#1518,.F.);+#1655 = ADVANCED_FACE('',(#1656),#1396,.F.);+#1656 = FACE_BOUND('',#1657,.F.);+#1657 = EDGE_LOOP('',(#1658,#1659,#1660,#1661));+#1658 = ORIENTED_EDGE('',*,*,#1380,.F.);+#1659 = ORIENTED_EDGE('',*,*,#1565,.T.);+#1660 = ORIENTED_EDGE('',*,*,#1495,.T.);+#1661 = ORIENTED_EDGE('',*,*,#1612,.F.);+#1662 = ADVANCED_FACE('',(#1663),#1450,.T.);+#1663 = FACE_BOUND('',#1664,.T.);+#1664 = EDGE_LOOP('',(#1665,#1666,#1667,#1668));+#1665 = ORIENTED_EDGE('',*,*,#1436,.F.);+#1666 = ORIENTED_EDGE('',*,*,#1587,.T.);+#1667 = ORIENTED_EDGE('',*,*,#1541,.T.);+#1668 = ORIENTED_EDGE('',*,*,#1634,.F.);+#1669 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1673)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#1670,#1671,#1672)) REPRESENTATION_CONTEXT+('Context #1','3D Context with UNIT and UNCERTAINTY') );+#1670 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#1671 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#1672 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#1673 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#1670,+ 'distance_accuracy_value','confusion accuracy');+#1674 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1675,#1677);+#1675 = ( REPRESENTATION_RELATIONSHIP('','',#1338,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1676) +SHAPE_REPRESENTATION_RELATIONSHIP() );+#1676 = ITEM_DEFINED_TRANSFORMATION('','',#11,#23);+#1677 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',+ #1678);+#1678 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('3','=>[0:1:1:4]','',#5,#1333,$);+#1679 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#1335));+#1680 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(+ #1681),#971);+#1681 = STYLED_ITEM('color',(#1682),#41);+#1682 = PRESENTATION_STYLE_ASSIGNMENT((#1683,#1689));+#1683 = SURFACE_STYLE_USAGE(.BOTH.,#1684);+#1684 = SURFACE_SIDE_STYLE('',(#1685));+#1685 = SURFACE_STYLE_FILL_AREA(#1686);+#1686 = FILL_AREA_STYLE('',(#1687));+#1687 = FILL_AREA_STYLE_COLOUR('',#1688);+#1688 = COLOUR_RGB('',0.260067479943,0.271699755848,0.282779289824);+#1689 = CURVE_STYLE('',#1690,POSITIVE_LENGTH_MEASURE(0.1),#1688);+#1690 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');+#1691 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(+ #1692),#1669);+#1692 = STYLED_ITEM('color',(#1693),#1339);+#1693 = PRESENTATION_STYLE_ASSIGNMENT((#1694,#1700));+#1694 = SURFACE_STYLE_USAGE(.BOTH.,#1695);+#1695 = SURFACE_SIDE_STYLE('',(#1696));+#1696 = SURFACE_STYLE_FILL_AREA(#1697);+#1697 = FILL_AREA_STYLE('',(#1698));+#1698 = FILL_AREA_STYLE_COLOUR('',#1699);+#1699 = COLOUR_RGB('',0.865042042985,0.870344943399,0.88082502109);+#1700 = CURVE_STYLE('',#1701,POSITIVE_LENGTH_MEASURE(0.1),#1699);+#1701 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');+#1702 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(+ #1703),#1320);+#1703 = STYLED_ITEM('color',(#1704),#990);+#1704 = PRESENTATION_STYLE_ASSIGNMENT((#1705,#1710));+#1705 = SURFACE_STYLE_USAGE(.BOTH.,#1706);+#1706 = SURFACE_SIDE_STYLE('',(#1707));+#1707 = SURFACE_STYLE_FILL_AREA(#1708);+#1708 = FILL_AREA_STYLE('',(#1709));+#1709 = FILL_AREA_STYLE_COLOUR('',#1699);+#1710 = CURVE_STYLE('',#1711,POSITIVE_LENGTH_MEASURE(0.1),#1699);+#1711 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');+ENDSEC;+END-ISO-10303-21;
package.jsonadded+88@@ -0,0 +1,88 @@+{+ "slug": "m20-9990246",+ "type": "hardware",+ "kind": "component",+ "version": "0.1.0",+ "title": "Harwin M20-9990246 2-pin vertical header",+ "description": "2-position unpolarized 2.54 mm tin header, with original nominal geometry, symbol and candidate footprint.",+ "brief": "2-pin 2.54 mm THT header. Unpolarized, tin finish; nominal assets and 50-mating-cycle limit documented.",+ "license": "MIT",+ "tags": [+ "connector",+ "header",+ "Harwin",+ "through-hole"+ ],+ "hero": {+ "type": "image",+ "path": "hero.png"+ },+ "source": {+ "name": "Harwin",+ "url": "https://www.harwin.com/products/M20-9990246"+ },+ "component": {+ "mpn": "M20-9990246",+ "manufacturer": "Harwin",+ "package": "2-pin single-row 2.54 mm vertical THT",+ "pin_count": 2,+ "category": "Connectors",+ "datasheet": "https://content.harwin.com/asset/640f59f4-1860-40fe-82ef-f2a104ffa7d8/DRG-00479-Technical-Drawing-Datasheet-M20-999-pdf.pdf",+ "wiki_url": "https://wiki.adom.inc/adom/m20-9990246",+ "parts": {+ "symbol": "m20-9990246.kicad_sym",+ "footprint": "m20-9990246.kicad_mod",+ "step": "m20-9990246.step",+ "model_3d": "m20-9990246-hero.glb",+ "model_3d_plain": "m20-9990246.glb",+ "model_3d_step": "m20-9990246.step",+ "lbr": "m20-9990246.lbr",+ "adom_lbr": "m20-9990246.adom-lbr.json",+ "datasheet": "datasheet.pdf"+ },+ "distributor_links": {+ "mouser": "855-M20-9990246"+ },+ "pins": [+ {+ "number": "1",+ "name": "1",+ "type": "passive",+ "description": "Adom library numbering; unpolarized contact"+ },+ {+ "number": "2",+ "name": "2",+ "type": "passive",+ "description": "Adom library numbering; unpolarized contact"+ }+ ],+ "qualification": {+ "status": "provisional",+ "model": "Original nominal reconstruction, not manufacturer CAD",+ "assembly": "Finished-hole and mating/crimp qualification pending"+ }+ },+ "because": "Exact header selected for electronic-load fan or sensor harness; catalog assets were missing.",+ "name": "@adom/m20-9990246",+ "files": [+ "README.md",+ "LICENSE",+ "THIRD_PARTY.md",+ "page.json",+ "package.json",+ "provenance.json",+ "footprint-input.json",+ "m20-9990246*",+ "symbol.html",+ "footprint.html",+ "hero.png",+ "datasheet.pdf",+ "build_model.py",+ "skills/**",+ "m20-9990246-hero.glb",+ "m20-9990246-hero.overlay.json",+ "m20-9990246.glb"+ ],+ "dependencies": {}+}
page.jsonadded+94@@ -0,0 +1,94 @@+{+ "slug": "m20-9990246",+ "type": "component",+ "kind": "component",+ "version": "0.1.0",+ "title": "Harwin M20-9990246 2-pin vertical header",+ "description": "2-position unpolarized 2.54 mm tin header, with original nominal geometry, symbol and candidate footprint.",+ "brief": "2-pin 2.54 mm THT header. Unpolarized, tin finish; nominal assets and 50-mating-cycle limit documented.",+ "license": "MIT",+ "tags": [+ "connector",+ "header",+ "Harwin",+ "through-hole"+ ],+ "hero": {+ "type": "image",+ "path": "hero.png"+ },+ "source": {+ "name": "Harwin",+ "url": "https://www.harwin.com/products/M20-9990246"+ },+ "component": {+ "mpn": "M20-9990246",+ "manufacturer": "Harwin",+ "package": "2-pin single-row 2.54 mm vertical THT",+ "pin_count": 2,+ "category": "Connectors",+ "datasheet": "https://content.harwin.com/asset/640f59f4-1860-40fe-82ef-f2a104ffa7d8/DRG-00479-Technical-Drawing-Datasheet-M20-999-pdf.pdf",+ "wiki_url": "https://wiki.adom.inc/adom/m20-9990246",+ "parts": {+ "symbol": "m20-9990246.kicad_sym",+ "footprint": "m20-9990246.kicad_mod",+ "step": "m20-9990246.step",+ "model_3d": "m20-9990246-hero.glb",+ "model_3d_plain": "m20-9990246.glb",+ "model_3d_step": "m20-9990246.step",+ "lbr": "m20-9990246.lbr",+ "adom_lbr": "m20-9990246.adom-lbr.json",+ "datasheet": "datasheet.pdf"+ },+ "distributor_links": {+ "mouser": "855-M20-9990246"+ },+ "pins": [+ {+ "number": "1",+ "name": "1",+ "type": "passive",+ "description": "Adom library numbering; unpolarized contact"+ },+ {+ "number": "2",+ "name": "2",+ "type": "passive",+ "description": "Adom library numbering; unpolarized contact"+ }+ ],+ "qualification": {+ "status": "provisional",+ "model": "Original nominal reconstruction, not manufacturer CAD",+ "assembly": "Finished-hole and mating/crimp qualification pending"+ }+ },+ "because": "Exact header selected for electronic-load fan or sensor harness; catalog assets were missing.",+ "name": "@adom/m20-9990246",+ "files": [+ "README.md",+ "LICENSE",+ "THIRD_PARTY.md",+ "page.json",+ "package.json",+ "provenance.json",+ "footprint-input.json",+ "m20-9990246*",+ "symbol.html",+ "footprint.html",+ "hero.png",+ "datasheet.pdf",+ "build_model.py",+ "skills/**",+ "m20-9990246-hero.glb",+ "m20-9990246-hero.overlay.json",+ "m20-9990246.glb"+ ],+ "dependencies": {},+ "visibility": "public",+ "org": "adom",+ "author": {+ "name": "John Lauer",+ "email": "[email protected]"+ }+}
provenance.jsonadded+56@@ -0,0 +1,56 @@+{+ "part": "M20-9990246",+ "reviewDate": "2026-10-11",+ "source": "https://www.harwin.com/products/M20-9990246",+ "drawing": {+ "url": "https://content.harwin.com/asset/640f59f4-1860-40fe-82ef-f2a104ffa7d8/DRG-00479-Technical-Drawing-Datasheet-M20-999-pdf.pdf",+ "revision": "M20-999XXXX issue23 17.12.18",+ "sha256": "03044d5d36a23a934970f60d11482d94366ca23c70fce8a524293ce1048f820f"+ },+ "model": {+ "kind": "Original Adom nominal reconstruction",+ "generator": "build_model.py",+ "kernel": "Existing shared OCP service environment",+ "pinCount": 2,+ "pitchMm": 2.54,+ "pinSquareMm": 0.64,+ "pinSquareToleranceMm": 0.02,+ "aboveBoardMm": 8.64,+ "tailMm": 3,+ "bodyMm": [+ 2.54,+ 5.08,+ 2.54+ ],+ "omissions": [+ "Manufacturer CAD not used",+ "No pin-tip chamfers or molded underside recesses",+ "No full tolerance envelope"+ ]+ },+ "footprint": {+ "recommendedFinishedHoleMm": 1.02,+ "finishedHoleToleranceMm": 0.05,+ "padDiameterMm": 1.7,+ "padSource": "Adom candidate",+ "attrRepair": "Changed generated smd attribute to through_hole; all pads already thru_hole; known adom-footprint issue1"+ },+ "numbering": "Adom convention for unpolarized header, not physical manufacturer pin1",+ "matingLife": {+ "tinOperations": 50,+ "source": "Manufacturer drawing"+ },+ "qualification": "Provisional; physical solder/mating/crimp acceptance pending",+ "visualReview": {+ "wiki": "pending; task browser closed by user",+ "local": "Actual STEP isometric rendered and inspected: correct contact count, nominal body and through-hole tails."+ },+ "assetSha256": {+ "m20-9990246.lbr": "2d0213140b204386aa0f7590ae83e0ddcca3dedbd17ced02f0697e1efd84a505",+ "m20-9990246-hero.glb": "4e07fc91f0ef6aa2619725c247e55e8f3b3f4f49b359e6a8507fdfa7f1a4a8bf",+ "m20-9990246.glb": "821f44a6cc5f2f55ce272946298bd172f8515ae8df59a9ecda9f517b3c31945a",+ "m20-9990246.kicad_mod": "01fa5fab0de880725144b21ea6a3b5f6758e0fbfc8b67abec9c401d87a05cc35",+ "m20-9990246.kicad_sym": "5d02934eabf47c2ef8aa7464b5fdb0068419a0cdf6dac9a1c006b01b9c8e73d4",+ "m20-9990246.step": "c604373fcd4626a9ba1bad0f08a1066e9be9add101cf68f7585b2a6dedd6b38b"+ }+}
skills/m20-9990246/SKILL.mdadded+15@@ -0,0 +1,15 @@+---+name: m20-9990246+description: Use when importing M20-9990246, wiring its unpolarized contacts, or reviewing header geometry and mating life.+---+# M20-9990246++Parent skill: wiki-component.++Read README.md and provenance.json. This is the 2-position tin header, not its gold-finish variant. The drawing's tin mating-life limit is 50 operations. Check whether this suits the workcell service plan.++There is no physical key or intrinsic signal assignment. Preserve the project's numbering and verify harness continuity; never infer power or ground solely from a generic header model. Library pad1 is a convention marked on the PCB, not a manufacturer pin-index claim.++Use the clean STEP/GLB in assemblies. Hero outlines and labels are nonphysical. Nominal geometry omits detailed chamfers, recesses and tolerances. Verify the 1.02 +/-0.05 mm finished-hole requirement and solder process; candidate 1.7 mm pads are not a fabrication qualification.++Mating housing/contact selection, crimp tooling, wire preparation and retention must be reviewed separately. Do not pass project acceptance solely from library validation or a visual mate.
symbol.htmladded+2070@@ -0,0 +1,2070 @@+<!doctype html><html><head><meta charset="utf-8">+<title>M20-9990246 - adom-symbol</title>+<meta name="viewport" content="width=device-width,initial-scale=1">+<style>+@font-face{font-family:'Satoshi';font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}@font-face{font-family:'Satoshi';font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}@font-face{font-family:'Familjen Grotesk';font-weight:700;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}+ /* Canonical Adom dark-theme tokens (adom/guides/brand.md) */+ :root{+ --bg:#0d1117;--surface:#161b22;--elevated:#1c2128;--overlay:#21262d;+ --border:#30363d;--border-muted:#21262d;+ --text:#e6edf3;--text2:#8b949e;--text3:#484f58;+ --accent:#00b8b0;--accent-bright:#00e6dc;--purple:#8c6bf7;+ /* aliases used by the viewport + pin-list rules further down */+ --panel:#161b22;--panel2:#1c2128;--muted:#8b949e;+ }+ *{box-sizing:border-box;margin:0;padding:0}+ html,body{height:100%}+ body{background:var(--bg);color:var(--text);font:13px/1.4 'Satoshi','Segoe UI',system-ui,sans-serif;display:flex;flex-direction:column;overflow:hidden}+ /* ── Canonical Adom app header (adom/guides/adom-app-header.md) ── */+ header{display:flex;align-items:center;gap:12px;padding:0 16px;height:44px;flex:0 0 44px;border-bottom:1px solid var(--border-muted);background:var(--surface);position:relative;font-family:'Familjen Grotesk',sans-serif}+ header .brand{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.01em;cursor:default;flex-shrink:0;outline:none}+ header .brand svg.logo{width:16px;height:16px;flex-shrink:0}+ header .brand:hover .app-name{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}+ header .brand .app-name{color:var(--accent)}+ header .brand .app-subtitle{color:var(--text2);font-weight:500}+ header .brand .sep{color:var(--text3);font-weight:400}+ header .vsep{width:1px;height:18px;background:var(--border);flex-shrink:0}+ header .subject{display:flex;align-items:center;gap:8px;min-width:0;flex:1;cursor:default}+ header .subject-name{color:var(--text);font-family:'Familjen Grotesk',sans-serif;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}+ header .subject-meta{display:flex;align-items:center;gap:6px;color:var(--text2);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;white-space:nowrap}+ header .subject-meta .sep{color:var(--text3)}+ @media(max-width:720px){header .subject-meta{display:none}}+ /* Floating in-canvas viewer toolbar (frosted, matches the app's glass cards) */+ .tools{position:absolute;left:12px;top:12px;z-index:5;display:flex;gap:3px;padding:3px;background:rgba(22,27,34,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:9px}+ .tools button{width:30px;height:30px;display:grid;place-items:center;background:transparent;border:none;border-radius:6px;color:var(--text2);cursor:pointer;transition:background .15s ease,color .15s ease}+ .tools button:hover{background:var(--elevated);color:var(--accent-bright)}+ .tools button svg{width:16px;height:16px;display:block}+ header .hover-popover{position:absolute;top:calc(100% + 6px);left:16px;background:var(--elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.5);padding:12px 14px;min-width:300px;max-width:420px;font-family:'Satoshi',sans-serif;font-size:12px;color:var(--text);z-index:99999;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity .12s ease,transform .12s ease}+ header .hover-popover.show{opacity:1;transform:none;pointer-events:auto}+ header .hover-popover .popover-title{font-family:'Familjen Grotesk',sans-serif;font-size:14px;font-weight:700;color:var(--text);margin-bottom:8px}+ header .hover-popover .popover-row{display:flex;gap:12px;padding:3px 0;align-items:baseline}+ header .hover-popover .popover-row .k{color:var(--text3);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;text-transform:lowercase;width:64px;flex-shrink:0}+ header .hover-popover .popover-row .v{color:var(--text);font-family:'Satoshi',sans-serif;font-size:12px;flex:1}+ header .hover-popover .popover-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-muted);display:flex;gap:12px}+ header .hover-popover .popover-link{color:var(--accent);text-decoration:none;font-family:'Familjen Grotesk',sans-serif;font-size:12px;font-weight:600}+ header .hover-popover .popover-link:hover{text-decoration:underline}+ main{flex:1;display:flex;min-height:0}+ .vpwrap{flex:1;position:relative;min-width:0}+ /* Schematic-workbench grid, identical to the main app's #stage. */+ .vp{position:absolute;inset:0;overflow:hidden;cursor:grab;background:+ radial-gradient(120% 120% at 50% 30%,rgba(0,184,177,.05),transparent 60%),+ linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) 0 0/22px 22px,+ linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) 0 0/22px 22px}+ .vp.grab{cursor:grabbing}+ /* Only the DIRECT-CHILD symbol svg gets the pan/zoom transform — scoping to+ `.vp > svg` (not `.vp svg`) keeps it off any nested icon svgs. */+ .vp > svg{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0;display:block}+ .hint{position:absolute;right:10px;bottom:9px;color:var(--muted);font-size:11px;z-index:5;pointer-events:none;user-select:none;-webkit-user-select:none}+ aside{flex:0 0 268px;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}+ aside .ah{padding:9px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}+ aside input{flex:1;background:var(--panel2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;padding:5px 8px;outline:none}+ aside input:focus{border-color:var(--accent)}+ .pins{flex:1;overflow:auto}+ .pin{padding:7px 12px;border-bottom:1px solid #1a212c;cursor:pointer}+ .pin:hover{background:var(--panel2)}+ .pin.on{background:#15202e}+ .pin .row{display:flex;align-items:center;gap:8px}+ .pin .num{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:#8fa0b4;min-width:22px;text-align:right}+ .pin .nme{font-weight:600;font-size:13px}+ .pin .ty{margin-left:auto;font-size:10px;padding:1px 6px;border-radius:5px;border:1px solid;white-space:nowrap}+ .pin .d{font-size:11.5px;color:#aeb6c2;line-height:1.45;margin:5px 0 1px 30px;display:none}+ .pin.on .d{display:block}+ .empty{color:var(--muted);font-size:12px;padding:14px}+ @media(max-width:620px){aside{flex-basis:200px}}+ /* pin panel header — reads like a studio section */+ aside .ah .atitle{font-family:'Familjen Grotesk',sans-serif;font-weight:600;font-size:12px;color:var(--text);white-space:nowrap}+ aside .ah .acount{margin-left:5px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:var(--text3)}+ /* bottom info bar — mirrors the main app footer */+ footer{flex:0 0 auto;display:flex;align-items:center;height:26px;border-top:1px solid var(--border);background:var(--surface);font-size:11px;color:var(--text2);padding:0 14px;overflow:hidden}+ footer .it{display:flex;align-items:center;gap:6px;white-space:nowrap;min-width:0}+ footer .it+.it::before{content:"";width:1px;height:13px;background:var(--border);margin:0 12px;flex:0 0 1px}+ footer .k{color:var(--text3);text-transform:uppercase;font-size:9px;letter-spacing:.4px;flex:0 0 auto}+ footer .v{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}+ footer .descit{min-width:0;overflow:hidden}+ /* pin hover — highlight + tooltip, parity with the live SymView */+ .vp > svg text,.vp > svg g.stroked-text{pointer-events:none}+ .hit{fill:rgba(0,230,220,0);stroke:none;cursor:pointer}+ .vp > svg g.stroked-text.hl path{stroke:var(--accent-bright)!important;fill:var(--accent-bright)!important}+ .vp > svg path.hl{stroke:var(--accent-bright)!important;stroke-width:.22!important}+ #pinmark{pointer-events:none;fill:rgba(0,230,220,.18);stroke:var(--accent-bright);stroke-width:.12;opacity:0;transition:opacity .1s}+ #tip{position:fixed;z-index:9999;max-width:300px;background:rgba(22,27,34,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(0,184,177,.34);border-radius:10px;padding:9px 12px;color:var(--text);font-size:12px;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .12s;box-shadow:0 12px 40px rgba(0,0,0,.55)}+ #tip.show{opacity:1}+ #tip .r1{display:flex;align-items:baseline;gap:8px;justify-content:space-between}+ #tip .nm{font-weight:700;font-size:13px}+ #tip .pn{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:var(--muted);white-space:nowrap}+ #tip .badge{display:inline-block;margin-top:5px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:5px;letter-spacing:.2px}+ #tip .desc{margin-top:6px;color:#aeb6c2;font-size:11.5px}+</style></head>+<body>+ <header>+ <div class="brand" data-tooltip-target="app-info" tabindex="0">+ <svg class="logo" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="7" y="4" width="10" height="16" rx="1.5"/><path d="M7 8H3M7 12H3M7 16H3M21 8h-4M21 12h-4M21 16h-4"/></svg>+ <span class="app-name">adom-symbol</span>+ <span class="sep">·</span>+ <span class="app-subtitle">symbol viewer</span>+ </div>+ <div class="vsep" aria-hidden="true"></div>+ <div class="subject">+ <span class="subject-name">M20-9990246</span>+ <span class="subject-meta"><span class="sep">·</span><span>2 pins</span><span class="sep">·</span><span>M20-9990246_Vertical</span></span>+ </div>+ <div class="hover-popover" id="app-info" role="dialog" aria-label="About adom-symbol">+ <div class="popover-title">adom-symbol</div>+ <div class="popover-row"><span class="k">about</span><span class="v">Interactive KiCad schematic-symbol viewer: pan/zoom, per-pin hover, and a filterable pin list.</span></div>+ <div class="popover-row"><span class="k">version</span><span class="v">v1.2.6</span></div>+ <div class="popover-row"><span class="k">engine</span><span class="v">service-kicad</span></div>+ <div class="popover-row"><span class="k">mfr</span><span class="v">Harwin</span></div>+ <div class="popover-row"><span class="k">author</span><span class="v">Adom Inc · adom.inc</span></div>+ <div class="popover-actions">+ <a class="popover-link" href="https://wiki.adom.inc/adom/adom-symbol" target="_blank" rel="noopener">Open wiki ↗</a>+ </div>+ </div>+ </header>+ <main>+ <div class="vpwrap">+ <div class="vp" id="vp">+ <div class="tools">+ <button id="zout" title="Zoom out" aria-label="Zoom out"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M8 10.5h5"/></svg></button>+ <button id="zin" title="Zoom in" aria-label="Zoom in"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M10.5 8v5M8 10.5h5"/></svg></button>+ <button id="fit" title="Fit to window" aria-label="Fit to window"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><rect x="8" y="9" width="8" height="6" rx="1"/></svg></button>+ </div>+ <div class="hint">drag to pan · scroll to zoom</div>+ <svg+ xmlns:svg="http://www.w3.org/2000/svg"+ xmlns="http://www.w3.org/2000/svg"+ xmlns:xlink="http://www.w3.org/1999/xlink"+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"+ version="1.1"+ width="28.320mm" height="26.240mm" viewBox="83.3000 86.8800 28.3200 26.2400">++<defs>+ <linearGradient id="adom-body-grad" x1="0" y1="0" x2="0" y2="1">+ <stop offset="0%" stop-color="#1a2332"/>+ <stop offset="100%" stop-color="#141c27"/>+ </linearGradient>+</defs>+<style><![CDATA[+ /* Stroked text groups (KiCad renders text as paths in <g class="stroked-text">) */+ g.stroked-text path {+ stroke: #ffffff !important;+ fill: #ffffff !important;+ }+ text[opacity="0"] {+ fill: #ffffff !important;+ }+ .pin-highlight path {+ stroke: #00e6dc !important;+ }+ .pin-highlight g.stroked-text path {+ stroke: #00e6dc !important;+ }+ .group-highlight g.stroked-text path {+ stroke: #FFD180 !important;+ }+]]></style>+<defs>+ <radialGradient id="adom-canvas-glow" cx="97.46" cy="100" r="19.823999999999998" gradientUnits="userSpaceOnUse">+ <stop offset="0%" stop-color="#00b8b0" stop-opacity="0.06"/>+ <stop offset="70%" stop-color="#00b8b0" stop-opacity="0"/>+ </radialGradient>+ <pattern id="adom-canvas-grid" x="0" y="0" width="2.54" height="2.54" patternUnits="userSpaceOnUse">+ <line x1="0" y1="0" x2="2.54" y2="0" stroke="rgba(255,255,255,0.025)" stroke-width="0.06"/>+ <line x1="0" y1="0" x2="0" y2="2.54" stroke="rgba(255,255,255,0.025)" stroke-width="0.06"/>+ </pattern>+</defs>+<rect x="83.3" y="86.88" width="28.32" height="26.24" fill="#0d1117"/>+<rect x="83.3" y="86.88" width="28.32" height="26.24" fill="url(#adom-canvas-grid)"/>+<rect x="83.3" y="86.88" width="28.32" height="26.24" fill="url(#adom-canvas-glow)"/>++ +<g style="fill:none; fill-opacity:1.0000;stroke:#000000; stroke-opacity:1.0000;+stroke-linecap:round; stroke-linejoin:round;"+ transform="translate(0 0) scale(1 1)">+</g>+<g style="fill:none; fill-opacity:1.0000; +stroke:none; stroke-width:0.0001; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<rect x="0.000000" y="0.000000" width="297.002200" height="210.007200" rx="0.000000" />+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++++++++++<g class="stroked-text">++++++</g>+<g class="stroked-text">+++++++++++</g>+<g class="stroked-text">++++++++++++++</g>+<g class="stroked-text">++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++</g>++++++<g class="stroked-text">++++++</g>+<g class="stroked-text">+++++++++++</g>+<g class="stroked-text">++++++++++++++</g>+<g class="stroked-text">++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++</g>++++<g class="stroked-text">++++</g>+<g class="stroked-text">+++++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">+++++++++++++</g>++++<g class="stroked-text">++++</g>+<g class="stroked-text">+++++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">+++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>++<g class="stroked-text">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.3000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>+<g class="stroked-text">+++++++++++++++++++++++++++++++++++</g>+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.4000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.3000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+</g>+<g class="stroked-text">+</g>+<g class="stroked-text">+</g>+<g class="stroked-text">+</g>++</g>+<g style="fill:url(#adom-body-grad); fill-opacity:1.0000; stroke:none;">+<rect x="92.380000" y="94.920000" width="15.240000" height="10.160000" rx="0.000000" />+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<rect x="92.380000" y="94.920000" width="15.240000" height="10.160000" rx="0.000000" />+<path d="M92.3800 98.7300+L89.8400 98.7300+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="92.8800" y="99.3650"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">1</text>+<g class="stroked-text">+<path d="M93.9478 99.3095+L93.2221 99.3095+" />+<path d="M93.5849 99.3095+L93.5849 98.0395+" />+<path d="M93.5849 98.0395+L93.4640 98.2210+" />+<path d="M93.4640 98.2210+L93.3430 98.3419+" />+<path d="M93.3430 98.3419+L93.2221 98.4024+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="91.1100" y="98.4760"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">1</text>+<g class="stroked-text">+<path d="M91.4729 98.3125+L90.7472 98.3125+" />+<path d="M91.1100 98.3125+L91.1100 97.0425+" />+<path d="M91.1100 97.0425+L90.9891 97.2240+" />+<path d="M90.9891 97.2240+L90.8681 97.3449+" />+<path d="M90.8681 97.3449+L90.7472 97.4054+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M92.3800 101.2700+L89.8400 101.2700+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="92.8800" y="101.9050"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">2</text>+<g class="stroked-text">+<path d="M93.2221 100.7005+L93.2825 100.6400+" />+<path d="M93.2825 100.6400+L93.4035 100.5795+" />+<path d="M93.4035 100.5795+L93.7059 100.5795+" />+<path d="M93.7059 100.5795+L93.8268 100.6400+" />+<path d="M93.8268 100.6400+L93.8873 100.7005+" />+<path d="M93.8873 100.7005+L93.9478 100.8214+" />+<path d="M93.9478 100.8214+L93.9478 100.9424+" />+<path d="M93.9478 100.9424+L93.8873 101.1238+" />+<path d="M93.8873 101.1238+L93.1616 101.8495+" />+<path d="M93.1616 101.8495+L93.9478 101.8495+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="91.1100" y="101.0160"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">2</text>+<g class="stroked-text">+<path d="M90.7472 99.7035+L90.8076 99.6430+" />+<path d="M90.8076 99.6430+L90.9286 99.5825+" />+<path d="M90.9286 99.5825+L91.2310 99.5825+" />+<path d="M91.2310 99.5825+L91.3519 99.6430+" />+<path d="M91.3519 99.6430+L91.4124 99.7035+" />+<path d="M91.4124 99.7035+L91.4729 99.8244+" />+<path d="M91.4729 99.8244+L91.4729 99.9454+" />+<path d="M91.4729 99.9454+L91.4124 100.1268+" />+<path d="M91.4124 100.1268+L90.6867 100.8525+" />+<path d="M90.6867 100.8525+L91.4729 100.8525+" />+</g></g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="100.0000" y="93.0150"+textLength="2.2594" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">J?</text>+<g class="stroked-text">+<path d="M99.6371 91.6895+L99.6371 92.5967+" />+<path d="M99.6371 92.5967+L99.5766 92.7781+" />+<path d="M99.5766 92.7781+L99.4557 92.8991+" />+<path d="M99.4557 92.8991+L99.2742 92.9595+" />+<path d="M99.2742 92.9595+L99.1533 92.9595+" />+<path d="M100.4233 92.8386+L100.4837 92.8991+" />+<path d="M100.4837 92.8991+L100.4233 92.9595+" />+<path d="M100.4233 92.9595+L100.3628 92.8991+" />+<path d="M100.3628 92.8991+L100.4233 92.8386+" />+<path d="M100.4233 92.8386+L100.4233 92.9595+" />+<path d="M100.1814 91.7500+L100.3023 91.6895+" />+<path d="M100.3023 91.6895+L100.6047 91.6895+" />+<path d="M100.6047 91.6895+L100.7256 91.7500+" />+<path d="M100.7256 91.7500+L100.7861 91.8710+" />+<path d="M100.7861 91.8710+L100.7861 91.9919+" />+<path d="M100.7861 91.9919+L100.7256 92.1129+" />+<path d="M100.7256 92.1129+L100.6652 92.1733+" />+<path d="M100.6652 92.1733+L100.5442 92.2338+" />+<path d="M100.5442 92.2338+L100.4837 92.2943+" />+<path d="M100.4837 92.2943+L100.4233 92.4152+" />+<path d="M100.4233 92.4152+L100.4233 92.4757+" />+</g><text x="100.0000" y="108.2550"+textLength="14.1125" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">M20-9990246</text>+<g class="stroked-text">+<path d="M93.3477 108.1995+L93.3477 106.9295+" />+<path d="M93.3477 106.9295+L93.7711 107.8367+" />+<path d="M93.7711 107.8367+L94.1944 106.9295+" />+<path d="M94.1944 106.9295+L94.1944 108.1995+" />+<path d="M94.7387 107.0505+L94.7991 106.9900+" />+<path d="M94.7991 106.9900+L94.9201 106.9295+" />+<path d="M94.9201 106.9295+L95.2225 106.9295+" />+<path d="M95.2225 106.9295+L95.3434 106.9900+" />+<path d="M95.3434 106.9900+L95.4039 107.0505+" />+<path d="M95.4039 107.0505+L95.4644 107.1714+" />+<path d="M95.4644 107.1714+L95.4644 107.2924+" />+<path d="M95.4644 107.2924+L95.4039 107.4738+" />+<path d="M95.4039 107.4738+L94.6782 108.1995+" />+<path d="M94.6782 108.1995+L95.4644 108.1995+" />+<path d="M96.2505 106.9295+L96.3715 106.9295+" />+<path d="M96.3715 106.9295+L96.4924 106.9900+" />+<path d="M96.4924 106.9900+L96.5529 107.0505+" />+<path d="M96.5529 107.0505+L96.6134 107.1714+" />+<path d="M96.6134 107.1714+L96.6739 107.4133+" />+<path d="M96.6739 107.4133+L96.6739 107.7157+" />+<path d="M96.6739 107.7157+L96.6134 107.9576+" />+<path d="M96.6134 107.9576+L96.5529 108.0786+" />+<path d="M96.5529 108.0786+L96.4924 108.1391+" />+<path d="M96.4924 108.1391+L96.3715 108.1995+" />+<path d="M96.3715 108.1995+L96.2505 108.1995+" />+<path d="M96.2505 108.1995+L96.1296 108.1391+" />+<path d="M96.1296 108.1391+L96.0691 108.0786+" />+<path d="M96.0691 108.0786+L96.0086 107.9576+" />+<path d="M96.0086 107.9576+L95.9482 107.7157+" />+<path d="M95.9482 107.7157+L95.9482 107.4133+" />+<path d="M95.9482 107.4133+L96.0086 107.1714+" />+<path d="M96.0086 107.1714+L96.0691 107.0505+" />+<path d="M96.0691 107.0505+L96.1296 106.9900+" />+<path d="M96.1296 106.9900+L96.2505 106.9295+" />+<path d="M97.2181 107.7157+L98.1858 107.7157+" />+<path d="M98.8510 108.1995+L99.0929 108.1995+" />+<path d="M99.0929 108.1995+L99.2139 108.1391+" />+<path d="M99.2139 108.1391+L99.2743 108.0786+" />+<path d="M99.2743 108.0786+L99.3953 107.8971+" />+<path d="M99.3953 107.8971+L99.4558 107.6552+" />+<path d="M99.4558 107.6552+L99.4558 107.1714+" />+<path d="M99.4558 107.1714+L99.3953 107.0505+" />+<path d="M99.3953 107.0505+L99.3348 106.9900+" />+<path d="M99.3348 106.9900+L99.2139 106.9295+" />+<path d="M99.2139 106.9295+L98.9720 106.9295+" />+<path d="M98.9720 106.9295+L98.8510 106.9900+" />+<path d="M98.8510 106.9900+L98.7905 107.0505+" />+<path d="M98.7905 107.0505+L98.7301 107.1714+" />+<path d="M98.7301 107.1714+L98.7301 107.4738+" />+<path d="M98.7301 107.4738+L98.7905 107.5948+" />+<path d="M98.7905 107.5948+L98.8510 107.6552+" />+<path d="M98.8510 107.6552+L98.9720 107.7157+" />+<path d="M98.9720 107.7157+L99.2139 107.7157+" />+<path d="M99.2139 107.7157+L99.3348 107.6552+" />+<path d="M99.3348 107.6552+L99.3953 107.5948+" />+<path d="M99.3953 107.5948+L99.4558 107.4738+" />+<path d="M100.0605 108.1995+L100.3024 108.1995+" />+<path d="M100.3024 108.1995+L100.4234 108.1391+" />+<path d="M100.4234 108.1391+L100.4838 108.0786+" />+<path d="M100.4838 108.0786+L100.6048 107.8971+" />+<path d="M100.6048 107.8971+L100.6653 107.6552+" />+<path d="M100.6653 107.6552+L100.6653 107.1714+" />+<path d="M100.6653 107.1714+L100.6048 107.0505+" />+<path d="M100.6048 107.0505+L100.5443 106.9900+" />+<path d="M100.5443 106.9900+L100.4234 106.9295+" />+<path d="M100.4234 106.9295+L100.1815 106.9295+" />+<path d="M100.1815 106.9295+L100.0605 106.9900+" />+<path d="M100.0605 106.9900+L100.0000 107.0505+" />+<path d="M100.0000 107.0505+L99.9396 107.1714+" />+<path d="M99.9396 107.1714+L99.9396 107.4738+" />+<path d="M99.9396 107.4738+L100.0000 107.5948+" />+<path d="M100.0000 107.5948+L100.0605 107.6552+" />+<path d="M100.0605 107.6552+L100.1815 107.7157+" />+<path d="M100.1815 107.7157+L100.4234 107.7157+" />+<path d="M100.4234 107.7157+L100.5443 107.6552+" />+<path d="M100.5443 107.6552+L100.6048 107.5948+" />+<path d="M100.6048 107.5948+L100.6653 107.4738+" />+<path d="M101.2700 108.1995+L101.5119 108.1995+" />+<path d="M101.5119 108.1995+L101.6329 108.1391+" />+<path d="M101.6329 108.1391+L101.6933 108.0786+" />+<path d="M101.6933 108.0786+L101.8143 107.8971+" />+<path d="M101.8143 107.8971+L101.8748 107.6552+" />+<path d="M101.8748 107.6552+L101.8748 107.1714+" />+<path d="M101.8748 107.1714+L101.8143 107.0505+" />+<path d="M101.8143 107.0505+L101.7538 106.9900+" />+<path d="M101.7538 106.9900+L101.6329 106.9295+" />+<path d="M101.6329 106.9295+L101.3910 106.9295+" />+<path d="M101.3910 106.9295+L101.2700 106.9900+" />+<path d="M101.2700 106.9900+L101.2095 107.0505+" />+<path d="M101.2095 107.0505+L101.1491 107.1714+" />+<path d="M101.1491 107.1714+L101.1491 107.4738+" />+<path d="M101.1491 107.4738+L101.2095 107.5948+" />+<path d="M101.2095 107.5948+L101.2700 107.6552+" />+<path d="M101.2700 107.6552+L101.3910 107.7157+" />+<path d="M101.3910 107.7157+L101.6329 107.7157+" />+<path d="M101.6329 107.7157+L101.7538 107.6552+" />+<path d="M101.7538 107.6552+L101.8143 107.5948+" />+<path d="M101.8143 107.5948+L101.8748 107.4738+" />+<path d="M102.6609 106.9295+L102.7819 106.9295+" />+<path d="M102.7819 106.9295+L102.9028 106.9900+" />+<path d="M102.9028 106.9900+L102.9633 107.0505+" />+<path d="M102.9633 107.0505+L103.0238 107.1714+" />+<path d="M103.0238 107.1714+L103.0843 107.4133+" />+<path d="M103.0843 107.4133+L103.0843 107.7157+" />+<path d="M103.0843 107.7157+L103.0238 107.9576+" />+<path d="M103.0238 107.9576+L102.9633 108.0786+" />+<path d="M102.9633 108.0786+L102.9028 108.1391+" />+<path d="M102.9028 108.1391+L102.7819 108.1995+" />+<path d="M102.7819 108.1995+L102.6609 108.1995+" />+<path d="M102.6609 108.1995+L102.5400 108.1391+" />+<path d="M102.5400 108.1391+L102.4795 108.0786+" />+<path d="M102.4795 108.0786+L102.4190 107.9576+" />+<path d="M102.4190 107.9576+L102.3586 107.7157+" />+<path d="M102.3586 107.7157+L102.3586 107.4133+" />+<path d="M102.3586 107.4133+L102.4190 107.1714+" />+<path d="M102.4190 107.1714+L102.4795 107.0505+" />+<path d="M102.4795 107.0505+L102.5400 106.9900+" />+<path d="M102.5400 106.9900+L102.6609 106.9295+" />+<path d="M103.5681 107.0505+L103.6285 106.9900+" />+<path d="M103.6285 106.9900+L103.7495 106.9295+" />+<path d="M103.7495 106.9295+L104.0519 106.9295+" />+<path d="M104.0519 106.9295+L104.1728 106.9900+" />+<path d="M104.1728 106.9900+L104.2333 107.0505+" />+<path d="M104.2333 107.0505+L104.2938 107.1714+" />+<path d="M104.2938 107.1714+L104.2938 107.2924+" />+<path d="M104.2938 107.2924+L104.2333 107.4738+" />+<path d="M104.2333 107.4738+L103.5076 108.1995+" />+<path d="M103.5076 108.1995+L104.2938 108.1995+" />+<path d="M105.3823 107.3529+L105.3823 108.1995+" />+<path d="M105.0799 106.8691+L104.7776 107.7762+" />+<path d="M104.7776 107.7762+L105.5637 107.7762+" />+<path d="M106.5918 106.9295+L106.3499 106.9295+" />+<path d="M106.3499 106.9295+L106.2290 106.9900+" />+<path d="M106.2290 106.9900+L106.1685 107.0505+" />+<path d="M106.1685 107.0505+L106.0475 107.2319+" />+<path d="M106.0475 107.2319+L105.9871 107.4738+" />+<path d="M105.9871 107.4738+L105.9871 107.9576+" />+<path d="M105.9871 107.9576+L106.0475 108.0786+" />+<path d="M106.0475 108.0786+L106.1080 108.1391+" />+<path d="M106.1080 108.1391+L106.2290 108.1995+" />+<path d="M106.2290 108.1995+L106.4709 108.1995+" />+<path d="M106.4709 108.1995+L106.5918 108.1391+" />+<path d="M106.5918 108.1391+L106.6523 108.0786+" />+<path d="M106.6523 108.0786+L106.7128 107.9576+" />+<path d="M106.7128 107.9576+L106.7128 107.6552+" />+<path d="M106.7128 107.6552+L106.6523 107.5343+" />+<path d="M106.6523 107.5343+L106.5918 107.4738+" />+<path d="M106.5918 107.4738+L106.4709 107.4133+" />+<path d="M106.4709 107.4133+L106.2290 107.4133+" />+<path d="M106.2290 107.4133+L106.1080 107.4738+" />+<path d="M106.1080 107.4738+L106.0475 107.5343+" />+<path d="M106.0475 107.5343+L105.9871 107.6552+" />+</g></g> +</svg>+ </div>+ </div>+ <aside>+ <div class="ah"><span class="atitle">Pins <span class="acount">2</span></span><input id="q" placeholder="Filter…"></div>+ <div class="pins" id="pins"></div>+ </aside>+ </main>+ <footer><span class="it"><span class="k">MFR</span><span class="v">Harwin</span></span><span class="it"><span class="k">PKG</span><span class="v">M20-9990246_Vertical</span></span><span class="it"><span class="k">PINS</span><span class="v">2</span></span></footer>+ <div id="tip"></div>+<script>// viewer_core.js — the ONE symbol-viewer engine, compiled into BOTH the live+// adom-symbol app (SymView) AND the standalone embed export. Neither file should+// reimplement pan/zoom or pin-hover; they call into here so they can never drift.+window.AdomSymViewer = (function(){+ var ZOOM_K = 0.0022; // wheel sensitivity (lower = gentler). The feel.+ var MIN_SCALE = 0.05, MAX_SCALE = 60;++ function clampScale(s){ return Math.max(MIN_SCALE, Math.min(s, MAX_SCALE)); }++ // Device-independent wheel zoom: normalize deltaMode + cap one notch, then hand+ // the pointer-anchored factor to the host's zoomAt(cx, cy, factor). This is the+ // exact math the app has always used — the embed now shares it verbatim.+ function attachWheelZoom(el, zoomAt){+ el.addEventListener('wheel', function(e){+ e.preventDefault();+ var d = e.deltaY;+ if(e.deltaMode === 1) d *= 16; // lines -> px+ else if(e.deltaMode === 2) d *= el.clientHeight; // pages -> px+ d = Math.max(-50, Math.min(50, d)); // cap one event's contribution+ var r = el.getBoundingClientRect();+ zoomAt(e.clientX - r.left, e.clientY - r.top, Math.exp(-d * ZOOM_K));+ }, { passive: false });+ }++ // ---- shared pin-hover engine (glyph pairing + hit-box geometry) ----+ function norm(s){ return String(s || '').replace(/[~{}]/g, '').trim(); }++ // Pair each invisible <text opacity="0"> with the visible <g class="stroked-text">+ // glyph that follows it in document order (handles rotated top/bottom pins).+ function glyphLabels(svg){+ var out = [], pending = null;+ if(!svg) return out;+ svg.querySelectorAll('text, g.stroked-text').forEach(function(n){+ if(n.classList && n.classList.contains('stroked-text')){+ if(pending){ var k = norm(pending.textContent); if(k) out.push({ k: k, group: n }); pending = null; }+ } else if(n.getAttribute && n.getAttribute('opacity') === '0'){ pending = n; }+ });+ return out;+ }++ // Build one transparent hit-rect per pin label (number + name), matched to each+ // pin's glyph by proximity to the pin tip (so duplicate names resolve to the+ // right pin). Rects are appended to `svg` in user space so they pan/zoom with it.+ // pins: [{number,name,x,y,angle,length,...}]+ // offset: {x,y} symbol->svg-unit origin (state.offset)+ // NS: the svg namespace+ // cb: { enter(pin,ev), move(ev), leave(), click(pin,ev)? }+ // Returns { textMap } so the host can highlight a pin's glyphs on demand.+ function buildPinHits(svg, pins, offset, NS, cb){+ var textMap = new Map();+ if(!svg || !offset || !pins || !pins.length) return { textMap: textMap };+ cb = cb || {};+ var gl = glyphLabels(svg);+ gl.forEach(function(o){ if(!textMap.has(o.k)) textMap.set(o.k, []); textMap.get(o.k).push(o.group); });+ var labels = [];+ gl.forEach(function(o){ var b; try { b = o.group.getBBox(); } catch(e){ return; }+ if(!b || !b.width) return;+ labels.push({ k: o.k, box: b, cx: b.x + b.width/2, cy: b.y + b.height/2, used: false }); });+ function pick(k, ax, ay){ k = norm(k); var best = null, bd = 1e9;+ labels.forEach(function(l){ if(l.used || l.k !== k) return; var d = Math.hypot(l.cx - ax, l.cy - ay); if(d < bd){ bd = d; best = l; } });+ if(best) best.used = true; return best; }+ function addBox(b, p){+ var pad = 0.45, r = document.createElementNS(NS, 'rect');+ r.setAttribute('class', 'hit');+ r.setAttribute('x', b.x - pad); r.setAttribute('y', b.y - pad);+ r.setAttribute('width', b.width + pad*2); r.setAttribute('height', b.height + pad*2); r.setAttribute('rx', .3);+ r.addEventListener('mouseenter', function(ev){ if(cb.enter) cb.enter(p, ev); });+ r.addEventListener('mousemove', function(ev){ if(cb.move) cb.move(ev); });+ r.addEventListener('mouseleave', function(){ if(cb.leave) cb.leave(); });+ if(cb.click) r.addEventListener('click', function(ev){ cb.click(p, ev); });+ svg.appendChild(r);+ }+ pins.forEach(function(p){+ var tipX = offset.x + p.x, tipY = offset.y - p.y, L = p.length || 2.54, dx = 0, dy = 0;+ if(p.angle === 0) dx = 1; else if(p.angle === 180) dx = -1; else if(p.angle === 90) dy = -1; else if(p.angle === 270) dy = 1;+ var nl = pick(p.number, tipX + dx*L*0.5, tipY + dy*L*0.5 - (dx !== 0 ? 0.9 : 0)); // number: over the wire+ var ml = pick(p.name, tipX + dx*(L+2), tipY + dy*(L+2)); // name: inside the body+ if(nl) addBox(nl.box, p);+ if(ml) addBox(ml.box, p);+ if(!nl && !ml){ // discrete parts: no glyphs+ var ex = tipX + dx*L, ey = tipY + dy*L, HT = 1.0;+ addBox({ x: Math.min(tipX, ex) - (dx === 0 ? HT : 0.3), y: Math.min(tipY, ey) - (dy === 0 ? HT : 0.3),+ width: Math.abs(ex - tipX) + (dx === 0 ? HT*2 : 0.6), height: Math.abs(ey - tipY) + (dy === 0 ? HT*2 : 0.6) }, p);+ }+ });+ return { textMap: textMap };+ }++ return {+ ZOOM_K: ZOOM_K, clampScale: clampScale, attachWheelZoom: attachWheelZoom,+ norm: norm, glyphLabels: glyphLabels, buildPinHits: buildPinHits+ };+})();+</script>+<script>+var PINS=[{"angle":0,"color":"#78909c","desc":"","length":2.54,"name":"1","number":"1","type":"Passive","x":-10.16,"y":1.27},{"angle":0,"color":"#78909c","desc":"","length":2.54,"name":"2","number":"2","type":"Passive","x":-10.16,"y":-1.27}], OFF={"x":100,"y":100};+(function(){+ // The symbol svg is the DIRECT child of #vp; querySelector('svg') alone would+ // grab a toolbar button's zoom icon (also broke pan/zoom before this fix).+ var vp=document.getElementById('vp'), svg=vp.querySelector(':scope > svg')||vp.querySelector('svg');+ if(svg){ svg.removeAttribute('width'); svg.removeAttribute('height'); }+ var scale=1,tx=0,ty=0;+ function apply(){ if(svg) svg.style.transform='translate('+tx+'px,'+ty+'px) scale('+scale+')'; }+ // pointer-anchored zoom with the SHARED scale clamp (same limits as the app).+ function zoomAt(cx,cy,f){ var ns=AdomSymViewer.clampScale(scale*f); var r=ns/scale; tx=cx-(cx-tx)*r; ty=cy-(cy-ty)*r; scale=ns; apply(); }+ function fit(){ scale=1;tx=0;ty=0;apply(); }+ // Wheel/trackpad zoom feel comes from the SHARED engine — identical to SymView.+ AdomSymViewer.attachWheelZoom(vp, zoomAt);+ var drag=false,lx=0,ly=0;+ vp.addEventListener('pointerdown',function(e){ if(e.target.closest('.tools'))return; /* let toolbar buttons receive their click */ drag=true;lx=e.clientX;ly=e.clientY;vp.classList.add('grab');vp.setPointerCapture(e.pointerId); });+ vp.addEventListener('pointermove',function(e){ if(!drag)return; tx+=e.clientX-lx;ty+=e.clientY-ly;lx=e.clientX;ly=e.clientY;apply(); });+ vp.addEventListener('pointerup',function(e){ drag=false;vp.classList.remove('grab'); });+ document.getElementById('zin').onclick=function(){ var r=vp.getBoundingClientRect();zoomAt(r.width/2,r.height/2,1.2); };+ document.getElementById('zout').onclick=function(){ var r=vp.getBoundingClientRect();zoomAt(r.width/2,r.height/2,1/1.2); };+ document.getElementById('fit').onclick=fit;+ // pin panel+ var box=document.getElementById('pins');+ function render(filter){+ box.innerHTML='';+ var f=(filter||'').toLowerCase();+ var shown=PINS.filter(function(p){ return !f || (p.name+' '+p.number+' '+p.type).toLowerCase().indexOf(f)>=0; });+ if(!shown.length){ box.innerHTML='<div class="empty">No pins match.</div>'; return; }+ shown.forEach(function(p){+ var el=document.createElement('div'); el.className='pin';+ var col=p.color||'#8b949e';+ el.innerHTML='<div class="row"><span class="num">'+esc(p.number)+'</span>'+ +'<span class="nme">'+esc(p.name)+'</span>'+ +'<span class="ty" style="color:'+col+';border-color:'+col+'66">'+esc(p.type||'')+'</span></div>'+ +(p.desc?'<div class="d">'+esc(p.desc)+'</div>':'');+ el.onclick=function(){ el.classList.toggle('on'); };+ el.addEventListener('mouseenter',function(){ highlightPin(p); });+ el.addEventListener('mouseleave',function(){ clearHL(); });+ box.appendChild(el);+ });+ }+ function esc(s){ return String(s==null?'':s).replace(/[&<>"]/g,function(c){return{'&':'&','<':'<','>':'>','"':'"'}[c];}); }+ document.getElementById('q').addEventListener('input',function(e){ render(e.target.value); });+ render('');++ // ── pin hover: highlight + tooltip on the SVG, parity with the live SymView ──+ var NS='http://www.w3.org/2000/svg';+ var tip=document.getElementById('tip');+ var textMap=new Map();+ function highlightPin(p){+ clearHL();+ [p.name,p.number].forEach(function(k){ var a=textMap.get(AdomSymViewer.norm(k)); if(a) a.forEach(function(g){ g.classList.add('hl'); }); });+ var m=document.getElementById('pinmark');+ if(m && OFF){ m.setAttribute('cx',OFF.x+p.x); m.setAttribute('cy',OFF.y-p.y); m.setAttribute('r',0.7); m.style.opacity='1'; }+ }+ function clearHL(){+ if(svg) svg.querySelectorAll('.hl').forEach(function(e){ e.classList.remove('hl'); });+ var m=document.getElementById('pinmark'); if(m) m.style.opacity='0';+ }+ function showTip(p,x,y){+ var col=p.color||'#8b949e';+ var h='<div class="r1"><span class="nm">'+esc(p.name||'(unnamed)')+'</span><span class="pn">Pin '+esc(p.number)+'</span></div>';+ if(p.type) h+='<span class="badge" style="background:'+col+'22;color:'+col+';border:1px solid '+col+'44">'+esc(p.type)+'</span>';+ if(p.desc) h+='<div class="desc">'+esc(p.desc)+'</div>';+ tip.innerHTML=h; tip.classList.add('show'); posTip(x,y);+ }+ function posTip(x,y){+ var w=tip.offsetWidth||260, hh=tip.offsetHeight||110, tx=x+14, ty=y+14;+ if(tx+w>innerWidth-14) tx=x-w-14;+ if(ty+hh>innerHeight-14) ty=y-hh-14;+ tip.style.left=Math.max(8,tx)+'px'; tip.style.top=Math.max(8,ty)+'px';+ }+ function hideTip(){ tip.classList.remove('show'); clearHL(); }+ // Build the pin hit-zones with the SHARED engine — the exact glyph-pairing ++ // hit-box code the app's SymView uses. The embed only supplies the tooltip.+ if(svg && OFF){+ if(!document.getElementById('pinmark')){ var pm=document.createElementNS(NS,'circle'); pm.id='pinmark'; svg.appendChild(pm); }+ var hideT=null;+ var hits=AdomSymViewer.buildPinHits(svg, PINS, OFF, NS, {+ enter:function(p,ev){ clearTimeout(hideT); showTip(p,ev.clientX,ev.clientY); highlightPin(p); },+ move:function(ev){ if(tip.classList.contains('show')) posTip(ev.clientX,ev.clientY); },+ leave:function(){ clearTimeout(hideT); hideT=setTimeout(hideTip,45); }+ });+ textMap=hits.textMap;+ }++ apply();+})();++// ── app-info header popover: interactive hover you can move into (600ms show,+// 220ms hide-grace) so the wiki link stays reachable. Per adom-app-header.md. ──+(function(){+ var SHOW_DELAY=600, HIDE_GRACE=220;+ document.querySelectorAll('header [data-tooltip-target]').forEach(function(trigger){+ var target=document.getElementById(trigger.dataset.tooltipTarget);+ if(!target) return;+ var showTimer=null, hideTimer=null;+ function show(){ clearTimeout(hideTimer); if(target.classList.contains('show')) return; clearTimeout(showTimer); showTimer=setTimeout(function(){ target.classList.add('show'); }, SHOW_DELAY); }+ function queueHide(){ clearTimeout(showTimer); clearTimeout(hideTimer); hideTimer=setTimeout(function(){ target.classList.remove('show'); }, HIDE_GRACE); }+ trigger.addEventListener('mouseenter',show); trigger.addEventListener('mouseleave',queueHide);+ trigger.addEventListener('focus',show); trigger.addEventListener('blur',queueHide);+ target.addEventListener('mouseenter',show); target.addEventListener('mouseleave',queueHide);+ trigger.addEventListener('click',function(e){ clearTimeout(showTimer); target.classList.toggle('show'); e.stopPropagation(); });+ document.addEventListener('click',function(e){ if(!target.contains(e.target) && !trigger.contains(e.target)) target.classList.remove('show'); });+ });+})();+</script>+</body></html>