component
U.FL-R-SMT-1(80)
Public Made by Adomby adom
Hirose U.FL-R-SMT-1(80) surface-mount U.FL micro coaxial receptacle, 50 Ohm, 3.0 x 2.6 mm, 1.25 mm high, 10,000 pcs reel. KiCad symbol, footprint, Fusion library and 3D.
← Commit history
Component page: symbol, footprint, Fusion library, viewers, provenance, models
17 files changed
+6477−1
LICENSE+10README.md+90−1docs/hero.pngpackage.json+42provenance/provenance.json+174provenance/tools/make_ufl_step.py+63provenance/u-fl-r-smt-1-80-features.json+26provenance/u-fl-r-smt-1-80-hero-preview.pngu-fl-r-smt-1-80-hero.glbu-fl-r-smt-1-80-hero.overlay.json+141u-fl-r-smt-1-80.glbu-fl-r-smt-1-80.kicad_mod+45u-fl-r-smt-1-80.kicad_sym+50u-fl-r-smt-1-80.lbr+134u-fl-r-smt-1-80.step+3518viewers/footprint.html+210viewers/symbol.html+1974LICENSEadded+10@@ -0,0 +1,10 @@+Creative Commons Attribution 4.0 International (CC BY 4.0)++The Adom-authored files on this page (KiCad symbol and footprint, Fusion/EAGLE library, AI-created STEP+models and their GLB derivatives, hero artwork, viewers, provenance and the builder scripts in+provenance/tools/) are licensed under CC BY 4.0: https://creativecommons.org/licenses/by/4.0/+Attribution: Adom (wiki.adom.inc).++No manufacturer CAD files or manufacturer documents are redistributed on this page. Datasheets and+drawings are linked at their original URLs and remain under their owners' terms. Manufacturer names+and part numbers are used only to identify the part.
README.md+90−1@@ -1,3 +1,92 @@ # U.FL-R-SMT-1(80) -Hirose U.FL-R-SMT-1(80) surface-mount U.FL micro coaxial receptacle, 50 Ohm, 3.0 x 2.6 mm, 1.25 mm high, 10,000 pcs reel. KiCad symbol, footprint, Fusion library and 3D.+**Hirose Electric** · RF coaxial connectors (U.FL) · U.FL receptacle, 3.0 x 2.6 x 1.25 mm, SMT++The Hirose U.FL-R-SMT-1 is the standard surface-mount U.FL micro coaxial receptacle: a 3.0 x 2.6 mm footprint, 1.25 mm high, 50 Ohm, for antenna and RF test connections with a mated height of 1.9 to 2.4 mm depending on the plug. The **(80)** suffix is the 10,000-piece reel; (01) and (60) are the same part in a 100-piece bag and a 4,000-piece reel, and everything on this page fits all three.++## Key specifications++| Parameter | Value |+|---|---|+| Impedance | 50 Ohm (0 to 8 GHz) |+| VSWR | 1.3 max (0.045 to 6 GHz), 1.4 max (6 to 8 GHz) |+| Operating temperature | -40 C to +105 C |+| Mating cycles | 30 |+| Contact resistance | centre 20 mOhm max, outer 10 mOhm max |+| Size | 3.0 x 2.6 mm footprint, 1.25 mm high |+| Shell | Silver plated |+| Packing | (80) = 10,000 pcs per reel |+| Hirose HRS number | CL0331-0472-2-80 |++Source: Hirose spec sheet ELC4-302540-86, catalog p.12.++## Pinout++| Pin | Name | Type | Function |+|---|---|---|---|+| 1 | SIG | passive | Centre contact (signal). One 1.0 x 1.05 mm pad. |+| 2 | GND | passive | Outer contact (ground shell). Two 1.05 x 2.2 mm pads, both numbered 2. |++## Footprint++Pads follow Hirose's recommended PCB mounting pattern (drawing EDC3-302540-86, also catalog p.12): two 1.05 x 2.2 mm ground pads 4.0 mm overall and one 1.0 x 1.05 mm signal pad whose near edge is 1.0 mm from the coax axis. The origin is the coax axis. Paste apertures follow the recommended metal mask (0.10 to 0.12 mm stencil). The F.Cu keep-out between the pads carries Hirose's note: no conductive traces in this area.++## 3D models++All 3D models on this page are **AI-created** from the manufacturer's dimensioned drawings (no manufacturer CAD file is used or redistributed). They are Z-up, in millimetres, seated on the PCB top surface (z = 0) at the footprint origin, so the footprint's model reference needs no offset or rotation. The builder script is in `provenance/tools/`.++| File | What it is |+|---|---|+| `u-fl-r-smt-1-80.step` / `u-fl-r-smt-1-80.glb` | Plain model (also the board-use model) |+| `u-fl-r-smt-1-80-hero.glb` | Page model only: the board-use model plus teal dashed pad outlines, silkscreen with pin 1 and pad signal names (adom-hero 1.4). Do not place it on a board. |++No part number is etched on this model. No clear flat surface: the top is the round mating shell around the centre contact (the planner's mark would float across the mating opening) and the 0.35 mm housing walls cannot hold the 16-character MPN legibly. The plain model is the board-use model.++## Sourcing++| Distributor | Part number | Link |+|---|---|---|+| Mouser | 798-UFLRSMT180 | https://www.mouser.com/en/ProductDetail/Hirose-Connector/U.FL-R-SMT-180?qs=PABxe4V6HDqFClp15N8Kig%3D%3D |+| DigiKey | 26-U.FL-R-SMT-1(80)TR-ND | https://www.digikey.com/en/products/detail/hirose-electric-co-ltd/U-FL-R-SMT-1-80/3978495 |+| LCSC | C88374 | https://www.lcsc.com/product-detail/C88374.html |++Distributor numbers checked on 2026-10-17 with adom-parts-search; check current stock and price at the links.++## Manufacturer and resources++| Resource | Link |+|---|---|+| Product page | https://www.hirose.com/en/product/p/CL0331-0472-2-80 |+| Hirose drawing EDC3-302540-86, U.FL-R-SMT-1(80), CL0331-0472-2-80 (09.05.2025) | https://www.hirose.com/api/v1/products/CL0331-0472-2-80/documents/drawing_2d/content?lang=EN |+| Hirose specification sheet ELC4-302540-86, U.FL-R-SMT-1(80) | https://www.hirose.com/en/product/p/CL0331-0472-2-80 |+| Hirose U.FL series catalog (Aug.1.2025), p.12 receptacle outline, recommended PCB mounting pattern and metal mask | https://mm.digikey.com/Volume0/opasdata/d220001/medias/docus/8850/PdfFile_828479.pdf |+| Hirose 3D model U.FL-R-SMT-1.stp (zip CL03310472280_3dstep) | https://www.hirose.com/api/v1/products/CL0331-0472-2-80/documents/model_3d_step/content |++Manufacturer documents are linked, not copied: download them from the manufacturer.++## Files++| File | Contents |+|---|---|+| `u-fl-r-smt-1-80.kicad_sym` | KiCad symbol with MPN, manufacturer and distributor fields |+| `u-fl-r-smt-1-80.kicad_mod` | KiCad footprint |+| `u-fl-r-smt-1-80.lbr` | Fusion 360 / EAGLE library (adom-lbr, lint clean) |+| `viewers/symbol.html`, `viewers/footprint.html` | Interactive embeds |+| `u-fl-r-smt-1-80-hero.overlay.json` | Hero artwork sidecar: pads, labels, alignment |+| `provenance/provenance.json` | Per-file provenance: source, classification, SHA-256, assumptions |+| `provenance/tools/` | Builder script for the AI-created STEP |+| `LICENSE` | CC BY 4.0 for the Adom-authored files |++## Provenance++Every file is classified in `provenance/provenance.json` as source-derived (written from a cited manufacturer document), AI-created (modelled from cited drawings) or derived (generated by a tool), with its SHA-256 and the source document's revision, retrieval date and hash.++Open items:++- component-hero align guard reports FAIL (centre offset 0.475 mm > 0.32 mm tolerance). Cause: the Hirose land pattern is asymmetric (SIG pad centred 1.525 mm from the coax axis, GND pads centred on it) and the housing and the unsoldered rear shell tab also sit on the seating plane, so the bounding-box heuristic cannot centre. The independent per-pad check passes and the placement matches EDC3-302540-86.+- No virtual MPN mark (see mpn_marking)+- If the Hirose STEP is wanted, Hirose's written permission is required++## License++The Adom-authored files are CC BY 4.0. Manufacturer documents and trademarks remain their owners'; none are redistributed here.
docs/hero.pngadded⋯ 1 unchanged line ⋯
package.jsonadded+42@@ -0,0 +1,42 @@+{+ "slug": "u-fl-r-smt-1-80",+ "title": "U.FL-R-SMT-1(80)",+ "version": "0.1.0",+ "type": "component",+ "description": "Hirose U.FL-R-SMT-1(80) surface-mount U.FL micro coaxial receptacle, 50 Ohm, 3.0 x 2.6 mm, 1.25 mm high, 10,000 pcs reel. KiCad symbol, footprint, Fusion library and 3D.",+ "tags": [+ "component",+ "connector",+ "rf",+ "coaxial",+ "u.fl",+ "antenna",+ "hirose",+ "u-fl-r-smt-1-80"+ ],+ "license": "CC-BY-4.0",+ "dependencies": {},+ "hero": {+ "type": "image",+ "path": "docs/hero.png"+ },+ "files": [+ "page.json",+ "README.md",+ "LICENSE",+ "u-fl-r-smt-1-80.kicad_sym",+ "u-fl-r-smt-1-80.kicad_mod",+ "u-fl-r-smt-1-80.lbr",+ "u-fl-r-smt-1-80.step",+ "u-fl-r-smt-1-80.glb",+ "u-fl-r-smt-1-80-hero.glb",+ "u-fl-r-smt-1-80-hero.overlay.json",+ "docs/hero.png",+ "viewers/symbol.html",+ "viewers/footprint.html",+ "provenance/provenance.json",+ "provenance/u-fl-r-smt-1-80-features.json",+ "provenance/u-fl-r-smt-1-80-hero-preview.png",+ "provenance/tools/make_ufl_step.py"+ ]+}
provenance/provenance.jsonadded+174@@ -0,0 +1,174 @@+{+ "schema": "adom/component-provenance@1",+ "mpn": "U.FL-R-SMT-1(80)",+ "manufacturer": "Hirose Electric",+ "classification_legend": {+ "manufacturer-supplied": "manufacturer bytes, untouched",+ "source-derived": "written by Adom from cited manufacturer documents",+ "AI-created": "geometry modelled by an AI from cited drawings; no manufacturer CAD content",+ "derived": "generated by a tool from the files above"+ },+ "sources": [+ {+ "document": "Hirose drawing EDC3-302540-86, U.FL-R-SMT-1(80), CL0331-0472-2-80 (09.05.2025)",+ "url": "https://www.hirose.com/api/v1/products/CL0331-0472-2-80/documents/drawing_2d/content?lang=EN",+ "retrieved_utc": "2026-10-17T17:09:24Z",+ "sha256": "3bdbd2b665ccb3d36bd8ffcb5976349883b3994918b28507259f4c879aa6ebe9",+ "redistribution": "Not redistributed. Linked by URL only."+ },+ {+ "document": "Hirose specification sheet ELC4-302540-86, U.FL-R-SMT-1(80)",+ "url": "https://www.hirose.com/en/product/p/CL0331-0472-2-80",+ "used_for": "impedance, VSWR, temperature, contact resistance, mating cycles",+ "redistribution": "Not redistributed."+ },+ {+ "document": "Hirose U.FL series catalog (Aug.1.2025), p.12 receptacle outline, recommended PCB mounting pattern and metal mask",+ "url": "https://mm.digikey.com/Volume0/opasdata/d220001/medias/docus/8850/PdfFile_828479.pdf",+ "retrieved_utc": "2026-10-17T17:02:41Z",+ "sha256": "ff9f1b5c581e002ce3f8e4adc306bb7695643c3b063735e82742f5e8b7ccd371",+ "redistribution": "Not redistributed."+ },+ {+ "document": "Hirose 3D model U.FL-R-SMT-1.stp (zip CL03310472280_3dstep)",+ "url": "https://www.hirose.com/api/v1/products/CL0331-0472-2-80/documents/model_3d_step/content",+ "stp_sha256": "91e7dca3c23beabcd8002f3ee97eb66666266a50ece3e52f4a818d28aed505fb",+ "licence": "Hirose read-me: the 3D model may not be distributed, modified, posted or otherwise used without Hirose's written permission",+ "decision": "NOT published and NOT used as geometry. The published STEP is AI-created from the drawing."+ }+ ],+ "distributors_checked": {+ "date": "2026-10-17",+ "tool": "adom-parts-search",+ "mouser": "798-UFLRSMT180",+ "digikey": "26-U.FL-R-SMT-1(80)TR-ND",+ "lcsc": "C88374"+ },+ "files": [+ {+ "file": "u-fl-r-smt-1-80.kicad_sym",+ "sha256": "982049fa3b46ae82dd01743d31e0c946e679b4ee862b1519d4ffec04c2c2f406",+ "bytes": 2507,+ "classification": "source-derived",+ "source": "EDC3-302540-86 (CENTER CONTACT (SIG), OUTER CONTACT (GND))",+ "assumptions": [+ "Coaxial convention: pin 1 = SIG (centre), pin 2 = GND (shell); both passive"+ ]+ },+ {+ "file": "u-fl-r-smt-1-80.kicad_mod",+ "sha256": "8542c5936c2831723185f05182fea4e89c046eded14a97b660b571098606ceae",+ "bytes": 3424,+ "classification": "source-derived",+ "source": "EDC3-302540-86 recommended PCB layout and metal mask (identical to catalog p.12)",+ "assumptions": [+ "GND 2x 1.05 x 2.2 at x = +-1.475 (4.0 outer, 1.9 inner); SIG 1.0 x 1.05 at (0, +1.525), its top edge 1.0 below the coax axis",+ "Paste: GND 0.9 x 2.0 at x = +-1.5, SIG 0.8 x 0.85; stencil 0.10 to 0.12 mm",+ "F.Cu keep-out zone x +-0.95, y -1.1..+1.0 ('No conductive traces in this area')",+ "Origin on the mating (coax) axis; plain rectangular pads as drawn"+ ],+ "verification": "kicad-cli 10.0.3 pcb drc on a scratch board: parsed; 0 violations for this footprint"+ },+ {+ "file": "u-fl-r-smt-1-80.step",+ "sha256": "fd1545fa643d518ef0782055465eb7fc10094531c879d92229a250ae99ac8e4e",+ "bytes": 138826,+ "classification": "AI-created",+ "source": "EDC3-302540-86 / catalog p.12 outline",+ "assumptions": [+ "Simplified: housing 2.6 x 2.6 x 0.35 R0.3, shell dia 2.0 to 1.25 high, GND tabs 3.0 overall x 1.8, SIG tab 0.6 wide to (3.1) overall, centre contact dia 0.44",+ "No Hirose geometry used"+ ],+ "frame": "mm, Z-up, seating plane / PCB top z = 0, X/Y = KiCad footprint frame with Y mirrored; footprint (model) offset and rotation 0",+ "licence": "CC-BY-4.0 (Adom-authored, no manufacturer CAD content)",+ "features": "provenance/u-fl-r-smt-1-80-features.json"+ },+ {+ "file": "u-fl-r-smt-1-80.glb",+ "sha256": "6887a248b9d0071f3f4636f30e02654d5885f2c15b39bf36601a508450d67ebd",+ "bytes": 37152,+ "classification": "derived",+ "source": "u-fl-r-smt-1-80.step via step2glb convert (service-step2glb, XCAF colours kept)"+ },+ {+ "file": "u-fl-r-smt-1-80-hero.glb",+ "sha256": "7befbff555daf737f62ca48c8d9515195724484117a40eae4199d54b00d434c0",+ "bytes": 61168,+ "classification": "derived (presentation only, not for board use)",+ "source": "u-fl-r-smt-1-80.glb + u-fl-r-smt-1-80.kicad_mod + page.json pins via component-hero hero_glb.py (adom-hero 1.4)",+ "align": {+ "ok": false,+ "centre_offset_mm": 0.475,+ "tolerance_mm": 0.32,+ "orientation_flipped": false,+ "contacts_bbox_mm": [+ -1.5,+ 1.5,+ -1.55,+ 1.55+ ],+ "pads_bbox_mm": [+ -2.0,+ 2.0,+ -2.05,+ 1.1+ ],+ "seating_z_mm": -0.0+ },+ "sidecar": "u-fl-r-smt-1-80-hero.overlay.json"+ },+ {+ "file": "u-fl-r-smt-1-80-hero.overlay.json",+ "sha256": "1761af59a4ff50fa04165624531c11a73783426107c04af7911b07ee970bb963",+ "bytes": 2297,+ "classification": "derived",+ "source": "hero_glb.py sidecar"+ },+ {+ "file": "u-fl-r-smt-1-80.lbr",+ "sha256": "4afe226989349618e2250888744483f306335caadf1cc7f616580c9686d5c4ab",+ "bytes": 9408,+ "classification": "derived",+ "source": "adom-lbr generate from the .kicad_sym + .kicad_mod (lint PASS)"+ },+ {+ "file": "viewers/symbol.html",+ "sha256": "48dd765ddb5f7d5bf4bb9fa6ec383b398e6c323745df4dca11f82dd8ecf2ab42",+ "bytes": 123724,+ "classification": "derived",+ "source": "adom-symbol embed"+ },+ {+ "file": "viewers/footprint.html",+ "sha256": "9be0e17eda6110b455164e4db6b15c8c8122df7df766a1ca3b12afc287cf18d2",+ "bytes": 18305,+ "classification": "derived",+ "source": "adom-footprint embed"+ },+ {+ "file": "docs/hero.png",+ "sha256": "cb1370367f063ecd0e4cec2029071c6490bc82d10eac7edd19566a0e289f6150",+ "bytes": 21745,+ "classification": "derived",+ "source": "step2glb thumbnail (iso) of the plain STEP"+ }+ ],+ "mpn_marking": {+ "text": null,+ "omitted": "No clear flat surface: the top is the round mating shell around the centre contact (the planner's mark would float across the mating opening) and the 0.35 mm housing walls cannot hold the 16-character MPN legibly. The plain model is the board-use model."+ },+ "verification": [+ "step2glb features on every STEP: Z-up, seated (see *-features.json); footprint (model) binding is identity",+ "component-hero align guard: FAIL (see unresolved), centre offset 0.475 mm",+ "independent per-pad seat check (scratch script): every copper pad has metal contact geometry at the seating plane inside its outline: OK",+ "adom-lbr lint PASS; adom-symbol / adom-footprint embed OK"+ ],+ "unresolved": [+ "component-hero align guard reports FAIL (centre offset 0.475 mm > 0.32 mm tolerance). Cause: the Hirose land pattern is asymmetric (SIG pad centred 1.525 mm from the coax axis, GND pads centred on it) and the housing and the unsoldered rear shell tab also sit on the seating plane, so the bounding-box heuristic cannot centre. The independent per-pad check passes and the placement matches EDC3-302540-86.",+ "No virtual MPN mark (see mpn_marking)",+ "If the Hirose STEP is wanted, Hirose's written permission is required"+ ],+ "generated_utc": "2026-10-17",+ "generator": "Claude Code (Anthropic Claude) for Adom; CadQuery 2.8.0 / OCP 7.9.3; KiCad file format 9 (sym 20241209, mod 20241229); step2glb service; adom-aiflow-etch; component-hero hero_glb.py (adom-hero 1.4); adom-lbr; adom-symbol / adom-footprint embed",+ "licence": "Adom-authored files: CC-BY-4.0 (see LICENSE). Manufacturer documents keep their own terms and are not redistributed here."+}
provenance/tools/make_ufl_step.pyadded+63@@ -0,0 +1,63 @@+"""AI-created STEP model of the Hirose U.FL-R-SMT-1(80) coaxial receptacle (simplified).++Dimensions from Hirose drawing EDC3-302540-86 and the U.FL series catalog p.12: housing 2.6 x 2.6 x 0.35,+mating shell dia 2.0 to 1.25 high, outer-contact tabs 3.0 overall, centre-contact tab 0.6 wide.+No Hirose CAD geometry is used (the Hirose 3D model licence forbids redistribution and modification).++Frame: millimetres, Z-up, seating plane / PCB top z = 0, X/Y = the KiCad footprint frame with Y mirrored+(KiCad footprints are Y-down, KiCad 3D models Y-up), so the footprint's (model) block needs no offset or rotation.+usage: python make_ufl_step.py out.step (CadQuery 2.8)+"""+import sys+import cadquery as cq++OUT = sys.argv[1]++BLACK = cq.Color(0.10, 0.10, 0.10)+TIN = cq.Color(0.80, 0.80, 0.82)+SILVER = cq.Color(0.85, 0.86, 0.88)+GOLD = cq.Color(0.86, 0.70, 0.25)+LCP = cq.Color(0.90, 0.85, 0.72)+PTFE = cq.Color(0.96, 0.96, 0.94)+GREY = cq.Color(0.35, 0.35, 0.35)+++def box(x0, x1, y0, y1, z0, z1):+ return cq.Workplane("XY").box(x1 - x0, y1 - y0, z1 - z0, centered=False).translate((x0, y0, z0))+++def kbox(x0, x1, ky0, ky1, z0, z1):+ """Box given in KiCad footprint coordinates (Y down) -> model (Y up)."""+ return box(x0, x1, -ky1, -ky0, z0, z1)+++def cyl_y(d, y0, y1, z, x=0.0):+ """Cylinder along +Y from y0 to y1, axis at (x, z)."""+ return (cq.Workplane("XZ").center(x, z).circle(d / 2).extrude(-(y1 - y0)).translate((0, y0, 0)))+++# ---------------------------------------------------------------- Hirose U.FL-R-SMT-1(80)+def ufl():+ # Origin = mating axis = centre of the GND pad pair.+ base = (cq.Workplane("XY").rect(2.6, 2.6).extrude(0.35).edges("|Z").fillet(0.3)) # LCP housing 2.6 sq, 0.35+ shell = (cq.Workplane("XY").circle(1.0).extrude(1.25 - 0.35).translate((0, 0, 0.35))) # outer contact dia 2, H 1.25+ groove = (cq.Workplane("XY").circle(1.0).circle(0.88).extrude(0.15).translate((0, 0, 0.75)))+ bore = cq.Workplane("XY").circle(0.80).extrude(0.75).translate((0, 0, 0.55))+ shell = shell.cut(groove).cut(bore)+ ins = cq.Workplane("XY").circle(0.80).extrude(0.25).translate((0, 0, 0.35)) # insulator floor in bore+ pin = cq.Workplane("XY").circle(0.22).extrude(0.65).translate((0, 0, 0.35)) # centre contact+ # Outer-contact solder tabs: 3.0 overall width, 1.8 long (p.12 bottom view)+ gnd = kbox(1.3, 1.5, -0.9, 0.9, 0, 0.15).union(kbox(-1.5, -1.3, -0.9, 0.9, 0, 0.15))+ rear = kbox(-0.3, 0.3, -1.55, -1.3, 0, 0.10) # shell tab, not soldered+ sig = kbox(-0.3, 0.3, 1.3, 1.55, 0, 0.10).union(kbox(-0.15, 0.15, 0.0, 1.3, 0, 0.08)) # 0.6 wide, (3.1) overall+ a = cq.Assembly(name="U.FL-R-SMT-1(80)")+ a.add(base, name="housing", color=LCP)+ a.add(shell.union(gnd).union(rear), name="outer_contact", color=SILVER)+ a.add(ins, name="insulator", color=LCP)+ a.add(pin.union(sig), name="centre_contact", color=GOLD)+ return a++++ufl().export(OUT)+print("wrote", OUT)
provenance/u-fl-r-smt-1-80-features.jsonadded+26@@ -0,0 +1,26 @@+{+ "extracted_by": "service-step2glb 0.2.0",+ "extracted_at": "2026-10-17T17:57:37Z",+ "bbox_mm": {+ "x": [+ -1.5,+ 1.5+ ],+ "y": [+ -1.55,+ 1.55+ ],+ "z": [+ -0.0,+ 1.25+ ]+ },+ "floor_z_mm": -0.0,+ "top_z_mm": 1.25,+ "longest_axis": "y",+ "pin1": {+ "source": "unknown"+ },+ "duration_ms": 128,+ "warnings": []+}
provenance/u-fl-r-smt-1-80-hero-preview.pngadded⋯ 1 unchanged line ⋯
u-fl-r-smt-1-80-hero.glbadded⋯ 1 unchanged line ⋯
u-fl-r-smt-1-80-hero.overlay.jsonadded+141@@ -0,0 +1,141 @@+{+ "spec": "adom-hero 1.4",+ "mpn": "U.FL-R-SMT-1(80)",+ "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": 3,+ "span_mm": 4.0,+ "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": {+ "source": "footprint silkscreen",+ "pad": "1"+ }+ },+ "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": 0+ }+ },+ "align": {+ "ok": false,+ "centre_offset_mm": 0.475,+ "tolerance_mm": 0.32,+ "orientation_flipped": false,+ "contacts_bbox_mm": [+ -1.5,+ 1.5,+ -1.55,+ 1.55+ ],+ "pads_bbox_mm": [+ -2.0,+ 2.0,+ -2.05,+ 1.1+ ],+ "seating_z_mm": -0.0+ },+ "sources": {+ "glb": "u-fl-r-smt-1-80.glb",+ "glb_sha256": "6887a248b9d0071f3f4636f30e02654d5885f2c15b39bf36601a508450d67ebd",+ "footprint": "u-fl-r-smt-1-80.kicad_mod",+ "footprint_sha256": "8542c5936c2831723185f05182fea4e89c046eded14a97b660b571098606ceae",+ "pins": "page.json component.pins"+ },+ "generator": "factory/hero_glb.py",+ "labels": [+ {+ "pad": "1",+ "text": "SIG",+ "x": 0.0,+ "y": 2.2,+ "align": "right",+ "vertical": true,+ "h": 0.6+ },+ {+ "pad": "2",+ "text": "GND",+ "x": -2.15,+ "y": 0.0,+ "align": "right",+ "vertical": false,+ "h": 0.6+ }+ ],+ "pads": [+ {+ "number": "1",+ "shape": "rect",+ "center_mm": [+ 0.0,+ 1.525+ ],+ "size_mm": [+ 1.0,+ 1.05+ ],+ "rot": 0.0+ },+ {+ "number": "2",+ "shape": "rect",+ "center_mm": [+ -1.475,+ 0.0+ ],+ "size_mm": [+ 1.05,+ 2.2+ ],+ "rot": 0.0+ },+ {+ "number": "2",+ "shape": "rect",+ "center_mm": [+ 1.475,+ 0.0+ ],+ "size_mm": [+ 1.05,+ 2.2+ ],+ "rot": 0.0+ }+ ]+}
u-fl-r-smt-1-80.glbadded⋯ 1 unchanged line ⋯
u-fl-r-smt-1-80.kicad_modadded+45@@ -0,0 +1,45 @@+(footprint "u-fl-r-smt-1-80"+ (version 20241229)+ (generator "adom")+ (generator_version "9.0")+ (layer "F.Cu")+ (descr "Hirose U.FL-R-SMT-1(80) coaxial receptacle; land pattern + metal mask from drawing EDC3-302540-86 (U.FL catalog p.12)")+ (tags "U.FL Hirose coax receptacle IPEX MHF")+ (property "Reference" "REF**" (at 0 -2.6 0) (layer "F.SilkS") (uuid "0c7d56d4-1f9b-4048-bae4-25b5b7c8ea29")+ (effects (font (size 1 1) (thickness 0.15))))+ (property "Value" "u-fl-r-smt-1-80" (at 0 3.3 0) (layer "F.Fab") (uuid "184610fa-5ce9-439a-a2ba-05fcec20fb95")+ (effects (font (size 1 1) (thickness 0.15))))+ (property "Datasheet" "https://www.hirose.com/en/product/p/CL0331-0472-2-80" (at 0 0 0) (unlocked yes) (layer "F.Fab") (hide yes) (uuid "23d4f705-8b6c-4f24-ad66-c2cb3abb8aba")+ (effects (font (size 1.27 1.27) (thickness 0.15))))+ (attr smd)+ (duplicate_pad_numbers_are_jumpers no)+ (pad "1" smd rect (at 0 1.525) (size 1 1.05) (layers "F.Cu" "F.Mask") (uuid "dadf92ee-8aeb-42ab-8550-a3396e7bdc24"))+ (pad "2" smd rect (at -1.475 0) (size 1.05 2.2) (layers "F.Cu" "F.Mask") (uuid "110f135d-1784-4825-bddf-a69f58e41c03"))+ (pad "2" smd rect (at 1.475 0) (size 1.05 2.2) (layers "F.Cu" "F.Mask") (uuid "73bb79dc-7aab-41e9-a50b-a8e3853584bd"))+ (pad "" smd rect (at 0 1.525) (size 0.8 0.85) (layers "F.Paste") (uuid "045f9f01-4fc5-4d80-8aac-7ae0417045ea"))+ (pad "" smd rect (at -1.5 0) (size 0.9 2) (layers "F.Paste") (uuid "6857dd40-41dd-4785-8424-95308f442a13"))+ (pad "" smd rect (at 1.5 0) (size 0.9 2) (layers "F.Paste") (uuid "07c7ae3a-e95f-481a-affc-fcfc7a03364f"))+ (zone (net 0) (net_name "") (layer "F.Cu") (uuid "db404e11-ee08-4a0f-bf52-1a2289f870b0") (name "U.FL no-trace area") (hatch edge 0.5)+ (connect_pads (clearance 0)) (min_thickness 0.25) (filled_areas_thickness no)+ (keepout (tracks not_allowed) (vias not_allowed) (pads allowed) (copperpour not_allowed) (footprints allowed))+ (fill (thermal_gap 0.5) (thermal_bridge_width 0.5))+ (polygon (pts (xy -0.95 -1.1) (xy 0.95 -1.1) (xy 0.95 1.0) (xy -0.95 1.0))))+ (fp_rect (start -1.3 -1.3) (end 1.3 1.3)+ (stroke (width 0.1) (type solid)) (fill no) (layer "F.Fab") (uuid "fd9a1ec3-4738-4677-b150-66627d6c07ea"))+ (fp_circle (center 0 0) (end 1 0)+ (stroke (width 0.1) (type solid)) (fill no) (layer "F.Fab") (uuid "49c81aa5-c97a-409e-ad4c-6c0b6049fb49"))+ (fp_rect (start -0.3 1.3) (end 0.3 1.55)+ (stroke (width 0.1) (type solid)) (fill no) (layer "F.Fab") (uuid "5f9f17e2-0e2b-47a6-b2cf-f4d1e08827c4"))+ (fp_rect (start -0.3 -1.55) (end 0.3 -1.3)+ (stroke (width 0.1) (type solid)) (fill no) (layer "F.Fab") (uuid "0a9432e3-622f-401c-a8d9-c271b23cb5ff"))+ (fp_text user "${REFERENCE}" (at 0 0 0) (layer "F.Fab") (uuid "0c76b146-f4b1-49ee-bc78-27c5e133f087")+ (effects (font (size 0.4 0.4) (thickness 0.06))))+ (fp_line (start -0.75 -1.45) (end 0.75 -1.45)+ (stroke (width 0.12) (type solid)) (layer "F.SilkS") (uuid "f282e4b3-cff0-465b-a530-90d95a60f259"))+ (fp_circle (center -0.8 1.9) (end -0.7 1.9)+ (stroke (width 0.2) (type solid)) (fill yes) (layer "F.SilkS") (uuid "05227b69-1a71-41bb-9d7f-3481f955a1cc"))+ (fp_rect (start -2.25 -1.85) (end 2.25 2.3)+ (stroke (width 0.05) (type solid)) (fill no) (layer "F.CrtYd") (uuid "22189438-8044-4ed0-8e93-be92d612fdb8"))+ (model "${KIPRJMOD}/u-fl-r-smt-1-80.step"+ (offset (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)))+)
u-fl-r-smt-1-80.kicad_symadded+50@@ -0,0 +1,50 @@+(kicad_symbol_lib+ (version 20241209)+ (generator "adom")+ (generator_version "9.0")+ (symbol "U.FL-R-SMT-1(80)"+ (pin_names (offset 0.254) (hide yes))+ (exclude_from_sim no)+ (in_bom yes)+ (on_board yes)+ (property "Reference" "J" (at -2.54 3.81 0)+ (effects (font (size 1.27 1.27)) (justify left)))+ (property "Value" "U.FL-R-SMT-1(80)" (at -2.54 -7.62 0)+ (effects (font (size 1.27 1.27)) (justify left)))+ (property "Footprint" "u-fl-r-smt-1-80:u-fl-r-smt-1-80" (at 0 -10.16 0)+ (effects (font (size 1.27 1.27)) (hide yes)))+ (property "Datasheet" "https://www.hirose.com/en/product/p/CL0331-0472-2-80" (at 0 -12.7 0)+ (effects (font (size 1.27 1.27)) (hide yes)))+ (property "Description" "Hirose U.FL SMT coaxial receptacle, 50 ohm (0 to 8 GHz), 3.0 x 2.6 mm, 1.25 mm high, silver-plated shell, 10,000 pcs reel (80)" (at 0 -15.24 0)+ (effects (font (size 1.27 1.27)) (hide yes)))+ (property "Manufacturer" "Hirose Electric" (at 0 -17.78 0)+ (effects (font (size 1.27 1.27)) (hide yes)))+ (property "MPN" "U.FL-R-SMT-1(80)" (at 0 -20.32 0)+ (effects (font (size 1.27 1.27)) (hide yes)))+ (property "Mouser" "798-UFLRSMT180" (at 0 -22.86 0)+ (effects (font (size 1.27 1.27)) (hide yes)))+ (property "DigiKey" "26-U.FL-R-SMT-1(80)TR-ND" (at 0 -25.4 0)+ (effects (font (size 1.27 1.27)) (hide yes)))+ (property "LCSC" "C88374" (at 0 -27.94 0)+ (effects (font (size 1.27 1.27)) (hide yes)))+ (property "ki_keywords" "U.FL IPEX MHF coax RF antenna connector receptacle" (at 0 -30.48 0)+ (effects (font (size 1.27 1.27)) (hide yes)))+ (symbol "U.FL-R-SMT-1(80)_0_1"+ (circle (center 0 0) (radius 0.508)+ (stroke (width 0.2032) (type default)) (fill (type none)))+ (arc (start -1.778 -0.508) (mid 0.4064 -1.8285) (end 1.778 0)+ (stroke (width 0.254) (type default)) (fill (type none)))+ (arc (start 1.778 0) (mid 0.4064 1.8285) (end -1.778 0.508)+ (stroke (width 0.254) (type default)) (fill (type none)))+ (polyline (pts (xy -2.54 0) (xy -0.508 0))+ (stroke (width 0) (type default)) (fill (type none)))+ (polyline (pts (xy 0 -2.54) (xy 0 -1.778))+ (stroke (width 0) (type default)) (fill (type none)))+ )+ (symbol "U.FL-R-SMT-1(80)_1_1"+ (pin passive line (at -5.08 0 0) (length 2.54) (name "SIG") (number "1"))+ (pin passive line (at 0 -5.08 90) (length 2.54) (name "GND") (number "2"))+ )+ (embedded_fonts no)+ )+)
u-fl-r-smt-1-80.lbradded+134@@ -0,0 +1,134 @@+<?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>Hirose U.FL SMT coaxial receptacle, 50 ohm (0 to 8 GHz), 3.0 x 2.6 mm, 1.25 mm high, silver-plated shell, 10,000 pcs reel (80)</description>+<packages>+<package name="u-fl-r-smt-1-80">+ <description>3 pads, 4.0 x 3.1 mm. Hirose U.FL-R-SMT-1(80) coaxial receptacle; land pattern + metal mask from drawing EDC3-302540-86 (U.FL catalog p.12)</description>+ <smd name="1" x="0.0000" y="-1.5250" dx="1.0000" dy="1.0500" layer="1" cream="no"/>+ <smd name="2" x="-1.4750" y="-0.0000" dx="1.0500" dy="2.2000" layer="1" cream="no"/>+ <smd name="2@2" x="1.4750" y="-0.0000" dx="1.0500" dy="2.2000" layer="1" cream="no"/>+ <circle x="0.0000" y="-0.0000" radius="1.0000" width="0.1000" layer="51"/>+ <circle x="-0.8000" y="-1.9000" radius="0.1000" width="0.2000" layer="21"/>+ <wire x1="-1.3000" y1="1.3000" x2="1.3000" y2="1.3000" width="0.1000" layer="51"/>+ <wire x1="1.3000" y1="1.3000" x2="1.3000" y2="-1.3000" width="0.1000" layer="51"/>+ <wire x1="1.3000" y1="-1.3000" x2="-1.3000" y2="-1.3000" width="0.1000" layer="51"/>+ <wire x1="-1.3000" y1="-1.3000" x2="-1.3000" y2="1.3000" width="0.1000" layer="51"/>+ <wire x1="-0.3000" y1="-1.3000" x2="0.3000" y2="-1.3000" width="0.1000" layer="51"/>+ <wire x1="0.3000" y1="-1.3000" x2="0.3000" y2="-1.5500" width="0.1000" layer="51"/>+ <wire x1="0.3000" y1="-1.5500" x2="-0.3000" y2="-1.5500" width="0.1000" layer="51"/>+ <wire x1="-0.3000" y1="-1.5500" x2="-0.3000" y2="-1.3000" width="0.1000" layer="51"/>+ <wire x1="-0.3000" y1="1.5500" x2="0.3000" y2="1.5500" width="0.1000" layer="51"/>+ <wire x1="0.3000" y1="1.5500" x2="0.3000" y2="1.3000" width="0.1000" layer="51"/>+ <wire x1="0.3000" y1="1.3000" x2="-0.3000" y2="1.3000" width="0.1000" layer="51"/>+ <wire x1="-0.3000" y1="1.3000" x2="-0.3000" y2="1.5500" width="0.1000" layer="51"/>+ <wire x1="-0.7500" y1="1.4500" x2="0.7500" y2="1.4500" width="0.1200" layer="21"/>+ <text x="0" y="2.050" size="1.27" layer="25" align="bottom-center">>NAME</text>+ <text x="0" y="-2.650" size="1.27" layer="27" align="top-center">>VALUE</text>+</package>+</packages>+<symbols>+<symbol name="U.FL-R-SMT-1(80)">+ <description>Hirose U.FL SMT coaxial receptacle, 50 ohm (0 to 8 GHz), 3.0 x 2.6 mm, 1.25 mm high, silver-plated shell, 10,000 pcs reel (80)</description>+ <circle x="0.0000" y="0.0000" radius="0.5080" width="0.1524" layer="94"/>+ <wire x1="-2.5400" y1="0.0000" x2="-0.5080" y2="0.0000" width="0.1524" layer="94"/>+ <wire x1="0.0000" y1="-2.5400" x2="0.0000" y2="-1.7780" width="0.1524" layer="94"/>+ <wire x1="-1.7780" y1="-0.5080" x2="-1.6207" y2="-0.9204" width="0.1524" layer="94"/>+ <wire x1="-1.6207" y1="-0.9204" x2="-1.3680" y2="-1.2824" width="0.1524" layer="94"/>+ <wire x1="-1.3680" y1="-1.2824" x2="-1.0351" y2="-1.5722" width="0.1524" layer="94"/>+ <wire x1="-1.0351" y1="-1.5722" x2="-0.6417" y2="-1.7725" width="0.1524" layer="94"/>+ <wire x1="-0.6417" y1="-1.7725" x2="-0.2115" y2="-1.8713" width="0.1524" layer="94"/>+ <wire x1="-0.2115" y1="-1.8713" x2="0.2298" y2="-1.8628" width="0.1524" layer="94"/>+ <wire x1="0.2298" y1="-1.8628" x2="0.6559" y2="-1.7474" width="0.1524" layer="94"/>+ <wire x1="0.6559" y1="-1.7474" x2="1.0412" y2="-1.5320" width="0.1524" layer="94"/>+ <wire x1="1.0412" y1="-1.5320" x2="1.3627" y2="-1.2296" width="0.1524" layer="94"/>+ <wire x1="1.3627" y1="-1.2296" x2="1.6013" y2="-0.8582" width="0.1524" layer="94"/>+ <wire x1="1.6013" y1="-0.8582" x2="1.7425" y2="-0.4400" width="0.1524" layer="94"/>+ <wire x1="1.7425" y1="-0.4400" x2="1.7780" y2="0.0000" width="0.1524" layer="94"/>+ <wire x1="1.7780" y1="0.0000" x2="1.7425" y2="0.4400" width="0.1524" layer="94"/>+ <wire x1="1.7425" y1="0.4400" x2="1.6013" y2="0.8582" width="0.1524" layer="94"/>+ <wire x1="1.6013" y1="0.8582" x2="1.3627" y2="1.2296" width="0.1524" layer="94"/>+ <wire x1="1.3627" y1="1.2296" x2="1.0412" y2="1.5320" width="0.1524" layer="94"/>+ <wire x1="1.0412" y1="1.5320" x2="0.6559" y2="1.7474" width="0.1524" layer="94"/>+ <wire x1="0.6559" y1="1.7474" x2="0.2298" y2="1.8628" width="0.1524" layer="94"/>+ <wire x1="0.2298" y1="1.8628" x2="-0.2115" y2="1.8713" width="0.1524" layer="94"/>+ <wire x1="-0.2115" y1="1.8713" x2="-0.6417" y2="1.7725" width="0.1524" layer="94"/>+ <wire x1="-0.6417" y1="1.7725" x2="-1.0351" y2="1.5722" width="0.1524" layer="94"/>+ <wire x1="-1.0351" y1="1.5722" x2="-1.3680" y2="1.2824" width="0.1524" layer="94"/>+ <wire x1="-1.3680" y1="1.2824" x2="-1.6207" y2="0.9204" width="0.1524" layer="94"/>+ <wire x1="-1.6207" y1="0.9204" x2="-1.7780" y2="0.5080" width="0.1524" layer="94"/>+ <text x="0" y="10" size="1.27" layer="95" align="bottom-center">>NAME</text>+ <text x="0" y="-10" size="1.27" layer="96" align="top-center">>VALUE</text>+ <pin name="SIG" x="-5.08" y="0" length="short" direction="pas" visible="pad"/>+ <pin name="GND" x="0" y="-5.08" length="short" direction="pas" rot="R90" visible="pad"/>+</symbol>+</symbols>+<devicesets>+<deviceset name="U.FL-R-SMT-1(80)" prefix="J">+ <description>Hirose U.FL SMT coaxial receptacle, 50 ohm (0 to 8 GHz), 3.0 x 2.6 mm, 1.25 mm high, silver-plated shell, 10,000 pcs reel (80)</description>+ <gates>+ <gate name="G$1" symbol="U.FL-R-SMT-1(80)" x="0" y="0"/>+ </gates>+ <devices>+ <device name="" package="u-fl-r-smt-1-80">+ <connects>+ <connect gate="G$1" pin="SIG" pad="1"/>+ <connect gate="G$1" pin="GND" pad="2 2@2"/>+ </connects>+ <technologies><technology name=""/></technologies>+ </device>+ </devices>+</deviceset>+</devicesets>+</library>+</drawing>+</eagle>
u-fl-r-smt-1-80.stepadded+3518@@ -0,0 +1,3518 @@+ISO-10303-21;+HEADER;+FILE_DESCRIPTION(('Open CASCADE Model'),'2;1');+FILE_NAME('Open CASCADE Shape Model','2026-10-17T12:11:50',('Author'),(+ 'Open CASCADE'),'Open CASCADE STEP processor 7.9','Open CASCADE 7.9'+ ,'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('U.FL-R-SMT-1(80)','U.FL-R-SMT-1(80)','',(#8));+#8 = PRODUCT_CONTEXT('',#2,'mechanical');+#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#10 = SHAPE_REPRESENTATION('',(#11,#15,#19,#23,#27),#31);+#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 = AXIS2_PLACEMENT_3D('',#28,#29,#30);+#28 = CARTESIAN_POINT('',(0.,0.,0.));+#29 = DIRECTION('',(0.,0.,1.));+#30 = DIRECTION('',(1.,0.,-0.));+#31 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#35)) GLOBAL_UNIT_ASSIGNED_CONTEXT(+(#32,#33,#34)) REPRESENTATION_CONTEXT('Context #1',+ '3D Context with UNIT and UNCERTAINTY') );+#32 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#33 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#34 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#35 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#32,+ 'distance_accuracy_value','confusion accuracy');+#36 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));+#37 = SHAPE_DEFINITION_REPRESENTATION(#38,#44);+#38 = PRODUCT_DEFINITION_SHAPE('','',#39);+#39 = PRODUCT_DEFINITION('design','',#40,#43);+#40 = PRODUCT_DEFINITION_FORMATION('','',#41);+#41 = PRODUCT('housing','housing','',(#42));+#42 = PRODUCT_CONTEXT('',#2,'mechanical');+#43 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#44 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#45),#703);+#45 = MANIFOLD_SOLID_BREP('',#46);+#46 = CLOSED_SHELL('',(#47,#167,#363,#417,#467,#588,#615,#642,#669,#696)+ );+#47 = ADVANCED_FACE('',(#48),#62,.F.);+#48 = FACE_BOUND('',#49,.F.);+#49 = EDGE_LOOP('',(#50,#85,#113,#141));+#50 = ORIENTED_EDGE('',*,*,#51,.F.);+#51 = EDGE_CURVE('',#52,#54,#56,.T.);+#52 = VERTEX_POINT('',#53);+#53 = CARTESIAN_POINT('',(-1.,-1.3,0.));+#54 = VERTEX_POINT('',#55);+#55 = CARTESIAN_POINT('',(1.,-1.3,0.));+#56 = SURFACE_CURVE('',#57,(#61,#73),.PCURVE_S1.);+#57 = LINE('',#58,#59);+#58 = CARTESIAN_POINT('',(-1.3,-1.3,0.));+#59 = VECTOR('',#60,1.);+#60 = DIRECTION('',(1.,0.,0.));+#61 = PCURVE('',#62,#67);+#62 = PLANE('',#63);+#63 = AXIS2_PLACEMENT_3D('',#64,#65,#66);+#64 = CARTESIAN_POINT('',(-1.3,-1.3,0.));+#65 = DIRECTION('',(0.,1.,0.));+#66 = DIRECTION('',(1.,0.,0.));+#67 = DEFINITIONAL_REPRESENTATION('',(#68),#72);+#68 = LINE('',#69,#70);+#69 = CARTESIAN_POINT('',(0.,0.));+#70 = VECTOR('',#71,1.);+#71 = DIRECTION('',(1.,0.));+#72 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#73 = PCURVE('',#74,#79);+#74 = PLANE('',#75);+#75 = AXIS2_PLACEMENT_3D('',#76,#77,#78);+#76 = CARTESIAN_POINT('',(-4.270088556251E-17,4.270088556251E-17,0.));+#77 = DIRECTION('',(0.,0.,1.));+#78 = DIRECTION('',(1.,0.,-0.));+#79 = DEFINITIONAL_REPRESENTATION('',(#80),#84);+#80 = LINE('',#81,#82);+#81 = CARTESIAN_POINT('',(-1.3,-1.3));+#82 = VECTOR('',#83,1.);+#83 = DIRECTION('',(1.,0.));+#84 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#85 = ORIENTED_EDGE('',*,*,#86,.T.);+#86 = EDGE_CURVE('',#52,#87,#89,.T.);+#87 = VERTEX_POINT('',#88);+#88 = CARTESIAN_POINT('',(-1.,-1.3,0.35));+#89 = SURFACE_CURVE('',#90,(#94,#101),.PCURVE_S1.);+#90 = LINE('',#91,#92);+#91 = CARTESIAN_POINT('',(-1.,-1.3,0.));+#92 = VECTOR('',#93,1.);+#93 = DIRECTION('',(0.,0.,1.));+#94 = PCURVE('',#62,#95);+#95 = DEFINITIONAL_REPRESENTATION('',(#96),#100);+#96 = LINE('',#97,#98);+#97 = CARTESIAN_POINT('',(0.3,0.));+#98 = VECTOR('',#99,1.);+#99 = DIRECTION('',(0.,-1.));+#100 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#101 = PCURVE('',#102,#107);+#102 = CYLINDRICAL_SURFACE('',#103,0.3);+#103 = AXIS2_PLACEMENT_3D('',#104,#105,#106);+#104 = CARTESIAN_POINT('',(-1.,-1.,0.));+#105 = DIRECTION('',(0.,0.,1.));+#106 = DIRECTION('',(0.,-1.,0.));+#107 = DEFINITIONAL_REPRESENTATION('',(#108),#112);+#108 = LINE('',#109,#110);+#109 = CARTESIAN_POINT('',(-0.,0.));+#110 = VECTOR('',#111,1.);+#111 = DIRECTION('',(-0.,1.));+#112 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#113 = ORIENTED_EDGE('',*,*,#114,.T.);+#114 = EDGE_CURVE('',#87,#115,#117,.T.);+#115 = VERTEX_POINT('',#116);+#116 = CARTESIAN_POINT('',(1.,-1.3,0.35));+#117 = SURFACE_CURVE('',#118,(#122,#129),.PCURVE_S1.);+#118 = LINE('',#119,#120);+#119 = CARTESIAN_POINT('',(-1.3,-1.3,0.35));+#120 = VECTOR('',#121,1.);+#121 = DIRECTION('',(1.,0.,0.));+#122 = PCURVE('',#62,#123);+#123 = DEFINITIONAL_REPRESENTATION('',(#124),#128);+#124 = LINE('',#125,#126);+#125 = CARTESIAN_POINT('',(0.,-0.35));+#126 = VECTOR('',#127,1.);+#127 = DIRECTION('',(1.,0.));+#128 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#129 = PCURVE('',#130,#135);+#130 = PLANE('',#131);+#131 = AXIS2_PLACEMENT_3D('',#132,#133,#134);+#132 = CARTESIAN_POINT('',(-4.270088556251E-17,4.270088556251E-17,0.35)+ );+#133 = DIRECTION('',(0.,0.,1.));+#134 = DIRECTION('',(1.,0.,-0.));+#135 = DEFINITIONAL_REPRESENTATION('',(#136),#140);+#136 = LINE('',#137,#138);+#137 = CARTESIAN_POINT('',(-1.3,-1.3));+#138 = VECTOR('',#139,1.);+#139 = DIRECTION('',(1.,0.));+#140 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#141 = ORIENTED_EDGE('',*,*,#142,.F.);+#142 = EDGE_CURVE('',#54,#115,#143,.T.);+#143 = SURFACE_CURVE('',#144,(#148,#155),.PCURVE_S1.);+#144 = LINE('',#145,#146);+#145 = CARTESIAN_POINT('',(1.,-1.3,0.));+#146 = VECTOR('',#147,1.);+#147 = DIRECTION('',(0.,0.,1.));+#148 = PCURVE('',#62,#149);+#149 = DEFINITIONAL_REPRESENTATION('',(#150),#154);+#150 = LINE('',#151,#152);+#151 = CARTESIAN_POINT('',(2.3,0.));+#152 = VECTOR('',#153,1.);+#153 = DIRECTION('',(0.,-1.));+#154 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#155 = PCURVE('',#156,#161);+#156 = CYLINDRICAL_SURFACE('',#157,0.3);+#157 = AXIS2_PLACEMENT_3D('',#158,#159,#160);+#158 = CARTESIAN_POINT('',(1.,-1.,0.));+#159 = DIRECTION('',(0.,0.,1.));+#160 = DIRECTION('',(0.,-1.,0.));+#161 = DEFINITIONAL_REPRESENTATION('',(#162),#166);+#162 = LINE('',#163,#164);+#163 = CARTESIAN_POINT('',(0.,0.));+#164 = VECTOR('',#165,1.);+#165 = DIRECTION('',(0.,1.));+#166 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#167 = ADVANCED_FACE('',(#168),#74,.F.);+#168 = FACE_BOUND('',#169,.F.);+#169 = EDGE_LOOP('',(#170,#171,#195,#223,#252,#280,#309,#337));+#170 = ORIENTED_EDGE('',*,*,#51,.T.);+#171 = ORIENTED_EDGE('',*,*,#172,.T.);+#172 = EDGE_CURVE('',#54,#173,#175,.T.);+#173 = VERTEX_POINT('',#174);+#174 = CARTESIAN_POINT('',(1.3,-1.,0.));+#175 = SURFACE_CURVE('',#176,(#181,#188),.PCURVE_S1.);+#176 = CIRCLE('',#177,0.3);+#177 = AXIS2_PLACEMENT_3D('',#178,#179,#180);+#178 = CARTESIAN_POINT('',(1.,-1.,0.));+#179 = DIRECTION('',(0.,0.,1.));+#180 = DIRECTION('',(0.,-1.,0.));+#181 = PCURVE('',#74,#182);+#182 = DEFINITIONAL_REPRESENTATION('',(#183),#187);+#183 = CIRCLE('',#184,0.3);+#184 = AXIS2_PLACEMENT_2D('',#185,#186);+#185 = CARTESIAN_POINT('',(1.,-1.));+#186 = DIRECTION('',(0.,-1.));+#187 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#188 = PCURVE('',#156,#189);+#189 = DEFINITIONAL_REPRESENTATION('',(#190),#194);+#190 = LINE('',#191,#192);+#191 = CARTESIAN_POINT('',(0.,0.));+#192 = VECTOR('',#193,1.);+#193 = DIRECTION('',(1.,0.));+#194 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#195 = ORIENTED_EDGE('',*,*,#196,.T.);+#196 = EDGE_CURVE('',#173,#197,#199,.T.);+#197 = VERTEX_POINT('',#198);+#198 = CARTESIAN_POINT('',(1.3,1.,0.));+#199 = SURFACE_CURVE('',#200,(#204,#211),.PCURVE_S1.);+#200 = LINE('',#201,#202);+#201 = CARTESIAN_POINT('',(1.3,-1.3,0.));+#202 = VECTOR('',#203,1.);+#203 = DIRECTION('',(0.,1.,0.));+#204 = PCURVE('',#74,#205);+#205 = DEFINITIONAL_REPRESENTATION('',(#206),#210);+#206 = LINE('',#207,#208);+#207 = CARTESIAN_POINT('',(1.3,-1.3));+#208 = VECTOR('',#209,1.);+#209 = DIRECTION('',(0.,1.));+#210 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#211 = PCURVE('',#212,#217);+#212 = PLANE('',#213);+#213 = AXIS2_PLACEMENT_3D('',#214,#215,#216);+#214 = CARTESIAN_POINT('',(1.3,-1.3,0.));+#215 = DIRECTION('',(-1.,0.,0.));+#216 = DIRECTION('',(0.,1.,0.));+#217 = DEFINITIONAL_REPRESENTATION('',(#218),#222);+#218 = LINE('',#219,#220);+#219 = CARTESIAN_POINT('',(0.,0.));+#220 = VECTOR('',#221,1.);+#221 = DIRECTION('',(1.,0.));+#222 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#223 = ORIENTED_EDGE('',*,*,#224,.T.);+#224 = EDGE_CURVE('',#197,#225,#227,.T.);+#225 = VERTEX_POINT('',#226);+#226 = CARTESIAN_POINT('',(1.,1.3,0.));+#227 = SURFACE_CURVE('',#228,(#233,#240),.PCURVE_S1.);+#228 = CIRCLE('',#229,0.3);+#229 = AXIS2_PLACEMENT_3D('',#230,#231,#232);+#230 = CARTESIAN_POINT('',(1.,1.,0.));+#231 = DIRECTION('',(0.,0.,1.));+#232 = DIRECTION('',(0.,-1.,0.));+#233 = PCURVE('',#74,#234);+#234 = DEFINITIONAL_REPRESENTATION('',(#235),#239);+#235 = CIRCLE('',#236,0.3);+#236 = AXIS2_PLACEMENT_2D('',#237,#238);+#237 = CARTESIAN_POINT('',(1.,1.));+#238 = DIRECTION('',(0.,-1.));+#239 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#240 = PCURVE('',#241,#246);+#241 = CYLINDRICAL_SURFACE('',#242,0.3);+#242 = AXIS2_PLACEMENT_3D('',#243,#244,#245);+#243 = CARTESIAN_POINT('',(1.,1.,0.));+#244 = DIRECTION('',(0.,0.,1.));+#245 = DIRECTION('',(1.,0.,-0.));+#246 = DEFINITIONAL_REPRESENTATION('',(#247),#251);+#247 = LINE('',#248,#249);+#248 = CARTESIAN_POINT('',(-1.570796326795,0.));+#249 = VECTOR('',#250,1.);+#250 = DIRECTION('',(1.,0.));+#251 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#252 = ORIENTED_EDGE('',*,*,#253,.T.);+#253 = EDGE_CURVE('',#225,#254,#256,.T.);+#254 = VERTEX_POINT('',#255);+#255 = CARTESIAN_POINT('',(-1.,1.3,0.));+#256 = SURFACE_CURVE('',#257,(#261,#268),.PCURVE_S1.);+#257 = LINE('',#258,#259);+#258 = CARTESIAN_POINT('',(1.3,1.3,0.));+#259 = VECTOR('',#260,1.);+#260 = DIRECTION('',(-1.,0.,0.));+#261 = PCURVE('',#74,#262);+#262 = DEFINITIONAL_REPRESENTATION('',(#263),#267);+#263 = LINE('',#264,#265);+#264 = CARTESIAN_POINT('',(1.3,1.3));+#265 = VECTOR('',#266,1.);+#266 = DIRECTION('',(-1.,0.));+#267 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#268 = PCURVE('',#269,#274);+#269 = PLANE('',#270);+#270 = AXIS2_PLACEMENT_3D('',#271,#272,#273);+#271 = CARTESIAN_POINT('',(1.3,1.3,0.));+#272 = DIRECTION('',(0.,-1.,0.));+#273 = DIRECTION('',(-1.,0.,0.));+#274 = DEFINITIONAL_REPRESENTATION('',(#275),#279);+#275 = LINE('',#276,#277);+#276 = CARTESIAN_POINT('',(0.,-0.));+#277 = VECTOR('',#278,1.);+#278 = DIRECTION('',(1.,0.));+#279 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#280 = ORIENTED_EDGE('',*,*,#281,.T.);+#281 = EDGE_CURVE('',#254,#282,#284,.T.);+#282 = VERTEX_POINT('',#283);+#283 = CARTESIAN_POINT('',(-1.3,1.,0.));+#284 = SURFACE_CURVE('',#285,(#290,#297),.PCURVE_S1.);+#285 = CIRCLE('',#286,0.3);+#286 = AXIS2_PLACEMENT_3D('',#287,#288,#289);+#287 = CARTESIAN_POINT('',(-1.,1.,0.));+#288 = DIRECTION('',(0.,0.,1.));+#289 = DIRECTION('',(0.,-1.,0.));+#290 = PCURVE('',#74,#291);+#291 = DEFINITIONAL_REPRESENTATION('',(#292),#296);+#292 = CIRCLE('',#293,0.3);+#293 = AXIS2_PLACEMENT_2D('',#294,#295);+#294 = CARTESIAN_POINT('',(-1.,1.));+#295 = DIRECTION('',(0.,-1.));+#296 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#297 = PCURVE('',#298,#303);+#298 = CYLINDRICAL_SURFACE('',#299,0.3);+#299 = AXIS2_PLACEMENT_3D('',#300,#301,#302);+#300 = CARTESIAN_POINT('',(-1.,1.,0.));+#301 = DIRECTION('',(0.,0.,1.));+#302 = DIRECTION('',(-0.,1.,0.));+#303 = DEFINITIONAL_REPRESENTATION('',(#304),#308);+#304 = LINE('',#305,#306);+#305 = CARTESIAN_POINT('',(-3.14159265359,0.));+#306 = VECTOR('',#307,1.);+#307 = DIRECTION('',(1.,0.));+#308 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#309 = ORIENTED_EDGE('',*,*,#310,.T.);+#310 = EDGE_CURVE('',#282,#311,#313,.T.);+#311 = VERTEX_POINT('',#312);+#312 = CARTESIAN_POINT('',(-1.3,-1.,0.));+#313 = SURFACE_CURVE('',#314,(#318,#325),.PCURVE_S1.);+#314 = LINE('',#315,#316);+#315 = CARTESIAN_POINT('',(-1.3,1.3,0.));+#316 = VECTOR('',#317,1.);+#317 = DIRECTION('',(0.,-1.,0.));+#318 = PCURVE('',#74,#319);+#319 = DEFINITIONAL_REPRESENTATION('',(#320),#324);+#320 = LINE('',#321,#322);+#321 = CARTESIAN_POINT('',(-1.3,1.3));+#322 = VECTOR('',#323,1.);+#323 = DIRECTION('',(0.,-1.));+#324 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#325 = PCURVE('',#326,#331);+#326 = PLANE('',#327);+#327 = AXIS2_PLACEMENT_3D('',#328,#329,#330);+#328 = CARTESIAN_POINT('',(-1.3,1.3,0.));+#329 = DIRECTION('',(1.,0.,-0.));+#330 = DIRECTION('',(0.,-1.,0.));+#331 = DEFINITIONAL_REPRESENTATION('',(#332),#336);+#332 = LINE('',#333,#334);+#333 = CARTESIAN_POINT('',(0.,0.));+#334 = VECTOR('',#335,1.);+#335 = DIRECTION('',(1.,0.));+#336 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#337 = ORIENTED_EDGE('',*,*,#338,.F.);+#338 = EDGE_CURVE('',#52,#311,#339,.T.);+#339 = SURFACE_CURVE('',#340,(#345,#356),.PCURVE_S1.);+#340 = CIRCLE('',#341,0.3);+#341 = AXIS2_PLACEMENT_3D('',#342,#343,#344);+#342 = CARTESIAN_POINT('',(-1.,-1.,0.));+#343 = DIRECTION('',(-0.,-0.,-1.));+#344 = DIRECTION('',(0.,-1.,0.));+#345 = PCURVE('',#74,#346);+#346 = DEFINITIONAL_REPRESENTATION('',(#347),#355);+#347 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#348,#349,#350,#351,#352,#353+,#354),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(+ -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,+8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() +RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(+ '') );+#348 = CARTESIAN_POINT('',(-1.,-1.3));+#349 = CARTESIAN_POINT('',(-1.519615242271,-1.3));+#350 = CARTESIAN_POINT('',(-1.259807621135,-0.85));+#351 = CARTESIAN_POINT('',(-1.,-0.4));+#352 = CARTESIAN_POINT('',(-0.740192378865,-0.85));+#353 = CARTESIAN_POINT('',(-0.480384757729,-1.3));+#354 = CARTESIAN_POINT('',(-1.,-1.3));+#355 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#356 = PCURVE('',#102,#357);+#357 = DEFINITIONAL_REPRESENTATION('',(#358),#362);+#358 = LINE('',#359,#360);+#359 = CARTESIAN_POINT('',(-0.,0.));+#360 = VECTOR('',#361,1.);+#361 = DIRECTION('',(-1.,0.));+#362 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#363 = ADVANCED_FACE('',(#364),#102,.T.);+#364 = FACE_BOUND('',#365,.F.);+#365 = EDGE_LOOP('',(#366,#367,#390,#416));+#366 = ORIENTED_EDGE('',*,*,#338,.T.);+#367 = ORIENTED_EDGE('',*,*,#368,.T.);+#368 = EDGE_CURVE('',#311,#369,#371,.T.);+#369 = VERTEX_POINT('',#370);+#370 = CARTESIAN_POINT('',(-1.3,-1.,0.35));+#371 = SURFACE_CURVE('',#372,(#376,#383),.PCURVE_S1.);+#372 = LINE('',#373,#374);+#373 = CARTESIAN_POINT('',(-1.3,-1.,0.));+#374 = VECTOR('',#375,1.);+#375 = DIRECTION('',(0.,0.,1.));+#376 = PCURVE('',#102,#377);+#377 = DEFINITIONAL_REPRESENTATION('',(#378),#382);+#378 = LINE('',#379,#380);+#379 = CARTESIAN_POINT('',(-1.570796326795,0.));+#380 = VECTOR('',#381,1.);+#381 = DIRECTION('',(-0.,1.));+#382 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#383 = PCURVE('',#326,#384);+#384 = DEFINITIONAL_REPRESENTATION('',(#385),#389);+#385 = LINE('',#386,#387);+#386 = CARTESIAN_POINT('',(2.3,0.));+#387 = VECTOR('',#388,1.);+#388 = DIRECTION('',(0.,-1.));+#389 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#390 = ORIENTED_EDGE('',*,*,#391,.F.);+#391 = EDGE_CURVE('',#87,#369,#392,.T.);+#392 = SURFACE_CURVE('',#393,(#398,#405),.PCURVE_S1.);+#393 = CIRCLE('',#394,0.3);+#394 = AXIS2_PLACEMENT_3D('',#395,#396,#397);+#395 = CARTESIAN_POINT('',(-1.,-1.,0.35));+#396 = DIRECTION('',(-0.,-0.,-1.));+#397 = DIRECTION('',(0.,-1.,0.));+#398 = PCURVE('',#102,#399);+#399 = DEFINITIONAL_REPRESENTATION('',(#400),#404);+#400 = LINE('',#401,#402);+#401 = CARTESIAN_POINT('',(-0.,0.35));+#402 = VECTOR('',#403,1.);+#403 = DIRECTION('',(-1.,0.));+#404 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#405 = PCURVE('',#130,#406);+#406 = DEFINITIONAL_REPRESENTATION('',(#407),#415);+#407 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#408,#409,#410,#411,#412,#413+,#414),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(+ -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,+8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() +RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(+ '') );+#408 = CARTESIAN_POINT('',(-1.,-1.3));+#409 = CARTESIAN_POINT('',(-1.519615242271,-1.3));+#410 = CARTESIAN_POINT('',(-1.259807621135,-0.85));+#411 = CARTESIAN_POINT('',(-1.,-0.4));+#412 = CARTESIAN_POINT('',(-0.740192378865,-0.85));+#413 = CARTESIAN_POINT('',(-0.480384757729,-1.3));+#414 = CARTESIAN_POINT('',(-1.,-1.3));+#415 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#416 = ORIENTED_EDGE('',*,*,#86,.F.);+#417 = ADVANCED_FACE('',(#418),#156,.T.);+#418 = FACE_BOUND('',#419,.T.);+#419 = EDGE_LOOP('',(#420,#421,#444,#466));+#420 = ORIENTED_EDGE('',*,*,#172,.T.);+#421 = ORIENTED_EDGE('',*,*,#422,.T.);+#422 = EDGE_CURVE('',#173,#423,#425,.T.);+#423 = VERTEX_POINT('',#424);+#424 = CARTESIAN_POINT('',(1.3,-1.,0.35));+#425 = SURFACE_CURVE('',#426,(#430,#437),.PCURVE_S1.);+#426 = LINE('',#427,#428);+#427 = CARTESIAN_POINT('',(1.3,-1.,0.));+#428 = VECTOR('',#429,1.);+#429 = DIRECTION('',(0.,0.,1.));+#430 = PCURVE('',#156,#431);+#431 = DEFINITIONAL_REPRESENTATION('',(#432),#436);+#432 = LINE('',#433,#434);+#433 = CARTESIAN_POINT('',(1.570796326795,0.));+#434 = VECTOR('',#435,1.);+#435 = DIRECTION('',(0.,1.));+#436 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#437 = PCURVE('',#212,#438);+#438 = DEFINITIONAL_REPRESENTATION('',(#439),#443);+#439 = LINE('',#440,#441);+#440 = CARTESIAN_POINT('',(0.3,0.));+#441 = VECTOR('',#442,1.);+#442 = DIRECTION('',(0.,-1.));+#443 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#444 = ORIENTED_EDGE('',*,*,#445,.F.);+#445 = EDGE_CURVE('',#115,#423,#446,.T.);+#446 = SURFACE_CURVE('',#447,(#452,#459),.PCURVE_S1.);+#447 = CIRCLE('',#448,0.3);+#448 = AXIS2_PLACEMENT_3D('',#449,#450,#451);+#449 = CARTESIAN_POINT('',(1.,-1.,0.35));+#450 = DIRECTION('',(0.,0.,1.));+#451 = DIRECTION('',(0.,-1.,0.));+#452 = PCURVE('',#156,#453);+#453 = DEFINITIONAL_REPRESENTATION('',(#454),#458);+#454 = LINE('',#455,#456);+#455 = CARTESIAN_POINT('',(0.,0.35));+#456 = VECTOR('',#457,1.);+#457 = DIRECTION('',(1.,0.));+#458 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#459 = PCURVE('',#130,#460);+#460 = DEFINITIONAL_REPRESENTATION('',(#461),#465);+#461 = CIRCLE('',#462,0.3);+#462 = AXIS2_PLACEMENT_2D('',#463,#464);+#463 = CARTESIAN_POINT('',(1.,-1.));+#464 = DIRECTION('',(0.,-1.));+#465 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#466 = ORIENTED_EDGE('',*,*,#142,.F.);+#467 = ADVANCED_FACE('',(#468),#130,.T.);+#468 = FACE_BOUND('',#469,.T.);+#469 = EDGE_LOOP('',(#470,#471,#472,#495,#519,#542,#566,#587));+#470 = ORIENTED_EDGE('',*,*,#114,.T.);+#471 = ORIENTED_EDGE('',*,*,#445,.T.);+#472 = ORIENTED_EDGE('',*,*,#473,.T.);+#473 = EDGE_CURVE('',#423,#474,#476,.T.);+#474 = VERTEX_POINT('',#475);+#475 = CARTESIAN_POINT('',(1.3,1.,0.35));+#476 = SURFACE_CURVE('',#477,(#481,#488),.PCURVE_S1.);+#477 = LINE('',#478,#479);+#478 = CARTESIAN_POINT('',(1.3,-1.3,0.35));+#479 = VECTOR('',#480,1.);+#480 = DIRECTION('',(0.,1.,0.));+#481 = PCURVE('',#130,#482);+#482 = DEFINITIONAL_REPRESENTATION('',(#483),#487);+#483 = LINE('',#484,#485);+#484 = CARTESIAN_POINT('',(1.3,-1.3));+#485 = VECTOR('',#486,1.);+#486 = DIRECTION('',(0.,1.));+#487 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#488 = PCURVE('',#212,#489);+#489 = DEFINITIONAL_REPRESENTATION('',(#490),#494);+#490 = LINE('',#491,#492);+#491 = CARTESIAN_POINT('',(0.,-0.35));+#492 = VECTOR('',#493,1.);+#493 = DIRECTION('',(1.,0.));+#494 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#495 = ORIENTED_EDGE('',*,*,#496,.T.);+#496 = EDGE_CURVE('',#474,#497,#499,.T.);+#497 = VERTEX_POINT('',#498);+#498 = CARTESIAN_POINT('',(1.,1.3,0.35));+#499 = SURFACE_CURVE('',#500,(#505,#512),.PCURVE_S1.);+#500 = CIRCLE('',#501,0.3);+#501 = AXIS2_PLACEMENT_3D('',#502,#503,#504);+#502 = CARTESIAN_POINT('',(1.,1.,0.35));+#503 = DIRECTION('',(0.,0.,1.));+#504 = DIRECTION('',(0.,-1.,0.));+#505 = PCURVE('',#130,#506);+#506 = DEFINITIONAL_REPRESENTATION('',(#507),#511);+#507 = CIRCLE('',#508,0.3);+#508 = AXIS2_PLACEMENT_2D('',#509,#510);+#509 = CARTESIAN_POINT('',(1.,1.));+#510 = DIRECTION('',(0.,-1.));+#511 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#512 = PCURVE('',#241,#513);+#513 = DEFINITIONAL_REPRESENTATION('',(#514),#518);+#514 = LINE('',#515,#516);+#515 = CARTESIAN_POINT('',(-1.570796326795,0.35));+#516 = VECTOR('',#517,1.);+#517 = DIRECTION('',(1.,0.));+#518 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#519 = ORIENTED_EDGE('',*,*,#520,.T.);+#520 = EDGE_CURVE('',#497,#521,#523,.T.);+#521 = VERTEX_POINT('',#522);+#522 = CARTESIAN_POINT('',(-1.,1.3,0.35));+#523 = SURFACE_CURVE('',#524,(#528,#535),.PCURVE_S1.);+#524 = LINE('',#525,#526);+#525 = CARTESIAN_POINT('',(1.3,1.3,0.35));+#526 = VECTOR('',#527,1.);+#527 = DIRECTION('',(-1.,0.,0.));+#528 = PCURVE('',#130,#529);+#529 = DEFINITIONAL_REPRESENTATION('',(#530),#534);+#530 = LINE('',#531,#532);+#531 = CARTESIAN_POINT('',(1.3,1.3));+#532 = VECTOR('',#533,1.);+#533 = DIRECTION('',(-1.,0.));+#534 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#535 = PCURVE('',#269,#536);+#536 = DEFINITIONAL_REPRESENTATION('',(#537),#541);+#537 = LINE('',#538,#539);+#538 = CARTESIAN_POINT('',(0.,-0.35));+#539 = VECTOR('',#540,1.);+#540 = DIRECTION('',(1.,0.));+#541 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#542 = ORIENTED_EDGE('',*,*,#543,.T.);+#543 = EDGE_CURVE('',#521,#544,#546,.T.);+#544 = VERTEX_POINT('',#545);+#545 = CARTESIAN_POINT('',(-1.3,1.,0.35));+#546 = SURFACE_CURVE('',#547,(#552,#559),.PCURVE_S1.);+#547 = CIRCLE('',#548,0.3);+#548 = AXIS2_PLACEMENT_3D('',#549,#550,#551);+#549 = CARTESIAN_POINT('',(-1.,1.,0.35));+#550 = DIRECTION('',(0.,0.,1.));+#551 = DIRECTION('',(0.,-1.,0.));+#552 = PCURVE('',#130,#553);+#553 = DEFINITIONAL_REPRESENTATION('',(#554),#558);+#554 = CIRCLE('',#555,0.3);+#555 = AXIS2_PLACEMENT_2D('',#556,#557);+#556 = CARTESIAN_POINT('',(-1.,1.));+#557 = DIRECTION('',(0.,-1.));+#558 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#559 = PCURVE('',#298,#560);+#560 = DEFINITIONAL_REPRESENTATION('',(#561),#565);+#561 = LINE('',#562,#563);+#562 = CARTESIAN_POINT('',(-3.14159265359,0.35));+#563 = VECTOR('',#564,1.);+#564 = DIRECTION('',(1.,0.));+#565 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#566 = ORIENTED_EDGE('',*,*,#567,.T.);+#567 = EDGE_CURVE('',#544,#369,#568,.T.);+#568 = SURFACE_CURVE('',#569,(#573,#580),.PCURVE_S1.);+#569 = LINE('',#570,#571);+#570 = CARTESIAN_POINT('',(-1.3,1.3,0.35));+#571 = VECTOR('',#572,1.);+#572 = DIRECTION('',(0.,-1.,0.));+#573 = PCURVE('',#130,#574);+#574 = DEFINITIONAL_REPRESENTATION('',(#575),#579);+#575 = LINE('',#576,#577);+#576 = CARTESIAN_POINT('',(-1.3,1.3));+#577 = VECTOR('',#578,1.);+#578 = DIRECTION('',(0.,-1.));+#579 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#580 = PCURVE('',#326,#581);+#581 = DEFINITIONAL_REPRESENTATION('',(#582),#586);+#582 = LINE('',#583,#584);+#583 = CARTESIAN_POINT('',(0.,-0.35));+#584 = VECTOR('',#585,1.);+#585 = DIRECTION('',(1.,0.));+#586 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#587 = ORIENTED_EDGE('',*,*,#391,.F.);+#588 = ADVANCED_FACE('',(#589),#326,.F.);+#589 = FACE_BOUND('',#590,.F.);+#590 = EDGE_LOOP('',(#591,#592,#613,#614));+#591 = ORIENTED_EDGE('',*,*,#310,.F.);+#592 = ORIENTED_EDGE('',*,*,#593,.T.);+#593 = EDGE_CURVE('',#282,#544,#594,.T.);+#594 = SURFACE_CURVE('',#595,(#599,#606),.PCURVE_S1.);+#595 = LINE('',#596,#597);+#596 = CARTESIAN_POINT('',(-1.3,1.,0.));+#597 = VECTOR('',#598,1.);+#598 = DIRECTION('',(0.,0.,1.));+#599 = PCURVE('',#326,#600);+#600 = DEFINITIONAL_REPRESENTATION('',(#601),#605);+#601 = LINE('',#602,#603);+#602 = CARTESIAN_POINT('',(0.3,0.));+#603 = VECTOR('',#604,1.);+#604 = DIRECTION('',(0.,-1.));+#605 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#606 = PCURVE('',#298,#607);+#607 = DEFINITIONAL_REPRESENTATION('',(#608),#612);+#608 = LINE('',#609,#610);+#609 = CARTESIAN_POINT('',(1.570796326795,0.));+#610 = VECTOR('',#611,1.);+#611 = DIRECTION('',(0.,1.));+#612 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#613 = ORIENTED_EDGE('',*,*,#567,.T.);+#614 = ORIENTED_EDGE('',*,*,#368,.F.);+#615 = ADVANCED_FACE('',(#616),#212,.F.);+#616 = FACE_BOUND('',#617,.F.);+#617 = EDGE_LOOP('',(#618,#619,#620,#621));+#618 = ORIENTED_EDGE('',*,*,#196,.F.);+#619 = ORIENTED_EDGE('',*,*,#422,.T.);+#620 = ORIENTED_EDGE('',*,*,#473,.T.);+#621 = ORIENTED_EDGE('',*,*,#622,.F.);+#622 = EDGE_CURVE('',#197,#474,#623,.T.);+#623 = SURFACE_CURVE('',#624,(#628,#635),.PCURVE_S1.);+#624 = LINE('',#625,#626);+#625 = CARTESIAN_POINT('',(1.3,1.,0.));+#626 = VECTOR('',#627,1.);+#627 = DIRECTION('',(0.,0.,1.));+#628 = PCURVE('',#212,#629);+#629 = DEFINITIONAL_REPRESENTATION('',(#630),#634);+#630 = LINE('',#631,#632);+#631 = CARTESIAN_POINT('',(2.3,0.));+#632 = VECTOR('',#633,1.);+#633 = DIRECTION('',(0.,-1.));+#634 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#635 = PCURVE('',#241,#636);+#636 = DEFINITIONAL_REPRESENTATION('',(#637),#641);+#637 = LINE('',#638,#639);+#638 = CARTESIAN_POINT('',(0.,0.));+#639 = VECTOR('',#640,1.);+#640 = DIRECTION('',(0.,1.));+#641 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#642 = ADVANCED_FACE('',(#643),#298,.T.);+#643 = FACE_BOUND('',#644,.T.);+#644 = EDGE_LOOP('',(#645,#646,#647,#648));+#645 = ORIENTED_EDGE('',*,*,#281,.T.);+#646 = ORIENTED_EDGE('',*,*,#593,.T.);+#647 = ORIENTED_EDGE('',*,*,#543,.F.);+#648 = ORIENTED_EDGE('',*,*,#649,.F.);+#649 = EDGE_CURVE('',#254,#521,#650,.T.);+#650 = SURFACE_CURVE('',#651,(#655,#662),.PCURVE_S1.);+#651 = LINE('',#652,#653);+#652 = CARTESIAN_POINT('',(-1.,1.3,0.));+#653 = VECTOR('',#654,1.);+#654 = DIRECTION('',(0.,0.,1.));+#655 = PCURVE('',#298,#656);+#656 = DEFINITIONAL_REPRESENTATION('',(#657),#661);+#657 = LINE('',#658,#659);+#658 = CARTESIAN_POINT('',(0.,0.));+#659 = VECTOR('',#660,1.);+#660 = DIRECTION('',(0.,1.));+#661 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#662 = PCURVE('',#269,#663);+#663 = DEFINITIONAL_REPRESENTATION('',(#664),#668);+#664 = LINE('',#665,#666);+#665 = CARTESIAN_POINT('',(2.3,0.));+#666 = VECTOR('',#667,1.);+#667 = DIRECTION('',(0.,-1.));+#668 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#669 = ADVANCED_FACE('',(#670),#241,.T.);+#670 = FACE_BOUND('',#671,.T.);+#671 = EDGE_LOOP('',(#672,#673,#694,#695));+#672 = ORIENTED_EDGE('',*,*,#224,.T.);+#673 = ORIENTED_EDGE('',*,*,#674,.T.);+#674 = EDGE_CURVE('',#225,#497,#675,.T.);+#675 = SURFACE_CURVE('',#676,(#680,#687),.PCURVE_S1.);+#676 = LINE('',#677,#678);+#677 = CARTESIAN_POINT('',(1.,1.3,0.));+#678 = VECTOR('',#679,1.);+#679 = DIRECTION('',(0.,0.,1.));+#680 = PCURVE('',#241,#681);+#681 = DEFINITIONAL_REPRESENTATION('',(#682),#686);+#682 = LINE('',#683,#684);+#683 = CARTESIAN_POINT('',(1.570796326795,0.));+#684 = VECTOR('',#685,1.);+#685 = DIRECTION('',(0.,1.));+#686 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#687 = PCURVE('',#269,#688);+#688 = DEFINITIONAL_REPRESENTATION('',(#689),#693);+#689 = LINE('',#690,#691);+#690 = CARTESIAN_POINT('',(0.3,0.));+#691 = VECTOR('',#692,1.);+#692 = DIRECTION('',(0.,-1.));+#693 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#694 = ORIENTED_EDGE('',*,*,#496,.F.);+#695 = ORIENTED_EDGE('',*,*,#622,.F.);+#696 = ADVANCED_FACE('',(#697),#269,.F.);+#697 = FACE_BOUND('',#698,.F.);+#698 = EDGE_LOOP('',(#699,#700,#701,#702));+#699 = ORIENTED_EDGE('',*,*,#253,.F.);+#700 = ORIENTED_EDGE('',*,*,#674,.T.);+#701 = ORIENTED_EDGE('',*,*,#520,.T.);+#702 = ORIENTED_EDGE('',*,*,#649,.F.);+#703 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#707)) GLOBAL_UNIT_ASSIGNED_CONTEXT+((#704,#705,#706)) REPRESENTATION_CONTEXT('Context #1',+ '3D Context with UNIT and UNCERTAINTY') );+#704 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#705 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#706 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#707 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#704,+ 'distance_accuracy_value','confusion accuracy');+#708 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#709,#711);+#709 = ( REPRESENTATION_RELATIONSHIP('','',#44,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#710) +SHAPE_REPRESENTATION_RELATIONSHIP() );+#710 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15);+#711 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#712+ );+#712 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('3','housing','',#5,#39,$);+#713 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#41));+#714 = SHAPE_DEFINITION_REPRESENTATION(#715,#721);+#715 = PRODUCT_DEFINITION_SHAPE('','',#716);+#716 = PRODUCT_DEFINITION('design','',#717,#720);+#717 = PRODUCT_DEFINITION_FORMATION('','',#718);+#718 = PRODUCT('outer_contact','outer_contact','',(#719));+#719 = PRODUCT_CONTEXT('',#2,'mechanical');+#720 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#721 = SHAPE_REPRESENTATION('',(#11,#722,#1094,#1424,#1754),#2084);+#722 = MANIFOLD_SOLID_BREP('',#723);+#723 = CLOSED_SHELL('',(#724,#812,#816,#851,#906,#941,#996,#1035,#1090)+ );+#724 = ADVANCED_FACE('',(#725),#738,.T.);+#725 = FACE_BOUND('',#726,.F.);+#726 = EDGE_LOOP('',(#727,#761,#784,#811));+#727 = ORIENTED_EDGE('',*,*,#728,.F.);+#728 = EDGE_CURVE('',#729,#729,#731,.T.);+#729 = VERTEX_POINT('',#730);+#730 = CARTESIAN_POINT('',(1.,0.,0.35));+#731 = SURFACE_CURVE('',#732,(#737,#749),.PCURVE_S1.);+#732 = CIRCLE('',#733,1.);+#733 = AXIS2_PLACEMENT_3D('',#734,#735,#736);+#734 = CARTESIAN_POINT('',(0.,0.,0.35));+#735 = DIRECTION('',(0.,0.,1.));+#736 = DIRECTION('',(1.,0.,0.));+#737 = PCURVE('',#738,#743);+#738 = CYLINDRICAL_SURFACE('',#739,1.);+#739 = AXIS2_PLACEMENT_3D('',#740,#741,#742);+#740 = CARTESIAN_POINT('',(0.,0.,0.35));+#741 = DIRECTION('',(-0.,-0.,-1.));+#742 = DIRECTION('',(1.,0.,0.));+#743 = DEFINITIONAL_REPRESENTATION('',(#744),#748);+#744 = LINE('',#745,#746);+#745 = CARTESIAN_POINT('',(-0.,0.));+#746 = VECTOR('',#747,1.);+#747 = DIRECTION('',(-1.,0.));+#748 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#749 = PCURVE('',#750,#755);+#750 = PLANE('',#751);+#751 = AXIS2_PLACEMENT_3D('',#752,#753,#754);+#752 = CARTESIAN_POINT('',(-6.409875621279E-17,8.737595245399E-17,0.35)+ );+#753 = DIRECTION('',(0.,0.,1.));+#754 = DIRECTION('',(1.,0.,-0.));+#755 = DEFINITIONAL_REPRESENTATION('',(#756),#760);+#756 = CIRCLE('',#757,1.);+#757 = AXIS2_PLACEMENT_2D('',#758,#759);+#758 = CARTESIAN_POINT('',(6.409875621279E-17,-8.737595245399E-17));+#759 = DIRECTION('',(1.,0.));+#760 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#761 = ORIENTED_EDGE('',*,*,#762,.T.);+#762 = EDGE_CURVE('',#729,#763,#765,.T.);+#763 = VERTEX_POINT('',#764);+#764 = CARTESIAN_POINT('',(1.,0.,0.75));+#765 = SEAM_CURVE('',#766,(#770,#777),.PCURVE_S1.);+#766 = LINE('',#767,#768);+#767 = CARTESIAN_POINT('',(1.,0.,0.35));+#768 = VECTOR('',#769,1.);+#769 = DIRECTION('',(0.,0.,1.));+#770 = PCURVE('',#738,#771);+#771 = DEFINITIONAL_REPRESENTATION('',(#772),#776);+#772 = LINE('',#773,#774);+#773 = CARTESIAN_POINT('',(-6.28318530718,0.));+#774 = VECTOR('',#775,1.);+#775 = DIRECTION('',(-0.,-1.));+#776 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#777 = PCURVE('',#738,#778);+#778 = DEFINITIONAL_REPRESENTATION('',(#779),#783);+#779 = LINE('',#780,#781);+#780 = CARTESIAN_POINT('',(-0.,0.));+#781 = VECTOR('',#782,1.);+#782 = DIRECTION('',(-0.,-1.));+#783 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#784 = ORIENTED_EDGE('',*,*,#785,.T.);+#785 = EDGE_CURVE('',#763,#763,#786,.T.);+#786 = SURFACE_CURVE('',#787,(#792,#799),.PCURVE_S1.);+#787 = CIRCLE('',#788,1.);+#788 = AXIS2_PLACEMENT_3D('',#789,#790,#791);+#789 = CARTESIAN_POINT('',(0.,0.,0.75));+#790 = DIRECTION('',(0.,0.,1.));+#791 = DIRECTION('',(1.,0.,0.));+#792 = PCURVE('',#738,#793);+#793 = DEFINITIONAL_REPRESENTATION('',(#794),#798);+#794 = LINE('',#795,#796);+#795 = CARTESIAN_POINT('',(-0.,-0.4));+#796 = VECTOR('',#797,1.);+#797 = DIRECTION('',(-1.,0.));+#798 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#799 = PCURVE('',#800,#805);+#800 = PLANE('',#801);+#801 = AXIS2_PLACEMENT_3D('',#802,#803,#804);+#802 = CARTESIAN_POINT('',(-6.409875621279E-17,8.737595245399E-17,0.75)+ );+#803 = DIRECTION('',(0.,0.,1.));+#804 = DIRECTION('',(1.,0.,-0.));+#805 = DEFINITIONAL_REPRESENTATION('',(#806),#810);+#806 = CIRCLE('',#807,1.);+#807 = AXIS2_PLACEMENT_2D('',#808,#809);+#808 = CARTESIAN_POINT('',(6.409875621279E-17,-8.737595245399E-17));+#809 = DIRECTION('',(1.,0.));+#810 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#811 = ORIENTED_EDGE('',*,*,#762,.F.);+#812 = ADVANCED_FACE('',(#813),#750,.F.);+#813 = FACE_BOUND('',#814,.F.);+#814 = EDGE_LOOP('',(#815));+#815 = ORIENTED_EDGE('',*,*,#728,.T.);+#816 = ADVANCED_FACE('',(#817,#820),#800,.T.);+#817 = FACE_BOUND('',#818,.T.);+#818 = EDGE_LOOP('',(#819));+#819 = ORIENTED_EDGE('',*,*,#785,.T.);+#820 = FACE_BOUND('',#821,.T.);+#821 = EDGE_LOOP('',(#822));+#822 = ORIENTED_EDGE('',*,*,#823,.F.);+#823 = EDGE_CURVE('',#824,#824,#826,.T.);+#824 = VERTEX_POINT('',#825);+#825 = CARTESIAN_POINT('',(0.88,2.775557561563E-17,0.75));+#826 = SURFACE_CURVE('',#827,(#832,#839),.PCURVE_S1.);+#827 = CIRCLE('',#828,0.88);+#828 = AXIS2_PLACEMENT_3D('',#829,#830,#831);+#829 = CARTESIAN_POINT('',(4.718447854657E-15,2.775557561563E-17,0.75));+#830 = DIRECTION('',(0.,0.,1.));+#831 = DIRECTION('',(1.,0.,0.));+#832 = PCURVE('',#800,#833);+#833 = DEFINITIONAL_REPRESENTATION('',(#834),#838);+#834 = CIRCLE('',#835,0.88);+#835 = AXIS2_PLACEMENT_2D('',#836,#837);+#836 = CARTESIAN_POINT('',(4.78254661087E-15,-5.962037683836E-17));+#837 = DIRECTION('',(1.,0.));+#838 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#839 = PCURVE('',#840,#845);+#840 = CYLINDRICAL_SURFACE('',#841,0.88);+#841 = AXIS2_PLACEMENT_3D('',#842,#843,#844);+#842 = CARTESIAN_POINT('',(4.718447854657E-15,2.775557561563E-17,0.75));+#843 = DIRECTION('',(-0.,-0.,-1.));+#844 = DIRECTION('',(1.,0.,0.));+#845 = DEFINITIONAL_REPRESENTATION('',(#846),#850);+#846 = LINE('',#847,#848);+#847 = CARTESIAN_POINT('',(-0.,0.));+#848 = VECTOR('',#849,1.);+#849 = DIRECTION('',(-1.,0.));+#850 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#851 = ADVANCED_FACE('',(#852),#840,.T.);+#852 = FACE_BOUND('',#853,.F.);+#853 = EDGE_LOOP('',(#854,#877,#904,#905));+#854 = ORIENTED_EDGE('',*,*,#855,.T.);+#855 = EDGE_CURVE('',#824,#856,#858,.T.);+#856 = VERTEX_POINT('',#857);+#857 = CARTESIAN_POINT('',(0.88,2.775557561563E-17,0.9));+#858 = SEAM_CURVE('',#859,(#863,#870),.PCURVE_S1.);+#859 = LINE('',#860,#861);+#860 = CARTESIAN_POINT('',(0.88,2.775557561563E-17,0.75));+#861 = VECTOR('',#862,1.);+#862 = DIRECTION('',(0.,0.,1.));+#863 = PCURVE('',#840,#864);+#864 = DEFINITIONAL_REPRESENTATION('',(#865),#869);+#865 = LINE('',#866,#867);+#866 = CARTESIAN_POINT('',(-0.,0.));+#867 = VECTOR('',#868,1.);+#868 = DIRECTION('',(-0.,-1.));+#869 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#870 = PCURVE('',#840,#871);+#871 = DEFINITIONAL_REPRESENTATION('',(#872),#876);+#872 = LINE('',#873,#874);+#873 = CARTESIAN_POINT('',(-6.28318530718,0.));+#874 = VECTOR('',#875,1.);+#875 = DIRECTION('',(-0.,-1.));+#876 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#877 = ORIENTED_EDGE('',*,*,#878,.T.);+#878 = EDGE_CURVE('',#856,#856,#879,.T.);+#879 = SURFACE_CURVE('',#880,(#885,#892),.PCURVE_S1.);+#880 = CIRCLE('',#881,0.88);+#881 = AXIS2_PLACEMENT_3D('',#882,#883,#884);+#882 = CARTESIAN_POINT('',(4.718447854657E-15,2.775557561563E-17,0.9));+#883 = DIRECTION('',(0.,0.,1.));+#884 = DIRECTION('',(1.,0.,0.));+#885 = PCURVE('',#840,#886);+#886 = DEFINITIONAL_REPRESENTATION('',(#887),#891);+#887 = LINE('',#888,#889);+#888 = CARTESIAN_POINT('',(-0.,-0.15));+#889 = VECTOR('',#890,1.);+#890 = DIRECTION('',(-1.,0.));+#891 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#892 = PCURVE('',#893,#898);+#893 = PLANE('',#894);+#894 = AXIS2_PLACEMENT_3D('',#895,#896,#897);+#895 = CARTESIAN_POINT('',(-6.409875621279E-17,8.737595245399E-17,0.9));+#896 = DIRECTION('',(0.,0.,1.));+#897 = DIRECTION('',(1.,0.,-0.));+#898 = DEFINITIONAL_REPRESENTATION('',(#899),#903);+#899 = CIRCLE('',#900,0.88);+#900 = AXIS2_PLACEMENT_2D('',#901,#902);+#901 = CARTESIAN_POINT('',(4.78254661087E-15,-5.962037683836E-17));+#902 = DIRECTION('',(1.,0.));+#903 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#904 = ORIENTED_EDGE('',*,*,#855,.F.);+#905 = ORIENTED_EDGE('',*,*,#823,.F.);+#906 = ADVANCED_FACE('',(#907,#938),#893,.F.);+#907 = FACE_BOUND('',#908,.F.);+#908 = EDGE_LOOP('',(#909));+#909 = ORIENTED_EDGE('',*,*,#910,.T.);+#910 = EDGE_CURVE('',#911,#911,#913,.T.);+#911 = VERTEX_POINT('',#912);+#912 = CARTESIAN_POINT('',(1.,0.,0.9));+#913 = SURFACE_CURVE('',#914,(#919,#926),.PCURVE_S1.);+#914 = CIRCLE('',#915,1.);+#915 = AXIS2_PLACEMENT_3D('',#916,#917,#918);+#916 = CARTESIAN_POINT('',(0.,0.,0.9));+#917 = DIRECTION('',(0.,0.,1.));+#918 = DIRECTION('',(1.,0.,0.));+#919 = PCURVE('',#893,#920);+#920 = DEFINITIONAL_REPRESENTATION('',(#921),#925);+#921 = CIRCLE('',#922,1.);+#922 = AXIS2_PLACEMENT_2D('',#923,#924);+#923 = CARTESIAN_POINT('',(6.409875621279E-17,-8.737595245399E-17));+#924 = DIRECTION('',(1.,0.));+#925 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#926 = PCURVE('',#927,#932);+#927 = CYLINDRICAL_SURFACE('',#928,1.);+#928 = AXIS2_PLACEMENT_3D('',#929,#930,#931);+#929 = CARTESIAN_POINT('',(0.,0.,0.35));+#930 = DIRECTION('',(-0.,-0.,-1.));+#931 = DIRECTION('',(1.,0.,0.));+#932 = DEFINITIONAL_REPRESENTATION('',(#933),#937);+#933 = LINE('',#934,#935);+#934 = CARTESIAN_POINT('',(-0.,-0.55));+#935 = VECTOR('',#936,1.);+#936 = DIRECTION('',(-1.,0.));+#937 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#938 = FACE_BOUND('',#939,.F.);+#939 = EDGE_LOOP('',(#940));+#940 = ORIENTED_EDGE('',*,*,#878,.F.);+#941 = ADVANCED_FACE('',(#942),#927,.T.);+#942 = FACE_BOUND('',#943,.F.);+#943 = EDGE_LOOP('',(#944,#945,#968,#995));+#944 = ORIENTED_EDGE('',*,*,#910,.F.);+#945 = ORIENTED_EDGE('',*,*,#946,.T.);+#946 = EDGE_CURVE('',#911,#947,#949,.T.);+#947 = VERTEX_POINT('',#948);+#948 = CARTESIAN_POINT('',(1.,0.,1.25));+#949 = SEAM_CURVE('',#950,(#954,#961),.PCURVE_S1.);+#950 = LINE('',#951,#952);+#951 = CARTESIAN_POINT('',(1.,0.,0.35));+#952 = VECTOR('',#953,1.);+#953 = DIRECTION('',(0.,0.,1.));+#954 = PCURVE('',#927,#955);+#955 = DEFINITIONAL_REPRESENTATION('',(#956),#960);+#956 = LINE('',#957,#958);+#957 = CARTESIAN_POINT('',(-6.28318530718,0.));+#958 = VECTOR('',#959,1.);+#959 = DIRECTION('',(-0.,-1.));+#960 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#961 = PCURVE('',#927,#962);+#962 = DEFINITIONAL_REPRESENTATION('',(#963),#967);+#963 = LINE('',#964,#965);+#964 = CARTESIAN_POINT('',(-0.,0.));+#965 = VECTOR('',#966,1.);+#966 = DIRECTION('',(-0.,-1.));+#967 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#968 = ORIENTED_EDGE('',*,*,#969,.T.);+#969 = EDGE_CURVE('',#947,#947,#970,.T.);+#970 = SURFACE_CURVE('',#971,(#976,#983),.PCURVE_S1.);+#971 = CIRCLE('',#972,1.);+#972 = AXIS2_PLACEMENT_3D('',#973,#974,#975);+#973 = CARTESIAN_POINT('',(0.,0.,1.25));+#974 = DIRECTION('',(0.,0.,1.));+#975 = DIRECTION('',(1.,0.,0.));+#976 = PCURVE('',#927,#977);+#977 = DEFINITIONAL_REPRESENTATION('',(#978),#982);+#978 = LINE('',#979,#980);+#979 = CARTESIAN_POINT('',(-0.,-0.9));+#980 = VECTOR('',#981,1.);+#981 = DIRECTION('',(-1.,0.));+#982 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#983 = PCURVE('',#984,#989);+#984 = PLANE('',#985);+#985 = AXIS2_PLACEMENT_3D('',#986,#987,#988);+#986 = CARTESIAN_POINT('',(-6.409875621279E-17,8.737595245399E-17,1.25)+ );+#987 = DIRECTION('',(0.,0.,1.));+#988 = DIRECTION('',(1.,0.,-0.));+#989 = DEFINITIONAL_REPRESENTATION('',(#990),#994);+#990 = CIRCLE('',#991,1.);+#991 = AXIS2_PLACEMENT_2D('',#992,#993);+#992 = CARTESIAN_POINT('',(6.409875621279E-17,-8.737595245399E-17));+#993 = DIRECTION('',(1.,0.));+#994 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#995 = ORIENTED_EDGE('',*,*,#946,.F.);+#996 = ADVANCED_FACE('',(#997,#1000),#984,.T.);+#997 = FACE_BOUND('',#998,.T.);+#998 = EDGE_LOOP('',(#999));+#999 = ORIENTED_EDGE('',*,*,#969,.T.);+#1000 = FACE_BOUND('',#1001,.T.);+#1001 = EDGE_LOOP('',(#1002));+#1002 = ORIENTED_EDGE('',*,*,#1003,.T.);+#1003 = EDGE_CURVE('',#1004,#1004,#1006,.T.);+#1004 = VERTEX_POINT('',#1005);+#1005 = CARTESIAN_POINT('',(0.8,0.,1.25));+#1006 = SURFACE_CURVE('',#1007,(#1012,#1023),.PCURVE_S1.);+#1007 = CIRCLE('',#1008,0.8);+#1008 = AXIS2_PLACEMENT_3D('',#1009,#1010,#1011);+#1009 = CARTESIAN_POINT('',(0.,0.,1.25));+#1010 = DIRECTION('',(0.,0.,-1.));+#1011 = DIRECTION('',(1.,0.,0.));+#1012 = PCURVE('',#984,#1013);+#1013 = DEFINITIONAL_REPRESENTATION('',(#1014),#1022);+#1014 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#1015,#1016,#1017,#1018,+#1019,#1020,#1021),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2+ ,2,2,2,1),(-2.094395102393,0.,2.094395102393,4.188790204786,+6.28318530718,8.377580409573),.UNSPECIFIED.) CURVE() +GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,+1.,0.5,1.)) REPRESENTATION_ITEM('') );+#1015 = CARTESIAN_POINT('',(0.8,-8.737595245399E-17));+#1016 = CARTESIAN_POINT('',(0.8,-1.385640646055));+#1017 = CARTESIAN_POINT('',(-0.4,-0.692820323028));+#1018 = CARTESIAN_POINT('',(-1.6,-2.833194403176E-16));+#1019 = CARTESIAN_POINT('',(-0.4,0.692820323028));+#1020 = CARTESIAN_POINT('',(0.8,1.385640646055));+#1021 = CARTESIAN_POINT('',(0.8,-8.737595245399E-17));+#1022 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1023 = PCURVE('',#1024,#1029);+#1024 = CYLINDRICAL_SURFACE('',#1025,0.8);+#1025 = AXIS2_PLACEMENT_3D('',#1026,#1027,#1028);+#1026 = CARTESIAN_POINT('',(0.,0.,0.55));+#1027 = DIRECTION('',(-0.,-0.,-1.));+#1028 = DIRECTION('',(1.,0.,0.));+#1029 = DEFINITIONAL_REPRESENTATION('',(#1030),#1034);+#1030 = LINE('',#1031,#1032);+#1031 = CARTESIAN_POINT('',(-6.28318530718,-0.7));+#1032 = VECTOR('',#1033,1.);+#1033 = DIRECTION('',(1.,-0.));+#1034 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1035 = ADVANCED_FACE('',(#1036),#1024,.F.);+#1036 = FACE_BOUND('',#1037,.T.);+#1037 = EDGE_LOOP('',(#1038,#1067,#1088,#1089));+#1038 = ORIENTED_EDGE('',*,*,#1039,.F.);+#1039 = EDGE_CURVE('',#1040,#1040,#1042,.T.);+#1040 = VERTEX_POINT('',#1041);+#1041 = CARTESIAN_POINT('',(0.8,0.,0.55));+#1042 = SURFACE_CURVE('',#1043,(#1048,#1055),.PCURVE_S1.);+#1043 = CIRCLE('',#1044,0.8);+#1044 = AXIS2_PLACEMENT_3D('',#1045,#1046,#1047);+#1045 = CARTESIAN_POINT('',(0.,0.,0.55));+#1046 = DIRECTION('',(0.,0.,1.));+#1047 = DIRECTION('',(1.,0.,0.));+#1048 = PCURVE('',#1024,#1049);+#1049 = DEFINITIONAL_REPRESENTATION('',(#1050),#1054);+#1050 = LINE('',#1051,#1052);+#1051 = CARTESIAN_POINT('',(-0.,0.));+#1052 = VECTOR('',#1053,1.);+#1053 = DIRECTION('',(-1.,0.));+#1054 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1055 = PCURVE('',#1056,#1061);+#1056 = PLANE('',#1057);+#1057 = AXIS2_PLACEMENT_3D('',#1058,#1059,#1060);+#1058 = CARTESIAN_POINT('',(-2.670781508866E-17,7.417401237738E-17,0.55)+ );+#1059 = DIRECTION('',(0.,0.,1.));+#1060 = DIRECTION('',(1.,0.,-0.));+#1061 = DEFINITIONAL_REPRESENTATION('',(#1062),#1066);+#1062 = CIRCLE('',#1063,0.8);+#1063 = AXIS2_PLACEMENT_2D('',#1064,#1065);+#1064 = CARTESIAN_POINT('',(2.670781508866E-17,-7.417401237738E-17));+#1065 = DIRECTION('',(1.,0.));+#1066 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1067 = ORIENTED_EDGE('',*,*,#1068,.T.);+#1068 = EDGE_CURVE('',#1040,#1004,#1069,.T.);+#1069 = SEAM_CURVE('',#1070,(#1074,#1081),.PCURVE_S1.);+#1070 = LINE('',#1071,#1072);+#1071 = CARTESIAN_POINT('',(0.8,0.,0.55));+#1072 = VECTOR('',#1073,1.);+#1073 = DIRECTION('',(0.,0.,1.));+#1074 = PCURVE('',#1024,#1075);+#1075 = DEFINITIONAL_REPRESENTATION('',(#1076),#1080);+#1076 = LINE('',#1077,#1078);+#1077 = CARTESIAN_POINT('',(-6.28318530718,0.));+#1078 = VECTOR('',#1079,1.);+#1079 = DIRECTION('',(-0.,-1.));+#1080 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1081 = PCURVE('',#1024,#1082);+#1082 = DEFINITIONAL_REPRESENTATION('',(#1083),#1087);+#1083 = LINE('',#1084,#1085);+#1084 = CARTESIAN_POINT('',(-0.,0.));+#1085 = VECTOR('',#1086,1.);+#1086 = DIRECTION('',(-0.,-1.));+#1087 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1088 = ORIENTED_EDGE('',*,*,#1003,.F.);+#1089 = ORIENTED_EDGE('',*,*,#1068,.F.);+#1090 = ADVANCED_FACE('',(#1091),#1056,.T.);+#1091 = FACE_BOUND('',#1092,.T.);+#1092 = EDGE_LOOP('',(#1093));+#1093 = ORIENTED_EDGE('',*,*,#1039,.T.);+#1094 = MANIFOLD_SOLID_BREP('',#1095);+#1095 = CLOSED_SHELL('',(#1096,#1216,#1316,#1363,#1410,#1417));+#1096 = ADVANCED_FACE('',(#1097),#1111,.F.);+#1097 = FACE_BOUND('',#1098,.F.);+#1098 = EDGE_LOOP('',(#1099,#1134,#1162,#1190));+#1099 = ORIENTED_EDGE('',*,*,#1100,.F.);+#1100 = EDGE_CURVE('',#1101,#1103,#1105,.T.);+#1101 = VERTEX_POINT('',#1102);+#1102 = CARTESIAN_POINT('',(1.3,-0.9,0.));+#1103 = VERTEX_POINT('',#1104);+#1104 = CARTESIAN_POINT('',(1.3,-0.9,0.15));+#1105 = SURFACE_CURVE('',#1106,(#1110,#1122),.PCURVE_S1.);+#1106 = LINE('',#1107,#1108);+#1107 = CARTESIAN_POINT('',(1.3,-0.9,0.));+#1108 = VECTOR('',#1109,1.);+#1109 = DIRECTION('',(0.,0.,1.));+#1110 = PCURVE('',#1111,#1116);+#1111 = PLANE('',#1112);+#1112 = AXIS2_PLACEMENT_3D('',#1113,#1114,#1115);+#1113 = CARTESIAN_POINT('',(1.3,-0.9,0.));+#1114 = DIRECTION('',(1.,0.,0.));+#1115 = DIRECTION('',(0.,0.,1.));+#1116 = DEFINITIONAL_REPRESENTATION('',(#1117),#1121);+#1117 = LINE('',#1118,#1119);+#1118 = CARTESIAN_POINT('',(0.,0.));+#1119 = VECTOR('',#1120,1.);+#1120 = DIRECTION('',(1.,0.));+#1121 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1122 = PCURVE('',#1123,#1128);+#1123 = PLANE('',#1124);+#1124 = AXIS2_PLACEMENT_3D('',#1125,#1126,#1127);+#1125 = CARTESIAN_POINT('',(1.3,-0.9,0.));+#1126 = DIRECTION('',(0.,1.,0.));+#1127 = DIRECTION('',(0.,0.,1.));+#1128 = DEFINITIONAL_REPRESENTATION('',(#1129),#1133);+#1129 = LINE('',#1130,#1131);+#1130 = CARTESIAN_POINT('',(0.,0.));+#1131 = VECTOR('',#1132,1.);+#1132 = DIRECTION('',(1.,0.));+#1133 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1134 = ORIENTED_EDGE('',*,*,#1135,.T.);+#1135 = EDGE_CURVE('',#1101,#1136,#1138,.T.);+#1136 = VERTEX_POINT('',#1137);+#1137 = CARTESIAN_POINT('',(1.3,0.9,0.));+#1138 = SURFACE_CURVE('',#1139,(#1143,#1150),.PCURVE_S1.);+#1139 = LINE('',#1140,#1141);+#1140 = CARTESIAN_POINT('',(1.3,-0.9,0.));+#1141 = VECTOR('',#1142,1.);+#1142 = DIRECTION('',(0.,1.,0.));+#1143 = PCURVE('',#1111,#1144);+#1144 = DEFINITIONAL_REPRESENTATION('',(#1145),#1149);+#1145 = LINE('',#1146,#1147);+#1146 = CARTESIAN_POINT('',(0.,0.));+#1147 = VECTOR('',#1148,1.);+#1148 = DIRECTION('',(0.,-1.));+#1149 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1150 = PCURVE('',#1151,#1156);+#1151 = PLANE('',#1152);+#1152 = AXIS2_PLACEMENT_3D('',#1153,#1154,#1155);+#1153 = CARTESIAN_POINT('',(1.3,-0.9,0.));+#1154 = DIRECTION('',(0.,0.,1.));+#1155 = DIRECTION('',(1.,0.,0.));+#1156 = DEFINITIONAL_REPRESENTATION('',(#1157),#1161);+#1157 = LINE('',#1158,#1159);+#1158 = CARTESIAN_POINT('',(0.,0.));+#1159 = VECTOR('',#1160,1.);+#1160 = DIRECTION('',(0.,1.));+#1161 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1162 = ORIENTED_EDGE('',*,*,#1163,.T.);+#1163 = EDGE_CURVE('',#1136,#1164,#1166,.T.);+#1164 = VERTEX_POINT('',#1165);+#1165 = CARTESIAN_POINT('',(1.3,0.9,0.15));+#1166 = SURFACE_CURVE('',#1167,(#1171,#1178),.PCURVE_S1.);+#1167 = LINE('',#1168,#1169);+#1168 = CARTESIAN_POINT('',(1.3,0.9,0.));+#1169 = VECTOR('',#1170,1.);+#1170 = DIRECTION('',(0.,0.,1.));+#1171 = PCURVE('',#1111,#1172);+#1172 = DEFINITIONAL_REPRESENTATION('',(#1173),#1177);+#1173 = LINE('',#1174,#1175);+#1174 = CARTESIAN_POINT('',(0.,-1.8));+#1175 = VECTOR('',#1176,1.);+#1176 = DIRECTION('',(1.,0.));+#1177 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1178 = PCURVE('',#1179,#1184);+#1179 = PLANE('',#1180);+#1180 = AXIS2_PLACEMENT_3D('',#1181,#1182,#1183);+#1181 = CARTESIAN_POINT('',(1.3,0.9,0.));+#1182 = DIRECTION('',(0.,1.,0.));+#1183 = DIRECTION('',(0.,0.,1.));+#1184 = DEFINITIONAL_REPRESENTATION('',(#1185),#1189);+#1185 = LINE('',#1186,#1187);+#1186 = CARTESIAN_POINT('',(0.,0.));+#1187 = VECTOR('',#1188,1.);+#1188 = DIRECTION('',(1.,0.));+#1189 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1190 = ORIENTED_EDGE('',*,*,#1191,.F.);+#1191 = EDGE_CURVE('',#1103,#1164,#1192,.T.);+#1192 = SURFACE_CURVE('',#1193,(#1197,#1204),.PCURVE_S1.);+#1193 = LINE('',#1194,#1195);+#1194 = CARTESIAN_POINT('',(1.3,-0.9,0.15));+#1195 = VECTOR('',#1196,1.);+#1196 = DIRECTION('',(0.,1.,0.));+#1197 = PCURVE('',#1111,#1198);+#1198 = DEFINITIONAL_REPRESENTATION('',(#1199),#1203);+#1199 = LINE('',#1200,#1201);+#1200 = CARTESIAN_POINT('',(0.15,0.));+#1201 = VECTOR('',#1202,1.);+#1202 = DIRECTION('',(0.,-1.));+#1203 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1204 = PCURVE('',#1205,#1210);+#1205 = PLANE('',#1206);+#1206 = AXIS2_PLACEMENT_3D('',#1207,#1208,#1209);+#1207 = CARTESIAN_POINT('',(1.3,-0.9,0.15));+#1208 = DIRECTION('',(0.,0.,1.));+#1209 = DIRECTION('',(1.,0.,0.));+#1210 = DEFINITIONAL_REPRESENTATION('',(#1211),#1215);+#1211 = LINE('',#1212,#1213);+#1212 = CARTESIAN_POINT('',(0.,0.));+#1213 = VECTOR('',#1214,1.);+#1214 = DIRECTION('',(0.,1.));+#1215 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1216 = ADVANCED_FACE('',(#1217),#1231,.T.);+#1217 = FACE_BOUND('',#1218,.T.);+#1218 = EDGE_LOOP('',(#1219,#1249,#1272,#1295));+#1219 = ORIENTED_EDGE('',*,*,#1220,.F.);+#1220 = EDGE_CURVE('',#1221,#1223,#1225,.T.);+#1221 = VERTEX_POINT('',#1222);+#1222 = CARTESIAN_POINT('',(1.5,-0.9,0.));+#1223 = VERTEX_POINT('',#1224);+#1224 = CARTESIAN_POINT('',(1.5,-0.9,0.15));+#1225 = SURFACE_CURVE('',#1226,(#1230,#1242),.PCURVE_S1.);+#1226 = LINE('',#1227,#1228);+#1227 = CARTESIAN_POINT('',(1.5,-0.9,0.));+#1228 = VECTOR('',#1229,1.);+#1229 = DIRECTION('',(0.,0.,1.));+#1230 = PCURVE('',#1231,#1236);+#1231 = PLANE('',#1232);+#1232 = AXIS2_PLACEMENT_3D('',#1233,#1234,#1235);+#1233 = CARTESIAN_POINT('',(1.5,-0.9,0.));+#1234 = DIRECTION('',(1.,0.,0.));+#1235 = DIRECTION('',(0.,0.,1.));+#1236 = DEFINITIONAL_REPRESENTATION('',(#1237),#1241);+#1237 = LINE('',#1238,#1239);+#1238 = CARTESIAN_POINT('',(0.,0.));+#1239 = VECTOR('',#1240,1.);+#1240 = DIRECTION('',(1.,0.));+#1241 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1242 = PCURVE('',#1123,#1243);+#1243 = DEFINITIONAL_REPRESENTATION('',(#1244),#1248);+#1244 = LINE('',#1245,#1246);+#1245 = CARTESIAN_POINT('',(0.,0.2));+#1246 = VECTOR('',#1247,1.);+#1247 = DIRECTION('',(1.,0.));+#1248 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1249 = ORIENTED_EDGE('',*,*,#1250,.T.);+#1250 = EDGE_CURVE('',#1221,#1251,#1253,.T.);+#1251 = VERTEX_POINT('',#1252);+#1252 = CARTESIAN_POINT('',(1.5,0.9,0.));+#1253 = SURFACE_CURVE('',#1254,(#1258,#1265),.PCURVE_S1.);+#1254 = LINE('',#1255,#1256);+#1255 = CARTESIAN_POINT('',(1.5,-0.9,0.));+#1256 = VECTOR('',#1257,1.);+#1257 = DIRECTION('',(0.,1.,0.));+#1258 = PCURVE('',#1231,#1259);+#1259 = DEFINITIONAL_REPRESENTATION('',(#1260),#1264);+#1260 = LINE('',#1261,#1262);+#1261 = CARTESIAN_POINT('',(0.,0.));+#1262 = VECTOR('',#1263,1.);+#1263 = DIRECTION('',(0.,-1.));+#1264 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1265 = PCURVE('',#1151,#1266);+#1266 = DEFINITIONAL_REPRESENTATION('',(#1267),#1271);+#1267 = LINE('',#1268,#1269);+#1268 = CARTESIAN_POINT('',(0.2,0.));+#1269 = VECTOR('',#1270,1.);+#1270 = DIRECTION('',(0.,1.));+#1271 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1272 = ORIENTED_EDGE('',*,*,#1273,.T.);+#1273 = EDGE_CURVE('',#1251,#1274,#1276,.T.);+#1274 = VERTEX_POINT('',#1275);+#1275 = CARTESIAN_POINT('',(1.5,0.9,0.15));+#1276 = SURFACE_CURVE('',#1277,(#1281,#1288),.PCURVE_S1.);+#1277 = LINE('',#1278,#1279);+#1278 = CARTESIAN_POINT('',(1.5,0.9,0.));+#1279 = VECTOR('',#1280,1.);+#1280 = DIRECTION('',(0.,0.,1.));+#1281 = PCURVE('',#1231,#1282);+#1282 = DEFINITIONAL_REPRESENTATION('',(#1283),#1287);+#1283 = LINE('',#1284,#1285);+#1284 = CARTESIAN_POINT('',(0.,-1.8));+#1285 = VECTOR('',#1286,1.);+#1286 = DIRECTION('',(1.,0.));+#1287 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1288 = PCURVE('',#1179,#1289);+#1289 = DEFINITIONAL_REPRESENTATION('',(#1290),#1294);+#1290 = LINE('',#1291,#1292);+#1291 = CARTESIAN_POINT('',(0.,0.2));+#1292 = VECTOR('',#1293,1.);+#1293 = DIRECTION('',(1.,0.));+#1294 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1295 = ORIENTED_EDGE('',*,*,#1296,.F.);+#1296 = EDGE_CURVE('',#1223,#1274,#1297,.T.);+#1297 = SURFACE_CURVE('',#1298,(#1302,#1309),.PCURVE_S1.);+#1298 = LINE('',#1299,#1300);+#1299 = CARTESIAN_POINT('',(1.5,-0.9,0.15));+#1300 = VECTOR('',#1301,1.);+#1301 = DIRECTION('',(0.,1.,0.));+#1302 = PCURVE('',#1231,#1303);+#1303 = DEFINITIONAL_REPRESENTATION('',(#1304),#1308);+#1304 = LINE('',#1305,#1306);+#1305 = CARTESIAN_POINT('',(0.15,0.));+#1306 = VECTOR('',#1307,1.);+#1307 = DIRECTION('',(0.,-1.));+#1308 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1309 = PCURVE('',#1205,#1310);+#1310 = DEFINITIONAL_REPRESENTATION('',(#1311),#1315);+#1311 = LINE('',#1312,#1313);+#1312 = CARTESIAN_POINT('',(0.2,0.));+#1313 = VECTOR('',#1314,1.);+#1314 = DIRECTION('',(0.,1.));+#1315 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1316 = ADVANCED_FACE('',(#1317),#1123,.F.);+#1317 = FACE_BOUND('',#1318,.F.);+#1318 = EDGE_LOOP('',(#1319,#1340,#1341,#1362));+#1319 = ORIENTED_EDGE('',*,*,#1320,.F.);+#1320 = EDGE_CURVE('',#1101,#1221,#1321,.T.);+#1321 = SURFACE_CURVE('',#1322,(#1326,#1333),.PCURVE_S1.);+#1322 = LINE('',#1323,#1324);+#1323 = CARTESIAN_POINT('',(1.3,-0.9,0.));+#1324 = VECTOR('',#1325,1.);+#1325 = DIRECTION('',(1.,0.,0.));+#1326 = PCURVE('',#1123,#1327);+#1327 = DEFINITIONAL_REPRESENTATION('',(#1328),#1332);+#1328 = LINE('',#1329,#1330);+#1329 = CARTESIAN_POINT('',(0.,0.));+#1330 = VECTOR('',#1331,1.);+#1331 = DIRECTION('',(0.,1.));+#1332 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1333 = PCURVE('',#1151,#1334);+#1334 = DEFINITIONAL_REPRESENTATION('',(#1335),#1339);+#1335 = LINE('',#1336,#1337);+#1336 = CARTESIAN_POINT('',(0.,0.));+#1337 = VECTOR('',#1338,1.);+#1338 = DIRECTION('',(1.,0.));+#1339 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1340 = ORIENTED_EDGE('',*,*,#1100,.T.);+#1341 = ORIENTED_EDGE('',*,*,#1342,.T.);+#1342 = EDGE_CURVE('',#1103,#1223,#1343,.T.);+#1343 = SURFACE_CURVE('',#1344,(#1348,#1355),.PCURVE_S1.);+#1344 = LINE('',#1345,#1346);+#1345 = CARTESIAN_POINT('',(1.3,-0.9,0.15));+#1346 = VECTOR('',#1347,1.);+#1347 = DIRECTION('',(1.,0.,0.));+#1348 = PCURVE('',#1123,#1349);+#1349 = DEFINITIONAL_REPRESENTATION('',(#1350),#1354);+#1350 = LINE('',#1351,#1352);+#1351 = CARTESIAN_POINT('',(0.15,0.));+#1352 = VECTOR('',#1353,1.);+#1353 = DIRECTION('',(0.,1.));+#1354 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1355 = PCURVE('',#1205,#1356);+#1356 = DEFINITIONAL_REPRESENTATION('',(#1357),#1361);+#1357 = LINE('',#1358,#1359);+#1358 = CARTESIAN_POINT('',(0.,0.));+#1359 = VECTOR('',#1360,1.);+#1360 = DIRECTION('',(1.,0.));+#1361 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1362 = ORIENTED_EDGE('',*,*,#1220,.F.);+#1363 = ADVANCED_FACE('',(#1364),#1179,.T.);+#1364 = FACE_BOUND('',#1365,.T.);+#1365 = EDGE_LOOP('',(#1366,#1387,#1388,#1409));+#1366 = ORIENTED_EDGE('',*,*,#1367,.F.);+#1367 = EDGE_CURVE('',#1136,#1251,#1368,.T.);+#1368 = SURFACE_CURVE('',#1369,(#1373,#1380),.PCURVE_S1.);+#1369 = LINE('',#1370,#1371);+#1370 = CARTESIAN_POINT('',(1.3,0.9,0.));+#1371 = VECTOR('',#1372,1.);+#1372 = DIRECTION('',(1.,0.,0.));+#1373 = PCURVE('',#1179,#1374);+#1374 = DEFINITIONAL_REPRESENTATION('',(#1375),#1379);+#1375 = LINE('',#1376,#1377);+#1376 = CARTESIAN_POINT('',(0.,0.));+#1377 = VECTOR('',#1378,1.);+#1378 = DIRECTION('',(0.,1.));+#1379 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1380 = PCURVE('',#1151,#1381);+#1381 = DEFINITIONAL_REPRESENTATION('',(#1382),#1386);+#1382 = LINE('',#1383,#1384);+#1383 = CARTESIAN_POINT('',(0.,1.8));+#1384 = VECTOR('',#1385,1.);+#1385 = DIRECTION('',(1.,0.));+#1386 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1387 = ORIENTED_EDGE('',*,*,#1163,.T.);+#1388 = ORIENTED_EDGE('',*,*,#1389,.T.);+#1389 = EDGE_CURVE('',#1164,#1274,#1390,.T.);+#1390 = SURFACE_CURVE('',#1391,(#1395,#1402),.PCURVE_S1.);+#1391 = LINE('',#1392,#1393);+#1392 = CARTESIAN_POINT('',(1.3,0.9,0.15));+#1393 = VECTOR('',#1394,1.);+#1394 = DIRECTION('',(1.,0.,0.));+#1395 = PCURVE('',#1179,#1396);+#1396 = DEFINITIONAL_REPRESENTATION('',(#1397),#1401);+#1397 = LINE('',#1398,#1399);+#1398 = CARTESIAN_POINT('',(0.15,0.));+#1399 = VECTOR('',#1400,1.);+#1400 = DIRECTION('',(0.,1.));+#1401 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1402 = PCURVE('',#1205,#1403);+#1403 = DEFINITIONAL_REPRESENTATION('',(#1404),#1408);+#1404 = LINE('',#1405,#1406);+#1405 = CARTESIAN_POINT('',(0.,1.8));+#1406 = VECTOR('',#1407,1.);+#1407 = DIRECTION('',(1.,0.));+#1408 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1409 = ORIENTED_EDGE('',*,*,#1273,.F.);+#1410 = ADVANCED_FACE('',(#1411),#1151,.F.);+#1411 = FACE_BOUND('',#1412,.F.);+#1412 = EDGE_LOOP('',(#1413,#1414,#1415,#1416));+#1413 = ORIENTED_EDGE('',*,*,#1135,.F.);+#1414 = ORIENTED_EDGE('',*,*,#1320,.T.);+#1415 = ORIENTED_EDGE('',*,*,#1250,.T.);+#1416 = ORIENTED_EDGE('',*,*,#1367,.F.);+#1417 = ADVANCED_FACE('',(#1418),#1205,.T.);+#1418 = FACE_BOUND('',#1419,.T.);+#1419 = EDGE_LOOP('',(#1420,#1421,#1422,#1423));+#1420 = ORIENTED_EDGE('',*,*,#1191,.F.);+#1421 = ORIENTED_EDGE('',*,*,#1342,.T.);+#1422 = ORIENTED_EDGE('',*,*,#1296,.T.);+#1423 = ORIENTED_EDGE('',*,*,#1389,.F.);+#1424 = MANIFOLD_SOLID_BREP('',#1425);+#1425 = CLOSED_SHELL('',(#1426,#1546,#1646,#1693,#1740,#1747));+#1426 = ADVANCED_FACE('',(#1427),#1441,.F.);+#1427 = FACE_BOUND('',#1428,.F.);+#1428 = EDGE_LOOP('',(#1429,#1464,#1492,#1520));+#1429 = ORIENTED_EDGE('',*,*,#1430,.F.);+#1430 = EDGE_CURVE('',#1431,#1433,#1435,.T.);+#1431 = VERTEX_POINT('',#1432);+#1432 = CARTESIAN_POINT('',(-1.5,-0.9,0.));+#1433 = VERTEX_POINT('',#1434);+#1434 = CARTESIAN_POINT('',(-1.5,-0.9,0.15));+#1435 = SURFACE_CURVE('',#1436,(#1440,#1452),.PCURVE_S1.);+#1436 = LINE('',#1437,#1438);+#1437 = CARTESIAN_POINT('',(-1.5,-0.9,0.));+#1438 = VECTOR('',#1439,1.);+#1439 = DIRECTION('',(0.,0.,1.));+#1440 = PCURVE('',#1441,#1446);+#1441 = PLANE('',#1442);+#1442 = AXIS2_PLACEMENT_3D('',#1443,#1444,#1445);+#1443 = CARTESIAN_POINT('',(-1.5,-0.9,0.));+#1444 = DIRECTION('',(1.,0.,0.));+#1445 = DIRECTION('',(0.,0.,1.));+#1446 = DEFINITIONAL_REPRESENTATION('',(#1447),#1451);+#1447 = LINE('',#1448,#1449);+#1448 = CARTESIAN_POINT('',(0.,0.));+#1449 = VECTOR('',#1450,1.);+#1450 = DIRECTION('',(1.,0.));+#1451 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1452 = PCURVE('',#1453,#1458);+#1453 = PLANE('',#1454);+#1454 = AXIS2_PLACEMENT_3D('',#1455,#1456,#1457);+#1455 = CARTESIAN_POINT('',(-1.5,-0.9,0.));+#1456 = DIRECTION('',(0.,1.,0.));+#1457 = DIRECTION('',(0.,0.,1.));+#1458 = DEFINITIONAL_REPRESENTATION('',(#1459),#1463);+#1459 = LINE('',#1460,#1461);+#1460 = CARTESIAN_POINT('',(0.,0.));+#1461 = VECTOR('',#1462,1.);+#1462 = DIRECTION('',(1.,0.));+#1463 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1464 = ORIENTED_EDGE('',*,*,#1465,.T.);+#1465 = EDGE_CURVE('',#1431,#1466,#1468,.T.);+#1466 = VERTEX_POINT('',#1467);+#1467 = CARTESIAN_POINT('',(-1.5,0.9,0.));+#1468 = SURFACE_CURVE('',#1469,(#1473,#1480),.PCURVE_S1.);+#1469 = LINE('',#1470,#1471);+#1470 = CARTESIAN_POINT('',(-1.5,-0.9,0.));+#1471 = VECTOR('',#1472,1.);+#1472 = DIRECTION('',(0.,1.,0.));+#1473 = PCURVE('',#1441,#1474);+#1474 = DEFINITIONAL_REPRESENTATION('',(#1475),#1479);+#1475 = LINE('',#1476,#1477);+#1476 = CARTESIAN_POINT('',(0.,0.));+#1477 = VECTOR('',#1478,1.);+#1478 = DIRECTION('',(0.,-1.));+#1479 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1480 = PCURVE('',#1481,#1486);+#1481 = PLANE('',#1482);+#1482 = AXIS2_PLACEMENT_3D('',#1483,#1484,#1485);+#1483 = CARTESIAN_POINT('',(-1.5,-0.9,0.));+#1484 = DIRECTION('',(0.,0.,1.));+#1485 = DIRECTION('',(1.,0.,0.));+#1486 = DEFINITIONAL_REPRESENTATION('',(#1487),#1491);+#1487 = LINE('',#1488,#1489);+#1488 = CARTESIAN_POINT('',(0.,0.));+#1489 = VECTOR('',#1490,1.);+#1490 = DIRECTION('',(0.,1.));+#1491 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1492 = ORIENTED_EDGE('',*,*,#1493,.T.);+#1493 = EDGE_CURVE('',#1466,#1494,#1496,.T.);+#1494 = VERTEX_POINT('',#1495);+#1495 = CARTESIAN_POINT('',(-1.5,0.9,0.15));+#1496 = SURFACE_CURVE('',#1497,(#1501,#1508),.PCURVE_S1.);+#1497 = LINE('',#1498,#1499);+#1498 = CARTESIAN_POINT('',(-1.5,0.9,0.));+#1499 = VECTOR('',#1500,1.);+#1500 = DIRECTION('',(0.,0.,1.));+#1501 = PCURVE('',#1441,#1502);+#1502 = DEFINITIONAL_REPRESENTATION('',(#1503),#1507);+#1503 = LINE('',#1504,#1505);+#1504 = CARTESIAN_POINT('',(0.,-1.8));+#1505 = VECTOR('',#1506,1.);+#1506 = DIRECTION('',(1.,0.));+#1507 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1508 = PCURVE('',#1509,#1514);+#1509 = PLANE('',#1510);+#1510 = AXIS2_PLACEMENT_3D('',#1511,#1512,#1513);+#1511 = CARTESIAN_POINT('',(-1.5,0.9,0.));+#1512 = DIRECTION('',(0.,1.,0.));+#1513 = DIRECTION('',(0.,0.,1.));+#1514 = DEFINITIONAL_REPRESENTATION('',(#1515),#1519);+#1515 = LINE('',#1516,#1517);+#1516 = CARTESIAN_POINT('',(0.,0.));+#1517 = VECTOR('',#1518,1.);+#1518 = DIRECTION('',(1.,0.));+#1519 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1520 = ORIENTED_EDGE('',*,*,#1521,.F.);+#1521 = EDGE_CURVE('',#1433,#1494,#1522,.T.);+#1522 = SURFACE_CURVE('',#1523,(#1527,#1534),.PCURVE_S1.);+#1523 = LINE('',#1524,#1525);+#1524 = CARTESIAN_POINT('',(-1.5,-0.9,0.15));+#1525 = VECTOR('',#1526,1.);+#1526 = DIRECTION('',(0.,1.,0.));+#1527 = PCURVE('',#1441,#1528);+#1528 = DEFINITIONAL_REPRESENTATION('',(#1529),#1533);+#1529 = LINE('',#1530,#1531);+#1530 = CARTESIAN_POINT('',(0.15,0.));+#1531 = VECTOR('',#1532,1.);+#1532 = DIRECTION('',(0.,-1.));+#1533 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1534 = PCURVE('',#1535,#1540);+#1535 = PLANE('',#1536);+#1536 = AXIS2_PLACEMENT_3D('',#1537,#1538,#1539);+#1537 = CARTESIAN_POINT('',(-1.5,-0.9,0.15));+#1538 = DIRECTION('',(0.,0.,1.));+#1539 = DIRECTION('',(1.,0.,0.));+#1540 = DEFINITIONAL_REPRESENTATION('',(#1541),#1545);+#1541 = LINE('',#1542,#1543);+#1542 = CARTESIAN_POINT('',(0.,0.));+#1543 = VECTOR('',#1544,1.);+#1544 = DIRECTION('',(0.,1.));+#1545 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1546 = ADVANCED_FACE('',(#1547),#1561,.T.);+#1547 = FACE_BOUND('',#1548,.T.);+#1548 = EDGE_LOOP('',(#1549,#1579,#1602,#1625));+#1549 = ORIENTED_EDGE('',*,*,#1550,.F.);+#1550 = EDGE_CURVE('',#1551,#1553,#1555,.T.);+#1551 = VERTEX_POINT('',#1552);+#1552 = CARTESIAN_POINT('',(-1.3,-0.9,0.));+#1553 = VERTEX_POINT('',#1554);+#1554 = CARTESIAN_POINT('',(-1.3,-0.9,0.15));+#1555 = SURFACE_CURVE('',#1556,(#1560,#1572),.PCURVE_S1.);+#1556 = LINE('',#1557,#1558);+#1557 = CARTESIAN_POINT('',(-1.3,-0.9,0.));+#1558 = VECTOR('',#1559,1.);+#1559 = DIRECTION('',(0.,0.,1.));+#1560 = PCURVE('',#1561,#1566);+#1561 = PLANE('',#1562);+#1562 = AXIS2_PLACEMENT_3D('',#1563,#1564,#1565);+#1563 = CARTESIAN_POINT('',(-1.3,-0.9,0.));+#1564 = DIRECTION('',(1.,0.,0.));+#1565 = DIRECTION('',(0.,0.,1.));+#1566 = DEFINITIONAL_REPRESENTATION('',(#1567),#1571);+#1567 = LINE('',#1568,#1569);+#1568 = CARTESIAN_POINT('',(0.,0.));+#1569 = VECTOR('',#1570,1.);+#1570 = DIRECTION('',(1.,0.));+#1571 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1572 = PCURVE('',#1453,#1573);+#1573 = DEFINITIONAL_REPRESENTATION('',(#1574),#1578);+#1574 = LINE('',#1575,#1576);+#1575 = CARTESIAN_POINT('',(0.,0.2));+#1576 = VECTOR('',#1577,1.);+#1577 = DIRECTION('',(1.,0.));+#1578 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1579 = ORIENTED_EDGE('',*,*,#1580,.T.);+#1580 = EDGE_CURVE('',#1551,#1581,#1583,.T.);+#1581 = VERTEX_POINT('',#1582);+#1582 = CARTESIAN_POINT('',(-1.3,0.9,0.));+#1583 = SURFACE_CURVE('',#1584,(#1588,#1595),.PCURVE_S1.);+#1584 = LINE('',#1585,#1586);+#1585 = CARTESIAN_POINT('',(-1.3,-0.9,0.));+#1586 = VECTOR('',#1587,1.);+#1587 = DIRECTION('',(0.,1.,0.));+#1588 = PCURVE('',#1561,#1589);+#1589 = DEFINITIONAL_REPRESENTATION('',(#1590),#1594);+#1590 = LINE('',#1591,#1592);+#1591 = CARTESIAN_POINT('',(0.,0.));+#1592 = VECTOR('',#1593,1.);+#1593 = DIRECTION('',(0.,-1.));+#1594 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1595 = PCURVE('',#1481,#1596);+#1596 = DEFINITIONAL_REPRESENTATION('',(#1597),#1601);+#1597 = LINE('',#1598,#1599);+#1598 = CARTESIAN_POINT('',(0.2,0.));+#1599 = VECTOR('',#1600,1.);+#1600 = DIRECTION('',(0.,1.));+#1601 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1602 = ORIENTED_EDGE('',*,*,#1603,.T.);+#1603 = EDGE_CURVE('',#1581,#1604,#1606,.T.);+#1604 = VERTEX_POINT('',#1605);+#1605 = CARTESIAN_POINT('',(-1.3,0.9,0.15));+#1606 = SURFACE_CURVE('',#1607,(#1611,#1618),.PCURVE_S1.);+#1607 = LINE('',#1608,#1609);+#1608 = CARTESIAN_POINT('',(-1.3,0.9,0.));+#1609 = VECTOR('',#1610,1.);+#1610 = DIRECTION('',(0.,0.,1.));+#1611 = PCURVE('',#1561,#1612);+#1612 = DEFINITIONAL_REPRESENTATION('',(#1613),#1617);+#1613 = LINE('',#1614,#1615);+#1614 = CARTESIAN_POINT('',(0.,-1.8));+#1615 = VECTOR('',#1616,1.);+#1616 = DIRECTION('',(1.,0.));+#1617 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1618 = PCURVE('',#1509,#1619);+#1619 = DEFINITIONAL_REPRESENTATION('',(#1620),#1624);+#1620 = LINE('',#1621,#1622);+#1621 = CARTESIAN_POINT('',(0.,0.2));+#1622 = VECTOR('',#1623,1.);+#1623 = DIRECTION('',(1.,0.));+#1624 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1625 = ORIENTED_EDGE('',*,*,#1626,.F.);+#1626 = EDGE_CURVE('',#1553,#1604,#1627,.T.);+#1627 = SURFACE_CURVE('',#1628,(#1632,#1639),.PCURVE_S1.);+#1628 = LINE('',#1629,#1630);+#1629 = CARTESIAN_POINT('',(-1.3,-0.9,0.15));+#1630 = VECTOR('',#1631,1.);+#1631 = DIRECTION('',(0.,1.,0.));+#1632 = PCURVE('',#1561,#1633);+#1633 = DEFINITIONAL_REPRESENTATION('',(#1634),#1638);+#1634 = LINE('',#1635,#1636);+#1635 = CARTESIAN_POINT('',(0.15,0.));+#1636 = VECTOR('',#1637,1.);+#1637 = DIRECTION('',(0.,-1.));+#1638 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1639 = PCURVE('',#1535,#1640);+#1640 = DEFINITIONAL_REPRESENTATION('',(#1641),#1645);+#1641 = LINE('',#1642,#1643);+#1642 = CARTESIAN_POINT('',(0.2,0.));+#1643 = VECTOR('',#1644,1.);+#1644 = DIRECTION('',(0.,1.));+#1645 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1646 = ADVANCED_FACE('',(#1647),#1453,.F.);+#1647 = FACE_BOUND('',#1648,.F.);+#1648 = EDGE_LOOP('',(#1649,#1670,#1671,#1692));+#1649 = ORIENTED_EDGE('',*,*,#1650,.F.);+#1650 = EDGE_CURVE('',#1431,#1551,#1651,.T.);+#1651 = SURFACE_CURVE('',#1652,(#1656,#1663),.PCURVE_S1.);+#1652 = LINE('',#1653,#1654);+#1653 = CARTESIAN_POINT('',(-1.5,-0.9,0.));+#1654 = VECTOR('',#1655,1.);+#1655 = DIRECTION('',(1.,0.,0.));+#1656 = PCURVE('',#1453,#1657);+#1657 = DEFINITIONAL_REPRESENTATION('',(#1658),#1662);+#1658 = LINE('',#1659,#1660);+#1659 = CARTESIAN_POINT('',(0.,0.));+#1660 = VECTOR('',#1661,1.);+#1661 = DIRECTION('',(0.,1.));+#1662 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1663 = PCURVE('',#1481,#1664);+#1664 = DEFINITIONAL_REPRESENTATION('',(#1665),#1669);+#1665 = LINE('',#1666,#1667);+#1666 = CARTESIAN_POINT('',(0.,0.));+#1667 = VECTOR('',#1668,1.);+#1668 = DIRECTION('',(1.,0.));+#1669 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1670 = ORIENTED_EDGE('',*,*,#1430,.T.);+#1671 = ORIENTED_EDGE('',*,*,#1672,.T.);+#1672 = EDGE_CURVE('',#1433,#1553,#1673,.T.);+#1673 = SURFACE_CURVE('',#1674,(#1678,#1685),.PCURVE_S1.);+#1674 = LINE('',#1675,#1676);+#1675 = CARTESIAN_POINT('',(-1.5,-0.9,0.15));+#1676 = VECTOR('',#1677,1.);+#1677 = DIRECTION('',(1.,0.,0.));+#1678 = PCURVE('',#1453,#1679);+#1679 = DEFINITIONAL_REPRESENTATION('',(#1680),#1684);+#1680 = LINE('',#1681,#1682);+#1681 = CARTESIAN_POINT('',(0.15,0.));+#1682 = VECTOR('',#1683,1.);+#1683 = DIRECTION('',(0.,1.));+#1684 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1685 = PCURVE('',#1535,#1686);+#1686 = DEFINITIONAL_REPRESENTATION('',(#1687),#1691);+#1687 = LINE('',#1688,#1689);+#1688 = CARTESIAN_POINT('',(0.,0.));+#1689 = VECTOR('',#1690,1.);+#1690 = DIRECTION('',(1.,0.));+#1691 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1692 = ORIENTED_EDGE('',*,*,#1550,.F.);+#1693 = ADVANCED_FACE('',(#1694),#1509,.T.);+#1694 = FACE_BOUND('',#1695,.T.);+#1695 = EDGE_LOOP('',(#1696,#1717,#1718,#1739));+#1696 = ORIENTED_EDGE('',*,*,#1697,.F.);+#1697 = EDGE_CURVE('',#1466,#1581,#1698,.T.);+#1698 = SURFACE_CURVE('',#1699,(#1703,#1710),.PCURVE_S1.);+#1699 = LINE('',#1700,#1701);+#1700 = CARTESIAN_POINT('',(-1.5,0.9,0.));+#1701 = VECTOR('',#1702,1.);+#1702 = DIRECTION('',(1.,0.,0.));+#1703 = PCURVE('',#1509,#1704);+#1704 = DEFINITIONAL_REPRESENTATION('',(#1705),#1709);+#1705 = LINE('',#1706,#1707);+#1706 = CARTESIAN_POINT('',(0.,0.));+#1707 = VECTOR('',#1708,1.);+#1708 = DIRECTION('',(0.,1.));+#1709 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1710 = PCURVE('',#1481,#1711);+#1711 = DEFINITIONAL_REPRESENTATION('',(#1712),#1716);+#1712 = LINE('',#1713,#1714);+#1713 = CARTESIAN_POINT('',(0.,1.8));+#1714 = VECTOR('',#1715,1.);+#1715 = DIRECTION('',(1.,0.));+#1716 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1717 = ORIENTED_EDGE('',*,*,#1493,.T.);+#1718 = ORIENTED_EDGE('',*,*,#1719,.T.);+#1719 = EDGE_CURVE('',#1494,#1604,#1720,.T.);+#1720 = SURFACE_CURVE('',#1721,(#1725,#1732),.PCURVE_S1.);+#1721 = LINE('',#1722,#1723);+#1722 = CARTESIAN_POINT('',(-1.5,0.9,0.15));+#1723 = VECTOR('',#1724,1.);+#1724 = DIRECTION('',(1.,0.,0.));+#1725 = PCURVE('',#1509,#1726);+#1726 = DEFINITIONAL_REPRESENTATION('',(#1727),#1731);+#1727 = LINE('',#1728,#1729);+#1728 = CARTESIAN_POINT('',(0.15,0.));+#1729 = VECTOR('',#1730,1.);+#1730 = DIRECTION('',(0.,1.));+#1731 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1732 = PCURVE('',#1535,#1733);+#1733 = DEFINITIONAL_REPRESENTATION('',(#1734),#1738);+#1734 = LINE('',#1735,#1736);+#1735 = CARTESIAN_POINT('',(0.,1.8));+#1736 = VECTOR('',#1737,1.);+#1737 = DIRECTION('',(1.,0.));+#1738 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1739 = ORIENTED_EDGE('',*,*,#1603,.F.);+#1740 = ADVANCED_FACE('',(#1741),#1481,.F.);+#1741 = FACE_BOUND('',#1742,.F.);+#1742 = EDGE_LOOP('',(#1743,#1744,#1745,#1746));+#1743 = ORIENTED_EDGE('',*,*,#1465,.F.);+#1744 = ORIENTED_EDGE('',*,*,#1650,.T.);+#1745 = ORIENTED_EDGE('',*,*,#1580,.T.);+#1746 = ORIENTED_EDGE('',*,*,#1697,.F.);+#1747 = ADVANCED_FACE('',(#1748),#1535,.T.);+#1748 = FACE_BOUND('',#1749,.T.);+#1749 = EDGE_LOOP('',(#1750,#1751,#1752,#1753));+#1750 = ORIENTED_EDGE('',*,*,#1521,.F.);+#1751 = ORIENTED_EDGE('',*,*,#1672,.T.);+#1752 = ORIENTED_EDGE('',*,*,#1626,.T.);+#1753 = ORIENTED_EDGE('',*,*,#1719,.F.);+#1754 = MANIFOLD_SOLID_BREP('',#1755);+#1755 = CLOSED_SHELL('',(#1756,#1876,#1976,#2023,#2070,#2077));+#1756 = ADVANCED_FACE('',(#1757),#1771,.F.);+#1757 = FACE_BOUND('',#1758,.F.);+#1758 = EDGE_LOOP('',(#1759,#1794,#1822,#1850));+#1759 = ORIENTED_EDGE('',*,*,#1760,.F.);+#1760 = EDGE_CURVE('',#1761,#1763,#1765,.T.);+#1761 = VERTEX_POINT('',#1762);+#1762 = CARTESIAN_POINT('',(-0.3,1.3,0.));+#1763 = VERTEX_POINT('',#1764);+#1764 = CARTESIAN_POINT('',(-0.3,1.3,0.1));+#1765 = SURFACE_CURVE('',#1766,(#1770,#1782),.PCURVE_S1.);+#1766 = LINE('',#1767,#1768);+#1767 = CARTESIAN_POINT('',(-0.3,1.3,0.));+#1768 = VECTOR('',#1769,1.);+#1769 = DIRECTION('',(0.,0.,1.));+#1770 = PCURVE('',#1771,#1776);+#1771 = PLANE('',#1772);+#1772 = AXIS2_PLACEMENT_3D('',#1773,#1774,#1775);+#1773 = CARTESIAN_POINT('',(-0.3,1.3,0.));+#1774 = DIRECTION('',(1.,0.,0.));+#1775 = DIRECTION('',(0.,0.,1.));+#1776 = DEFINITIONAL_REPRESENTATION('',(#1777),#1781);+#1777 = LINE('',#1778,#1779);+#1778 = CARTESIAN_POINT('',(0.,0.));+#1779 = VECTOR('',#1780,1.);+#1780 = DIRECTION('',(1.,0.));+#1781 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1782 = PCURVE('',#1783,#1788);+#1783 = PLANE('',#1784);+#1784 = AXIS2_PLACEMENT_3D('',#1785,#1786,#1787);+#1785 = CARTESIAN_POINT('',(-0.3,1.3,0.));+#1786 = DIRECTION('',(0.,1.,0.));+#1787 = DIRECTION('',(0.,0.,1.));+#1788 = DEFINITIONAL_REPRESENTATION('',(#1789),#1793);+#1789 = LINE('',#1790,#1791);+#1790 = CARTESIAN_POINT('',(0.,0.));+#1791 = VECTOR('',#1792,1.);+#1792 = DIRECTION('',(1.,0.));+#1793 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1794 = ORIENTED_EDGE('',*,*,#1795,.T.);+#1795 = EDGE_CURVE('',#1761,#1796,#1798,.T.);+#1796 = VERTEX_POINT('',#1797);+#1797 = CARTESIAN_POINT('',(-0.3,1.55,0.));+#1798 = SURFACE_CURVE('',#1799,(#1803,#1810),.PCURVE_S1.);+#1799 = LINE('',#1800,#1801);+#1800 = CARTESIAN_POINT('',(-0.3,1.3,0.));+#1801 = VECTOR('',#1802,1.);+#1802 = DIRECTION('',(0.,1.,0.));+#1803 = PCURVE('',#1771,#1804);+#1804 = DEFINITIONAL_REPRESENTATION('',(#1805),#1809);+#1805 = LINE('',#1806,#1807);+#1806 = CARTESIAN_POINT('',(0.,0.));+#1807 = VECTOR('',#1808,1.);+#1808 = DIRECTION('',(0.,-1.));+#1809 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1810 = PCURVE('',#1811,#1816);+#1811 = PLANE('',#1812);+#1812 = AXIS2_PLACEMENT_3D('',#1813,#1814,#1815);+#1813 = CARTESIAN_POINT('',(-0.3,1.3,0.));+#1814 = DIRECTION('',(0.,0.,1.));+#1815 = DIRECTION('',(1.,0.,0.));+#1816 = DEFINITIONAL_REPRESENTATION('',(#1817),#1821);+#1817 = LINE('',#1818,#1819);+#1818 = CARTESIAN_POINT('',(0.,0.));+#1819 = VECTOR('',#1820,1.);+#1820 = DIRECTION('',(0.,1.));+#1821 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1822 = ORIENTED_EDGE('',*,*,#1823,.T.);+#1823 = EDGE_CURVE('',#1796,#1824,#1826,.T.);+#1824 = VERTEX_POINT('',#1825);+#1825 = CARTESIAN_POINT('',(-0.3,1.55,0.1));+#1826 = SURFACE_CURVE('',#1827,(#1831,#1838),.PCURVE_S1.);+#1827 = LINE('',#1828,#1829);+#1828 = CARTESIAN_POINT('',(-0.3,1.55,0.));+#1829 = VECTOR('',#1830,1.);+#1830 = DIRECTION('',(0.,0.,1.));+#1831 = PCURVE('',#1771,#1832);+#1832 = DEFINITIONAL_REPRESENTATION('',(#1833),#1837);+#1833 = LINE('',#1834,#1835);+#1834 = CARTESIAN_POINT('',(0.,-0.25));+#1835 = VECTOR('',#1836,1.);+#1836 = DIRECTION('',(1.,0.));+#1837 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1838 = PCURVE('',#1839,#1844);+#1839 = PLANE('',#1840);+#1840 = AXIS2_PLACEMENT_3D('',#1841,#1842,#1843);+#1841 = CARTESIAN_POINT('',(-0.3,1.55,0.));+#1842 = DIRECTION('',(0.,1.,0.));+#1843 = DIRECTION('',(0.,0.,1.));+#1844 = DEFINITIONAL_REPRESENTATION('',(#1845),#1849);+#1845 = LINE('',#1846,#1847);+#1846 = CARTESIAN_POINT('',(0.,0.));+#1847 = VECTOR('',#1848,1.);+#1848 = DIRECTION('',(1.,0.));+#1849 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1850 = ORIENTED_EDGE('',*,*,#1851,.F.);+#1851 = EDGE_CURVE('',#1763,#1824,#1852,.T.);+#1852 = SURFACE_CURVE('',#1853,(#1857,#1864),.PCURVE_S1.);+#1853 = LINE('',#1854,#1855);+#1854 = CARTESIAN_POINT('',(-0.3,1.3,0.1));+#1855 = VECTOR('',#1856,1.);+#1856 = DIRECTION('',(0.,1.,0.));+#1857 = PCURVE('',#1771,#1858);+#1858 = DEFINITIONAL_REPRESENTATION('',(#1859),#1863);+#1859 = LINE('',#1860,#1861);+#1860 = CARTESIAN_POINT('',(0.1,0.));+#1861 = VECTOR('',#1862,1.);+#1862 = DIRECTION('',(0.,-1.));+#1863 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1864 = PCURVE('',#1865,#1870);+#1865 = PLANE('',#1866);+#1866 = AXIS2_PLACEMENT_3D('',#1867,#1868,#1869);+#1867 = CARTESIAN_POINT('',(-0.3,1.3,0.1));+#1868 = DIRECTION('',(0.,0.,1.));+#1869 = DIRECTION('',(1.,0.,0.));+#1870 = DEFINITIONAL_REPRESENTATION('',(#1871),#1875);+#1871 = LINE('',#1872,#1873);+#1872 = CARTESIAN_POINT('',(0.,0.));+#1873 = VECTOR('',#1874,1.);+#1874 = DIRECTION('',(0.,1.));+#1875 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1876 = ADVANCED_FACE('',(#1877),#1891,.T.);+#1877 = FACE_BOUND('',#1878,.T.);+#1878 = EDGE_LOOP('',(#1879,#1909,#1932,#1955));+#1879 = ORIENTED_EDGE('',*,*,#1880,.F.);+#1880 = EDGE_CURVE('',#1881,#1883,#1885,.T.);+#1881 = VERTEX_POINT('',#1882);+#1882 = CARTESIAN_POINT('',(0.3,1.3,0.));+#1883 = VERTEX_POINT('',#1884);+#1884 = CARTESIAN_POINT('',(0.3,1.3,0.1));+#1885 = SURFACE_CURVE('',#1886,(#1890,#1902),.PCURVE_S1.);+#1886 = LINE('',#1887,#1888);+#1887 = CARTESIAN_POINT('',(0.3,1.3,0.));+#1888 = VECTOR('',#1889,1.);+#1889 = DIRECTION('',(0.,0.,1.));+#1890 = PCURVE('',#1891,#1896);+#1891 = PLANE('',#1892);+#1892 = AXIS2_PLACEMENT_3D('',#1893,#1894,#1895);+#1893 = CARTESIAN_POINT('',(0.3,1.3,0.));+#1894 = DIRECTION('',(1.,0.,0.));+#1895 = DIRECTION('',(0.,0.,1.));+#1896 = DEFINITIONAL_REPRESENTATION('',(#1897),#1901);+#1897 = LINE('',#1898,#1899);+#1898 = CARTESIAN_POINT('',(0.,0.));+#1899 = VECTOR('',#1900,1.);+#1900 = DIRECTION('',(1.,0.));+#1901 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1902 = PCURVE('',#1783,#1903);+#1903 = DEFINITIONAL_REPRESENTATION('',(#1904),#1908);+#1904 = LINE('',#1905,#1906);+#1905 = CARTESIAN_POINT('',(0.,0.6));+#1906 = VECTOR('',#1907,1.);+#1907 = DIRECTION('',(1.,0.));+#1908 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1909 = ORIENTED_EDGE('',*,*,#1910,.T.);+#1910 = EDGE_CURVE('',#1881,#1911,#1913,.T.);+#1911 = VERTEX_POINT('',#1912);+#1912 = CARTESIAN_POINT('',(0.3,1.55,0.));+#1913 = SURFACE_CURVE('',#1914,(#1918,#1925),.PCURVE_S1.);+#1914 = LINE('',#1915,#1916);+#1915 = CARTESIAN_POINT('',(0.3,1.3,0.));+#1916 = VECTOR('',#1917,1.);+#1917 = DIRECTION('',(0.,1.,0.));+#1918 = PCURVE('',#1891,#1919);+#1919 = DEFINITIONAL_REPRESENTATION('',(#1920),#1924);+#1920 = LINE('',#1921,#1922);+#1921 = CARTESIAN_POINT('',(0.,0.));+#1922 = VECTOR('',#1923,1.);+#1923 = DIRECTION('',(0.,-1.));+#1924 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1925 = PCURVE('',#1811,#1926);+#1926 = DEFINITIONAL_REPRESENTATION('',(#1927),#1931);+#1927 = LINE('',#1928,#1929);+#1928 = CARTESIAN_POINT('',(0.6,0.));+#1929 = VECTOR('',#1930,1.);+#1930 = DIRECTION('',(0.,1.));+#1931 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1932 = ORIENTED_EDGE('',*,*,#1933,.T.);+#1933 = EDGE_CURVE('',#1911,#1934,#1936,.T.);+#1934 = VERTEX_POINT('',#1935);+#1935 = CARTESIAN_POINT('',(0.3,1.55,0.1));+#1936 = SURFACE_CURVE('',#1937,(#1941,#1948),.PCURVE_S1.);+#1937 = LINE('',#1938,#1939);+#1938 = CARTESIAN_POINT('',(0.3,1.55,0.));+#1939 = VECTOR('',#1940,1.);+#1940 = DIRECTION('',(0.,0.,1.));+#1941 = PCURVE('',#1891,#1942);+#1942 = DEFINITIONAL_REPRESENTATION('',(#1943),#1947);+#1943 = LINE('',#1944,#1945);+#1944 = CARTESIAN_POINT('',(0.,-0.25));+#1945 = VECTOR('',#1946,1.);+#1946 = DIRECTION('',(1.,0.));+#1947 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1948 = PCURVE('',#1839,#1949);+#1949 = DEFINITIONAL_REPRESENTATION('',(#1950),#1954);+#1950 = LINE('',#1951,#1952);+#1951 = CARTESIAN_POINT('',(0.,0.6));+#1952 = VECTOR('',#1953,1.);+#1953 = DIRECTION('',(1.,0.));+#1954 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1955 = ORIENTED_EDGE('',*,*,#1956,.F.);+#1956 = EDGE_CURVE('',#1883,#1934,#1957,.T.);+#1957 = SURFACE_CURVE('',#1958,(#1962,#1969),.PCURVE_S1.);+#1958 = LINE('',#1959,#1960);+#1959 = CARTESIAN_POINT('',(0.3,1.3,0.1));+#1960 = VECTOR('',#1961,1.);+#1961 = DIRECTION('',(0.,1.,0.));+#1962 = PCURVE('',#1891,#1963);+#1963 = DEFINITIONAL_REPRESENTATION('',(#1964),#1968);+#1964 = LINE('',#1965,#1966);+#1965 = CARTESIAN_POINT('',(0.1,0.));+#1966 = VECTOR('',#1967,1.);+#1967 = DIRECTION('',(0.,-1.));+#1968 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1969 = PCURVE('',#1865,#1970);+#1970 = DEFINITIONAL_REPRESENTATION('',(#1971),#1975);+#1971 = LINE('',#1972,#1973);+#1972 = CARTESIAN_POINT('',(0.6,0.));+#1973 = VECTOR('',#1974,1.);+#1974 = DIRECTION('',(0.,1.));+#1975 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1976 = ADVANCED_FACE('',(#1977),#1783,.F.);+#1977 = FACE_BOUND('',#1978,.F.);+#1978 = EDGE_LOOP('',(#1979,#2000,#2001,#2022));+#1979 = ORIENTED_EDGE('',*,*,#1980,.F.);+#1980 = EDGE_CURVE('',#1761,#1881,#1981,.T.);+#1981 = SURFACE_CURVE('',#1982,(#1986,#1993),.PCURVE_S1.);+#1982 = LINE('',#1983,#1984);+#1983 = CARTESIAN_POINT('',(-0.3,1.3,0.));+#1984 = VECTOR('',#1985,1.);+#1985 = DIRECTION('',(1.,0.,0.));+#1986 = PCURVE('',#1783,#1987);+#1987 = DEFINITIONAL_REPRESENTATION('',(#1988),#1992);+#1988 = LINE('',#1989,#1990);+#1989 = CARTESIAN_POINT('',(0.,0.));+#1990 = VECTOR('',#1991,1.);+#1991 = DIRECTION('',(0.,1.));+#1992 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#1993 = PCURVE('',#1811,#1994);+#1994 = DEFINITIONAL_REPRESENTATION('',(#1995),#1999);+#1995 = LINE('',#1996,#1997);+#1996 = CARTESIAN_POINT('',(0.,0.));+#1997 = VECTOR('',#1998,1.);+#1998 = DIRECTION('',(1.,0.));+#1999 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2000 = ORIENTED_EDGE('',*,*,#1760,.T.);+#2001 = ORIENTED_EDGE('',*,*,#2002,.T.);+#2002 = EDGE_CURVE('',#1763,#1883,#2003,.T.);+#2003 = SURFACE_CURVE('',#2004,(#2008,#2015),.PCURVE_S1.);+#2004 = LINE('',#2005,#2006);+#2005 = CARTESIAN_POINT('',(-0.3,1.3,0.1));+#2006 = VECTOR('',#2007,1.);+#2007 = DIRECTION('',(1.,0.,0.));+#2008 = PCURVE('',#1783,#2009);+#2009 = DEFINITIONAL_REPRESENTATION('',(#2010),#2014);+#2010 = LINE('',#2011,#2012);+#2011 = CARTESIAN_POINT('',(0.1,0.));+#2012 = VECTOR('',#2013,1.);+#2013 = DIRECTION('',(0.,1.));+#2014 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2015 = PCURVE('',#1865,#2016);+#2016 = DEFINITIONAL_REPRESENTATION('',(#2017),#2021);+#2017 = LINE('',#2018,#2019);+#2018 = CARTESIAN_POINT('',(0.,0.));+#2019 = VECTOR('',#2020,1.);+#2020 = DIRECTION('',(1.,0.));+#2021 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2022 = ORIENTED_EDGE('',*,*,#1880,.F.);+#2023 = ADVANCED_FACE('',(#2024),#1839,.T.);+#2024 = FACE_BOUND('',#2025,.T.);+#2025 = EDGE_LOOP('',(#2026,#2047,#2048,#2069));+#2026 = ORIENTED_EDGE('',*,*,#2027,.F.);+#2027 = EDGE_CURVE('',#1796,#1911,#2028,.T.);+#2028 = SURFACE_CURVE('',#2029,(#2033,#2040),.PCURVE_S1.);+#2029 = LINE('',#2030,#2031);+#2030 = CARTESIAN_POINT('',(-0.3,1.55,0.));+#2031 = VECTOR('',#2032,1.);+#2032 = DIRECTION('',(1.,0.,0.));+#2033 = PCURVE('',#1839,#2034);+#2034 = DEFINITIONAL_REPRESENTATION('',(#2035),#2039);+#2035 = LINE('',#2036,#2037);+#2036 = CARTESIAN_POINT('',(0.,0.));+#2037 = VECTOR('',#2038,1.);+#2038 = DIRECTION('',(0.,1.));+#2039 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2040 = PCURVE('',#1811,#2041);+#2041 = DEFINITIONAL_REPRESENTATION('',(#2042),#2046);+#2042 = LINE('',#2043,#2044);+#2043 = CARTESIAN_POINT('',(0.,0.25));+#2044 = VECTOR('',#2045,1.);+#2045 = DIRECTION('',(1.,0.));+#2046 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2047 = ORIENTED_EDGE('',*,*,#1823,.T.);+#2048 = ORIENTED_EDGE('',*,*,#2049,.T.);+#2049 = EDGE_CURVE('',#1824,#1934,#2050,.T.);+#2050 = SURFACE_CURVE('',#2051,(#2055,#2062),.PCURVE_S1.);+#2051 = LINE('',#2052,#2053);+#2052 = CARTESIAN_POINT('',(-0.3,1.55,0.1));+#2053 = VECTOR('',#2054,1.);+#2054 = DIRECTION('',(1.,0.,0.));+#2055 = PCURVE('',#1839,#2056);+#2056 = DEFINITIONAL_REPRESENTATION('',(#2057),#2061);+#2057 = LINE('',#2058,#2059);+#2058 = CARTESIAN_POINT('',(0.1,0.));+#2059 = VECTOR('',#2060,1.);+#2060 = DIRECTION('',(0.,1.));+#2061 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2062 = PCURVE('',#1865,#2063);+#2063 = DEFINITIONAL_REPRESENTATION('',(#2064),#2068);+#2064 = LINE('',#2065,#2066);+#2065 = CARTESIAN_POINT('',(0.,0.25));+#2066 = VECTOR('',#2067,1.);+#2067 = DIRECTION('',(1.,0.));+#2068 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2069 = ORIENTED_EDGE('',*,*,#1933,.F.);+#2070 = ADVANCED_FACE('',(#2071),#1811,.F.);+#2071 = FACE_BOUND('',#2072,.F.);+#2072 = EDGE_LOOP('',(#2073,#2074,#2075,#2076));+#2073 = ORIENTED_EDGE('',*,*,#1795,.F.);+#2074 = ORIENTED_EDGE('',*,*,#1980,.T.);+#2075 = ORIENTED_EDGE('',*,*,#1910,.T.);+#2076 = ORIENTED_EDGE('',*,*,#2027,.F.);+#2077 = ADVANCED_FACE('',(#2078),#1865,.T.);+#2078 = FACE_BOUND('',#2079,.T.);+#2079 = EDGE_LOOP('',(#2080,#2081,#2082,#2083));+#2080 = ORIENTED_EDGE('',*,*,#1851,.F.);+#2081 = ORIENTED_EDGE('',*,*,#2002,.T.);+#2082 = ORIENTED_EDGE('',*,*,#1956,.T.);+#2083 = ORIENTED_EDGE('',*,*,#2049,.F.);+#2084 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2088)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#2085,#2086,#2087)) REPRESENTATION_CONTEXT+('Context #1','3D Context with UNIT and UNCERTAINTY') );+#2085 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#2086 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#2087 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#2088 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#2085,+ 'distance_accuracy_value','confusion accuracy');+#2089 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#2090,#2092);+#2090 = ( REPRESENTATION_RELATIONSHIP('','',#721,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#2091) +SHAPE_REPRESENTATION_RELATIONSHIP() );+#2091 = ITEM_DEFINED_TRANSFORMATION('','',#11,#19);+#2092 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',+ #2093);+#2093 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('4','outer_contact','',#5,#716,$+ );+#2094 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#718));+#2095 = SHAPE_DEFINITION_REPRESENTATION(#2096,#2102);+#2096 = PRODUCT_DEFINITION_SHAPE('','',#2097);+#2097 = PRODUCT_DEFINITION('design','',#2098,#2101);+#2098 = PRODUCT_DEFINITION_FORMATION('','',#2099);+#2099 = PRODUCT('insulator','insulator','',(#2100));+#2100 = PRODUCT_CONTEXT('',#2,'mechanical');+#2101 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#2102 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#2103),#2201);+#2103 = MANIFOLD_SOLID_BREP('',#2104);+#2104 = CLOSED_SHELL('',(#2105,#2193,#2197));+#2105 = ADVANCED_FACE('',(#2106),#2120,.T.);+#2106 = FACE_BOUND('',#2107,.F.);+#2107 = EDGE_LOOP('',(#2108,#2138,#2165,#2166));+#2108 = ORIENTED_EDGE('',*,*,#2109,.T.);+#2109 = EDGE_CURVE('',#2110,#2112,#2114,.T.);+#2110 = VERTEX_POINT('',#2111);+#2111 = CARTESIAN_POINT('',(0.8,0.,0.35));+#2112 = VERTEX_POINT('',#2113);+#2113 = CARTESIAN_POINT('',(0.8,0.,0.6));+#2114 = SEAM_CURVE('',#2115,(#2119,#2131),.PCURVE_S1.);+#2115 = LINE('',#2116,#2117);+#2116 = CARTESIAN_POINT('',(0.8,0.,0.35));+#2117 = VECTOR('',#2118,1.);+#2118 = DIRECTION('',(0.,0.,1.));+#2119 = PCURVE('',#2120,#2125);+#2120 = CYLINDRICAL_SURFACE('',#2121,0.8);+#2121 = AXIS2_PLACEMENT_3D('',#2122,#2123,#2124);+#2122 = CARTESIAN_POINT('',(0.,0.,0.35));+#2123 = DIRECTION('',(-0.,-0.,-1.));+#2124 = DIRECTION('',(1.,0.,0.));+#2125 = DEFINITIONAL_REPRESENTATION('',(#2126),#2130);+#2126 = LINE('',#2127,#2128);+#2127 = CARTESIAN_POINT('',(-0.,0.));+#2128 = VECTOR('',#2129,1.);+#2129 = DIRECTION('',(-0.,-1.));+#2130 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2131 = PCURVE('',#2120,#2132);+#2132 = DEFINITIONAL_REPRESENTATION('',(#2133),#2137);+#2133 = LINE('',#2134,#2135);+#2134 = CARTESIAN_POINT('',(-6.28318530718,0.));+#2135 = VECTOR('',#2136,1.);+#2136 = DIRECTION('',(-0.,-1.));+#2137 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2138 = ORIENTED_EDGE('',*,*,#2139,.T.);+#2139 = EDGE_CURVE('',#2112,#2112,#2140,.T.);+#2140 = SURFACE_CURVE('',#2141,(#2146,#2153),.PCURVE_S1.);+#2141 = CIRCLE('',#2142,0.8);+#2142 = AXIS2_PLACEMENT_3D('',#2143,#2144,#2145);+#2143 = CARTESIAN_POINT('',(0.,0.,0.6));+#2144 = DIRECTION('',(0.,0.,1.));+#2145 = DIRECTION('',(1.,0.,0.));+#2146 = PCURVE('',#2120,#2147);+#2147 = DEFINITIONAL_REPRESENTATION('',(#2148),#2152);+#2148 = LINE('',#2149,#2150);+#2149 = CARTESIAN_POINT('',(-0.,-0.25));+#2150 = VECTOR('',#2151,1.);+#2151 = DIRECTION('',(-1.,0.));+#2152 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2153 = PCURVE('',#2154,#2159);+#2154 = PLANE('',#2155);+#2155 = AXIS2_PLACEMENT_3D('',#2156,#2157,#2158);+#2156 = CARTESIAN_POINT('',(-2.670781508866E-17,7.417401237738E-17,0.6)+ );+#2157 = DIRECTION('',(0.,0.,1.));+#2158 = DIRECTION('',(1.,0.,-0.));+#2159 = DEFINITIONAL_REPRESENTATION('',(#2160),#2164);+#2160 = CIRCLE('',#2161,0.8);+#2161 = AXIS2_PLACEMENT_2D('',#2162,#2163);+#2162 = CARTESIAN_POINT('',(2.670781508866E-17,-7.417401237738E-17));+#2163 = DIRECTION('',(1.,0.));+#2164 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2165 = ORIENTED_EDGE('',*,*,#2109,.F.);+#2166 = ORIENTED_EDGE('',*,*,#2167,.F.);+#2167 = EDGE_CURVE('',#2110,#2110,#2168,.T.);+#2168 = SURFACE_CURVE('',#2169,(#2174,#2181),.PCURVE_S1.);+#2169 = CIRCLE('',#2170,0.8);+#2170 = AXIS2_PLACEMENT_3D('',#2171,#2172,#2173);+#2171 = CARTESIAN_POINT('',(0.,0.,0.35));+#2172 = DIRECTION('',(0.,0.,1.));+#2173 = DIRECTION('',(1.,0.,0.));+#2174 = PCURVE('',#2120,#2175);+#2175 = DEFINITIONAL_REPRESENTATION('',(#2176),#2180);+#2176 = LINE('',#2177,#2178);+#2177 = CARTESIAN_POINT('',(-0.,0.));+#2178 = VECTOR('',#2179,1.);+#2179 = DIRECTION('',(-1.,0.));+#2180 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2181 = PCURVE('',#2182,#2187);+#2182 = PLANE('',#2183);+#2183 = AXIS2_PLACEMENT_3D('',#2184,#2185,#2186);+#2184 = CARTESIAN_POINT('',(-2.670781508866E-17,7.417401237738E-17,0.35)+ );+#2185 = DIRECTION('',(0.,0.,1.));+#2186 = DIRECTION('',(1.,0.,-0.));+#2187 = DEFINITIONAL_REPRESENTATION('',(#2188),#2192);+#2188 = CIRCLE('',#2189,0.8);+#2189 = AXIS2_PLACEMENT_2D('',#2190,#2191);+#2190 = CARTESIAN_POINT('',(2.670781508866E-17,-7.417401237738E-17));+#2191 = DIRECTION('',(1.,0.));+#2192 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2193 = ADVANCED_FACE('',(#2194),#2182,.F.);+#2194 = FACE_BOUND('',#2195,.F.);+#2195 = EDGE_LOOP('',(#2196));+#2196 = ORIENTED_EDGE('',*,*,#2167,.T.);+#2197 = ADVANCED_FACE('',(#2198),#2154,.T.);+#2198 = FACE_BOUND('',#2199,.T.);+#2199 = EDGE_LOOP('',(#2200));+#2200 = ORIENTED_EDGE('',*,*,#2139,.T.);+#2201 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2205)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#2202,#2203,#2204)) REPRESENTATION_CONTEXT+('Context #1','3D Context with UNIT and UNCERTAINTY') );+#2202 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#2203 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#2204 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#2205 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#2202,+ 'distance_accuracy_value','confusion accuracy');+#2206 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#2207,#2209);+#2207 = ( REPRESENTATION_RELATIONSHIP('','',#2102,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#2208) +SHAPE_REPRESENTATION_RELATIONSHIP() );+#2208 = ITEM_DEFINED_TRANSFORMATION('','',#11,#23);+#2209 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',+ #2210);+#2210 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('5','insulator','',#5,#2097,$);+#2211 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#2099));+#2212 = SHAPE_DEFINITION_REPRESENTATION(#2213,#2219);+#2213 = PRODUCT_DEFINITION_SHAPE('','',#2214);+#2214 = PRODUCT_DEFINITION('design','',#2215,#2218);+#2215 = PRODUCT_DEFINITION_FORMATION('','',#2216);+#2216 = PRODUCT('centre_contact','centre_contact','',(#2217));+#2217 = PRODUCT_CONTEXT('',#2,'mechanical');+#2218 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#2219 = SHAPE_REPRESENTATION('',(#11,#2220,#2318),#2960);+#2220 = MANIFOLD_SOLID_BREP('',#2221);+#2221 = CLOSED_SHELL('',(#2222,#2310,#2314));+#2222 = ADVANCED_FACE('',(#2223),#2237,.T.);+#2223 = FACE_BOUND('',#2224,.F.);+#2224 = EDGE_LOOP('',(#2225,#2255,#2282,#2283));+#2225 = ORIENTED_EDGE('',*,*,#2226,.T.);+#2226 = EDGE_CURVE('',#2227,#2229,#2231,.T.);+#2227 = VERTEX_POINT('',#2228);+#2228 = CARTESIAN_POINT('',(0.22,0.,0.35));+#2229 = VERTEX_POINT('',#2230);+#2230 = CARTESIAN_POINT('',(0.22,0.,1.));+#2231 = SEAM_CURVE('',#2232,(#2236,#2248),.PCURVE_S1.);+#2232 = LINE('',#2233,#2234);+#2233 = CARTESIAN_POINT('',(0.22,0.,0.35));+#2234 = VECTOR('',#2235,1.);+#2235 = DIRECTION('',(0.,0.,1.));+#2236 = PCURVE('',#2237,#2242);+#2237 = CYLINDRICAL_SURFACE('',#2238,0.22);+#2238 = AXIS2_PLACEMENT_3D('',#2239,#2240,#2241);+#2239 = CARTESIAN_POINT('',(0.,0.,0.35));+#2240 = DIRECTION('',(-0.,-0.,-1.));+#2241 = DIRECTION('',(1.,0.,0.));+#2242 = DEFINITIONAL_REPRESENTATION('',(#2243),#2247);+#2243 = LINE('',#2244,#2245);+#2244 = CARTESIAN_POINT('',(-0.,0.));+#2245 = VECTOR('',#2246,1.);+#2246 = DIRECTION('',(-0.,-1.));+#2247 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2248 = PCURVE('',#2237,#2249);+#2249 = DEFINITIONAL_REPRESENTATION('',(#2250),#2254);+#2250 = LINE('',#2251,#2252);+#2251 = CARTESIAN_POINT('',(-6.28318530718,0.));+#2252 = VECTOR('',#2253,1.);+#2253 = DIRECTION('',(-0.,-1.));+#2254 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2255 = ORIENTED_EDGE('',*,*,#2256,.T.);+#2256 = EDGE_CURVE('',#2229,#2229,#2257,.T.);+#2257 = SURFACE_CURVE('',#2258,(#2263,#2270),.PCURVE_S1.);+#2258 = CIRCLE('',#2259,0.22);+#2259 = AXIS2_PLACEMENT_3D('',#2260,#2261,#2262);+#2260 = CARTESIAN_POINT('',(0.,0.,1.));+#2261 = DIRECTION('',(0.,0.,1.));+#2262 = DIRECTION('',(1.,0.,0.));+#2263 = PCURVE('',#2237,#2264);+#2264 = DEFINITIONAL_REPRESENTATION('',(#2265),#2269);+#2265 = LINE('',#2266,#2267);+#2266 = CARTESIAN_POINT('',(-0.,-0.65));+#2267 = VECTOR('',#2268,1.);+#2268 = DIRECTION('',(-1.,0.));+#2269 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2270 = PCURVE('',#2271,#2276);+#2271 = PLANE('',#2272);+#2272 = AXIS2_PLACEMENT_3D('',#2273,#2274,#2275);+#2273 = CARTESIAN_POINT('',(-6.069957974696E-18,3.159172755644E-18,1.));+#2274 = DIRECTION('',(0.,0.,1.));+#2275 = DIRECTION('',(1.,0.,-0.));+#2276 = DEFINITIONAL_REPRESENTATION('',(#2277),#2281);+#2277 = CIRCLE('',#2278,0.22);+#2278 = AXIS2_PLACEMENT_2D('',#2279,#2280);+#2279 = CARTESIAN_POINT('',(6.069957974696E-18,-3.159172755644E-18));+#2280 = DIRECTION('',(1.,0.));+#2281 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2282 = ORIENTED_EDGE('',*,*,#2226,.F.);+#2283 = ORIENTED_EDGE('',*,*,#2284,.F.);+#2284 = EDGE_CURVE('',#2227,#2227,#2285,.T.);+#2285 = SURFACE_CURVE('',#2286,(#2291,#2298),.PCURVE_S1.);+#2286 = CIRCLE('',#2287,0.22);+#2287 = AXIS2_PLACEMENT_3D('',#2288,#2289,#2290);+#2288 = CARTESIAN_POINT('',(0.,0.,0.35));+#2289 = DIRECTION('',(0.,0.,1.));+#2290 = DIRECTION('',(1.,0.,0.));+#2291 = PCURVE('',#2237,#2292);+#2292 = DEFINITIONAL_REPRESENTATION('',(#2293),#2297);+#2293 = LINE('',#2294,#2295);+#2294 = CARTESIAN_POINT('',(-0.,0.));+#2295 = VECTOR('',#2296,1.);+#2296 = DIRECTION('',(-1.,0.));+#2297 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2298 = PCURVE('',#2299,#2304);+#2299 = PLANE('',#2300);+#2300 = AXIS2_PLACEMENT_3D('',#2301,#2302,#2303);+#2301 = CARTESIAN_POINT('',(-6.069957974696E-18,3.159172755644E-18,0.35)+ );+#2302 = DIRECTION('',(0.,0.,1.));+#2303 = DIRECTION('',(1.,0.,-0.));+#2304 = DEFINITIONAL_REPRESENTATION('',(#2305),#2309);+#2305 = CIRCLE('',#2306,0.22);+#2306 = AXIS2_PLACEMENT_2D('',#2307,#2308);+#2307 = CARTESIAN_POINT('',(6.069957974696E-18,-3.159172755644E-18));+#2308 = DIRECTION('',(1.,0.));+#2309 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2310 = ADVANCED_FACE('',(#2311),#2299,.F.);+#2311 = FACE_BOUND('',#2312,.F.);+#2312 = EDGE_LOOP('',(#2313));+#2313 = ORIENTED_EDGE('',*,*,#2284,.T.);+#2314 = ADVANCED_FACE('',(#2315),#2271,.T.);+#2315 = FACE_BOUND('',#2316,.T.);+#2316 = EDGE_LOOP('',(#2317));+#2317 = ORIENTED_EDGE('',*,*,#2256,.T.);+#2318 = MANIFOLD_SOLID_BREP('',#2319);+#2319 = CLOSED_SHELL('',(#2320,#2440,#2516,#2565,#2721,#2821,#2828,#2877+ ,#2926,#2953));+#2320 = ADVANCED_FACE('',(#2321),#2335,.F.);+#2321 = FACE_BOUND('',#2322,.F.);+#2322 = EDGE_LOOP('',(#2323,#2358,#2386,#2414));+#2323 = ORIENTED_EDGE('',*,*,#2324,.F.);+#2324 = EDGE_CURVE('',#2325,#2327,#2329,.T.);+#2325 = VERTEX_POINT('',#2326);+#2326 = CARTESIAN_POINT('',(-0.3,-1.55,0.));+#2327 = VERTEX_POINT('',#2328);+#2328 = CARTESIAN_POINT('',(-0.3,-1.55,0.1));+#2329 = SURFACE_CURVE('',#2330,(#2334,#2346),.PCURVE_S1.);+#2330 = LINE('',#2331,#2332);+#2331 = CARTESIAN_POINT('',(-0.3,-1.55,0.));+#2332 = VECTOR('',#2333,1.);+#2333 = DIRECTION('',(0.,0.,1.));+#2334 = PCURVE('',#2335,#2340);+#2335 = PLANE('',#2336);+#2336 = AXIS2_PLACEMENT_3D('',#2337,#2338,#2339);+#2337 = CARTESIAN_POINT('',(-0.3,-1.55,0.));+#2338 = DIRECTION('',(1.,0.,0.));+#2339 = DIRECTION('',(0.,0.,1.));+#2340 = DEFINITIONAL_REPRESENTATION('',(#2341),#2345);+#2341 = LINE('',#2342,#2343);+#2342 = CARTESIAN_POINT('',(0.,0.));+#2343 = VECTOR('',#2344,1.);+#2344 = DIRECTION('',(1.,0.));+#2345 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2346 = PCURVE('',#2347,#2352);+#2347 = PLANE('',#2348);+#2348 = AXIS2_PLACEMENT_3D('',#2349,#2350,#2351);+#2349 = CARTESIAN_POINT('',(-0.3,-1.55,0.));+#2350 = DIRECTION('',(0.,1.,0.));+#2351 = DIRECTION('',(0.,0.,1.));+#2352 = DEFINITIONAL_REPRESENTATION('',(#2353),#2357);+#2353 = LINE('',#2354,#2355);+#2354 = CARTESIAN_POINT('',(0.,0.));+#2355 = VECTOR('',#2356,1.);+#2356 = DIRECTION('',(1.,0.));+#2357 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2358 = ORIENTED_EDGE('',*,*,#2359,.T.);+#2359 = EDGE_CURVE('',#2325,#2360,#2362,.T.);+#2360 = VERTEX_POINT('',#2361);+#2361 = CARTESIAN_POINT('',(-0.3,-1.3,0.));+#2362 = SURFACE_CURVE('',#2363,(#2367,#2374),.PCURVE_S1.);+#2363 = LINE('',#2364,#2365);+#2364 = CARTESIAN_POINT('',(-0.3,-1.55,0.));+#2365 = VECTOR('',#2366,1.);+#2366 = DIRECTION('',(0.,1.,0.));+#2367 = PCURVE('',#2335,#2368);+#2368 = DEFINITIONAL_REPRESENTATION('',(#2369),#2373);+#2369 = LINE('',#2370,#2371);+#2370 = CARTESIAN_POINT('',(0.,0.));+#2371 = VECTOR('',#2372,1.);+#2372 = DIRECTION('',(0.,-1.));+#2373 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2374 = PCURVE('',#2375,#2380);+#2375 = PLANE('',#2376);+#2376 = AXIS2_PLACEMENT_3D('',#2377,#2378,#2379);+#2377 = CARTESIAN_POINT('',(-0.3,-1.55,0.));+#2378 = DIRECTION('',(0.,0.,1.));+#2379 = DIRECTION('',(1.,0.,0.));+#2380 = DEFINITIONAL_REPRESENTATION('',(#2381),#2385);+#2381 = LINE('',#2382,#2383);+#2382 = CARTESIAN_POINT('',(0.,0.));+#2383 = VECTOR('',#2384,1.);+#2384 = DIRECTION('',(0.,1.));+#2385 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2386 = ORIENTED_EDGE('',*,*,#2387,.T.);+#2387 = EDGE_CURVE('',#2360,#2388,#2390,.T.);+#2388 = VERTEX_POINT('',#2389);+#2389 = CARTESIAN_POINT('',(-0.3,-1.3,0.1));+#2390 = SURFACE_CURVE('',#2391,(#2395,#2402),.PCURVE_S1.);+#2391 = LINE('',#2392,#2393);+#2392 = CARTESIAN_POINT('',(-0.3,-1.3,0.));+#2393 = VECTOR('',#2394,1.);+#2394 = DIRECTION('',(0.,0.,1.));+#2395 = PCURVE('',#2335,#2396);+#2396 = DEFINITIONAL_REPRESENTATION('',(#2397),#2401);+#2397 = LINE('',#2398,#2399);+#2398 = CARTESIAN_POINT('',(0.,-0.25));+#2399 = VECTOR('',#2400,1.);+#2400 = DIRECTION('',(1.,0.));+#2401 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2402 = PCURVE('',#2403,#2408);+#2403 = PLANE('',#2404);+#2404 = AXIS2_PLACEMENT_3D('',#2405,#2406,#2407);+#2405 = CARTESIAN_POINT('',(-0.3,-1.3,0.));+#2406 = DIRECTION('',(0.,1.,0.));+#2407 = DIRECTION('',(0.,0.,1.));+#2408 = DEFINITIONAL_REPRESENTATION('',(#2409),#2413);+#2409 = LINE('',#2410,#2411);+#2410 = CARTESIAN_POINT('',(0.,0.));+#2411 = VECTOR('',#2412,1.);+#2412 = DIRECTION('',(1.,0.));+#2413 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2414 = ORIENTED_EDGE('',*,*,#2415,.F.);+#2415 = EDGE_CURVE('',#2327,#2388,#2416,.T.);+#2416 = SURFACE_CURVE('',#2417,(#2421,#2428),.PCURVE_S1.);+#2417 = LINE('',#2418,#2419);+#2418 = CARTESIAN_POINT('',(-0.3,-1.55,0.1));+#2419 = VECTOR('',#2420,1.);+#2420 = DIRECTION('',(0.,1.,0.));+#2421 = PCURVE('',#2335,#2422);+#2422 = DEFINITIONAL_REPRESENTATION('',(#2423),#2427);+#2423 = LINE('',#2424,#2425);+#2424 = CARTESIAN_POINT('',(0.1,0.));+#2425 = VECTOR('',#2426,1.);+#2426 = DIRECTION('',(0.,-1.));+#2427 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2428 = PCURVE('',#2429,#2434);+#2429 = PLANE('',#2430);+#2430 = AXIS2_PLACEMENT_3D('',#2431,#2432,#2433);+#2431 = CARTESIAN_POINT('',(-0.3,-1.55,0.1));+#2432 = DIRECTION('',(0.,0.,1.));+#2433 = DIRECTION('',(1.,0.,0.));+#2434 = DEFINITIONAL_REPRESENTATION('',(#2435),#2439);+#2435 = LINE('',#2436,#2437);+#2436 = CARTESIAN_POINT('',(0.,0.));+#2437 = VECTOR('',#2438,1.);+#2438 = DIRECTION('',(0.,1.));+#2439 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2440 = ADVANCED_FACE('',(#2441),#2347,.F.);+#2441 = FACE_BOUND('',#2442,.F.);+#2442 = EDGE_LOOP('',(#2443,#2466,#2467,#2490));+#2443 = ORIENTED_EDGE('',*,*,#2444,.F.);+#2444 = EDGE_CURVE('',#2325,#2445,#2447,.T.);+#2445 = VERTEX_POINT('',#2446);+#2446 = CARTESIAN_POINT('',(0.3,-1.55,0.));+#2447 = SURFACE_CURVE('',#2448,(#2452,#2459),.PCURVE_S1.);+#2448 = LINE('',#2449,#2450);+#2449 = CARTESIAN_POINT('',(-0.3,-1.55,0.));+#2450 = VECTOR('',#2451,1.);+#2451 = DIRECTION('',(1.,0.,0.));+#2452 = PCURVE('',#2347,#2453);+#2453 = DEFINITIONAL_REPRESENTATION('',(#2454),#2458);+#2454 = LINE('',#2455,#2456);+#2455 = CARTESIAN_POINT('',(0.,0.));+#2456 = VECTOR('',#2457,1.);+#2457 = DIRECTION('',(0.,1.));+#2458 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2459 = PCURVE('',#2375,#2460);+#2460 = DEFINITIONAL_REPRESENTATION('',(#2461),#2465);+#2461 = LINE('',#2462,#2463);+#2462 = CARTESIAN_POINT('',(0.,0.));+#2463 = VECTOR('',#2464,1.);+#2464 = DIRECTION('',(1.,0.));+#2465 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2466 = ORIENTED_EDGE('',*,*,#2324,.T.);+#2467 = ORIENTED_EDGE('',*,*,#2468,.T.);+#2468 = EDGE_CURVE('',#2327,#2469,#2471,.T.);+#2469 = VERTEX_POINT('',#2470);+#2470 = CARTESIAN_POINT('',(0.3,-1.55,0.1));+#2471 = SURFACE_CURVE('',#2472,(#2476,#2483),.PCURVE_S1.);+#2472 = LINE('',#2473,#2474);+#2473 = CARTESIAN_POINT('',(-0.3,-1.55,0.1));+#2474 = VECTOR('',#2475,1.);+#2475 = DIRECTION('',(1.,0.,0.));+#2476 = PCURVE('',#2347,#2477);+#2477 = DEFINITIONAL_REPRESENTATION('',(#2478),#2482);+#2478 = LINE('',#2479,#2480);+#2479 = CARTESIAN_POINT('',(0.1,0.));+#2480 = VECTOR('',#2481,1.);+#2481 = DIRECTION('',(0.,1.));+#2482 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2483 = PCURVE('',#2429,#2484);+#2484 = DEFINITIONAL_REPRESENTATION('',(#2485),#2489);+#2485 = LINE('',#2486,#2487);+#2486 = CARTESIAN_POINT('',(0.,0.));+#2487 = VECTOR('',#2488,1.);+#2488 = DIRECTION('',(1.,0.));+#2489 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2490 = ORIENTED_EDGE('',*,*,#2491,.F.);+#2491 = EDGE_CURVE('',#2445,#2469,#2492,.T.);+#2492 = SURFACE_CURVE('',#2493,(#2497,#2504),.PCURVE_S1.);+#2493 = LINE('',#2494,#2495);+#2494 = CARTESIAN_POINT('',(0.3,-1.55,0.));+#2495 = VECTOR('',#2496,1.);+#2496 = DIRECTION('',(0.,0.,1.));+#2497 = PCURVE('',#2347,#2498);+#2498 = DEFINITIONAL_REPRESENTATION('',(#2499),#2503);+#2499 = LINE('',#2500,#2501);+#2500 = CARTESIAN_POINT('',(0.,0.6));+#2501 = VECTOR('',#2502,1.);+#2502 = DIRECTION('',(1.,0.));+#2503 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2504 = PCURVE('',#2505,#2510);+#2505 = PLANE('',#2506);+#2506 = AXIS2_PLACEMENT_3D('',#2507,#2508,#2509);+#2507 = CARTESIAN_POINT('',(0.3,-1.55,0.));+#2508 = DIRECTION('',(1.,0.,0.));+#2509 = DIRECTION('',(0.,0.,1.));+#2510 = DEFINITIONAL_REPRESENTATION('',(#2511),#2515);+#2511 = LINE('',#2512,#2513);+#2512 = CARTESIAN_POINT('',(0.,0.));+#2513 = VECTOR('',#2514,1.);+#2514 = DIRECTION('',(1.,0.));+#2515 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2516 = ADVANCED_FACE('',(#2517),#2429,.T.);+#2517 = FACE_BOUND('',#2518,.T.);+#2518 = EDGE_LOOP('',(#2519,#2520,#2521,#2544));+#2519 = ORIENTED_EDGE('',*,*,#2415,.F.);+#2520 = ORIENTED_EDGE('',*,*,#2468,.T.);+#2521 = ORIENTED_EDGE('',*,*,#2522,.T.);+#2522 = EDGE_CURVE('',#2469,#2523,#2525,.T.);+#2523 = VERTEX_POINT('',#2524);+#2524 = CARTESIAN_POINT('',(0.3,-1.3,0.1));+#2525 = SURFACE_CURVE('',#2526,(#2530,#2537),.PCURVE_S1.);+#2526 = LINE('',#2527,#2528);+#2527 = CARTESIAN_POINT('',(0.3,-1.55,0.1));+#2528 = VECTOR('',#2529,1.);+#2529 = DIRECTION('',(0.,1.,0.));+#2530 = PCURVE('',#2429,#2531);+#2531 = DEFINITIONAL_REPRESENTATION('',(#2532),#2536);+#2532 = LINE('',#2533,#2534);+#2533 = CARTESIAN_POINT('',(0.6,0.));+#2534 = VECTOR('',#2535,1.);+#2535 = DIRECTION('',(0.,1.));+#2536 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2537 = PCURVE('',#2505,#2538);+#2538 = DEFINITIONAL_REPRESENTATION('',(#2539),#2543);+#2539 = LINE('',#2540,#2541);+#2540 = CARTESIAN_POINT('',(0.1,0.));+#2541 = VECTOR('',#2542,1.);+#2542 = DIRECTION('',(0.,-1.));+#2543 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2544 = ORIENTED_EDGE('',*,*,#2545,.F.);+#2545 = EDGE_CURVE('',#2388,#2523,#2546,.T.);+#2546 = SURFACE_CURVE('',#2547,(#2551,#2558),.PCURVE_S1.);+#2547 = LINE('',#2548,#2549);+#2548 = CARTESIAN_POINT('',(-0.3,-1.3,0.1));+#2549 = VECTOR('',#2550,1.);+#2550 = DIRECTION('',(1.,0.,0.));+#2551 = PCURVE('',#2429,#2552);+#2552 = DEFINITIONAL_REPRESENTATION('',(#2553),#2557);+#2553 = LINE('',#2554,#2555);+#2554 = CARTESIAN_POINT('',(0.,0.25));+#2555 = VECTOR('',#2556,1.);+#2556 = DIRECTION('',(1.,0.));+#2557 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2558 = PCURVE('',#2403,#2559);+#2559 = DEFINITIONAL_REPRESENTATION('',(#2560),#2564);+#2560 = LINE('',#2561,#2562);+#2561 = CARTESIAN_POINT('',(0.1,0.));+#2562 = VECTOR('',#2563,1.);+#2563 = DIRECTION('',(0.,1.));+#2564 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2565 = ADVANCED_FACE('',(#2566),#2403,.T.);+#2566 = FACE_BOUND('',#2567,.T.);+#2567 = EDGE_LOOP('',(#2568,#2591,#2592,#2593,#2616,#2639,#2667,#2695));+#2568 = ORIENTED_EDGE('',*,*,#2569,.F.);+#2569 = EDGE_CURVE('',#2360,#2570,#2572,.T.);+#2570 = VERTEX_POINT('',#2571);+#2571 = CARTESIAN_POINT('',(-0.15,-1.3,0.));+#2572 = SURFACE_CURVE('',#2573,(#2577,#2584),.PCURVE_S1.);+#2573 = LINE('',#2574,#2575);+#2574 = CARTESIAN_POINT('',(-0.3,-1.3,0.));+#2575 = VECTOR('',#2576,1.);+#2576 = DIRECTION('',(1.,0.,0.));+#2577 = PCURVE('',#2403,#2578);+#2578 = DEFINITIONAL_REPRESENTATION('',(#2579),#2583);+#2579 = LINE('',#2580,#2581);+#2580 = CARTESIAN_POINT('',(0.,0.));+#2581 = VECTOR('',#2582,1.);+#2582 = DIRECTION('',(0.,1.));+#2583 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2584 = PCURVE('',#2375,#2585);+#2585 = DEFINITIONAL_REPRESENTATION('',(#2586),#2590);+#2586 = LINE('',#2587,#2588);+#2587 = CARTESIAN_POINT('',(0.,0.25));+#2588 = VECTOR('',#2589,1.);+#2589 = DIRECTION('',(1.,0.));+#2590 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2591 = ORIENTED_EDGE('',*,*,#2387,.T.);+#2592 = ORIENTED_EDGE('',*,*,#2545,.T.);+#2593 = ORIENTED_EDGE('',*,*,#2594,.F.);+#2594 = EDGE_CURVE('',#2595,#2523,#2597,.T.);+#2595 = VERTEX_POINT('',#2596);+#2596 = CARTESIAN_POINT('',(0.3,-1.3,0.));+#2597 = SURFACE_CURVE('',#2598,(#2602,#2609),.PCURVE_S1.);+#2598 = LINE('',#2599,#2600);+#2599 = CARTESIAN_POINT('',(0.3,-1.3,0.));+#2600 = VECTOR('',#2601,1.);+#2601 = DIRECTION('',(0.,0.,1.));+#2602 = PCURVE('',#2403,#2603);+#2603 = DEFINITIONAL_REPRESENTATION('',(#2604),#2608);+#2604 = LINE('',#2605,#2606);+#2605 = CARTESIAN_POINT('',(0.,0.6));+#2606 = VECTOR('',#2607,1.);+#2607 = DIRECTION('',(1.,0.));+#2608 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2609 = PCURVE('',#2505,#2610);+#2610 = DEFINITIONAL_REPRESENTATION('',(#2611),#2615);+#2611 = LINE('',#2612,#2613);+#2612 = CARTESIAN_POINT('',(0.,-0.25));+#2613 = VECTOR('',#2614,1.);+#2614 = DIRECTION('',(1.,0.));+#2615 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2616 = ORIENTED_EDGE('',*,*,#2617,.F.);+#2617 = EDGE_CURVE('',#2618,#2595,#2620,.T.);+#2618 = VERTEX_POINT('',#2619);+#2619 = CARTESIAN_POINT('',(0.15,-1.3,0.));+#2620 = SURFACE_CURVE('',#2621,(#2625,#2632),.PCURVE_S1.);+#2621 = LINE('',#2622,#2623);+#2622 = CARTESIAN_POINT('',(-0.3,-1.3,0.));+#2623 = VECTOR('',#2624,1.);+#2624 = DIRECTION('',(1.,0.,0.));+#2625 = PCURVE('',#2403,#2626);+#2626 = DEFINITIONAL_REPRESENTATION('',(#2627),#2631);+#2627 = LINE('',#2628,#2629);+#2628 = CARTESIAN_POINT('',(0.,0.));+#2629 = VECTOR('',#2630,1.);+#2630 = DIRECTION('',(0.,1.));+#2631 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2632 = PCURVE('',#2375,#2633);+#2633 = DEFINITIONAL_REPRESENTATION('',(#2634),#2638);+#2634 = LINE('',#2635,#2636);+#2635 = CARTESIAN_POINT('',(0.,0.25));+#2636 = VECTOR('',#2637,1.);+#2637 = DIRECTION('',(1.,0.));+#2638 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2639 = ORIENTED_EDGE('',*,*,#2640,.T.);+#2640 = EDGE_CURVE('',#2618,#2641,#2643,.T.);+#2641 = VERTEX_POINT('',#2642);+#2642 = CARTESIAN_POINT('',(0.15,-1.3,8.E-02));+#2643 = SURFACE_CURVE('',#2644,(#2648,#2655),.PCURVE_S1.);+#2644 = LINE('',#2645,#2646);+#2645 = CARTESIAN_POINT('',(0.15,-1.3,0.));+#2646 = VECTOR('',#2647,1.);+#2647 = DIRECTION('',(0.,0.,1.));+#2648 = PCURVE('',#2403,#2649);+#2649 = DEFINITIONAL_REPRESENTATION('',(#2650),#2654);+#2650 = LINE('',#2651,#2652);+#2651 = CARTESIAN_POINT('',(0.,0.45));+#2652 = VECTOR('',#2653,1.);+#2653 = DIRECTION('',(1.,0.));+#2654 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2655 = PCURVE('',#2656,#2661);+#2656 = PLANE('',#2657);+#2657 = AXIS2_PLACEMENT_3D('',#2658,#2659,#2660);+#2658 = CARTESIAN_POINT('',(0.15,-1.3,0.));+#2659 = DIRECTION('',(1.,0.,0.));+#2660 = DIRECTION('',(0.,0.,1.));+#2661 = DEFINITIONAL_REPRESENTATION('',(#2662),#2666);+#2662 = LINE('',#2663,#2664);+#2663 = CARTESIAN_POINT('',(0.,0.));+#2664 = VECTOR('',#2665,1.);+#2665 = DIRECTION('',(1.,0.));+#2666 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2667 = ORIENTED_EDGE('',*,*,#2668,.F.);+#2668 = EDGE_CURVE('',#2669,#2641,#2671,.T.);+#2669 = VERTEX_POINT('',#2670);+#2670 = CARTESIAN_POINT('',(-0.15,-1.3,8.E-02));+#2671 = SURFACE_CURVE('',#2672,(#2676,#2683),.PCURVE_S1.);+#2672 = LINE('',#2673,#2674);+#2673 = CARTESIAN_POINT('',(-0.15,-1.3,8.E-02));+#2674 = VECTOR('',#2675,1.);+#2675 = DIRECTION('',(1.,0.,0.));+#2676 = PCURVE('',#2403,#2677);+#2677 = DEFINITIONAL_REPRESENTATION('',(#2678),#2682);+#2678 = LINE('',#2679,#2680);+#2679 = CARTESIAN_POINT('',(8.E-02,0.15));+#2680 = VECTOR('',#2681,1.);+#2681 = DIRECTION('',(0.,1.));+#2682 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2683 = PCURVE('',#2684,#2689);+#2684 = PLANE('',#2685);+#2685 = AXIS2_PLACEMENT_3D('',#2686,#2687,#2688);+#2686 = CARTESIAN_POINT('',(-0.15,-1.3,8.E-02));+#2687 = DIRECTION('',(0.,0.,1.));+#2688 = DIRECTION('',(1.,0.,0.));+#2689 = DEFINITIONAL_REPRESENTATION('',(#2690),#2694);+#2690 = LINE('',#2691,#2692);+#2691 = CARTESIAN_POINT('',(0.,0.));+#2692 = VECTOR('',#2693,1.);+#2693 = DIRECTION('',(1.,0.));+#2694 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2695 = ORIENTED_EDGE('',*,*,#2696,.F.);+#2696 = EDGE_CURVE('',#2570,#2669,#2697,.T.);+#2697 = SURFACE_CURVE('',#2698,(#2702,#2709),.PCURVE_S1.);+#2698 = LINE('',#2699,#2700);+#2699 = CARTESIAN_POINT('',(-0.15,-1.3,0.));+#2700 = VECTOR('',#2701,1.);+#2701 = DIRECTION('',(0.,0.,1.));+#2702 = PCURVE('',#2403,#2703);+#2703 = DEFINITIONAL_REPRESENTATION('',(#2704),#2708);+#2704 = LINE('',#2705,#2706);+#2705 = CARTESIAN_POINT('',(0.,0.15));+#2706 = VECTOR('',#2707,1.);+#2707 = DIRECTION('',(1.,0.));+#2708 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2709 = PCURVE('',#2710,#2715);+#2710 = PLANE('',#2711);+#2711 = AXIS2_PLACEMENT_3D('',#2712,#2713,#2714);+#2712 = CARTESIAN_POINT('',(-0.15,-1.3,0.));+#2713 = DIRECTION('',(1.,0.,0.));+#2714 = DIRECTION('',(0.,0.,1.));+#2715 = DEFINITIONAL_REPRESENTATION('',(#2716),#2720);+#2716 = LINE('',#2717,#2718);+#2717 = CARTESIAN_POINT('',(0.,0.));+#2718 = VECTOR('',#2719,1.);+#2719 = DIRECTION('',(1.,0.));+#2720 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2721 = ADVANCED_FACE('',(#2722),#2375,.F.);+#2722 = FACE_BOUND('',#2723,.F.);+#2723 = EDGE_LOOP('',(#2724,#2725,#2726,#2747,#2748,#2771,#2799,#2820));+#2724 = ORIENTED_EDGE('',*,*,#2359,.F.);+#2725 = ORIENTED_EDGE('',*,*,#2444,.T.);+#2726 = ORIENTED_EDGE('',*,*,#2727,.T.);+#2727 = EDGE_CURVE('',#2445,#2595,#2728,.T.);+#2728 = SURFACE_CURVE('',#2729,(#2733,#2740),.PCURVE_S1.);+#2729 = LINE('',#2730,#2731);+#2730 = CARTESIAN_POINT('',(0.3,-1.55,0.));+#2731 = VECTOR('',#2732,1.);+#2732 = DIRECTION('',(0.,1.,0.));+#2733 = PCURVE('',#2375,#2734);+#2734 = DEFINITIONAL_REPRESENTATION('',(#2735),#2739);+#2735 = LINE('',#2736,#2737);+#2736 = CARTESIAN_POINT('',(0.6,0.));+#2737 = VECTOR('',#2738,1.);+#2738 = DIRECTION('',(0.,1.));+#2739 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2740 = PCURVE('',#2505,#2741);+#2741 = DEFINITIONAL_REPRESENTATION('',(#2742),#2746);+#2742 = LINE('',#2743,#2744);+#2743 = CARTESIAN_POINT('',(0.,0.));+#2744 = VECTOR('',#2745,1.);+#2745 = DIRECTION('',(0.,-1.));+#2746 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2747 = ORIENTED_EDGE('',*,*,#2617,.F.);+#2748 = ORIENTED_EDGE('',*,*,#2749,.T.);+#2749 = EDGE_CURVE('',#2618,#2750,#2752,.T.);+#2750 = VERTEX_POINT('',#2751);+#2751 = CARTESIAN_POINT('',(0.15,0.,0.));+#2752 = SURFACE_CURVE('',#2753,(#2757,#2764),.PCURVE_S1.);+#2753 = LINE('',#2754,#2755);+#2754 = CARTESIAN_POINT('',(0.15,-1.3,0.));+#2755 = VECTOR('',#2756,1.);+#2756 = DIRECTION('',(0.,1.,0.));+#2757 = PCURVE('',#2375,#2758);+#2758 = DEFINITIONAL_REPRESENTATION('',(#2759),#2763);+#2759 = LINE('',#2760,#2761);+#2760 = CARTESIAN_POINT('',(0.45,0.25));+#2761 = VECTOR('',#2762,1.);+#2762 = DIRECTION('',(0.,1.));+#2763 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2764 = PCURVE('',#2656,#2765);+#2765 = DEFINITIONAL_REPRESENTATION('',(#2766),#2770);+#2766 = LINE('',#2767,#2768);+#2767 = CARTESIAN_POINT('',(0.,0.));+#2768 = VECTOR('',#2769,1.);+#2769 = DIRECTION('',(0.,-1.));+#2770 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2771 = ORIENTED_EDGE('',*,*,#2772,.F.);+#2772 = EDGE_CURVE('',#2773,#2750,#2775,.T.);+#2773 = VERTEX_POINT('',#2774);+#2774 = CARTESIAN_POINT('',(-0.15,0.,0.));+#2775 = SURFACE_CURVE('',#2776,(#2780,#2787),.PCURVE_S1.);+#2776 = LINE('',#2777,#2778);+#2777 = CARTESIAN_POINT('',(-0.15,0.,0.));+#2778 = VECTOR('',#2779,1.);+#2779 = DIRECTION('',(1.,0.,0.));+#2780 = PCURVE('',#2375,#2781);+#2781 = DEFINITIONAL_REPRESENTATION('',(#2782),#2786);+#2782 = LINE('',#2783,#2784);+#2783 = CARTESIAN_POINT('',(0.15,1.55));+#2784 = VECTOR('',#2785,1.);+#2785 = DIRECTION('',(1.,0.));+#2786 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2787 = PCURVE('',#2788,#2793);+#2788 = PLANE('',#2789);+#2789 = AXIS2_PLACEMENT_3D('',#2790,#2791,#2792);+#2790 = CARTESIAN_POINT('',(-0.15,0.,0.));+#2791 = DIRECTION('',(0.,1.,0.));+#2792 = DIRECTION('',(0.,0.,1.));+#2793 = DEFINITIONAL_REPRESENTATION('',(#2794),#2798);+#2794 = LINE('',#2795,#2796);+#2795 = CARTESIAN_POINT('',(0.,0.));+#2796 = VECTOR('',#2797,1.);+#2797 = DIRECTION('',(0.,1.));+#2798 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2799 = ORIENTED_EDGE('',*,*,#2800,.F.);+#2800 = EDGE_CURVE('',#2570,#2773,#2801,.T.);+#2801 = SURFACE_CURVE('',#2802,(#2806,#2813),.PCURVE_S1.);+#2802 = LINE('',#2803,#2804);+#2803 = CARTESIAN_POINT('',(-0.15,-1.3,0.));+#2804 = VECTOR('',#2805,1.);+#2805 = DIRECTION('',(0.,1.,0.));+#2806 = PCURVE('',#2375,#2807);+#2807 = DEFINITIONAL_REPRESENTATION('',(#2808),#2812);+#2808 = LINE('',#2809,#2810);+#2809 = CARTESIAN_POINT('',(0.15,0.25));+#2810 = VECTOR('',#2811,1.);+#2811 = DIRECTION('',(0.,1.));+#2812 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2813 = PCURVE('',#2710,#2814);+#2814 = DEFINITIONAL_REPRESENTATION('',(#2815),#2819);+#2815 = LINE('',#2816,#2817);+#2816 = CARTESIAN_POINT('',(0.,0.));+#2817 = VECTOR('',#2818,1.);+#2818 = DIRECTION('',(0.,-1.));+#2819 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2820 = ORIENTED_EDGE('',*,*,#2569,.F.);+#2821 = ADVANCED_FACE('',(#2822),#2505,.T.);+#2822 = FACE_BOUND('',#2823,.T.);+#2823 = EDGE_LOOP('',(#2824,#2825,#2826,#2827));+#2824 = ORIENTED_EDGE('',*,*,#2491,.F.);+#2825 = ORIENTED_EDGE('',*,*,#2727,.T.);+#2826 = ORIENTED_EDGE('',*,*,#2594,.T.);+#2827 = ORIENTED_EDGE('',*,*,#2522,.F.);+#2828 = ADVANCED_FACE('',(#2829),#2710,.F.);+#2829 = FACE_BOUND('',#2830,.F.);+#2830 = EDGE_LOOP('',(#2831,#2832,#2833,#2856));+#2831 = ORIENTED_EDGE('',*,*,#2696,.F.);+#2832 = ORIENTED_EDGE('',*,*,#2800,.T.);+#2833 = ORIENTED_EDGE('',*,*,#2834,.T.);+#2834 = EDGE_CURVE('',#2773,#2835,#2837,.T.);+#2835 = VERTEX_POINT('',#2836);+#2836 = CARTESIAN_POINT('',(-0.15,0.,8.E-02));+#2837 = SURFACE_CURVE('',#2838,(#2842,#2849),.PCURVE_S1.);+#2838 = LINE('',#2839,#2840);+#2839 = CARTESIAN_POINT('',(-0.15,0.,0.));+#2840 = VECTOR('',#2841,1.);+#2841 = DIRECTION('',(0.,0.,1.));+#2842 = PCURVE('',#2710,#2843);+#2843 = DEFINITIONAL_REPRESENTATION('',(#2844),#2848);+#2844 = LINE('',#2845,#2846);+#2845 = CARTESIAN_POINT('',(0.,-1.3));+#2846 = VECTOR('',#2847,1.);+#2847 = DIRECTION('',(1.,0.));+#2848 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2849 = PCURVE('',#2788,#2850);+#2850 = DEFINITIONAL_REPRESENTATION('',(#2851),#2855);+#2851 = LINE('',#2852,#2853);+#2852 = CARTESIAN_POINT('',(0.,0.));+#2853 = VECTOR('',#2854,1.);+#2854 = DIRECTION('',(1.,0.));+#2855 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2856 = ORIENTED_EDGE('',*,*,#2857,.F.);+#2857 = EDGE_CURVE('',#2669,#2835,#2858,.T.);+#2858 = SURFACE_CURVE('',#2859,(#2863,#2870),.PCURVE_S1.);+#2859 = LINE('',#2860,#2861);+#2860 = CARTESIAN_POINT('',(-0.15,-1.3,8.E-02));+#2861 = VECTOR('',#2862,1.);+#2862 = DIRECTION('',(0.,1.,0.));+#2863 = PCURVE('',#2710,#2864);+#2864 = DEFINITIONAL_REPRESENTATION('',(#2865),#2869);+#2865 = LINE('',#2866,#2867);+#2866 = CARTESIAN_POINT('',(8.E-02,0.));+#2867 = VECTOR('',#2868,1.);+#2868 = DIRECTION('',(0.,-1.));+#2869 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2870 = PCURVE('',#2684,#2871);+#2871 = DEFINITIONAL_REPRESENTATION('',(#2872),#2876);+#2872 = LINE('',#2873,#2874);+#2873 = CARTESIAN_POINT('',(0.,0.));+#2874 = VECTOR('',#2875,1.);+#2875 = DIRECTION('',(0.,1.));+#2876 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2877 = ADVANCED_FACE('',(#2878),#2684,.T.);+#2878 = FACE_BOUND('',#2879,.T.);+#2879 = EDGE_LOOP('',(#2880,#2881,#2882,#2905));+#2880 = ORIENTED_EDGE('',*,*,#2857,.F.);+#2881 = ORIENTED_EDGE('',*,*,#2668,.T.);+#2882 = ORIENTED_EDGE('',*,*,#2883,.T.);+#2883 = EDGE_CURVE('',#2641,#2884,#2886,.T.);+#2884 = VERTEX_POINT('',#2885);+#2885 = CARTESIAN_POINT('',(0.15,0.,8.E-02));+#2886 = SURFACE_CURVE('',#2887,(#2891,#2898),.PCURVE_S1.);+#2887 = LINE('',#2888,#2889);+#2888 = CARTESIAN_POINT('',(0.15,-1.3,8.E-02));+#2889 = VECTOR('',#2890,1.);+#2890 = DIRECTION('',(0.,1.,0.));+#2891 = PCURVE('',#2684,#2892);+#2892 = DEFINITIONAL_REPRESENTATION('',(#2893),#2897);+#2893 = LINE('',#2894,#2895);+#2894 = CARTESIAN_POINT('',(0.3,0.));+#2895 = VECTOR('',#2896,1.);+#2896 = DIRECTION('',(0.,1.));+#2897 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2898 = PCURVE('',#2656,#2899);+#2899 = DEFINITIONAL_REPRESENTATION('',(#2900),#2904);+#2900 = LINE('',#2901,#2902);+#2901 = CARTESIAN_POINT('',(8.E-02,0.));+#2902 = VECTOR('',#2903,1.);+#2903 = DIRECTION('',(0.,-1.));+#2904 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2905 = ORIENTED_EDGE('',*,*,#2906,.F.);+#2906 = EDGE_CURVE('',#2835,#2884,#2907,.T.);+#2907 = SURFACE_CURVE('',#2908,(#2912,#2919),.PCURVE_S1.);+#2908 = LINE('',#2909,#2910);+#2909 = CARTESIAN_POINT('',(-0.15,0.,8.E-02));+#2910 = VECTOR('',#2911,1.);+#2911 = DIRECTION('',(1.,0.,0.));+#2912 = PCURVE('',#2684,#2913);+#2913 = DEFINITIONAL_REPRESENTATION('',(#2914),#2918);+#2914 = LINE('',#2915,#2916);+#2915 = CARTESIAN_POINT('',(0.,1.3));+#2916 = VECTOR('',#2917,1.);+#2917 = DIRECTION('',(1.,0.));+#2918 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2919 = PCURVE('',#2788,#2920);+#2920 = DEFINITIONAL_REPRESENTATION('',(#2921),#2925);+#2921 = LINE('',#2922,#2923);+#2922 = CARTESIAN_POINT('',(8.E-02,0.));+#2923 = VECTOR('',#2924,1.);+#2924 = DIRECTION('',(0.,1.));+#2925 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2926 = ADVANCED_FACE('',(#2927),#2656,.T.);+#2927 = FACE_BOUND('',#2928,.T.);+#2928 = EDGE_LOOP('',(#2929,#2930,#2931,#2952));+#2929 = ORIENTED_EDGE('',*,*,#2640,.F.);+#2930 = ORIENTED_EDGE('',*,*,#2749,.T.);+#2931 = ORIENTED_EDGE('',*,*,#2932,.T.);+#2932 = EDGE_CURVE('',#2750,#2884,#2933,.T.);+#2933 = SURFACE_CURVE('',#2934,(#2938,#2945),.PCURVE_S1.);+#2934 = LINE('',#2935,#2936);+#2935 = CARTESIAN_POINT('',(0.15,0.,0.));+#2936 = VECTOR('',#2937,1.);+#2937 = DIRECTION('',(0.,0.,1.));+#2938 = PCURVE('',#2656,#2939);+#2939 = DEFINITIONAL_REPRESENTATION('',(#2940),#2944);+#2940 = LINE('',#2941,#2942);+#2941 = CARTESIAN_POINT('',(0.,-1.3));+#2942 = VECTOR('',#2943,1.);+#2943 = DIRECTION('',(1.,0.));+#2944 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2945 = PCURVE('',#2788,#2946);+#2946 = DEFINITIONAL_REPRESENTATION('',(#2947),#2951);+#2947 = LINE('',#2948,#2949);+#2948 = CARTESIAN_POINT('',(0.,0.3));+#2949 = VECTOR('',#2950,1.);+#2950 = DIRECTION('',(1.,0.));+#2951 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''+ ) );+#2952 = ORIENTED_EDGE('',*,*,#2883,.F.);+#2953 = ADVANCED_FACE('',(#2954),#2788,.T.);+#2954 = FACE_BOUND('',#2955,.T.);+#2955 = EDGE_LOOP('',(#2956,#2957,#2958,#2959));+#2956 = ORIENTED_EDGE('',*,*,#2772,.F.);+#2957 = ORIENTED_EDGE('',*,*,#2834,.T.);+#2958 = ORIENTED_EDGE('',*,*,#2906,.T.);+#2959 = ORIENTED_EDGE('',*,*,#2932,.F.);+#2960 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2964)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#2961,#2962,#2963)) REPRESENTATION_CONTEXT+('Context #1','3D Context with UNIT and UNCERTAINTY') );+#2961 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#2962 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#2963 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#2964 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#2961,+ 'distance_accuracy_value','confusion accuracy');+#2965 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#2966,#2968);+#2966 = ( REPRESENTATION_RELATIONSHIP('','',#2219,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#2967) +SHAPE_REPRESENTATION_RELATIONSHIP() );+#2967 = ITEM_DEFINED_TRANSFORMATION('','',#11,#27);+#2968 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',+ #2969);+#2969 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('6','centre_contact','',#5,#2214,+ $);+#2970 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#2216));+#2971 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(+ #2972,#2980),#2960);+#2972 = STYLED_ITEM('color',(#2973),#2220);+#2973 = PRESENTATION_STYLE_ASSIGNMENT((#2974));+#2974 = SURFACE_STYLE_USAGE(.BOTH.,#2975);+#2975 = SURFACE_SIDE_STYLE('',(#2976));+#2976 = SURFACE_STYLE_FILL_AREA(#2977);+#2977 = FILL_AREA_STYLE('',(#2978));+#2978 = FILL_AREA_STYLE_COLOUR('',#2979);+#2979 = COLOUR_RGB('',0.859999984366,0.700000005816,0.250000000672);+#2980 = STYLED_ITEM('color',(#2981),#2318);+#2981 = PRESENTATION_STYLE_ASSIGNMENT((#2982));+#2982 = SURFACE_STYLE_USAGE(.BOTH.,#2983);+#2983 = SURFACE_SIDE_STYLE('',(#2984));+#2984 = SURFACE_STYLE_FILL_AREA(#2985);+#2985 = FILL_AREA_STYLE('',(#2986));+#2986 = FILL_AREA_STYLE_COLOUR('',#2979);+#2987 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(+ #2988),#2201);+#2988 = STYLED_ITEM('color',(#2989),#2103);+#2989 = PRESENTATION_STYLE_ASSIGNMENT((#2990));+#2990 = SURFACE_STYLE_USAGE(.BOTH.,#2991);+#2991 = SURFACE_SIDE_STYLE('',(#2992));+#2992 = SURFACE_STYLE_FILL_AREA(#2993);+#2993 = FILL_AREA_STYLE('',(#2994));+#2994 = FILL_AREA_STYLE_COLOUR('',#2995);+#2995 = COLOUR_RGB('',0.899999998185,0.850000012718,0.720000003324);+#2996 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(+ #2997,#3005,#3012,#3019),#2084);+#2997 = STYLED_ITEM('color',(#2998),#722);+#2998 = PRESENTATION_STYLE_ASSIGNMENT((#2999));+#2999 = SURFACE_STYLE_USAGE(.BOTH.,#3000);+#3000 = SURFACE_SIDE_STYLE('',(#3001));+#3001 = SURFACE_STYLE_FILL_AREA(#3002);+#3002 = FILL_AREA_STYLE('',(#3003));+#3003 = FILL_AREA_STYLE_COLOUR('',#3004);+#3004 = COLOUR_RGB('',0.850000012718,0.859999984366,0.879999997771);+#3005 = STYLED_ITEM('color',(#3006),#1094);+#3006 = PRESENTATION_STYLE_ASSIGNMENT((#3007));+#3007 = SURFACE_STYLE_USAGE(.BOTH.,#3008);+#3008 = SURFACE_SIDE_STYLE('',(#3009));+#3009 = SURFACE_STYLE_FILL_AREA(#3010);+#3010 = FILL_AREA_STYLE('',(#3011));+#3011 = FILL_AREA_STYLE_COLOUR('',#3004);+#3012 = STYLED_ITEM('color',(#3013),#1424);+#3013 = PRESENTATION_STYLE_ASSIGNMENT((#3014));+#3014 = SURFACE_STYLE_USAGE(.BOTH.,#3015);+#3015 = SURFACE_SIDE_STYLE('',(#3016));+#3016 = SURFACE_STYLE_FILL_AREA(#3017);+#3017 = FILL_AREA_STYLE('',(#3018));+#3018 = FILL_AREA_STYLE_COLOUR('',#3004);+#3019 = STYLED_ITEM('color',(#3020),#1754);+#3020 = PRESENTATION_STYLE_ASSIGNMENT((#3021));+#3021 = SURFACE_STYLE_USAGE(.BOTH.,#3022);+#3022 = SURFACE_SIDE_STYLE('',(#3023));+#3023 = SURFACE_STYLE_FILL_AREA(#3024);+#3024 = FILL_AREA_STYLE('',(#3025));+#3025 = FILL_AREA_STYLE_COLOUR('',#3004);+#3026 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(+ #3027),#703);+#3027 = STYLED_ITEM('color',(#3028),#45);+#3028 = PRESENTATION_STYLE_ASSIGNMENT((#3029));+#3029 = SURFACE_STYLE_USAGE(.BOTH.,#3030);+#3030 = SURFACE_SIDE_STYLE('',(#3031));+#3031 = SURFACE_STYLE_FILL_AREA(#3032);+#3032 = FILL_AREA_STYLE('',(#3033));+#3033 = FILL_AREA_STYLE_COLOUR('',#2995);+ENDSEC;+END-ISO-10303-21;
viewers/footprint.htmladded+210@@ -0,0 +1,210 @@+<!doctype html><html><head><meta charset="utf-8">+<title>u-fl-r-smt-1-80 - 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">u-fl-r-smt-1-80</span></header>+ <main>+ <div class="vpwrap">+ <div class="av-vp" id="vp">+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-3.250 -2.850 6.500 6.150" preserveAspectRatio="xMidYMid meet"><g class="adom-layer-courtyard"><rect x="-2.250" y="-1.850" width="4.500" height="4.150" fill="none" stroke="#FF26E2" stroke-width="0.05" stroke-dasharray="0.2,0.1"/></g><g class="adom-layer-fab"><rect x="-1.300" y="-1.300" width="2.600" height="2.600" fill="none" stroke="#6e7681" stroke-width="0.1"/><rect x="-0.300" y="1.300" width="0.600" height="0.250" fill="none" stroke="#6e7681" stroke-width="0.1"/><rect x="-0.300" y="-1.550" width="0.600" height="0.250" fill="none" stroke="#6e7681" stroke-width="0.1"/><circle cx="0.000" cy="0.000" r="1.000" fill="none" stroke="#6e7681" stroke-width="0.1"/></g><g class="adom-layer-copper"><g data-pad="1" data-shape="rect" data-size="1.000x1.050" data-mount="smd"><rect x="-0.500" y="1.000" width="1.000" height="1.050" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="2" data-shape="rect" data-size="1.050x2.200" data-mount="smd"><rect x="-2.000" y="-1.100" width="1.050" height="2.200" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="2" data-shape="rect" data-size="1.050x2.200" data-mount="smd"><rect x="0.950" y="-1.100" width="1.050" height="2.200" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g></g><g class="adom-layer-heatsink"></g><g class="adom-layer-drill"></g><g class="adom-layer-silk"><line x1="-0.750" y1="-1.450" x2="0.750" y2="-1.450" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><circle cx="-0.800" cy="1.900" r="0.100" fill="#00cccc" stroke="#00cccc" stroke-width="0.12"/></g><g class="adom-layer-padnum"><text x="0.000" y="1.525" text-anchor="middle" dominant-baseline="central" font-size="0.420" fill="#fff" font-family="sans-serif" style="pointer-events:none">1</text><text x="-1.475" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.441" fill="#fff" font-family="sans-serif" style="pointer-events:none">2</text><text x="1.475" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.441" fill="#fff" font-family="sans-serif" style="pointer-events:none">2</text></g><g class="adom-layer-paste-apertures"><rect x="-0.400" y="1.100" width="0.800" height="0.850" rx="0.05" transform="rotate(0.00 0.000 1.525)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-1.950" y="-1.000" width="0.900" height="2.000" rx="0.05" transform="rotate(0.00 -1.500 0.000)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.050" y="-1.000" width="0.900" height="2.000" rx="0.05" transform="rotate(0.00 1.500 0.000)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/></g><g class="adom-layer-paste-dots"><circle cx="-0.125" cy="1.400" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.125" cy="1.650" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="1.400" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.125" cy="1.650" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.625" cy="-0.750" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.625" cy="-0.500" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.625" cy="-0.250" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.625" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.625" cy="0.250" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.625" cy="0.500" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.625" cy="0.750" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="-0.750" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="-0.500" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="-0.250" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="0.250" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="0.500" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.375" cy="0.750" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="-0.750" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="-0.500" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="-0.250" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="0.250" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="0.500" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.375" cy="0.750" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.625" cy="-0.750" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.625" cy="-0.500" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.625" cy="-0.250" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.625" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.625" cy="0.250" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.625" cy="0.500" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.625" cy="0.750" r="0.150" fill="#37c8a6" opacity="0.92"/></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":3,"pasteDots":32};+(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>
viewers/symbol.htmladded+1974@@ -0,0 +1,1974 @@+<!doctype html><html><head><meta charset="utf-8">+<title>U.FL-R-SMT-1(80) - 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">U.FL-R-SMT-1(80)</span>+ <span class="subject-meta"><span class="sep">·</span><span>2 pins</span><span class="sep">·</span><span>u-fl-r-smt-1-80</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">Hirose Electric</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="17.398mm" height="22.430mm" viewBox="88.3800 90.6900 17.3980 22.4300">++<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.079" cy="101.905" r="15.700999999999999" 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="88.38" y="90.69" width="17.398" height="22.43" fill="#0d1117"/>+<rect x="88.38" y="90.69" width="17.398" height="22.43" fill="url(#adom-canvas-grid)"/>+<rect x="88.38" y="90.69" width="17.398" height="22.43" 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>++<path style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.4600,100.0000+99.4920,100.0000+" /> +</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.2540; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M101.7788 100.0000 A1.8054 1.8054 0.0 0 0 98.2220 99.4920" />+<path d="M98.2228 100.5078 A1.8046 1.8046 0.0 0 0 101.7780 100.0000" />+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.2032; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<circle cx="100.0000" cy="100.0000" r="0.5080" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.0000,102.5400+100.0000,101.7780+" /> +</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M97.4600 100.0000+L94.9200 100.0000+" />+</g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="96.1900" y="99.7460"+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="M96.5529 99.5825+L95.8272 99.5825+" />+<path d="M96.1900 99.5825+L96.1900 98.3125+" />+<path d="M96.1900 98.3125+L96.0691 98.4940+" />+<path d="M96.0691 98.4940+L95.9481 98.6149+" />+<path d="M95.9481 98.6149+L95.8272 98.6754+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M100.0000 102.5400+L100.0000 105.0800+" />+</g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<g transform="rotate(-90.000000 99.7460 103.8100)">+<text x="99.7460" y="103.8100"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">2</text>+</g>+<g class="stroked-text">+<path d="M98.4335 104.1727+L98.3730 104.1123+" />+<path d="M98.3730 104.1123+L98.3125 103.9913+" />+<path d="M98.3125 103.9913+L98.3125 103.6889+" />+<path d="M98.3125 103.6889+L98.3730 103.5680+" />+<path d="M98.3730 103.5680+L98.4335 103.5075+" />+<path d="M98.4335 103.5075+L98.5544 103.4470+" />+<path d="M98.5544 103.4470+L98.6754 103.4470+" />+<path d="M98.6754 103.4470+L98.8568 103.5075+" />+<path d="M98.8568 103.5075+L99.5825 104.2332+" />+<path d="M99.5825 104.2332+L99.5825 103.4470+" />+</g></g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="97.4600" y="96.8250"+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="M97.0971 95.4995+L97.0971 96.4067+" />+<path d="M97.0971 96.4067+L97.0366 96.5881+" />+<path d="M97.0366 96.5881+L96.9157 96.7091+" />+<path d="M96.9157 96.7091+L96.7342 96.7695+" />+<path d="M96.7342 96.7695+L96.6133 96.7695+" />+<path d="M97.8833 96.6486+L97.9437 96.7091+" />+<path d="M97.9437 96.7091+L97.8833 96.7695+" />+<path d="M97.8833 96.7695+L97.8228 96.7091+" />+<path d="M97.8228 96.7091+L97.8833 96.6486+" />+<path d="M97.8833 96.6486+L97.8833 96.7695+" />+<path d="M97.6414 95.5600+L97.7623 95.4995+" />+<path d="M97.7623 95.4995+L98.0647 95.4995+" />+<path d="M98.0647 95.4995+L98.1856 95.5600+" />+<path d="M98.1856 95.5600+L98.2461 95.6810+" />+<path d="M98.2461 95.6810+L98.2461 95.8019+" />+<path d="M98.2461 95.8019+L98.1856 95.9229+" />+<path d="M98.1856 95.9229+L98.1252 95.9833+" />+<path d="M98.1252 95.9833+L98.0042 96.0438+" />+<path d="M98.0042 96.0438+L97.9437 96.1043+" />+<path d="M97.9437 96.1043+L97.8833 96.2252+" />+<path d="M97.8833 96.2252+L97.8833 96.2857+" />+</g><text x="97.4600" y="108.2550"+textLength="19.1928" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">U.FL-R-SMT-1(80)</text>+<g class="stroked-text">+<path d="M88.2675 106.9295+L88.2675 107.9576+" />+<path d="M88.2675 107.9576+L88.3280 108.0786+" />+<path d="M88.3280 108.0786+L88.3885 108.1391+" />+<path d="M88.3885 108.1391+L88.5094 108.1995+" />+<path d="M88.5094 108.1995+L88.7513 108.1995+" />+<path d="M88.7513 108.1995+L88.8723 108.1391+" />+<path d="M88.8723 108.1391+L88.9328 108.0786+" />+<path d="M88.9328 108.0786+L88.9932 107.9576+" />+<path d="M88.9932 107.9576+L88.9932 106.9295+" />+<path d="M89.5980 108.0786+L89.6585 108.1391+" />+<path d="M89.6585 108.1391+L89.5980 108.1995+" />+<path d="M89.5980 108.1995+L89.5376 108.1391+" />+<path d="M89.5376 108.1391+L89.5980 108.0786+" />+<path d="M89.5980 108.0786+L89.5980 108.1995+" />+<path d="M90.6262 107.5343+L90.2028 107.5343+" />+<path d="M90.2028 108.1995+L90.2028 106.9295+" />+<path d="M90.2028 106.9295+L90.8076 106.9295+" />+<path d="M91.8962 108.1995+L91.2914 108.1995+" />+<path d="M91.2914 108.1995+L91.2914 106.9295+" />+<path d="M92.3195 107.7157+L93.2872 107.7157+" />+<path d="M94.6176 108.1995+L94.1943 107.5948+" />+<path d="M93.8919 108.1995+L93.8919 106.9295+" />+<path d="M93.8919 106.9295+L94.3757 106.9295+" />+<path d="M94.3757 106.9295+L94.4967 106.9900+" />+<path d="M94.4967 106.9900+L94.5572 107.0505+" />+<path d="M94.5572 107.0505+L94.6176 107.1714+" />+<path d="M94.6176 107.1714+L94.6176 107.3529+" />+<path d="M94.6176 107.3529+L94.5572 107.4738+" />+<path d="M94.5572 107.4738+L94.4967 107.5343+" />+<path d="M94.4967 107.5343+L94.3757 107.5948+" />+<path d="M94.3757 107.5948+L93.8919 107.5948+" />+<path d="M95.1619 107.7157+L96.1296 107.7157+" />+<path d="M96.6739 108.1391+L96.8553 108.1995+" />+<path d="M96.8553 108.1995+L97.1577 108.1995+" />+<path d="M97.1577 108.1995+L97.2786 108.1391+" />+<path d="M97.2786 108.1391+L97.3391 108.0786+" />+<path d="M97.3391 108.0786+L97.3996 107.9576+" />+<path d="M97.3996 107.9576+L97.3996 107.8367+" />+<path d="M97.3996 107.8367+L97.3391 107.7157+" />+<path d="M97.3391 107.7157+L97.2786 107.6552+" />+<path d="M97.2786 107.6552+L97.1577 107.5948+" />+<path d="M97.1577 107.5948+L96.9158 107.5343+" />+<path d="M96.9158 107.5343+L96.7948 107.4738+" />+<path d="M96.7948 107.4738+L96.7343 107.4133+" />+<path d="M96.7343 107.4133+L96.6739 107.2924+" />+<path d="M96.6739 107.2924+L96.6739 107.1714+" />+<path d="M96.6739 107.1714+L96.7343 107.0505+" />+<path d="M96.7343 107.0505+L96.7948 106.9900+" />+<path d="M96.7948 106.9900+L96.9158 106.9295+" />+<path d="M96.9158 106.9295+L97.2181 106.9295+" />+<path d="M97.2181 106.9295+L97.3996 106.9900+" />+<path d="M97.9438 108.1995+L97.9438 106.9295+" />+<path d="M97.9438 106.9295+L98.3672 107.8367+" />+<path d="M98.3672 107.8367+L98.7905 106.9295+" />+<path d="M98.7905 106.9295+L98.7905 108.1995+" />+<path d="M99.2138 106.9295+L99.9395 106.9295+" />+<path d="M99.5767 108.1995+L99.5767 106.9295+" />+<path d="M100.3628 107.7157+L101.3305 107.7157+" />+<path d="M102.6005 108.1995+L101.8748 108.1995+" />+<path d="M102.2376 108.1995+L102.2376 106.9295+" />+<path d="M102.2376 106.9295+L102.1167 107.1110+" />+<path d="M102.1167 107.1110+L101.9957 107.2319+" />+<path d="M101.9957 107.2319+L101.8748 107.2924+" />+<path d="M103.5076 108.6833+L103.4471 108.6229+" />+<path d="M103.4471 108.6229+L103.3262 108.4414+" />+<path d="M103.3262 108.4414+L103.2657 108.3205+" />+<path d="M103.2657 108.3205+L103.2052 108.1391+" />+<path d="M103.2052 108.1391+L103.1447 107.8367+" />+<path d="M103.1447 107.8367+L103.1447 107.5948+" />+<path d="M103.1447 107.5948+L103.2052 107.2924+" />+<path d="M103.2052 107.2924+L103.2657 107.1110+" />+<path d="M103.2657 107.1110+L103.3262 106.9900+" />+<path d="M103.3262 106.9900+L103.4471 106.8086+" />+<path d="M103.4471 106.8086+L103.5076 106.7481+" />+<path d="M104.1729 107.4738+L104.0519 107.4133+" />+<path d="M104.0519 107.4133+L103.9914 107.3529+" />+<path d="M103.9914 107.3529+L103.9310 107.2319+" />+<path d="M103.9310 107.2319+L103.9310 107.1714+" />+<path d="M103.9310 107.1714+L103.9914 107.0505+" />+<path d="M103.9914 107.0505+L104.0519 106.9900+" />+<path d="M104.0519 106.9900+L104.1729 106.9295+" />+<path d="M104.1729 106.9295+L104.4148 106.9295+" />+<path d="M104.4148 106.9295+L104.5357 106.9900+" />+<path d="M104.5357 106.9900+L104.5962 107.0505+" />+<path d="M104.5962 107.0505+L104.6567 107.1714+" />+<path d="M104.6567 107.1714+L104.6567 107.2319+" />+<path d="M104.6567 107.2319+L104.5962 107.3529+" />+<path d="M104.5962 107.3529+L104.5357 107.4133+" />+<path d="M104.5357 107.4133+L104.4148 107.4738+" />+<path d="M104.4148 107.4738+L104.1729 107.4738+" />+<path d="M104.1729 107.4738+L104.0519 107.5343+" />+<path d="M104.0519 107.5343+L103.9914 107.5948+" />+<path d="M103.9914 107.5948+L103.9310 107.7157+" />+<path d="M103.9310 107.7157+L103.9310 107.9576+" />+<path d="M103.9310 107.9576+L103.9914 108.0786+" />+<path d="M103.9914 108.0786+L104.0519 108.1391+" />+<path d="M104.0519 108.1391+L104.1729 108.1995+" />+<path d="M104.1729 108.1995+L104.4148 108.1995+" />+<path d="M104.4148 108.1995+L104.5357 108.1391+" />+<path d="M104.5357 108.1391+L104.5962 108.0786+" />+<path d="M104.5962 108.0786+L104.6567 107.9576+" />+<path d="M104.6567 107.9576+L104.6567 107.7157+" />+<path d="M104.6567 107.7157+L104.5962 107.5948+" />+<path d="M104.5962 107.5948+L104.5357 107.5343+" />+<path d="M104.5357 107.5343+L104.4148 107.4738+" />+<path d="M105.4428 106.9295+L105.5638 106.9295+" />+<path d="M105.5638 106.9295+L105.6847 106.9900+" />+<path d="M105.6847 106.9900+L105.7452 107.0505+" />+<path d="M105.7452 107.0505+L105.8057 107.1714+" />+<path d="M105.8057 107.1714+L105.8662 107.4133+" />+<path d="M105.8662 107.4133+L105.8662 107.7157+" />+<path d="M105.8662 107.7157+L105.8057 107.9576+" />+<path d="M105.8057 107.9576+L105.7452 108.0786+" />+<path d="M105.7452 108.0786+L105.6847 108.1391+" />+<path d="M105.6847 108.1391+L105.5638 108.1995+" />+<path d="M105.5638 108.1995+L105.4428 108.1995+" />+<path d="M105.4428 108.1995+L105.3219 108.1391+" />+<path d="M105.3219 108.1391+L105.2614 108.0786+" />+<path d="M105.2614 108.0786+L105.2009 107.9576+" />+<path d="M105.2009 107.9576+L105.1405 107.7157+" />+<path d="M105.1405 107.7157+L105.1405 107.4133+" />+<path d="M105.1405 107.4133+L105.2009 107.1714+" />+<path d="M105.2009 107.1714+L105.2614 107.0505+" />+<path d="M105.2614 107.0505+L105.3219 106.9900+" />+<path d="M105.3219 106.9900+L105.4428 106.9295+" />+<path d="M106.2895 108.6833+L106.3500 108.6229+" />+<path d="M106.3500 108.6229+L106.4709 108.4414+" />+<path d="M106.4709 108.4414+L106.5314 108.3205+" />+<path d="M106.5314 108.3205+L106.5919 108.1391+" />+<path d="M106.5919 108.1391+L106.6523 107.8367+" />+<path d="M106.6523 107.8367+L106.6523 107.5948+" />+<path d="M106.6523 107.5948+L106.5919 107.2924+" />+<path d="M106.5919 107.2924+L106.5314 107.1110+" />+<path d="M106.5314 107.1110+L106.4709 106.9900+" />+<path d="M106.4709 106.9900+L106.3500 106.8086+" />+<path d="M106.3500 106.8086+L106.2895 106.7481+" />+</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">Hirose Electric</span></span><span class="it"><span class="k">PKG</span><span class="v">u-fl-r-smt-1-80</span></span><span class="it"><span class="k">PINS</span><span class="v">2</span></span><span class="it descit"><span class="k">DESC</span><span class="v">Hirose U.FL SMT coaxial receptacle, 50 ohm (0 to 8 GHz), 3.0 x 2.6 mm, 1.25 mm high, silver-plated shell, 10,000 pcs ree…</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":"SIG","number":"1","type":"Passive","x":-5.08,"y":0.0},{"angle":90,"color":"#78909c","desc":"","length":2.54,"name":"GND","number":"2","type":"Passive","x":0.0,"y":-5.08}], 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>