Compare commits

...

27 Commits

Author SHA1 Message Date
83ca08b26c Update dependabot config (#5907) 2025-03-20 09:10:50 -04:00
ce98218bf0 Create main.kcl (#5898)
* Create main.kcl

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Josh Gomez <114548659+jgomez720@users.noreply.github.com>
2025-03-19 23:28:07 -07:00
2d43399703 Update pipe flange assembly (#5893)
* update pipe flange assy and small change to walkie talkie

* update header in globals.kcl

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* Update output after merge

---------

Co-authored-by: jgomez720 <114548659+jgomez720@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-20 03:49:06 +00:00
461a2c3ab2 Support comments on attributes (#5850)
Signed-off-by: Nick Cameron <nrc@ncameron.org>
2025-03-20 16:23:20 +13:00
79be72c5f0 Fix a couple of panics (#5900)
* Ensure batches in the engine are cleared between scenes

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Avoid panicking reading arguments out of bounds

Signed-off-by: Nick Cameron <nrc@ncameron.org>

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
2025-03-20 02:59:16 +00:00
9ddb4e629f Stub csg functions for front end (#5899)
* initial placeholder csg functions

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* generate docs

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* generate docs

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
2025-03-20 02:26:57 +00:00
25e8e7081b Fix workflow to commit all generated kcl-samples files (#5896) 2025-03-20 01:10:54 +00:00
c5164cbee3 Fix electron renderer topLevelAwait in electron-forge (#5895)
* Fix electron renderer topLevelAwait

* Actually we need both for both cases, adding back plus comments
2025-03-19 20:54:35 -04:00
809b333248 bump kcl and friends before tomorrow release (#5897)
Signed-off-by: Jess Frazelle <github@jessfraz.com>
2025-03-19 17:12:02 -07:00
a933646667 Fix e2e workflow when only kcl-samples changes (#5894) 2025-03-19 19:46:44 -04:00
98a68f5cd9 Step file unfuck ci (#5891)
* remove the files

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* remove step shit from kcl-samples

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-19 16:43:10 -07:00
33dc254e43 Fix yarn build:wasm to format generated files (#5889) 2025-03-19 23:29:27 +00:00
b54295f2f7 get common edge (#5869)
* get common edge

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fmt

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* add get common edge

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* docs

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
2025-03-20 09:12:27 +11:00
a7e09a89ef Improve snapshot testing (#5856)
* Improve snapshot testing

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-19 15:06:27 -07:00
4b6166dc4f fix no profile errors (#5877)
* fix no profile errors

* add test and tweak a couple things

* quick fix

* fix animation

* add another test

* Use actor.getSnapshot in the debug function

So we don't have to rebuild that listener every time that the state
changes.

* try fix tests

---------

Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
2025-03-20 08:30:11 +11:00
e7d00f148b transform after fillet bug fix (#5882)
* fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* rotate

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* its not jsut translate

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* its not jsut translate

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fix

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
2025-03-19 12:28:56 -07:00
d19a7df7e8 Tag and name end and start caps (#5874)
* initial commit

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* update for revolve

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
2025-03-19 19:18:19 +00:00
45fae52afc bump kcl friends (#5887)
* bump kcl friends

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* update lock

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-19 11:22:36 -07:00
270f173aad fix unwrap causing panic (#5886)
updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>
2025-03-19 10:19:19 -07:00
ddcff1ba63 Fix the dev target dependency name (#5879) 2025-03-19 16:49:15 +00:00
max
cb1b08d6b6 Add modelingWorkflows module with resilient update pattern for adding features (#5821)
* rule them all

* swap AST updater

* add test

* yellow colour fix

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-19 17:48:29 +01:00
533fa749b2 Add ability to create named constant without code (#5840)
* Add support for forcing kcl input create variable

* Command palette padding tweak

* Make traverse function work for ExpressionStatements

* Add utilities for getting earliest safe index in AST

* Fix the insertIndex logic to not be based on the selection anymore

* Add workflow to create a named constant

* Fix bug with nameEndInDigits matcher

* Tweak command config

* Add a three-dot menu to feature tree pane to create parameters

* Add E2E test for create parameter flow

* Remove edit flow oops

* Fix tsc error

* Fix E2E test

* Update named constant position in edit flow test

* Add tags into consideration for safe insert index

Per @Irev-dev's helpful feedback, with unit tests!
2025-03-19 15:58:53 +00:00
af492d2cb6 Add 9 test fixmes (#5872)
* Add 4 test fixmes

* Add 3 more test fixmes

* Another one

* Last one yo
2025-03-19 07:58:55 -04:00
26fba71abf Revolve changed to kw args (#5873)
* initial port

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* more fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fix e2e

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* more fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* update js side

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fix;

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* cleanup

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
2025-03-18 20:34:44 -07:00
859bfc7b28 move export to the rust side to make the interface way more clean (#5855)
* move export

Signed-off-by: Jess Frazelle <github@jessfraz.com>

testing

Signed-off-by: Jess Frazelle <github@jessfraz.com>

remove debugs

Signed-off-by: Jess Frazelle <github@jessfraz.com>

fix main

Signed-off-by: Jess Frazelle <github@jessfraz.com>

updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

fices

Signed-off-by: Jess Frazelle <github@jessfraz.com>

get rid of logs

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* Convert async actions anti-pattern to fromPromise actors

* Fix tsc by removing a generic type

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* cleanup

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* cleanup

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* Update rustContext.ts

* fix

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fix;

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* cleanup

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* remove weird file

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fix

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
2025-03-18 20:25:51 -07:00
3b1d1307c4 transform a sketch (#5867)
* transform a sketch

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fix test

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-18 16:36:48 -07:00
f5a2c84ce2 Revolve around sketch line (#5870)
* show we can revolve around paths

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* show we can revolve around paths

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-18 13:51:24 -07:00
970 changed files with 267234 additions and 712614 deletions

View File

@ -230,39 +230,6 @@ updates:
update-types:
- minor
- patch
- package-ecosystem: pip
directory: /public/kcl-samples
schedule:
interval: weekly
day: monday
time: '03:00'
timezone: America/Los_Angeles
open-pull-requests-limit: 5
reviewers:
- adamchalmers
- franknoirot
- irev-dev
- jessfraz
groups:
security:
applies-to: security-updates
update-types:
- major
- minor
- patch
patch:
applies-to: version-updates
update-types:
- patch
major:
applies-to: version-updates
update-types:
- major
minor:
applies-to: version-updates
update-types:
- minor
- patch
- package-ecosystem: pip
directory: /rust/kcl-python-bindings
schedule:

View File

@ -100,9 +100,14 @@ jobs:
shell: bash
run: |
set -euo pipefail
cd rust
pushd rust
just overwrite-sim-test kcl_samples
git add kcl-lib/tests
popd
git add \
rust/kcl-lib/tests \
public/kcl-samples/manifest.json \
public/kcl-samples/README.md \
public/kcl-samples/screenshots
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git remote set-url origin https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git

View File

@ -325,6 +325,7 @@ jobs:
run: yarn
- name: Cache Playwright Browsers
if: needs.conditions.outputs.should-run == 'true'
uses: actions/cache@v4
with:
path: |
@ -332,6 +333,7 @@ jobs:
key: ${{ runner.os }}-playwright-${{ hashFiles('yarn.lock') }}
- name: Install Playwright Browsers
if: needs.conditions.outputs.should-run == 'true'
run: yarn playwright install --with-deps
- name: Build web

View File

@ -4,7 +4,7 @@ KCL_WASM_LIB_FILES := $(wildcard rust/**/*.rs)
TS_SRC := $(wildcard src/**/*.tsx) $(wildcard src/**/*.ts)
XSTATE_TYPEGENS := $(wildcard src/machines/*.typegen.ts)
dev: node_modules public/wasm_lib_bg.wasm $(XSTATE_TYPEGENS)
dev: node_modules public/kcl_wasm_lib_bg.wasm $(XSTATE_TYPEGENS)
yarn start
# I'm sorry this is so specific to my setup you may as well ignore this.

View File

@ -54,7 +54,7 @@ example = extrude(exampleSketch, length = 5)
// Add color to a revolved solid.
sketch001 = startSketchOn('XY')
|> circle(center = [15, 0], radius = 5)
|> revolve({ angle = 360, axis = 'y' }, %)
|> revolve(angle = 360, axis = 'y')
|> appearance(color = '#ff0000', metalness = 90, roughness = 90)
```
@ -184,7 +184,6 @@ example = extrude(exampleSketch, length = 1)
```js
// Color the result of a sweep.
// Create a path for the sweep.
sweepPath = startSketchOn('XZ')
|> startProfileAt([0.05, 0.05], %)

View File

@ -12,6 +12,8 @@ You can provide more than one sketch to extrude, and they will all be extruded i
extrude(
sketches: [Sketch],
length: number,
tagStart?: TagDeclarator,
tagEnd?: TagDeclarator,
): [Solid]
```
@ -22,6 +24,8 @@ extrude(
|----------|------|-------------|----------|
| `sketches` | [`[Sketch]`](/docs/kcl/types/Sketch) | Which sketch or sketches should be extruded | Yes |
| `length` | [`number`](/docs/kcl/types/number) | How far to extrude the given sketches | Yes |
| `tagStart` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | A named tag for the face at the start of the extrusion, i.e. the original sketch | No |
| `tagEnd` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | A named tag for the face at the end of the extrusion, i.e. the new face created by extruding the original sketch | No |
### Returns

54
docs/kcl/getCommonEdge.md Normal file

File diff suppressed because one or more lines are too long

View File

@ -65,6 +65,7 @@ layout: manual
* [`fillet`](kcl/fillet)
* [`floor`](kcl/floor)
* [`ft`](kcl/ft)
* [`getCommonEdge`](kcl/getCommonEdge)
* [`getNextAdjacentEdge`](kcl/getNextAdjacentEdge)
* [`getOppositeEdge`](kcl/getOppositeEdge)
* [`getPreviousAdjacentEdge`](kcl/getPreviousAdjacentEdge)

50
docs/kcl/intersect.md Normal file

File diff suppressed because one or more lines are too long

View File

@ -15,6 +15,8 @@ loft(
bezApproximateRational: bool,
baseCurveIndex?: integer,
tolerance?: number,
tagStart?: TagDeclarator,
tagEnd?: TagDeclarator,
): Solid
```
@ -28,6 +30,8 @@ loft(
| `bezApproximateRational` | [`bool`](/docs/kcl/types/bool) | Attempt to approximate rational curves (such as arcs) using a bezier. This will remove banding around interpolations between arcs and non-arcs. It may produce errors in other scenarios Over time, this field won't be necessary. | Yes |
| `baseCurveIndex` | `integer` | This can be set to override the automatically determined topological base curve, which is usually the first section encountered. | No |
| `tolerance` | [`number`](/docs/kcl/types/number) | Tolerance for the loft operation. | No |
| `tagStart` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | A named tag for the face at the start of the loft, i.e. the original sketch | No |
| `tagEnd` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | A named tag for the face at the end of the loft, i.e. the last sketch | No |
### Returns

View File

@ -52,7 +52,6 @@ fn sum(arr):
sumSoFar = add(sumSoFar, i)
return sumSoFar */
// We use `assertEqual` to check that our `sum` function gives the
// expected result. It's good to check your work!
assertEqual(sum([1, 2, 3]), 6, 0.00001, "1 + 2 + 3 summed is 6")
@ -114,7 +113,6 @@ fn decagon(radius):
fullDecagon = partialDecagon // it's now full
return fullDecagon */
// Use the `decagon` function declared above, to sketch a decagon with radius 5.
decagon(5.0)
|> close()

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,10 @@
---
title: "scale"
excerpt: "Scale a solid."
excerpt: "Scale a solid or a sketch."
layout: manual
---
Scale a solid.
Scale a solid or a sketch.
By default the transform is applied in local sketch axis, therefore the origin will not move.
@ -12,10 +12,10 @@ If you want to apply the transform in global space, set `global` to `true`. The
```js
scale(
solids: SolidOrImportedGeometry,
objects: SolidOrSketchOrImportedGeometry,
scale: [number],
global?: bool,
): SolidOrImportedGeometry
): SolidOrSketchOrImportedGeometry
```
@ -23,13 +23,13 @@ scale(
| Name | Type | Description | Required |
|----------|------|-------------|----------|
| `solids` | [`SolidOrImportedGeometry`](/docs/kcl/types/SolidOrImportedGeometry) | The solid or set of solids to scale. | Yes |
| `objects` | [`SolidOrSketchOrImportedGeometry`](/docs/kcl/types/SolidOrSketchOrImportedGeometry) | The solid, sketch, or set of solids or sketches to scale. | Yes |
| `scale` | [`[number]`](/docs/kcl/types/number) | The scale factor for the x, y, and z axes. | Yes |
| `global` | [`bool`](/docs/kcl/types/bool) | If true, the transform is applied in global space. The origin of the model will move. By default, the transform is applied in local sketch axis, therefore the origin will not move. | No |
### Returns
[`SolidOrImportedGeometry`](/docs/kcl/types/SolidOrImportedGeometry) - Data for a solid or an imported geometry.
[`SolidOrSketchOrImportedGeometry`](/docs/kcl/types/SolidOrSketchOrImportedGeometry) - Data for a solid or an imported geometry.
### Examples
@ -37,7 +37,6 @@ scale(
```js
// Scale a pipe.
// Create a path for the sweep.
sweepPath = startSketchOn('XZ')
|> startProfileAt([0.05, 0.05], %)

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

56
docs/kcl/subtract.md Normal file

File diff suppressed because one or more lines are too long

View File

@ -16,6 +16,8 @@ sweep(
path: SweepPath,
sectional?: bool,
tolerance?: number,
tagStart?: TagDeclarator,
tagEnd?: TagDeclarator,
): [Solid]
```
@ -28,6 +30,8 @@ sweep(
| `path` | [`SweepPath`](/docs/kcl/types/SweepPath) | The path to sweep the sketch along | Yes |
| `sectional` | [`bool`](/docs/kcl/types/bool) | If true, the sweep will be broken up into sub-sweeps (extrusions, revolves, sweeps) based on the trajectory path components. | No |
| `tolerance` | [`number`](/docs/kcl/types/number) | Tolerance for this operation | No |
| `tagStart` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | A named tag for the face at the start of the sweep, i.e. the original sketch | No |
| `tagEnd` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | A named tag for the face at the end of the sweep | No |
### Returns
@ -39,7 +43,6 @@ sweep(
```js
// Create a pipe using a sweep.
// Create a path for the sweep.
sweepPath = startSketchOn('XZ')
|> startProfileAt([0.05, 0.05], %)
@ -64,7 +67,6 @@ sweepSketch = startSketchOn('XY')
```js
// Create a spring by sweeping around a helix path.
// Create a helix around the Z axis.
helixPath = helix(
angleStart = 0,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,66 @@
---
title: "SolidOrSketchOrImportedGeometry"
excerpt: "Data for a solid or an imported geometry."
layout: manual
---
Data for a solid or an imported geometry.
**This schema accepts exactly one of the following:**
Data for an imported geometry.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `importedGeometry`| | No |
| `id` |[`string`](/docs/kcl/types/string)| The ID of the imported geometry. | No |
| `value` |`[` [`string`](/docs/kcl/types/string) `]`| The original file paths. | No |
----
**Type:** `[object, array]`
`[` [`Solid`](/docs/kcl/types/Solid) `]`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `solidSet`| | No |
----
**Type:** `[object, array]`
`[` [`Sketch`](/docs/kcl/types/Sketch) `]`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `sketchSet`| | No |
----

50
docs/kcl/union.md Normal file

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@ import { test, expect } from './zoo-test'
import * as fsp from 'fs/promises'
import { executorInputPath, getUtils } from './test-utils'
import { KCL_DEFAULT_LENGTH } from 'lib/constants'
import path from 'path'
import path, { join } from 'path'
test.describe('Command bar tests', { tag: ['@skipWin'] }, () => {
test('Extrude from command bar selects extrude line after', async ({
@ -487,4 +487,53 @@ test.describe('Command bar tests', { tag: ['@skipWin'] }, () => {
await toolbar.expectFileTreeState(['main.kcl', 'test.kcl'])
})
})
test(`Can add a named parameter or constant`, async ({
page,
homePage,
context,
cmdBar,
scene,
editor,
}) => {
const projectName = 'test'
const beforeKclCode = `a = 5
b = a * a
c = 3 + a`
await context.folderSetupFn(async (dir) => {
const testProject = join(dir, projectName)
await fsp.mkdir(testProject, { recursive: true })
await fsp.writeFile(join(testProject, 'main.kcl'), beforeKclCode, 'utf-8')
})
await homePage.openProject(projectName)
// TODO: you probably shouldn't need an engine connection to add a parameter,
// but you do because all modeling commands have that requirement
await scene.settled(cmdBar)
await test.step(`Go through the command palette flow`, async () => {
await cmdBar.cmdBarOpenBtn.click()
await cmdBar.chooseCommand('create parameter')
await cmdBar.expectState({
stage: 'arguments',
commandName: 'Create parameter',
currentArgKey: 'value',
currentArgValue: '5',
headerArguments: {
Value: '',
},
highlightedHeaderArg: 'value',
})
await cmdBar.argumentInput.locator('[contenteditable]').fill(`b - 5`)
// TODO: we have no loading indicator for the KCL argument input calculation
await page.waitForTimeout(100)
await cmdBar.progressCmdBar()
await cmdBar.expectState({
stage: 'commandBarClosed',
})
})
await editor.expectEditor.toContain(
`a = 5b = a * amyParameter001 = b - 5c = 3 + a`
)
})
})

View File

@ -726,10 +726,10 @@ test.describe('Editor tests', { tag: ['@skipWin'] }, () => {
|> line(end = [2, 0])
|> line(end = [0, -10])
|> close()
|> revolve({
axis: revolveAxis,
angle: 90
}, %)
|> revolve(
axis = revolveAxis,
angle = 90
)
`
)
})

View File

@ -21,7 +21,7 @@ sketch001 = startSketchOn('XZ')
|> angledLine([-45, length001], %)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
revolve001 = revolve({ axis = "X" }, sketch001)
revolve001 = revolve(sketch001, axis = "X")
triangle()
|> extrude(length = 30)
plane001 = offsetPlane('XY', offset = 10)
@ -126,7 +126,7 @@ test.describe('Feature Tree pane', () => {
await testViewSource({
operationName: 'Revolve',
operationIndex: 0,
expectedActiveLine: 'revolve001 = revolve({ axis = "X" }, sketch001)',
expectedActiveLine: 'revolve001 = revolve(sketch001, axis = "X")',
})
await testViewSource({
operationName: 'Triangle',
@ -231,10 +231,10 @@ test.describe('Feature Tree pane', () => {
|> circle(center = [0, 0], radius = 5)
renamedExtrude = extrude(sketch001, length = ${initialInput})`
const newConstantName = 'distance001'
const expectedCode = `sketch001 = startSketchOn('XZ')
const expectedCode = `${newConstantName} = 23
sketch001 = startSketchOn('XZ')
|> circle(center = [0, 0], radius = 5)
${newConstantName} = 23
renamedExtrude = extrude(sketch001, length = ${newConstantName})`
renamedExtrude = extrude(sketch001, length = ${newConstantName})`
await context.folderSetupFn(async (dir) => {
const testDir = join(dir, 'test-sample')

View File

@ -152,9 +152,15 @@ export class EditorFixture {
}
replaceCode = async (findCode: string, replaceCode: string) => {
const lines = await this.page.locator('.cm-line').all()
let code = (await Promise.all(lines.map((c) => c.textContent()))).join('\n')
if (!lines) return
code = code.replace(findCode, replaceCode)
if (!findCode) {
// nuke everything
code = replaceCode
} else {
if (!lines) return
code = code.replace(findCode, replaceCode)
}
await this.codeContent.fill(code)
}
checkIfPaneIsOpen() {

View File

@ -850,159 +850,157 @@ openSketch = startSketchOn('XY')
})
})
test(`Shift-click to select and deselect sketch segments`, async ({
page,
homePage,
scene,
editor,
}) => {
// Locators
const firstPointLocation = { x: 200, y: 100 }
const secondPointLocation = { x: 800, y: 100 }
const thirdPointLocation = { x: 800, y: 400 }
const fristSegmentLocation = { x: 750, y: 100 }
const secondSegmentLocation = { x: 800, y: 150 }
const planeLocation = { x: 700, y: 200 }
test.fixme(
`Shift-click to select and deselect sketch segments`,
async ({ page, homePage, scene, editor }) => {
// Locators
const firstPointLocation = { x: 200, y: 100 }
const secondPointLocation = { x: 800, y: 100 }
const thirdPointLocation = { x: 800, y: 400 }
const fristSegmentLocation = { x: 750, y: 100 }
const secondSegmentLocation = { x: 800, y: 150 }
const planeLocation = { x: 700, y: 200 }
// Click helpers
const [clickFirstPoint] = scene.makeMouseHelpers(
firstPointLocation.x,
firstPointLocation.y
)
const [clickSecondPoint] = scene.makeMouseHelpers(
secondPointLocation.x,
secondPointLocation.y
)
const [clickThirdPoint] = scene.makeMouseHelpers(
thirdPointLocation.x,
thirdPointLocation.y
)
const [clickFirstSegment] = scene.makeMouseHelpers(
fristSegmentLocation.x,
fristSegmentLocation.y
)
const [clickSecondSegment] = scene.makeMouseHelpers(
secondSegmentLocation.x,
secondSegmentLocation.y
)
const [clickPlane] = scene.makeMouseHelpers(
planeLocation.x,
planeLocation.y
)
// Colors
const edgeColorWhite: [number, number, number] = [220, 220, 220]
const edgeColorBlue: [number, number, number] = [20, 20, 200]
const backgroundColor: [number, number, number] = [30, 30, 30]
const tolerance = 40
const timeout = 150
// Setup
await test.step(`Initial test setup`, async () => {
await page.setBodyDimensions({ width: 1000, height: 500 })
await homePage.goToModelingScene()
// Wait for the scene and stream to load
await scene.expectPixelColor(
backgroundColor,
secondPointLocation,
tolerance
// Click helpers
const [clickFirstPoint] = scene.makeMouseHelpers(
firstPointLocation.x,
firstPointLocation.y
)
const [clickSecondPoint] = scene.makeMouseHelpers(
secondPointLocation.x,
secondPointLocation.y
)
const [clickThirdPoint] = scene.makeMouseHelpers(
thirdPointLocation.x,
thirdPointLocation.y
)
const [clickFirstSegment] = scene.makeMouseHelpers(
fristSegmentLocation.x,
fristSegmentLocation.y
)
const [clickSecondSegment] = scene.makeMouseHelpers(
secondSegmentLocation.x,
secondSegmentLocation.y
)
const [clickPlane] = scene.makeMouseHelpers(
planeLocation.x,
planeLocation.y
)
})
await test.step('Select and deselect a single sketch segment', async () => {
await test.step('Get into sketch mode', async () => {
await editor.closePane()
await page.waitForTimeout(timeout)
await page.getByRole('button', { name: 'Start Sketch' }).click()
await page.waitForTimeout(timeout)
await clickPlane()
await page.waitForTimeout(1000)
})
await test.step('Draw sketch', async () => {
await clickFirstPoint()
await page.waitForTimeout(timeout)
await clickSecondPoint()
await page.waitForTimeout(timeout)
await clickThirdPoint()
await page.waitForTimeout(timeout)
})
await test.step('Deselect line tool', async () => {
const btnLine = page.getByTestId('line')
const btnLineAriaPressed = await btnLine.getAttribute('aria-pressed')
if (btnLineAriaPressed === 'true') {
await btnLine.click()
}
await page.waitForTimeout(timeout)
})
await test.step('Select the first segment', async () => {
await page.waitForTimeout(timeout)
await clickFirstSegment()
await page.waitForTimeout(timeout)
// Colors
const edgeColorWhite: [number, number, number] = [220, 220, 220]
const edgeColorBlue: [number, number, number] = [20, 20, 200]
const backgroundColor: [number, number, number] = [30, 30, 30]
const tolerance = 40
const timeout = 150
// Setup
await test.step(`Initial test setup`, async () => {
await page.setBodyDimensions({ width: 1000, height: 500 })
await homePage.goToModelingScene()
// Wait for the scene and stream to load
await scene.expectPixelColor(
edgeColorBlue,
fristSegmentLocation,
tolerance
)
await scene.expectPixelColor(
edgeColorWhite,
secondSegmentLocation,
backgroundColor,
secondPointLocation,
tolerance
)
})
await test.step('Select the second segment (Shift-click)', async () => {
await page.keyboard.down('Shift')
await page.waitForTimeout(timeout)
await clickSecondSegment()
await page.waitForTimeout(timeout)
await page.keyboard.up('Shift')
await scene.expectPixelColor(
edgeColorBlue,
fristSegmentLocation,
tolerance
)
await scene.expectPixelColor(
edgeColorBlue,
secondSegmentLocation,
tolerance
)
await test.step('Select and deselect a single sketch segment', async () => {
await test.step('Get into sketch mode', async () => {
await editor.closePane()
await page.waitForTimeout(timeout)
await page.getByRole('button', { name: 'Start Sketch' }).click()
await page.waitForTimeout(timeout)
await clickPlane()
await page.waitForTimeout(1000)
})
await test.step('Draw sketch', async () => {
await clickFirstPoint()
await page.waitForTimeout(timeout)
await clickSecondPoint()
await page.waitForTimeout(timeout)
await clickThirdPoint()
await page.waitForTimeout(timeout)
})
await test.step('Deselect line tool', async () => {
const btnLine = page.getByTestId('line')
const btnLineAriaPressed = await btnLine.getAttribute('aria-pressed')
if (btnLineAriaPressed === 'true') {
await btnLine.click()
}
await page.waitForTimeout(timeout)
})
await test.step('Select the first segment', async () => {
await page.waitForTimeout(timeout)
await clickFirstSegment()
await page.waitForTimeout(timeout)
await scene.expectPixelColor(
edgeColorBlue,
fristSegmentLocation,
tolerance
)
await scene.expectPixelColor(
edgeColorWhite,
secondSegmentLocation,
tolerance
)
})
await test.step('Select the second segment (Shift-click)', async () => {
await page.keyboard.down('Shift')
await page.waitForTimeout(timeout)
await clickSecondSegment()
await page.waitForTimeout(timeout)
await page.keyboard.up('Shift')
await scene.expectPixelColor(
edgeColorBlue,
fristSegmentLocation,
tolerance
)
await scene.expectPixelColor(
edgeColorBlue,
secondSegmentLocation,
tolerance
)
})
await test.step('Deselect the first segment', async () => {
await page.keyboard.down('Shift')
await page.waitForTimeout(timeout)
await clickFirstSegment()
await page.waitForTimeout(timeout)
await page.keyboard.up('Shift')
await scene.expectPixelColor(
edgeColorWhite,
fristSegmentLocation,
tolerance
)
await scene.expectPixelColor(
edgeColorBlue,
secondSegmentLocation,
tolerance
)
})
await test.step('Deselect the second segment', async () => {
await page.keyboard.down('Shift')
await page.waitForTimeout(timeout)
await clickSecondSegment()
await page.waitForTimeout(timeout)
await page.keyboard.up('Shift')
await scene.expectPixelColor(
edgeColorWhite,
fristSegmentLocation,
tolerance
)
await scene.expectPixelColor(
edgeColorWhite,
secondSegmentLocation,
tolerance
)
})
})
await test.step('Deselect the first segment', async () => {
await page.keyboard.down('Shift')
await page.waitForTimeout(timeout)
await clickFirstSegment()
await page.waitForTimeout(timeout)
await page.keyboard.up('Shift')
await scene.expectPixelColor(
edgeColorWhite,
fristSegmentLocation,
tolerance
)
await scene.expectPixelColor(
edgeColorBlue,
secondSegmentLocation,
tolerance
)
})
await test.step('Deselect the second segment', async () => {
await page.keyboard.down('Shift')
await page.waitForTimeout(timeout)
await clickSecondSegment()
await page.waitForTimeout(timeout)
await page.keyboard.up('Shift')
await scene.expectPixelColor(
edgeColorWhite,
fristSegmentLocation,
tolerance
)
await scene.expectPixelColor(
edgeColorWhite,
secondSegmentLocation,
tolerance
)
})
})
})
}
)
test(`Offset plane point-and-click`, async ({
context,
@ -1880,6 +1878,119 @@ fillet04 = fillet(extrude001, radius = 5, tags = [getOppositeEdge(seg02)])
})
})
test(`Fillet with large radius should update code even if engine fails`, async ({
context,
page,
homePage,
scene,
editor,
toolbar,
cmdBar,
}) => {
// Create a cube with small edges that will cause some fillets to fail
const initialCode = `sketch001 = startSketchOn('XY')
profile001 = startProfileAt([0, 0], sketch001)
|> yLine(length = -1)
|> xLine(length = -10)
|> yLine(length = 10)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
extrude001 = extrude(profile001, length = 5)
`
const taggedSegment = `yLine(length = -1, tag = $seg01)`
const filletExpression = `fillet(radius = 1000, tags = [getNextAdjacentEdge(seg01)])`
// Locators
const edgeLocation = { x: 659, y: 313 }
const bodyLocation = { x: 594, y: 313 }
// Colors
const edgeColorWhite: [number, number, number] = [248, 248, 248]
const edgeColorYellow: [number, number, number] = [251, 251, 120] // Mac:B=251,251,90 Ubuntu:240,241,180, Windows:240,241,180
const backgroundColor: [number, number, number] = [30, 30, 30]
const bodyColor: [number, number, number] = [155, 155, 155]
const lowTolerance = 20
const highTolerance = 70
// Setup
await test.step(`Initial test setup`, async () => {
await context.addInitScript((initialCode) => {
localStorage.setItem('persistCode', initialCode)
}, initialCode)
await page.setBodyDimensions({ width: 1000, height: 500 })
await homePage.goToModelingScene()
// verify modeling scene is loaded
await scene.expectPixelColor(backgroundColor, edgeLocation, lowTolerance)
// wait for stream to load
await scene.expectPixelColor(bodyColor, bodyLocation, highTolerance)
})
// Test
await test.step('Select edges and apply oversized fillet', async () => {
await test.step(`Select the edge`, async () => {
await scene.expectPixelColor(edgeColorWhite, edgeLocation, lowTolerance)
const [clickOnTheEdge] = scene.makeMouseHelpers(
edgeLocation.x,
edgeLocation.y
)
await clickOnTheEdge()
await scene.expectPixelColor(
edgeColorYellow,
edgeLocation,
highTolerance // Ubuntu color mismatch can require high tolerance
)
})
await test.step(`Apply fillet`, async () => {
await page.waitForTimeout(100)
await toolbar.filletButton.click()
await cmdBar.expectState({
commandName: 'Fillet',
highlightedHeaderArg: 'selection',
currentArgKey: 'selection',
currentArgValue: '',
headerArguments: {
Selection: '',
Radius: '',
},
stage: 'arguments',
})
await cmdBar.progressCmdBar()
await cmdBar.expectState({
commandName: 'Fillet',
highlightedHeaderArg: 'radius',
currentArgKey: 'radius',
currentArgValue: '5',
headerArguments: {
Selection: '1 sweepEdge',
Radius: '',
},
stage: 'arguments',
})
// Set a large radius (1000)
await cmdBar.currentArgumentInput.locator('.cm-content').fill('1000')
await cmdBar.progressCmdBar()
await cmdBar.expectState({
commandName: 'Fillet',
headerArguments: {
Selection: '1 sweepEdge',
Radius: '1000',
},
stage: 'review',
})
// Apply fillet with large radius
await cmdBar.progressCmdBar()
})
})
await test.step('Verify code is updated regardless of execution errors', async () => {
await editor.expectEditor.toContain(taggedSegment)
await editor.expectEditor.toContain(filletExpression)
})
})
test(`Chamfer point-and-click`, async ({
context,
page,
@ -2810,7 +2921,7 @@ segAng(rectangleSegmentA002),
await cmdBar.progressCmdBar()
await cmdBar.progressCmdBar()
const newCodeToFind = `revolve001 = revolve({ angle = 360, axis = 'X' }, sketch002)`
const newCodeToFind = `revolve001 = revolve(sketch002, angle = 360, axis = 'X')`
expect(editor.expectEditor.toContain(newCodeToFind)).toBeTruthy()
})
test('revolve surface around edge from an extruded solid2d', async ({
@ -2860,7 +2971,7 @@ radius = 8.69
await page.getByText(lineCodeToSelection).click()
await cmdBar.progressCmdBar()
const newCodeToFind = `revolve001 = revolve({angle = 360, axis = getOppositeEdge(rectangleSegmentA001)}, sketch002) `
const newCodeToFind = `revolve001 = revolve(sketch002, angle = 360, axis = getOppositeEdge(rectangleSegmentA001)) `
expect(editor.expectEditor.toContain(newCodeToFind)).toBeTruthy()
})
test('revolve sketch circle around line segment from startProfileAt sketch', async ({
@ -2911,7 +3022,7 @@ radius = 8.69
await page.getByText(lineCodeToSelection).click()
await cmdBar.progressCmdBar()
const newCodeToFind = `revolve001 = revolve({ angle = 360, axis = seg01 }, sketch003)`
const newCodeToFind = `revolve001 = revolve(sketch003, angle = 360, axis = seg01)`
expect(editor.expectEditor.toContain(newCodeToFind)).toBeTruthy()
})
})

View File

@ -196,64 +196,60 @@ test.describe('Prompt-to-edit tests', { tag: '@skipWin' }, () => {
})
})
test(`manual code selection rename`, async ({
context,
homePage,
cmdBar,
editor,
page,
scene,
}) => {
const body1CapCoords = { x: 571, y: 311 }
test.fixme(
`manual code selection rename`,
async ({ context, homePage, cmdBar, editor, page, scene }) => {
const body1CapCoords = { x: 571, y: 311 }
await context.addInitScript((file) => {
localStorage.setItem('persistCode', file)
}, file)
await homePage.goToModelingScene()
await scene.waitForExecutionDone()
await context.addInitScript((file) => {
localStorage.setItem('persistCode', file)
}, file)
await homePage.goToModelingScene()
await scene.waitForExecutionDone()
const submittingToast = page.getByText('Submitting to Text-to-CAD API...')
const successToast = page.getByText('Prompt to edit successful')
const acceptBtn = page.getByRole('button', { name: 'checkmark Accept' })
const submittingToast = page.getByText('Submitting to Text-to-CAD API...')
const successToast = page.getByText('Prompt to edit successful')
const acceptBtn = page.getByRole('button', { name: 'checkmark Accept' })
await test.step('wait for scene to load and select code in editor', async () => {
// Find and select the text "sketch002" in the editor
await editor.selectText('sketch002')
await test.step('wait for scene to load and select code in editor', async () => {
// Find and select the text "sketch002" in the editor
await editor.selectText('sketch002')
// Verify the selection was made
await editor.expectState({
highlightedCode: '',
activeLines: ["sketch002 = startSketchOn('XZ')"],
diagnostics: [],
// Verify the selection was made
await editor.expectState({
highlightedCode: '',
activeLines: ["sketch002 = startSketchOn('XZ')"],
diagnostics: [],
})
})
})
await test.step('fire off edit prompt', async () => {
await scene.expectPixelColor([134, 134, 134], body1CapCoords, 15)
await cmdBar.openCmdBar('promptToEdit')
await page
.getByTestId('cmd-bar-arg-value')
.fill('Please rename to mySketch001')
await page.waitForTimeout(100)
await cmdBar.progressCmdBar()
await expect(submittingToast).toBeVisible()
await expect(submittingToast).not.toBeVisible({
timeout: 2 * 60_000,
await test.step('fire off edit prompt', async () => {
await scene.expectPixelColor([134, 134, 134], body1CapCoords, 15)
await cmdBar.openCmdBar('promptToEdit')
await page
.getByTestId('cmd-bar-arg-value')
.fill('Please rename to mySketch001')
await page.waitForTimeout(100)
await cmdBar.progressCmdBar()
await expect(submittingToast).toBeVisible()
await expect(submittingToast).not.toBeVisible({
timeout: 2 * 60_000,
})
await expect(successToast).toBeVisible()
})
await expect(successToast).toBeVisible()
})
await test.step('verify rename change and accept it', async () => {
await editor.expectEditor.toContain('mySketch001 = startSketchOn')
await editor.expectEditor.not.toContain('sketch002 = startSketchOn')
await editor.expectEditor.toContain(
'extrude002 = extrude(mySketch001, length = 50)'
)
await test.step('verify rename change and accept it', async () => {
await editor.expectEditor.toContain('mySketch001 = startSketchOn')
await editor.expectEditor.not.toContain('sketch002 = startSketchOn')
await editor.expectEditor.toContain(
'extrude002 = extrude(mySketch001, length = 50)'
)
await acceptBtn.click()
await expect(successToast).not.toBeVisible()
})
})
await acceptBtn.click()
await expect(successToast).not.toBeVisible()
})
}
)
test('multiple body selections', async ({
context,

View File

@ -405,8 +405,9 @@ extrude001 = extrude(sketch001, length = 50)
await expect(successToastMessage).toBeVisible()
}
)
// We updated this test such that you can have multiple exports going at once.
test(
'ensure you can not export while an export is already going',
'ensure you CAN export while an export is already going',
{ tag: ['@skipLinux', '@skipWin'] },
async ({ page, homePage }) => {
const u = await getUtils(page)
@ -441,22 +442,13 @@ extrude001 = extrude(sketch001, length = 50)
const alreadyExportingToastMessage = page.getByText(`Already exporting`)
const successToastMessage = page.getByText(`Exported successfully`)
await test.step('Blocked second export', async () => {
await test.step('second export', async () => {
await clickExportButton(page)
await expect(exportingToastMessage).toBeVisible()
await clickExportButton(page)
await test.step('The second export is blocked', async () => {
// Find the toast.
// Look out for the toast message
await Promise.all([
expect(exportingToastMessage.first()).toBeVisible(),
expect(alreadyExportingToastMessage).toBeVisible(),
])
})
await test.step('The first export still succeeds', async () => {
await Promise.all([
expect(exportingToastMessage).not.toBeVisible({ timeout: 15_000 }),
@ -486,12 +478,12 @@ extrude001 = extrude(sketch001, length = 50)
expect(alreadyExportingToastMessage).not.toBeVisible(),
])
await expect(successToastMessage).toBeVisible()
await expect(successToastMessage).toHaveCount(2)
})
}
)
test(
test.fixme(
`Network health indicator only appears in modeling view`,
{ tag: '@electron' },
async ({ context, page }, testInfo) => {

View File

@ -187,7 +187,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
page.getByRole('button', { name: 'Start Sketch' })
).toBeVisible()
})
test.describe('Can edit segments by dragging their handles', () => {
test.fixme('Can edit segments by dragging their handles', () => {
const doEditSegmentsByDraggingHandle = async (
page: Page,
homePage: HomePageFixture,
@ -666,7 +666,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|> line(end = [12.73, -0.09])
|> tangentialArcTo([24.95, -5.38], %)
|> close()
|> revolve({ axis = "X",}, %)`
|> revolve(axis = "X")`
)
})
@ -753,7 +753,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|> tangentialArcTo([24.95, -5.38], %)
|> line(end = [1.97, 2.06])
|> close()
|> revolve({ axis = "X" }, %)`)
|> revolve(axis = "X")`)
})
test('Can add multiple sketches', async ({ page, homePage }) => {
const u = await getUtils(page)
@ -1200,7 +1200,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff(
|> xLine(endAbsolute = 0 + .001)
|> yLine(endAbsolute = 0)
|> close()
|> revolve({ axis = "Y" }, %)
|> revolve(axis = "Y")
return lugSketch
}
@ -1454,7 +1454,7 @@ test.describe(`Sketching with offset planes`, () => {
})
test.describe('multi-profile sketching', () => {
test(
test.fixme(
`test it removes half-finished expressions when changing tools in sketch mode`,
{ tag: ['@skipWin'] },
async ({ context, page, scene, toolbar, editor, homePage, cmdBar }) => {
@ -1662,6 +1662,96 @@ profile003 = startProfileAt([206.63, -56.73], sketch001)
})
}
)
test('can enter sketch mode for sketch with no profiles', async ({
scene,
toolbar,
editor,
cmdBar,
page,
homePage,
}) => {
await page.addInitScript(async () => {
localStorage.setItem(
'persistCode',
`sketch001 = startSketchOn('XY')
`
)
})
await page.setBodyDimensions({ width: 1000, height: 500 })
await homePage.goToModelingScene()
await scene.connectionEstablished()
await scene.settled(cmdBar)
await expect(
page.getByRole('button', { name: 'Start Sketch' })
).not.toBeDisabled()
// open feature tree and double click the first sketch
await (await toolbar.getFeatureTreeOperation('Sketch', 0)).dblclick()
await page.waitForTimeout(600)
// click in the scene twice to add a segment
const [startProfile1] = scene.makeMouseHelpers(658, 140)
const [segment1Clk] = scene.makeMouseHelpers(701, 200)
// wait for line to be aria pressed
await expect
.poll(async () => toolbar.lineBtn.getAttribute('aria-pressed'))
.toBe('true')
await startProfile1()
await editor.expectEditor.toContain(`profile001 = startProfileAt`)
await segment1Clk()
await editor.expectEditor.toContain(`|> line(end`)
})
test('can delete all profiles in sketch mode and user can still equip a tool and draw something', async ({
scene,
toolbar,
editor,
page,
homePage,
}) => {
await page.setBodyDimensions({ width: 1000, height: 500 })
await homePage.goToModelingScene()
await scene.connectionEstablished()
await expect(
page.getByRole('button', { name: 'Start Sketch' })
).not.toBeDisabled()
const [selectXZPlane] = scene.makeMouseHelpers(650, 150)
await toolbar.startSketchPlaneSelection()
await selectXZPlane()
// timeout wait for engine animation is unavoidable
await page.waitForTimeout(600)
await editor.expectEditor.toContain(`sketch001 = startSketchOn('XZ')`)
const [startProfile1] = scene.makeMouseHelpers(568, 70)
const [segment1Clk] = scene.makeMouseHelpers(701, 78)
const [segment2Clk] = scene.makeMouseHelpers(745, 189)
await test.step('add two segments', async () => {
await startProfile1()
await editor.expectEditor.toContain(
`profile001 = startProfileAt([4.61, 12.21], sketch001)`
)
await segment1Clk()
await editor.expectEditor.toContain(`|> line(end`)
await segment2Clk()
await editor.expectEditor.toContain(`|> line(end = [2.98, -7.52])`)
})
await test.step('delete all profiles', async () => {
await editor.replaceCode('', "sketch001 = startSketchOn('XZ')\n")
await page.waitForTimeout(600) // wait for deferred execution
})
await test.step('equip circle and draw it', async () => {
await toolbar.circleBtn.click()
await page.mouse.click(700, 200)
await page.mouse.click(750, 200)
await editor.expectEditor.toContain('circle(sketch001, center = [')
})
})
test('Can add multiple profiles to a sketch (all tool types)', async ({
scene,
toolbar,
@ -2570,10 +2660,11 @@ profile006 = startProfileAt([9.65, 3.82], sketch002)
|> line(end = [2.13, -5.57])
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
revolve001 = revolve({
revolve001 = revolve(
profile004,
angle = 45,
axis = getNextAdjacentEdge(seg01)
}, profile004)
)
extrude002 = extrude(profile006, length = 4)
sketch003 = startSketchOn('-XZ')
profile007 = startProfileAt([4.8, 7.55], sketch003)
@ -2608,7 +2699,7 @@ profile011 = startProfileAt([5.07, -6.39], sketch003)
|> close()
extrude003 = extrude(profile011, length = 2.5)
// TODO this breaks the test,
// revolve002 = revolve({ angle = 45, axis = seg02 }, profile008)
// revolve002 = revolve(profile008, angle = 45, axis = seg02)
`
)
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -142,10 +142,10 @@ sketch001 = startSketchOn(box, revolveAxis)
|> line(end = [2, 0])
|> line(end = [0, -10])
|> close()
|> revolve({
axis: revolveAxis,
angle: 90
}, %)
|> revolve(
axis = revolveAxis,
angle = 90
)
sketch001 = startSketchOn('XZ')
|> startProfileAt([0.0, 0.0], %)

View File

@ -3,7 +3,7 @@ import { commonPoints, getUtils } from './test-utils'
import { EngineCommand } from 'lang/std/artifactGraph'
import { uuidv4 } from 'lib/utils'
test.describe('Test network and connection issues', () => {
test.fixme('Test network and connection issues', () => {
test(
'simulate network down and network little widget',
{ tag: '@skipLocalEngine' },

View File

@ -323,7 +323,7 @@ part009 = startSketchOn('XY')
|> line(end = [0, pipeLength])
|> angledLineToX({ angle = 60, to = pipeLargeDia }, %)
|> close()
rev = revolve({ axis = 'y' }, part009)
rev = revolve(part009, axis = 'y')
sketch006 = startSketchOn('XY')
profile001 = circle(
sketch006,
@ -353,6 +353,7 @@ profile003 = startProfileAt([40.16, -120.48], sketch006)
await page.setBodyDimensions({ width: 1000, height: 500 })
await homePage.goToModelingScene()
await scene.connectionEstablished()
await scene.settled(cmdBar)
const camPosition1 = async () => {
@ -379,7 +380,7 @@ profile003 = startProfileAt([40.16, -120.48], sketch006)
await page.waitForTimeout(200)
await expect(u.codeLocator).not.toContainText(
`rev = revolve({ axis: 'y' }, part009)`
`rev = revolve(part009, axis: 'y')`
)
// FIXME (commented section below), this test would select a wall that had a sketch on it, and delete the underlying extrude
@ -451,19 +452,15 @@ profile003 = startProfileAt([40.16, -120.48], sketch006)
await page.waitForTimeout(200)
await expect(u.codeLocator).not.toContainText(codeToBeDeletedSnippet)
})
test('parent Solid should be select and deletable and uses custom planes to position children', async ({
page,
homePage,
scene,
cmdBar,
editor,
}) => {
test.setTimeout(90_000)
const u = await getUtils(page)
await page.addInitScript(async () => {
localStorage.setItem(
'persistCode',
`part001 = startSketchOn('XY')
test.fixme(
'parent Solid should be select and deletable and uses custom planes to position children',
async ({ page, homePage, scene, cmdBar, editor }) => {
test.setTimeout(90_000)
const u = await getUtils(page)
await page.addInitScript(async () => {
localStorage.setItem(
'persistCode',
`part001 = startSketchOn('XY')
yo = startProfileAt([4.83, 12.56], part001)
|> line(end = [15.1, 2.48])
|> line(end = [3.15, -9.85], tag = $seg01)
@ -494,34 +491,35 @@ profile001 = startProfileAt([7.49, 9.96], sketch001)
|> close()
`
)
}, KCL_DEFAULT_LENGTH)
await page.setBodyDimensions({ width: 1000, height: 500 })
await homePage.goToModelingScene()
await scene.settled(cmdBar)
const extrudeWall = { x: 575, y: 238 }
// DELETE with selection on face of parent
await page.mouse.click(extrudeWall.x, extrudeWall.y)
await page.waitForTimeout(100)
await expect(page.locator('.cm-activeLine')).toHaveText(
'|> line(end = [-15.17, -4.1])'
)
}, KCL_DEFAULT_LENGTH)
await page.setBodyDimensions({ width: 1000, height: 500 })
await u.openAndClearDebugPanel()
await page.keyboard.press('Delete')
await u.expectCmdLog('[data-message-type="execution-done"]', 10_000)
await page.waitForTimeout(200)
await homePage.goToModelingScene()
await scene.settled(cmdBar)
const extrudeWall = { x: 575, y: 238 }
// DELETE with selection on face of parent
await page.mouse.click(extrudeWall.x, extrudeWall.y)
await page.waitForTimeout(100)
await expect(page.locator('.cm-activeLine')).toHaveText(
'|> line(end = [-15.17, -4.1])'
)
await u.openAndClearDebugPanel()
await page.keyboard.press('Delete')
await u.expectCmdLog('[data-message-type="execution-done"]', 10_000)
await page.waitForTimeout(200)
await editor.expectEditor.not.toContain(`yoo = extrude(yo, length = 4)`, {
shouldNormalise: true,
})
await editor.expectEditor.toContain(`startSketchOn({plane={origin`, {
shouldNormalise: true,
})
await editor.snapshot()
})
await editor.expectEditor.not.toContain(`yoo = extrude(yo, length = 4)`, {
shouldNormalise: true,
})
await editor.expectEditor.toContain(`startSketchOn({plane={origin`, {
shouldNormalise: true,
})
await editor.snapshot()
}
)
test('Hovering over 3d features highlights code, clicking puts the cursor in the right place and sends selection id to engine', async ({
page,
homePage,

View File

@ -977,67 +977,63 @@ fn cube`
/**
* This test assumes that the default value of the "highlight edges" setting is "on".
*/
test(`Toggle stream settings multiple times`, async ({
page,
scene,
homePage,
context,
toolbar,
cmdBar,
}, testInfo) => {
await context.folderSetupFn(async (dir) => {
const projectDir = join(dir, 'project-000')
await fsp.mkdir(projectDir, { recursive: true })
await fsp.copyFile(
executorInputPath('cube.kcl'),
join(projectDir, 'main.kcl')
)
})
test.fixme(
`Toggle stream settings multiple times`,
async ({ page, scene, homePage, context, toolbar, cmdBar }, testInfo) => {
await context.folderSetupFn(async (dir) => {
const projectDir = join(dir, 'project-000')
await fsp.mkdir(projectDir, { recursive: true })
await fsp.copyFile(
executorInputPath('cube.kcl'),
join(projectDir, 'main.kcl')
)
})
await test.step(`First snapshot`, async () => {
await homePage.openProject('project-000')
await toolbar.closePane('code')
await expect(toolbar.startSketchBtn).toBeEnabled({ timeout: 20_000 })
await scene.clickNoWhere()
})
await test.step(`First snapshot`, async () => {
await homePage.openProject('project-000')
await toolbar.closePane('code')
await expect(toolbar.startSketchBtn).toBeEnabled({ timeout: 20_000 })
await scene.clickNoWhere()
})
const toast = (value: boolean) =>
page.getByText(
`Set highlight edges to "${String(value)}" as a user default`
const toast = (value: boolean) =>
page.getByText(
`Set highlight edges to "${String(value)}" as a user default`
)
await test.step(`Toggle highlightEdges off`, async () => {
await cmdBar.openCmdBar()
await cmdBar.chooseCommand('Settings · modeling · highlight edges')
await cmdBar.selectOption({ name: 'off' }).click()
const falseToast = toast(false)
await expect(falseToast).toBeVisible()
await falseToast.waitFor({ state: 'detached' })
})
await expect(scene.streamWrapper).not.toHaveScreenshot(
'toggle-settings-initial.png',
{
maxDiffPixels: 15,
mask: [page.getByTestId('model-state-indicator')],
}
)
await test.step(`Toggle highlightEdges off`, async () => {
await cmdBar.openCmdBar()
await cmdBar.chooseCommand('Settings · modeling · highlight edges')
await cmdBar.selectOption({ name: 'off' }).click()
const falseToast = toast(false)
await expect(falseToast).toBeVisible()
await falseToast.waitFor({ state: 'detached' })
})
await test.step(`Toggle highlightEdges on`, async () => {
await cmdBar.openCmdBar()
await cmdBar.chooseCommand('Settings · modeling · highlight edges')
await cmdBar.selectOption({ name: 'on' }).click()
const trueToast = toast(true)
await expect(trueToast).toBeVisible()
await trueToast.waitFor({ state: 'detached' })
})
await expect(scene.streamWrapper).not.toHaveScreenshot(
'toggle-settings-initial.png',
{
maxDiffPixels: 15,
mask: [page.getByTestId('model-state-indicator')],
}
)
await test.step(`Toggle highlightEdges on`, async () => {
await cmdBar.openCmdBar()
await cmdBar.chooseCommand('Settings · modeling · highlight edges')
await cmdBar.selectOption({ name: 'on' }).click()
const trueToast = toast(true)
await expect(trueToast).toBeVisible()
await trueToast.waitFor({ state: 'detached' })
})
await expect(scene.streamWrapper).toHaveScreenshot(
'toggle-settings-initial.png',
{
maxDiffPixels: 15,
mask: [page.getByTestId('model-state-indicator')],
}
)
})
await expect(scene.streamWrapper).toHaveScreenshot(
'toggle-settings-initial.png',
{
maxDiffPixels: 15,
mask: [page.getByTestId('model-state-indicator')],
}
)
}
)
})

View File

@ -619,7 +619,7 @@ async function sendPromptFromCommandBar(page: Page, promptStr: string) {
})
}
test(
test.fixme(
'Text-to-CAD functionality',
{ tag: '@electron' },
async ({ context, page }, testInfo) => {

View File

@ -36,6 +36,7 @@
"@xstate/inspect": "^0.8.0",
"@xstate/react": "^4.1.1",
"bonjour-service": "^1.3.0",
"bson": "^6.10.3",
"chokidar": "^4.0.1",
"codemirror": "^6.0.1",
"decamelize": "^6.0.0",
@ -87,12 +88,13 @@
"simpleserver:ci": "yarn pretest && http-server ./public --cors -p 3000 &",
"simpleserver:bg": "yarn pretest && http-server ./public --cors -p 3000 &",
"simpleserver:stop": "kill-port 3000",
"fmt": "prettier --write ./src *.ts *.json *.js ./e2e ./packages ./rust/kcl-language-server",
"fmt": "prettier --write ./src *.ts *.json *.js ./e2e ./packages ./rust/kcl-language-server ./rust/kcl-lib/bindings ./rust/kcl-wasm-lib/pkg",
"fmt:generated": "prettier --write *.ts *.json *.js ./rust/kcl-lib/bindings ./rust/kcl-wasm-lib/pkg",
"fmt-check": "prettier --check ./src *.ts *.json *.js ./e2e ./packages ./rust/kcl-language-server",
"fetch:wasm": "./scripts/get-latest-wasm-bundle.sh",
"fetch:wasm:windows": "./scripts/get-latest-wasm-bundle.ps1",
"fetch:samples": "rm -rf public/kcl-samples* && curl -L -o public/kcl-samples.zip https://github.com/KittyCAD/kcl-samples/archive/refs/heads/achalmers/kw-args-xylineto.zip && unzip -o public/kcl-samples.zip -d public && mv public/kcl-samples-* public/kcl-samples",
"build:wasm-dev": "yarn wasm-prep && (cd rust && wasm-pack build kcl-wasm-lib --dev --target web --out-dir pkg && cargo test -p kcl-lib export_bindings) && yarn isomorphic-copy-wasm && yarn fmt",
"build:wasm-dev": "yarn wasm-prep && (cd rust && wasm-pack build kcl-wasm-lib --dev --target web --out-dir pkg && cargo test -p kcl-lib export_bindings) && yarn isomorphic-copy-wasm && yarn fmt:generated",
"build:wasm": "./scripts/build-wasm.sh",
"build:wasm:windows": "./scripts/build-wasm.ps1",
"remove-importmeta": "sed -i 's/import.meta.url/window.location.origin/g' \"./rust/kcl-wasm-lib/pkg/kcl_wasm_lib.js\"; sed -i '' 's/import.meta.url/window.location.origin/g' \"./rust/kcl-wasm-lib/pkg/kcl_wasm_lib.js\" || echo \"sed for both mac and linux\"",
@ -212,6 +214,7 @@
"typescript-eslint": "^8.26.1",
"vite": "^5.4.12",
"vite-plugin-package-version": "^1.1.0",
"vite-plugin-top-level-await": "^1.5.0",
"vite-tsconfig-paths": "^4.3.2",
"vitest": "^1.6.1",
"vitest-webgl-canvas-mock": "^1.1.0",

View File

@ -23,78 +23,80 @@ KCL samples conform to a set of style guidelines to ensure consistency and reada
When you submit a PR to add or modify KCL samples, images and STEP files will be generated and added to the repository automatically.
---
#### [80-20-rail](80-20-rail/main.kcl) ([step](step/80-20-rail.step)) ([screenshot](screenshots/80-20-rail.png))
#### [80-20-rail](80-20-rail/main.kcl) ([screenshot](screenshots/80-20-rail.png))
[![80-20-rail](screenshots/80-20-rail.png)](80-20-rail/main.kcl)
#### [a-parametric-bearing-pillow-block](a-parametric-bearing-pillow-block/main.kcl) ([step](step/a-parametric-bearing-pillow-block.step)) ([screenshot](screenshots/a-parametric-bearing-pillow-block.png))
#### [a-parametric-bearing-pillow-block](a-parametric-bearing-pillow-block/main.kcl) ([screenshot](screenshots/a-parametric-bearing-pillow-block.png))
[![a-parametric-bearing-pillow-block](screenshots/a-parametric-bearing-pillow-block.png)](a-parametric-bearing-pillow-block/main.kcl)
#### [ball-bearing](ball-bearing/main.kcl) ([step](step/ball-bearing.step)) ([screenshot](screenshots/ball-bearing.png))
#### [ball-bearing](ball-bearing/main.kcl) ([screenshot](screenshots/ball-bearing.png))
[![ball-bearing](screenshots/ball-bearing.png)](ball-bearing/main.kcl)
#### [bench](bench/main.kcl) ([step](step/bench.step)) ([screenshot](screenshots/bench.png))
#### [bench](bench/main.kcl) ([screenshot](screenshots/bench.png))
[![bench](screenshots/bench.png)](bench/main.kcl)
#### [bracket](bracket/main.kcl) ([step](step/bracket.step)) ([screenshot](screenshots/bracket.png))
#### [bracket](bracket/main.kcl) ([screenshot](screenshots/bracket.png))
[![bracket](screenshots/bracket.png)](bracket/main.kcl)
#### [car-wheel-assembly](car-wheel-assembly/main.kcl) ([step](step/car-wheel-assembly.step)) ([screenshot](screenshots/car-wheel-assembly.png))
#### [car-wheel-assembly](car-wheel-assembly/main.kcl) ([screenshot](screenshots/car-wheel-assembly.png))
[![car-wheel-assembly](screenshots/car-wheel-assembly.png)](car-wheel-assembly/main.kcl)
#### [color-cube](color-cube/main.kcl) ([step](step/color-cube.step)) ([screenshot](screenshots/color-cube.png))
#### [color-cube](color-cube/main.kcl) ([screenshot](screenshots/color-cube.png))
[![color-cube](screenshots/color-cube.png)](color-cube/main.kcl)
#### [cycloidal-gear](cycloidal-gear/main.kcl) ([step](step/cycloidal-gear.step)) ([screenshot](screenshots/cycloidal-gear.png))
#### [cycloidal-gear](cycloidal-gear/main.kcl) ([screenshot](screenshots/cycloidal-gear.png))
[![cycloidal-gear](screenshots/cycloidal-gear.png)](cycloidal-gear/main.kcl)
#### [dodecahedron](dodecahedron/main.kcl) ([step](step/dodecahedron.step)) ([screenshot](screenshots/dodecahedron.png))
#### [dodecahedron](dodecahedron/main.kcl) ([screenshot](screenshots/dodecahedron.png))
[![dodecahedron](screenshots/dodecahedron.png)](dodecahedron/main.kcl)
#### [enclosure](enclosure/main.kcl) ([step](step/enclosure.step)) ([screenshot](screenshots/enclosure.png))
#### [enclosure](enclosure/main.kcl) ([screenshot](screenshots/enclosure.png))
[![enclosure](screenshots/enclosure.png)](enclosure/main.kcl)
#### [exhaust-manifold](exhaust-manifold/main.kcl) ([step](step/exhaust-manifold.step)) ([screenshot](screenshots/exhaust-manifold.png))
#### [exhaust-manifold](exhaust-manifold/main.kcl) ([screenshot](screenshots/exhaust-manifold.png))
[![exhaust-manifold](screenshots/exhaust-manifold.png)](exhaust-manifold/main.kcl)
#### [flange](flange/main.kcl) ([step](step/flange.step)) ([screenshot](screenshots/flange.png))
#### [flange](flange/main.kcl) ([screenshot](screenshots/flange.png))
[![flange](screenshots/flange.png)](flange/main.kcl)
#### [focusrite-scarlett-mounting-bracket](focusrite-scarlett-mounting-bracket/main.kcl) ([step](step/focusrite-scarlett-mounting-bracket.step)) ([screenshot](screenshots/focusrite-scarlett-mounting-bracket.png))
#### [focusrite-scarlett-mounting-bracket](focusrite-scarlett-mounting-bracket/main.kcl) ([screenshot](screenshots/focusrite-scarlett-mounting-bracket.png))
[![focusrite-scarlett-mounting-bracket](screenshots/focusrite-scarlett-mounting-bracket.png)](focusrite-scarlett-mounting-bracket/main.kcl)
#### [food-service-spatula](food-service-spatula/main.kcl) ([step](step/food-service-spatula.step)) ([screenshot](screenshots/food-service-spatula.png))
#### [food-service-spatula](food-service-spatula/main.kcl) ([screenshot](screenshots/food-service-spatula.png))
[![food-service-spatula](screenshots/food-service-spatula.png)](food-service-spatula/main.kcl)
#### [french-press](french-press/main.kcl) ([step](step/french-press.step)) ([screenshot](screenshots/french-press.png))
#### [french-press](french-press/main.kcl) ([screenshot](screenshots/french-press.png))
[![french-press](screenshots/french-press.png)](french-press/main.kcl)
#### [gear](gear/main.kcl) ([step](step/gear.step)) ([screenshot](screenshots/gear.png))
#### [gear](gear/main.kcl) ([screenshot](screenshots/gear.png))
[![gear](screenshots/gear.png)](gear/main.kcl)
#### [gear-rack](gear-rack/main.kcl) ([step](step/gear-rack.step)) ([screenshot](screenshots/gear-rack.png))
#### [gear-rack](gear-rack/main.kcl) ([screenshot](screenshots/gear-rack.png))
[![gear-rack](screenshots/gear-rack.png)](gear-rack/main.kcl)
#### [gridfinity-baseplate](gridfinity-baseplate/main.kcl) ([step](step/gridfinity-baseplate.step)) ([screenshot](screenshots/gridfinity-baseplate.png))
#### [gridfinity-baseplate](gridfinity-baseplate/main.kcl) ([screenshot](screenshots/gridfinity-baseplate.png))
[![gridfinity-baseplate](screenshots/gridfinity-baseplate.png)](gridfinity-baseplate/main.kcl)
#### [gridfinity-baseplate-magnets](gridfinity-baseplate-magnets/main.kcl) ([step](step/gridfinity-baseplate-magnets.step)) ([screenshot](screenshots/gridfinity-baseplate-magnets.png))
#### [gridfinity-baseplate-magnets](gridfinity-baseplate-magnets/main.kcl) ([screenshot](screenshots/gridfinity-baseplate-magnets.png))
[![gridfinity-baseplate-magnets](screenshots/gridfinity-baseplate-magnets.png)](gridfinity-baseplate-magnets/main.kcl)
#### [gridfinity-bins](gridfinity-bins/main.kcl) ([step](step/gridfinity-bins.step)) ([screenshot](screenshots/gridfinity-bins.png))
#### [gridfinity-bins](gridfinity-bins/main.kcl) ([screenshot](screenshots/gridfinity-bins.png))
[![gridfinity-bins](screenshots/gridfinity-bins.png)](gridfinity-bins/main.kcl)
#### [gridfinity-bins-stacking-lip](gridfinity-bins-stacking-lip/main.kcl) ([step](step/gridfinity-bins-stacking-lip.step)) ([screenshot](screenshots/gridfinity-bins-stacking-lip.png))
#### [gridfinity-bins-stacking-lip](gridfinity-bins-stacking-lip/main.kcl) ([screenshot](screenshots/gridfinity-bins-stacking-lip.png))
[![gridfinity-bins-stacking-lip](screenshots/gridfinity-bins-stacking-lip.png)](gridfinity-bins-stacking-lip/main.kcl)
#### [hex-nut](hex-nut/main.kcl) ([step](step/hex-nut.step)) ([screenshot](screenshots/hex-nut.png))
#### [hex-nut](hex-nut/main.kcl) ([screenshot](screenshots/hex-nut.png))
[![hex-nut](screenshots/hex-nut.png)](hex-nut/main.kcl)
#### [i-beam](i-beam/main.kcl) ([step](step/i-beam.step)) ([screenshot](screenshots/i-beam.png))
#### [i-beam](i-beam/main.kcl) ([screenshot](screenshots/i-beam.png))
[![i-beam](screenshots/i-beam.png)](i-beam/main.kcl)
#### [kitt](kitt/main.kcl) ([step](step/kitt.step)) ([screenshot](screenshots/kitt.png))
#### [keyboard](keyboard/main.kcl) ([screenshot](screenshots/keyboard.png))
[![keyboard](screenshots/keyboard.png)](keyboard/main.kcl)
#### [kitt](kitt/main.kcl) ([screenshot](screenshots/kitt.png))
[![kitt](screenshots/kitt.png)](kitt/main.kcl)
#### [lego](lego/main.kcl) ([step](step/lego.step)) ([screenshot](screenshots/lego.png))
#### [lego](lego/main.kcl) ([screenshot](screenshots/lego.png))
[![lego](screenshots/lego.png)](lego/main.kcl)
#### [mounting-plate](mounting-plate/main.kcl) ([step](step/mounting-plate.step)) ([screenshot](screenshots/mounting-plate.png))
#### [mounting-plate](mounting-plate/main.kcl) ([screenshot](screenshots/mounting-plate.png))
[![mounting-plate](screenshots/mounting-plate.png)](mounting-plate/main.kcl)
#### [multi-axis-robot](multi-axis-robot/main.kcl) ([step](step/multi-axis-robot.step)) ([screenshot](screenshots/multi-axis-robot.png))
#### [multi-axis-robot](multi-axis-robot/main.kcl) ([screenshot](screenshots/multi-axis-robot.png))
[![multi-axis-robot](screenshots/multi-axis-robot.png)](multi-axis-robot/main.kcl)
#### [pipe](pipe/main.kcl) ([step](step/pipe.step)) ([screenshot](screenshots/pipe.png))
#### [pipe](pipe/main.kcl) ([screenshot](screenshots/pipe.png))
[![pipe](screenshots/pipe.png)](pipe/main.kcl)
#### [pipe-flange-assembly](pipe-flange-assembly/main.kcl) ([step](step/pipe-flange-assembly.step)) ([screenshot](screenshots/pipe-flange-assembly.png))
#### [pipe-flange-assembly](pipe-flange-assembly/main.kcl) ([screenshot](screenshots/pipe-flange-assembly.png))
[![pipe-flange-assembly](screenshots/pipe-flange-assembly.png)](pipe-flange-assembly/main.kcl)
#### [pipe-with-bend](pipe-with-bend/main.kcl) ([step](step/pipe-with-bend.step)) ([screenshot](screenshots/pipe-with-bend.png))
#### [pipe-with-bend](pipe-with-bend/main.kcl) ([screenshot](screenshots/pipe-with-bend.png))
[![pipe-with-bend](screenshots/pipe-with-bend.png)](pipe-with-bend/main.kcl)
#### [poopy-shoe](poopy-shoe/main.kcl) ([step](step/poopy-shoe.step)) ([screenshot](screenshots/poopy-shoe.png))
#### [poopy-shoe](poopy-shoe/main.kcl) ([screenshot](screenshots/poopy-shoe.png))
[![poopy-shoe](screenshots/poopy-shoe.png)](poopy-shoe/main.kcl)
#### [router-template-cross-bar](router-template-cross-bar/main.kcl) ([step](step/router-template-cross-bar.step)) ([screenshot](screenshots/router-template-cross-bar.png))
#### [router-template-cross-bar](router-template-cross-bar/main.kcl) ([screenshot](screenshots/router-template-cross-bar.png))
[![router-template-cross-bar](screenshots/router-template-cross-bar.png)](router-template-cross-bar/main.kcl)
#### [router-template-slate](router-template-slate/main.kcl) ([step](step/router-template-slate.step)) ([screenshot](screenshots/router-template-slate.png))
#### [router-template-slate](router-template-slate/main.kcl) ([screenshot](screenshots/router-template-slate.png))
[![router-template-slate](screenshots/router-template-slate.png)](router-template-slate/main.kcl)
#### [sheet-metal-bracket](sheet-metal-bracket/main.kcl) ([step](step/sheet-metal-bracket.step)) ([screenshot](screenshots/sheet-metal-bracket.png))
#### [sheet-metal-bracket](sheet-metal-bracket/main.kcl) ([screenshot](screenshots/sheet-metal-bracket.png))
[![sheet-metal-bracket](screenshots/sheet-metal-bracket.png)](sheet-metal-bracket/main.kcl)
#### [socket-head-cap-screw](socket-head-cap-screw/main.kcl) ([step](step/socket-head-cap-screw.step)) ([screenshot](screenshots/socket-head-cap-screw.png))
#### [socket-head-cap-screw](socket-head-cap-screw/main.kcl) ([screenshot](screenshots/socket-head-cap-screw.png))
[![socket-head-cap-screw](screenshots/socket-head-cap-screw.png)](socket-head-cap-screw/main.kcl)
#### [walkie-talkie](walkie-talkie/main.kcl) ([step](step/walkie-talkie.step)) ([screenshot](screenshots/walkie-talkie.png))
#### [walkie-talkie](walkie-talkie/main.kcl) ([screenshot](screenshots/walkie-talkie.png))
[![walkie-talkie](screenshots/walkie-talkie.png)](walkie-talkie/main.kcl)
#### [washer](washer/main.kcl) ([step](step/washer.step)) ([screenshot](screenshots/washer.png))
#### [washer](washer/main.kcl) ([screenshot](screenshots/washer.png))
[![washer](screenshots/washer.png)](washer/main.kcl)

View File

@ -41,7 +41,7 @@ ballsSketch = startSketchOn("XY")
|> close()
// Revolve the ball to make a sphere and pattern around the inside wall
balls = revolve({ axis = "X" }, ballsSketch)
balls = revolve(ballsSketch, axis = "X")
|> patternCircular3d(
arcDegrees = 360,
axis = [0, 0, 1],
@ -66,7 +66,7 @@ chainSketch = startSketchOn("XY")
|> close()
// Revolve the chain sketch
chainHead = revolve({ axis = "X" }, chainSketch)
chainHead = revolve(chainSketch, axis = "X")
|> patternCircular3d(
arcDegrees = 360,
axis = [0, 0, 1],
@ -86,7 +86,7 @@ linkSketch = startSketchOn("XZ")
)
// Revolve the link sketch
linkRevolve = revolve({ axis = 'Y', angle = 360 / nBalls }, linkSketch)
linkRevolve = revolve(linkSketch, axis = 'Y', angle = 360 / nBalls)
|> patternCircular3d(
arcDegrees = 360,
axis = [0, 0, 1],

View File

@ -82,5 +82,5 @@ brakeCaliperSketch = startSketchOn('XY')
|> close()
// Revolve the brake caliper sketch
revolve({ axis = "Y", angle = -70 }, brakeCaliperSketch)
revolve(brakeCaliperSketch, axis = "Y", angle = -70)
|> appearance(color = "#c82d2d", metalness = 90, roughness = 90)

View File

@ -40,5 +40,5 @@ tireSketch = startSketchOn("XY")
|> close()
// Revolve the sketch to create the tire
revolve({ axis = "Y" }, tireSketch)
revolve(tireSketch, axis = "Y")
|> appearance(color = "#0f0f0f", roughness = 80)

View File

@ -74,7 +74,7 @@ wheelCenterInner = startSketchOn('XY')
|> yLine(endAbsolute = 0)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> revolve({ axis = 'y' }, %)
|> revolve(axis = 'y')
|> appearance(color = "#ffffff", metalness = 0, roughness = 0)
wheelCenterOuter = startSketchOn('XY')
@ -88,7 +88,7 @@ wheelCenterOuter = startSketchOn('XY')
|> yLine(endAbsolute = -wheelWidth / 20)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> revolve({ axis = 'y' }, %)
|> revolve(axis = 'y')
|> appearance(color = "#ffffff", metalness = 0, roughness = 0)
// Write a function that defines the spoke geometry, patterns and extrudes it
@ -193,5 +193,5 @@ startSketchOn('XY')
|> xLine(length = wheelWidth * 0.03)
|> yLine(length = wheelWidth * 0.05)
|> close()
|> revolve({ axis = 'y' }, %)
|> revolve(axis = 'y')
|> appearance(color = "#ffffff", metalness = 0, roughness = 0)

View File

@ -34,7 +34,7 @@ fn lug(plane, length, diameter) {
|> xLine(endAbsolute = lugThreadDiameter)
|> yLine(endAbsolute = 0)
|> close()
|> revolve({ axis = "Y" }, %)
|> revolve(axis = "Y")
|> appearance(color = "#dbcd70", roughness = 90, metalness = 90)
return lugSketch
}

View File

@ -4,7 +4,7 @@
// Set units
@settings(defaultLengthUnit = in)
import 'car-wheel.kcl' as carWheel
import 'car-wheel.kcl' as carWheel
import 'car-rotor.kcl' as carRotor
import "brake-caliper.kcl" as brakeCaliper
import 'lug-nut.kcl' as lugNut

View File

@ -23,7 +23,7 @@ sketch001 = startSketchOn('XZ')
], %, $rectangleSegmentC001)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> revolve({ angle = 360, axis = 'Y' }, %)
|> revolve(angle = 360, axis = 'Y')
// Create an angled plane to sketch the supports
plane001 = {
@ -135,7 +135,7 @@ sketch005 = startSketchOn('XZ')
|> xLine(endAbsolute = 0.15)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> revolve({ axis = 'y' }, %)
|> revolve(axis = 'y')
// Plunger and stem
sketch006 = startSketchOn('XZ')
@ -148,7 +148,7 @@ sketch006 = startSketchOn('XZ')
|> tangentialArc({ radius = 0.6, offset = -90 }, %)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> revolve({ axis = 'y' }, %)
|> revolve(axis = 'y')
// Spiral plate
sketch007 = startSketchOn(offsetPlane('XY', offset = 1.12))
@ -210,7 +210,7 @@ sketch011 = startSketchOn('XZ')
}, %)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close()
|> revolve({ axis = 'y' }, %)
|> revolve(axis = 'y')
// Draw and extrude handle
sketch012 = startSketchOn(offsetPlane('XZ', offset = handleThickness / 2))

View File

@ -55,7 +55,7 @@ axis000 = {
}
// create a single corner of the bin
singleCorner = revolve({ angle = -90, axis = axis000 }, face(offsetPlane("YZ", offset = cornerRadius)))
singleCorner = revolve(face(offsetPlane("YZ", offset = cornerRadius)), angle = -90, axis = axis000)
// create the corners of the bin
corners = patternCircular3d(

View File

@ -52,7 +52,7 @@ axis000 = {
}
// create a single corner of the bin
singleCorner = revolve({ angle = -90, axis = axis000 }, face(offsetPlane("YZ", offset = cornerRadius)))
singleCorner = revolve(face(offsetPlane("YZ", offset = cornerRadius)), angle = -90, axis = axis000)
// create the corners of the bin
corners = patternCircular3d(

View File

@ -75,7 +75,7 @@ axis000 = {
}
// create a single corner of the bin
singleCorner = revolve({ angle = -90, axis = axis000 }, face(offsetPlane("YZ", offset = cornerRadius + binTol)))
singleCorner = revolve(face(offsetPlane("YZ", offset = cornerRadius + binTol)), angle = -90, axis = axis000)
// create the corners of the bin
corners = patternCircular3d(
@ -291,10 +291,10 @@ axis001 = {
}
// create a single corner of the bin
lipSingleLengthCorner = revolve({ angle = -90, axis = axis001 }, lipFace(plane000))
lipSingleLengthCorner = revolve(lipFace(plane000), angle = -90, axis = axis001)
// create a single corner of the bin
lipSingleWidthCorner = revolve({ angle = 90, axis = axis001 }, lipFace(plane002))
lipSingleWidthCorner = revolve(lipFace(plane002), angle = 90, axis = axis001)
// create the corners of the bin
lipCorners000 = patternCircular3d(

View File

@ -68,7 +68,7 @@ axis000 = {
}
// create a single corner of the bin
singleCorner = revolve({ angle = -90, axis = axis000 }, face(offsetPlane("YZ", offset = cornerRadius + binTol)))
singleCorner = revolve(face(offsetPlane("YZ", offset = cornerRadius + binTol)), angle = -90, axis = axis000)
// create the corners of the bin
corners = patternCircular3d(

View File

@ -0,0 +1,233 @@
// Zoo Keyboard
// A custom keyboard with Zoo brand lettering
// Set Units
@settings(defaultLengthUnit = in)
// Define constants
baseColor = "#0f0f0f"
highlightColor1 = "#b0b0b0"
highlightColor2 = "#23af93"
keyHeight = 0.8
keyDepth = 0.1
spacing = 0.1
row1 = spacing * 3
row2 = row1 + keyHeight + spacing
row3 = row2 + keyHeight + spacing
row4 = row3 + keyHeight + spacing
row5 = row4 + keyHeight + spacing
row6 = row5 + keyHeight + spacing
// Sketch the side profile of the keyboard base and extrude to total width
sketch001 = startSketchOn('YZ')
|> startProfileAt([0, 0], %)
|> line(end = [-0.14, 0.68], tag = $seg01)
|> angledLine([7, row6 + 3 * spacing + keyHeight], %, $seg02)
|> line(endAbsolute = [5.13, 0], tag = $seg03)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg04)
|> close()
|> extrude(length = 13.6)
|> appearance(color = baseColor)
|> fillet(
radius = .6,
tags = [
getOppositeEdge(seg01),
getOppositeEdge(seg03),
seg01,
seg03
],
)
// Create a short cylindrical foot at each corner of the keyboard
sketch003 = startSketchOn(sketch001, seg04)
profile001 = circle(sketch003, center = [0.75, 0.75], radius = 0.4)
profile003 = circle(sketch003, center = [4.4, 0.75], radius = 0.4)
profile004 = circle(sketch003, center = [0.73, 13.6 - .75], radius = 0.4)
profile005 = circle(sketch003, center = [4.4, 13.6 - .75], radius = 0.4)
extrude(
[
profile001,
profile003,
profile004,
profile005
],
length = .15,
)
// Define the plane to sketch keyboard keys on
plane001 = {
plane = {
origin = [0.0, 0.0, 0.7],
xAxis = [1.0, 0.0, 0.0],
yAxis = [0.0, 1.0, sin(toRadians(7))],
zAxis = [0.0, 0.0, 1.0]
}
}
// Create a function to build a key. Parameterize for position, width, height, number of instances, and appearance color.
fn keyFn(originStart, keyWidth, keyHeight, repeats, color) {
sketch002 = startSketchOn(plane001)
profile002 = startProfileAt([originStart[0], originStart[1]], sketch002)
|> arc({
angleStart = 180,
angleEnd = 270,
radius = 0.1
}, %)
|> angledLine([0, keyWidth - .2], %, $rectangleSegmentA001)
|> tangentialArc({ radius = 0.1, offset = 90 }, %)
|> angledLine([
segAng(rectangleSegmentA001) + 90,
keyHeight - .2
], %, $rectangleSegmentB001)
|> tangentialArc({ radius = 0.1, offset = 90 }, %)
|> angledLine([
segAng(rectangleSegmentA001),
-segLen(rectangleSegmentA001)
], %, $rectangleSegmentC001)
|> tangentialArc({ radius = 0.1, offset = 90 }, %)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
|> close()
|> extrude(length = keyDepth)
|> appearance(color = color)
// Repeat key when desired. This will default to zero
|> patternLinear3d(
%,
instances = repeats + 1,
distance = keyWidth + spacing,
axis = [1, 0, 0],
)
return sketch001
}
// Build the first row of keys
keyFn([0.3, row1], 1.1, keyHeight, 0, highlightColor2)
keyFn([1.5, row1], 0.8, keyHeight, 2, highlightColor1)
keyFn([spacing * 7 + 3.5, row1], 5.2, keyHeight, 0, highlightColor2)
keyFn([spacing * 8 + 8.7, row1], 0.8, keyHeight, 0, highlightColor1)
keyFn([spacing * 8 + 9.6, row1], 0.8, keyHeight, 0, highlightColor1)
keyFn([spacing * 10 + 10.3, row1], 1.1, keyHeight, 0, highlightColor1)
keyFn([spacing * 12 + 10.3 + 1, row1], 0.8, keyHeight, 0, highlightColor2)
// Build the second row of keys
keyFn([spacing * 3, row2], 1.7, keyHeight, 0, highlightColor2)
keyFn([spacing * 4 + 1.7, row2], 0.8, keyHeight, 9, highlightColor1)
keyFn([spacing * 14 + 1.7 + 0.8 * 10, row2], 2.2, keyHeight, 0, highlightColor2)
// Build the third row of keys
keyFn([spacing * 3, row3], 1.1 + .1, keyHeight, 0, highlightColor1)
keyFn([spacing * 4 + 1.1 + .1, row3], 0.8, keyHeight, 10, highlightColor1)
keyFn([spacing * 3 + 11.1 + .1, row3], 1.4 + .4, keyHeight, 0, highlightColor2)
// Build the fourth row of keys
keyFn([spacing * 3, row4], 0.9, keyHeight, 0, highlightColor1)
keyFn([spacing * 4 + 0.9, row4], 0.8, keyHeight, 11, highlightColor1)
keyFn([spacing * 3 + 11.8, row4], 1.2, keyHeight, 0, highlightColor1)
// Build the fifth row of keys
keyFn([spacing * 3, row5], 0.8, keyHeight, 12, highlightColor1)
keyFn([spacing * 3 + 11.7, row5], 1.3, keyHeight, 0, highlightColor2)
// Build the sixth row of keys
keyFn([spacing * 3, row6], 1.1, keyHeight * .6, 0, highlightColor2)
keyFn([spacing * 4 + 1.1, row6], 0.8, keyHeight * .6, 11, highlightColor1)
keyFn([spacing * 3 + 12, row6], 1, keyHeight * .6, 0, highlightColor2)
// Create a plane to sketch ZOO brand letters on
plane002 = {
plane = {
origin = [0.0, 0.0, .81],
xAxis = [1.0, 0.0, 0.0],
yAxis = [0.0, 1.0, sin(toRadians(7))],
zAxis = [0.0, 0.0, 1.0]
}
}
// Define a function to draw the ZOO 'Z'
fn z(origin, scale, depth) {
z = startSketchOn(plane002)
|> startProfileAt([
0 + origin[0],
0.15 * scale + origin[1]
], %)
|> yLine(length = -0.15 * scale)
|> xLine(length = 0.15 * scale)
|> angledLineToX({
angle = 47.15,
to = 0.3 * scale + origin[0]
}, %, $seg1)
|> yLine(endAbsolute = 0 + origin[1], tag = $seg3)
|> xLine(length = 0.63 * scale)
|> yLine(length = 0.225 * scale)
|> xLine(length = -0.57 * scale)
|> angledLineToX({
angle = 47.15,
to = 0.93 * scale + origin[0]
}, %)
|> yLine(length = 0.15 * scale)
|> xLine(length = -0.15 * scale)
|> angledLine({
angle = 47.15,
length = -segLen(seg1)
}, %, $seg2)
|> yLine(length = segLen(seg3))
|> xLine(endAbsolute = 0 + origin[0])
|> yLine(length = -0.225 * scale)
|> angledLineThatIntersects({
angle = 0,
intersectTag = seg2,
offset = 0
}, %)
|> close()
|> extrude(length = -depth)
|> appearance(color = baseColor)
return z
}
// Define a function to draw the ZOO 'O'
fn o(origin, scale, depth) {
oSketch001 = startSketchOn(plane002)
|> startProfileAt([
.788 * scale + origin[0],
.921 * scale + origin[1]
], %)
|> arc({
angleStart = 47.15 + 6,
angleEnd = 47.15 - 6 + 180,
radius = .525 * scale
}, %)
|> angledLine({ angle = 47.15, length = .24 * scale }, %)
|> arc({
angleStart = 47.15 - 11 + 180,
angleEnd = 47.15 + 11,
radius = .288 * scale
}, %)
|> close()
|> extrude(length = -depth)
|> appearance(color = baseColor)
o = startSketchOn(plane002)
|> startProfileAt([
.16 * scale + origin[0],
.079 * scale + origin[1]
], %)
|> arc({
angleStart = 47.15 + 6 - 180,
angleEnd = 47.15 - 6,
radius = .525 * scale
}, %)
|> angledLine({ angle = 47.15, length = -.24 * scale }, %)
|> arc({
angleStart = 47.15 - 11,
angleEnd = 47.15 + 11 - 180,
radius = .288 * scale
}, %)
|> close()
|> extrude(length = -depth)
|> appearance(color = baseColor)
return o
}
// Place the Z logo on the Z key. Place the O logo on the O and P keys
z([2.3, 1.3], .4, 0.03)
o([8.71, row4 + .08], 0.4, 0.03)
o([8.71 + 0.9, row4 + .08], 0.4, 0.03)

View File

@ -160,6 +160,13 @@
"title": "I-beam",
"description": "A structural metal beam with an I shaped cross section. Often used in construction"
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "keyboard/main.kcl",
"multipleFiles": false,
"title": "Zoo Keyboard",
"description": "A custom keyboard with Zoo brand lettering"
},
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "kitt/main.kcl",
@ -198,7 +205,7 @@
{
"file": "main.kcl",
"pathFromProjectDirectoryToFirstFile": "pipe-flange-assembly/main.kcl",
"multipleFiles": false,
"multipleFiles": true,
"title": "Pipe and Flange Assembly",
"description": "A crucial component in various piping systems, designed to facilitate the connection, disconnection, and access to piping for inspection, cleaning, and modifications. This assembly combines pipes (long cylindrical conduits) with flanges (plate-like fittings) to create a secure yet detachable joint."
},

View File

@ -0,0 +1,25 @@
// 1120t74 Pipe
// import constants
import pipeInnerDiameter, pipeOuterDiameter, pipeLength from "globals.kcl"
// set units
@settings(defaultLengthUnit = in)
// create a function to make the pipe
export fn pipe() {
// create the pipe base
pipeBase = startSketchOn('XZ')
|> circle(%, center = [0, 0], radius = pipeOuterDiameter / 2)
|> extrude(%, length = pipeLength)
// extrude a hole through the length of the pipe
pipe = startSketchOn(pipeBase, 'end')
|> circle(center = [0, 0], radius = pipeInnerDiameter / 2)
|> extrude(%, length = -pipeLength)
|> appearance(color = "#a24ed0")
return pipe
}
// https://www.mcmaster.com/1120T74/

View File

@ -0,0 +1,46 @@
// 68095k348 flange
// import constants
import pipeDiameter, mountingHoleDiameter, mountingHolePlacementDiameter, flangeDiameter, flangeTotalThickness, flangeBackHeight, flangeFrontHeight, flangeBaseThickness, flangeBackDiameter, flangeFrontDiameter from "globals.kcl"
// set units
@settings(defaultLengthUnit = in)
// create a function to create the flange
export fn flange() {
// sketch the mounting hole pattern
mountingHoles = startSketchOn("XY")
|> circle(%, center = [0, mountingHolePlacementDiameter / 2], radius = mountingHoleDiameter / 2)
|> patternCircular2d(
%,
instances = 4,
center = [0, 0],
arcDegrees = 360,
rotateDuplicates = false,
)
// create the flange base
flangeBase = startSketchOn("XY")
|> circle(%, center = [0, 0], radius = flangeDiameter / 2)
|> hole(mountingHoles, %)
|> extrude(%, length = flangeBaseThickness)
// create both the raised portions on the front and back of the flange base
flangeBack = startSketchOn(flangeBase, 'start')
|> circle(%, center = [0, 0], radius = flangeBackDiameter / 2)
|> extrude(%, length = flangeBackHeight)
flangeFront = startSketchOn(flangeBase, 'end')
|> circle(%, center = [0, 0], radius = flangeFrontDiameter / 2)
|> extrude(%, length = flangeFrontHeight)
// create the circular cut in the center for the pipe
pipeCut = startSketchOn(flangeFront, 'end')
|> circle(%, center = [0, 0], radius = pipeDiameter / 2)
|> extrude(%, length = -flangeTotalThickness)
|> appearance(%, color = "#bab0b0")
return pipeCut
}
// https://www.mcmaster.com/68095K348/

View File

@ -0,0 +1,56 @@
// 91251A404 Socket Head Cap Screw
// import constants
import boltDiameter, boltLength, boltHeadLength, boltHeadDiameter, boltHexDrive, boltHexFlatLength, boltThreadLength from "globals.kcl"
// set units
@settings(defaultLengthUnit = in)
// create a function to make a the bolt
export fn bolt() {
// Create the head of the cap screw
boltHead = startSketchOn('XZ')
|> circle(center = [0, 0], radius = boltHeadDiameter / 2, tag = $topEdge)
|> extrude(length = -boltHeadLength)
|> fillet(radius = 0.020, tags = [topEdge, getOppositeEdge(topEdge)])
// Define the sketch of the hex pattern on the screw head and extrude into the head
hexPatternSketch = startSketchOn(boltHead, 'start')
|> startProfileAt([
boltHexDrive / 2,
boltHexFlatLength / 2
], %)
|> angledLine({
angle = 270,
length = boltHexFlatLength
}, %)
|> angledLine({
angle = 210,
length = boltHexFlatLength
}, %)
|> angledLine({
angle = 150,
length = boltHexFlatLength
}, %)
|> angledLine({
angle = 90,
length = boltHexFlatLength
}, %)
|> angledLine({
angle = 30,
length = boltHexFlatLength
}, %)
|> close()
|> extrude(length = -boltHeadLength * 0.75)
// create the body of the bolt
boltBody = startSketchOn(boltHead, 'end')
|> circle(center = [0, 0], radius = boltDiameter / 2, tag = $filletEdge)
|> extrude(length = boltLength)
|> appearance(color = "#4dd043", metalness = 90, roughness = 90)
return boltBody
}
// https://www.mcmaster.com/91251a404/

View File

@ -0,0 +1,26 @@
// 9472K188 Gasket
// import constants
import gasketOutsideDiameter, gasketInnerDiameter, gasketThickness from "globals.kcl"
// set units
@settings(defaultLengthUnit = in)
// create a function to make the gasket
export fn gasket() {
// create the base of the gasket
gasketBase = startSketchOn("XY")
|> circle(%, center = [0, 0], radius = gasketOutsideDiameter / 2)
|> extrude(%, length = gasketThickness)
// extrude a circular hole through the gasket base
gasket = startSketchOn(gasketBase, 'end')
|> circle(%, center = [0, 0], radius = gasketInnerDiameter / 2)
|> extrude(%, length = -gasketThickness)
|> appearance(%, color = "#d0cb3e")
return gasket
}
// https://www.mcmaster.com/9472K616/

View File

@ -0,0 +1,49 @@
// 95479A127 Hex Nut
// import constants
import hexNutDiameter, hexNutFlatToFlat, hexNutThickness, hexNutFlatLength from "globals.kcl"
// set units
@settings(defaultLengthUnit = in)
// create a function to make the hex nut
export fn hexNut() {
// create the base of the hex nut
hexNutBase = startSketchOn('XY')
|> startProfileAt([
hexNutFlatToFlat / 2,
hexNutFlatLength / 2
], %)
|> angledLine({
angle = 270,
length = hexNutFlatLength
}, %)
|> angledLine({
angle = 210,
length = hexNutFlatLength
}, %)
|> angledLine({
angle = 150,
length = hexNutFlatLength
}, %)
|> angledLine({
angle = 90,
length = hexNutFlatLength
}, %)
|> angledLine({
angle = 30,
length = hexNutFlatLength
}, %)
|> close()
|> extrude(length = hexNutThickness)
// create the hole in the center of the hex nut
hexNut = startSketchOn(hexNutBase, 'end')
|> circle(center = [0, 0], radius = hexNutDiameter / 2)
|> extrude(%, length = -hexNutThickness)
|> appearance(%, color = "#4edfd5")
return hexNut
}
// https://www.mcmaster.com/95479A127/

View File

@ -0,0 +1,26 @@
// 98017A257 Washer
// import constants
import washerInnerDia, washerOuterDia, washerThickness from "globals.kcl"
// set units
@settings(defaultLengthUnit = in)
// create a function to make the washer
export fn washer() {
// create the base of the washer
washerBase = startSketchOn('XY')
|> circle(center = [0, 0], radius = washerOuterDia / 2)
|> extrude(length = washerThickness)
// extrude a hole through the washer
washer = startSketchOn(washerBase, 'end')
|> circle(center = [0, 0], radius = washerInnerDia / 2)
|> extrude(%, length = -washerThickness)
|> appearance(%, color = "#ee4f4f")
return washer
}
// https://www.mcmaster.com/98017A257/

View File

@ -0,0 +1,48 @@
// Globals
// set units
@settings(defaultLengthUnit = in)
// flange (68095K348)
export pipeDiameter = 2.440
export mountingHoleDiameter = 0.750
export mountingHolePlacementDiameter = 4.750
export flangeDiameter = 6.0
export flangeTotalThickness = 1.0
export flangeBackHeight = 0.060
export flangeFrontHeight = 0.250
export flangeBaseThickness = flangeTotalThickness - flangeBackHeight - flangeFrontHeight
export flangeBackDiameter = 3.620
export flangeFrontDiameter = 3.060
// washer (98017A257)
export washerInnerDia = 0.640
export washerOuterDia = 1.188
export washerThickness = 0.032
// bolt (91251A404)
export boltDiameter = 0.625
export boltLength = 2.500
export boltHeadLength = boltDiameter
export boltHeadDiameter = 0.938
export boltHexDrive = 1 / 2
export boltHexFlatLength = boltHexDrive / (2 * cos(toRadians(30)))
export boltThreadLength = 1.750
// hex nut (95479A127)
export hexNutDiameter = 5 / 8
export hexNutFlatToFlat = 15 / 16
export hexNutThickness = 35 / 64
export hexNutFlatLength = hexNutFlatToFlat / (2 * cos(toRadians(30)))
// gasket (9472K188)
export gasketOutsideDiameter = 4.125
export gasketInnerDiameter = 2.375
export gasketThickness = 0.031
// pipe (1120T74)
export pipeInnerDiameter = 2.0
export pipeOuterDiameter = 2.375
export pipeLength = 6

View File

@ -1,304 +1,58 @@
// Pipe and Flange Assembly
// A crucial component in various piping systems, designed to facilitate the connection, disconnection, and access to piping for inspection, cleaning, and modifications. This assembly combines pipes (long cylindrical conduits) with flanges (plate-like fittings) to create a secure yet detachable joint.
// Set units
// set units
@settings(defaultLengthUnit = in)
// import constants
import * from 'globals.kcl'
// Define constants
flangeThickness = .125
flangeBaseDia = 2
boreHeight = 1
flangePipeDia = 1
mountingHoleDia = 0.425
screwDia = 0.375
tol = 0.010
hexNutScale = 0.90
wallThickness = 0.5
screwLength = 1.125
washerThickness = 0.0625
screwStart = [
0,
flangeThickness + washerThickness,
1.375
]
capRatio = .190 / .313 // Ratio grabbed from another screw
hexRatio = 5 / 32 / .190 // Ratio grabbed from another screw
hexStartingAngle = 210 // first angle of hex pattern (degrees)
hexInteriorAngle = 120 // degrees
hexChangeAngle = 180 - hexInteriorAngle // degrees
// import parts
import flange from '68095k348-flange.kcl'
import gasket from '9472k188-gasket.kcl'
import washer from '98017a257-washer.kcl'
import bolt from '91251a404-bolt.kcl'
import hexNut from '95479a127-hex-nut.kcl'
import pipe from '1120t74-pipe.kcl'
// place flanges
flange()
flange()
|> rotate(axis = [0, 1, 0], angle = 180)
|> translate(translate = [0, 0, flangeBackHeight*2 + gasketThickness])
screwPlane = {
plane = {
origin = {
x = screwStart[0],
y = screwStart[1],
z = screwStart[2]
},
xAxis = { x = 1, y = 0, z = 0 },
yAxis = { x = 0, y = 0, z = 1 },
zAxis = { x = 0, y = 1, z = 0 }
}
}
// place gasket between the flanges
gasket()
|> translate(translate = [0, 0, -flangeBackHeight - gasketThickness])
fn capScrew(start, length, dia) {
headLength = dia // inch
wallToWallLength = hexRatio * dia
headDia = dia / capRatio
hexWallLength = wallToWallLength / 2 * 1 / cos(toRadians(30)) // inch
// place eight washers (four front, four back)
washer()
|> translate(translate = [
mountingHolePlacementDiameter/2,
0,
flangeBaseThickness
])
|> patternCircular3d(%, instances = 4, axis = [0, 0, 1], center = [0, 0, 0], arcDegrees = 360, rotateDuplicates = false)
|> patternLinear3d(%, instances = 2, distance = -(flangeBaseThickness*2 + flangeBackHeight * 2 + gasketThickness + washerThickness), axis = [0, 0, 1])
// place four bolts
bolt()
|> translate(translate = [
mountingHolePlacementDiameter/2, 0, flangeBaseThickness + washerThickness
])
|> rotate(roll = 90, pitch = 0, yaw = 0)
|> patternCircular3d(%, instances = 4, axis = [0, 0, 1], center = [0, 0, 0], arcDegrees = 360, rotateDuplicates = false)
// Length of Cap Head is always equal to diameter
capHeadLength = dia
// place four hex nuts
hexNut()
|> translate(translate = [mountingHolePlacementDiameter/2, 0, -(flangeBackHeight * 2 + gasketThickness + flangeBaseThickness + washerThickness + hexNutThickness)])
|> patternCircular3d(%, instances = 4, axis = [0, 0, 1], center = [0, 0, 0], arcDegrees = 360, rotateDuplicates = false)
// Create the head of the cap screw
screwHeadSketch = startSketchOn(screwPlane)
|> circle(
center = [0, 0],
radius = headDia / 2
)
// place both pieces of pipe
pipe()
|> rotate(%, roll = -90, pitch = 0, yaw = 0)
|> translate(%, translate = [0, 0, flangeBaseThickness + flangeFrontHeight - 0.5], global = true)
// Extrude the screw head sketch
screwHead = extrude(screwHeadSketch, length = dia)
// Define the sketch of the hex pattern on the screw head
hexPatternSketch = startSketchOn(screwHead, 'end')
|> startProfileAt([
-start[0] + wallToWallLength / 2,
start[2]
], %)
|> yLine(length = -hexWallLength / 2)
|> angledLine({
angle = hexStartingAngle,
length = hexWallLength
}, %)
|> angledLine({
angle = hexStartingAngle - hexChangeAngle,
length = hexWallLength
}, %)
|> angledLine({
angle = hexStartingAngle - (2 * hexChangeAngle),
length = hexWallLength
}, %)
|> angledLine({
angle = hexStartingAngle - (3 * hexChangeAngle),
length = hexWallLength
}, %)
|> angledLine({
angle = hexStartingAngle - (4 * hexChangeAngle),
length = hexWallLength
}, %)
|> close()
hexPattern = extrude(hexPatternSketch, length = -headLength * 0.75)
return hexPattern
}
workingPlane = {
plane = {
origin = { x = 0, y = flangeThickness, z = 0 },
xAxis = { x = 0, y = 0, z = 1 },
yAxis = { x = 1, y = 0, z = 0 },
zAxis = { x = 0, y = 1, z = 0 }
}
}
// Washer function
fn washer(plane, start, thk, innerDia, outerDia) {
washerSketch = startSketchOn(plane)
|> circle(
center = [start[0], start[1]],
radius = outerDia / 2
)
|> hole(circle(
center = [start[0], start[1]],
radius = innerDia / 2
), %)
|> extrude(length = thk)
return washerSketch
}
// Hex nut function
fn hexNut(start, thk, innerDia) {
hexNutSketch = startSketchOn({
plane = {
origin = {
x = start[0],
y = -wallThickness - washerThickness,
z = start[2]
},
xAxis = { x = 1, y = 0, z = 0 },
yAxis = { x = 0, y = 0, z = 1 },
zAxis = { x = 0, y = 1, z = 0 }
}
})
|> startProfileAt([0 + innerDia * hexNutScale, 0], %)
|> angledLine({
angle = 240,
length = innerDia * hexNutScale
}, %)
|> angledLine({
angle = 180,
length = innerDia * hexNutScale
}, %)
|> angledLine({
angle = 120,
length = innerDia * hexNutScale
}, %)
|> angledLine({
angle = 60,
length = innerDia * hexNutScale
}, %)
|> angledLine({ angle = 0, length = innerDia * .90 }, %)
|> close()
|> hole(circle(
center = [0, 0],
radius = innerDia / 2
), %)
|> extrude(length = -thk)
return hexNutSketch
}
// Mounting holes pattern
mountingHolePattern = startSketchOn('XZ')
|> circle(
center = [screwStart[0], screwStart[2]],
radius = screwDia / 2 + tol
)
|> patternCircular2d(
arcDegrees = 360,
center = [0, 0],
instances = 7,
rotateDuplicates = true
)
// Sketch and revolve the pipe
pipe = startSketchOn('XY')
|> startProfileAt([flangePipeDia / 2 - tol, 0], %)
|> line(end = [0, -2])
|> angledLine({ angle = -60, length = .5 }, %)
|> line(end = [0, -1])
|> line(end = [-flangeThickness, 0])
|> line(end = [0, 1])
|> angledLine({ angle = -240, length = .5 }, %)
|> line(end = [0, 5])
|> angledLine({ angle = 60, length = .5 }, %)
|> line(end = [0, 1])
|> line(end = [flangeThickness, 0])
|> line(end = [0, -1])
|> angledLine({ angle = 240, length = .5 }, %)
|> close()
|> revolve({ axis = 'y' }, %)
|> appearance(color = "#7b79d7")
// Sketch and extrude the wall
wall = startSketchOn('XZ')
|> startProfileAt([-4, -4], %)
|> line(end = [0, 8])
|> line(end = [8, 0])
|> line(end = [0, -8])
|> close()
|> hole(mountingHolePattern, %)
|> hole(circle(
center = [0, 0],
radius = flangePipeDia / 2
), %)
|> extrude(length = wallThickness)
|> appearance(color = "#c7aa8f")
// Sketch and revolve the flange
flangeBase = startSketchOn('XZ')
|> circle(
center = [0, 0],
radius = flangeBaseDia
)
|> hole(mountingHolePattern, %)
|> hole(circle(
center = [0, 0],
radius = flangePipeDia / 2
), %)
|> extrude(length = -flangeThickness)
|> appearance(color = "#9b9797")
// Create the washer and pattern around the flange
washer(workingPlane, [screwStart[2], screwStart[0]], 0.0625, screwDia + tol, 0.625)
|> patternCircular3d(
axis = [0, 1, 0],
center = [0, 0, 0],
instances = 7,
arcDegrees = 360,
rotateDuplicates = true
)
|> appearance(color = "#d8da5d")
// Create the cap screw and pattern around the flange
capScrew([
0,
flangeThickness + washerThickness,
1.375
], screwLength, screwDia)
|> patternCircular3d(
axis = [0, 1, 0],
center = [0, 0, 0],
instances = 7,
arcDegrees = 360,
rotateDuplicates = true
)
|> appearance(color = "#4cd411")
screwBodySketch = startSketchOn(screwPlane)
|> circle(
center = [0, 0],
radius = screwDia / 2
)
screwBody = extrude(screwBodySketch, length = -screwLength)
|> patternCircular3d(
axis = [0, 1, 0],
center = [0, 0, 0],
instances = 7,
arcDegrees = 360,
rotateDuplicates = true
)
|> appearance(color = "#4cd411")
// Create a plane for the washers on the back side of the wall
backSideWasherPlane = {
plane = {
origin = {
x = 0,
y = -wallThickness - washerThickness,
z = 0
},
xAxis = { x = 0, y = 0, z = 1 },
yAxis = { x = 1, y = 0, z = 0 },
zAxis = { x = 0, y = 1, z = 0 }
}
}
// Create the washers on the backside of the wall
washer(backSideWasherPlane, [screwStart[2], screwStart[0]], 0.0625, screwDia + tol, 0.625)
|> patternCircular3d(
axis = [0, 1, 0],
center = [0, 0, 0],
instances = 7,
arcDegrees = 360,
rotateDuplicates = true
)
|> appearance(color = "#e8ec09")
// Create the hex nut and pattern around the flange
hexNut([
screwStart[0],
screwStart[1],
screwStart[2]
], .25, screwDia + tol)
|> patternCircular3d(
axis = [0, 1, 0],
center = [0, 0, 0],
instances = 7,
arcDegrees = 360,
rotateDuplicates = true
)
|> appearance(color = "#bc3434")
pipe()
|> rotate(%, roll = 90, pitch = 0, yaw = 0)
|> translate(%, translate = [0, 0, -(flangeBackHeight * 2 + gasketThickness + flangeBaseThickness + flangeFrontHeight - 0.5)], global = true)

View File

@ -0,0 +1,269 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION (( 'STEP AP203' ),
'1' );
FILE_NAME ('1120T74_Standard-Wall Steel Unthreaded Pipe Nipple.STEP',
'2021-07-09T13:29:34',
( 'Administrator' ),
( 'Managed by Terraform' ),
'SwSTEP 2.0',
'SolidWorks 2017',
'' );
FILE_SCHEMA (( 'CONFIG_CONTROL_DESIGN' ));
ENDSEC;
DATA;
#1 = EDGE_LOOP ( 'NONE', ( #200, #99 ) ) ;
#2 = CALENDAR_DATE ( 2021, 9, 7 ) ;
#3 = AXIS2_PLACEMENT_3D ( 'NONE', #146, #228, #22 ) ;
#4 = CALENDAR_DATE ( 2021, 9, 7 ) ;
#5 = VECTOR ( 'NONE', #122, 39.37007874015748100 ) ;
#6 = APPROVAL_PERSON_ORGANIZATION ( #191, #189, #47 ) ;
#7 = MANIFOLD_SOLID_BREP ( 'Extrude1', #114 ) ;
#8 = CALENDAR_DATE ( 2021, 9, 7 ) ;
#9 = ORIENTED_EDGE ( 'NONE', *, *, #48, .F. ) ;
#10 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -3.000000000000000400 ) ) ;
#11 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#12 = AXIS2_PLACEMENT_3D ( 'NONE', #162, #203, #157 ) ;
#13 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#14 = ADVANCED_FACE ( 'NONE', ( #107, #218 ), #177, .T. ) ;
#15 = CIRCLE ( 'NONE', #193, 1.187500000000000000 ) ;
#16 = PERSON_AND_ORGANIZATION_ROLE ( 'classification_officer' ) ;
#17 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#18 = AXIS2_PLACEMENT_3D ( 'NONE', #10, #245, #31 ) ;
#19 = LINE ( 'NONE', #137, #80 ) ;
#20 = CC_DESIGN_APPROVAL ( #189, ( #105 ) ) ;
#21 = ADVANCED_FACE ( 'NONE', ( #142, #60 ), #74, .F. ) ;
#22 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#23 = ORIENTED_EDGE ( 'NONE', *, *, #185, .T. ) ;
#24 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #241, #211, ( #198 ) ) ;
#25 = APPROVAL_DATE_TIME ( #135, #90 ) ;
#26 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#27 = ORIENTED_EDGE ( 'NONE', *, *, #28, .T. ) ;
#28 = EDGE_CURVE ( 'NONE', #237, #240, #110, .T. ) ;
#29 = EDGE_LOOP ( 'NONE', ( #9, #222 ) ) ;
#30 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#31 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#32 = CARTESIAN_POINT ( 'NONE', ( -1.187500000000000000, 0.0000000000000000000, -3.000000000000000400 ) ) ;
#33 = PERSON_AND_ORGANIZATION ( #83, #100 ) ;
#34 = VERTEX_POINT ( 'NONE', #201 ) ;
#35 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#36 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ;
#37 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#38 = PERSON_AND_ORGANIZATION ( #83, #100 ) ;
#39 = EDGE_CURVE ( 'NONE', #112, #34, #43, .T. ) ;
#40 = EDGE_CURVE ( 'NONE', #72, #121, #187, .T. ) ;
#41 = LENGTH_MEASURE_WITH_UNIT ( LENGTH_MEASURE( 0.02539999999999999900 ), #165 );
#42 = APPROVAL_DATE_TIME ( #87, #235 ) ;
#43 = CIRCLE ( 'NONE', #156, 1.187500000000000000 ) ;
#44 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#45 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#46 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#47 = APPROVAL_ROLE ( '' ) ;
#48 = EDGE_CURVE ( 'NONE', #202, #71, #15, .T. ) ;
#49 = LOCAL_TIME ( 8, 29, 34.00000000000000000, #173 ) ;
#50 = EDGE_LOOP ( 'NONE', ( #54, #247, #232, #126 ) ) ;
#51 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -3.000000000000000400 ) ) ;
#52 = APPROVAL_ROLE ( '' ) ;
#53 = CALENDAR_DATE ( 2021, 9, 7 ) ;
#54 = ORIENTED_EDGE ( 'NONE', *, *, #229, .F. ) ;
#55 = PERSON_AND_ORGANIZATION ( #83, #100 ) ;
#56 = ORIENTED_EDGE ( 'NONE', *, *, #152, .T. ) ;
#57 = FACE_OUTER_BOUND ( 'NONE', #220, .T. ) ;
#58 = PERSON_AND_ORGANIZATION ( #83, #100 ) ;
#59 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#60 = FACE_BOUND ( 'NONE', #153, .T. ) ;
#61 = AXIS2_PLACEMENT_3D ( 'NONE', #13, #183, #35 ) ;
#62 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, -0.0000000000000000000 ) ) ;
#63 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#64 = LOCAL_TIME ( 8, 29, 34.00000000000000000, #115 ) ;
#65 = ORIENTED_EDGE ( 'NONE', *, *, #48, .T. ) ;
#66 = SECURITY_CLASSIFICATION_LEVEL ( 'unclassified' ) ;
#67 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ;
#68 = DIMENSIONAL_EXPONENTS ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ;
#69 = LOCAL_TIME ( 8, 29, 34.00000000000000000, #120 ) ;
#70 = ORIENTED_EDGE ( 'NONE', *, *, #88, .T. ) ;
#71 = VERTEX_POINT ( 'NONE', #117 ) ;
#72 = VERTEX_POINT ( 'NONE', #160 ) ;
#73 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#74 = PLANE ( 'NONE', #119 ) ;
#75 = CYLINDRICAL_SURFACE ( 'NONE', #86, 1.033499999999999900 ) ;
#76 = CC_DESIGN_APPROVAL ( #235, ( #198 ) ) ;
#77 = CARTESIAN_POINT ( 'NONE', ( -1.187500000000000000, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#78 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#79 = AXIS2_PLACEMENT_3D ( 'NONE', #252, #37, #124 ) ;
#80 = VECTOR ( 'NONE', #44, 39.37007874015748100 ) ;
#81 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#82 = PERSON_AND_ORGANIZATION ( #83, #100 ) ;
#83 = PERSON ( 'UNSPECIFIED', 'UNSPECIFIED', 'UNSPECIFIED', ('UNSPECIFIED'), ('UNSPECIFIED'), ('UNSPECIFIED') ) ;
#84 = ORIENTED_EDGE ( 'NONE', *, *, #215, .T. ) ;
#85 = PERSON_AND_ORGANIZATION_ROLE ( 'design_supplier' ) ;
#86 = AXIS2_PLACEMENT_3D ( 'NONE', #46, #63, #78 ) ;
#87 = DATE_AND_TIME ( #140, #64 ) ;
#88 = EDGE_CURVE ( 'NONE', #72, #240, #158, .T. ) ;
#89 = VECTOR ( 'NONE', #138, 39.37007874015748100 ) ;
#90 = APPROVAL ( #171, 'UNSPECIFIED' ) ;
#91 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#92 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -3.000000000000000400 ) ) ;
#93 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, -0.0000000000000000000 ) ) ;
#94 = CIRCLE ( 'NONE', #18, 1.187500000000000000 ) ;
#95 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#96 = PRODUCT_DEFINITION ( 'UNKNOWN', '', #105, #154 ) ;
#97 = CARTESIAN_POINT ( 'NONE', ( -1.033499999999999900, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#98 = AXIS2_PLACEMENT_3D ( 'NONE', #141, #30, #181 ) ;
#99 = ORIENTED_EDGE ( 'NONE', *, *, #229, .T. ) ;
#100 = ORGANIZATION ( 'UNSPECIFIED', 'UNSPECIFIED', '' ) ;
#101 = CARTESIAN_POINT ( 'NONE', ( 1.033499999999999900, 1.265672466918789100E-016, 3.000000000000000400 ) ) ;
#102 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -3.000000000000000400 ) ) ;
#103 = CC_DESIGN_SECURITY_CLASSIFICATION ( #198, ( #105 ) ) ;
#104 = CYLINDRICAL_SURFACE ( 'NONE', #3, 1.033499999999999900 ) ;
#105 = PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE ( 'ANY', '', #230, .NOT_KNOWN. ) ;
#106 = DATE_TIME_ROLE ( 'creation_date' ) ;
#107 = FACE_OUTER_BOUND ( 'NONE', #1, .T. ) ;
#108 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #207, #67, ( #105 ) ) ;
#109 = LINE ( 'NONE', #101, #155 ) ;
#110 = CIRCLE ( 'NONE', #217, 1.033499999999999900 ) ;
#111 = EDGE_CURVE ( 'NONE', #34, #71, #19, .T. ) ;
#112 = VERTEX_POINT ( 'NONE', #77 ) ;
#113 = AXIS2_PLACEMENT_3D ( 'NONE', #81, #17, #233 ) ;
#114 = CLOSED_SHELL ( 'NONE', ( #248, #148, #14, #21, #167, #170 ) ) ;
#115 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#116 = ORIENTED_EDGE ( 'NONE', *, *, #185, .F. ) ;
#117 = CARTESIAN_POINT ( 'NONE', ( 1.187500000000000000, 1.454268073987481900E-016, -3.000000000000000400 ) ) ;
#118 = CYLINDRICAL_SURFACE ( 'NONE', #98, 1.187500000000000000 ) ;
#119 = AXIS2_PLACEMENT_3D ( 'NONE', #92, #246, #62 ) ;
#120 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#121 = VERTEX_POINT ( 'NONE', #179 ) ;
#122 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#123 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#124 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#125 = FACE_OUTER_BOUND ( 'NONE', #163, .T. ) ;
#126 = ORIENTED_EDGE ( 'NONE', *, *, #152, .F. ) ;
#127 = PRODUCT_RELATED_PRODUCT_CATEGORY ( 'detail', '', ( #230 ) ) ;
#128 = CYLINDRICAL_SURFACE ( 'NONE', #150, 1.187500000000000000 ) ;
#129 = ORIENTED_EDGE ( 'NONE', *, *, #28, .F. ) ;
#130 = APPROVAL_PERSON_ORGANIZATION ( #82, #235, #234 ) ;
#131 = CIRCLE ( 'NONE', #161, 1.033499999999999900 ) ;
#132 = CC_DESIGN_APPROVAL ( #90, ( #96 ) ) ;
#133 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #147, #231, ( #230 ) ) ;
#134 = EDGE_CURVE ( 'NONE', #71, #202, #94, .T. ) ;
#135 = DATE_AND_TIME ( #8, #69 ) ;
#136 = ORIENTED_EDGE ( 'NONE', *, *, #88, .F. ) ;
#137 = CARTESIAN_POINT ( 'NONE', ( 1.187500000000000000, 1.454268073987481900E-016, 3.000000000000000400 ) ) ;
#138 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#139 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#140 = CALENDAR_DATE ( 2021, 9, 7 ) ;
#141 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#142 = FACE_OUTER_BOUND ( 'NONE', #29, .T. ) ;
#143 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ;
#144 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #169 ) ;
#145 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) );
#146 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#147 = PERSON_AND_ORGANIZATION ( #83, #100 ) ;
#148 = ADVANCED_FACE ( 'NONE', ( #174 ), #118, .T. ) ;
#149 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #55, #143, ( #96 ) ) ;
#150 = AXIS2_PLACEMENT_3D ( 'NONE', #59, #159, #45 ) ;
#151 = ORIENTED_EDGE ( 'NONE', *, *, #199, .T. ) ;
#152 = EDGE_CURVE ( 'NONE', #112, #202, #208, .T. ) ;
#153 = EDGE_LOOP ( 'NONE', ( #151, #27 ) ) ;
#154 = DESIGN_CONTEXT ( 'detailed design', #36, 'design' ) ;
#155 = VECTOR ( 'NONE', #188, 39.37007874015748100 ) ;
#156 = AXIS2_PLACEMENT_3D ( 'NONE', #225, #139, #223 ) ;
#157 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#158 = LINE ( 'NONE', #97, #5 ) ;
#159 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#160 = CARTESIAN_POINT ( 'NONE', ( -1.033499999999999900, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#161 = AXIS2_PLACEMENT_3D ( 'NONE', #51, #186, #190 ) ;
#162 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#163 = EDGE_LOOP ( 'NONE', ( #176, #23, #70, #129 ) ) ;
#164 =( CONVERSION_BASED_UNIT ( 'INCH', #41 ) LENGTH_UNIT ( ) NAMED_UNIT ( #68 ) );
#165 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( $, .METRE. ) );
#166 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #36 ) ;
#167 = ADVANCED_FACE ( 'NONE', ( #251 ), #128, .T. ) ;
#168 = CIRCLE ( 'NONE', #61, 1.033499999999999900 ) ;
#169 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ;
#170 = ADVANCED_FACE ( 'NONE', ( #125 ), #75, .F. ) ;
#171 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#172 = AXIS2_PLACEMENT_3D ( 'NONE', #26, #73, #93 ) ;
#173 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#174 = FACE_OUTER_BOUND ( 'NONE', #50, .T. ) ;
#175 = LOCAL_TIME ( 8, 29, 34.00000000000000000, #204 ) ;
#176 = ORIENTED_EDGE ( 'NONE', *, *, #215, .F. ) ;
#177 = PLANE ( 'NONE', #172 ) ;
#178 = ORIENTED_EDGE ( 'NONE', *, *, #40, .T. ) ;
#179 = CARTESIAN_POINT ( 'NONE', ( 1.033499999999999900, 1.265672466918789100E-016, 3.000000000000000400 ) ) ;
#180 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #192 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #164, #145, #212 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) );
#181 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#182 = EDGE_LOOP ( 'NONE', ( #227, #116 ) ) ;
#183 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#184 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#185 = EDGE_CURVE ( 'NONE', #121, #72, #168, .T. ) ;
#186 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#187 = CIRCLE ( 'NONE', #12, 1.033499999999999900 ) ;
#188 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#189 = APPROVAL ( #123, 'UNSPECIFIED' ) ;
#190 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#191 = PERSON_AND_ORGANIZATION ( #83, #100 ) ;
#192 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000100E-005 ), #164, 'distance_accuracy_value', 'NONE');
#193 = AXIS2_PLACEMENT_3D ( 'NONE', #224, #184, #244 ) ;
#194 = ORIENTED_EDGE ( 'NONE', *, *, #111, .F. ) ;
#195 = EDGE_LOOP ( 'NONE', ( #194, #243, #56, #65 ) ) ;
#196 = APPROVAL_DATE_TIME ( #236, #189 ) ;
#197 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #33, #85, ( #105 ) ) ;
#198 = SECURITY_CLASSIFICATION ( '', '', #66 ) ;
#199 = EDGE_CURVE ( 'NONE', #240, #237, #131, .T. ) ;
#200 = ORIENTED_EDGE ( 'NONE', *, *, #39, .T. ) ;
#201 = CARTESIAN_POINT ( 'NONE', ( 1.187500000000000000, 1.454268073987481900E-016, 3.000000000000000400 ) ) ;
#202 = VERTEX_POINT ( 'NONE', #32 ) ;
#203 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#204 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#205 = CARTESIAN_POINT ( 'NONE', ( -1.033499999999999900, 0.0000000000000000000, -3.000000000000000400 ) ) ;
#206 = CARTESIAN_POINT ( 'NONE', ( 1.033499999999999900, 1.265672466918789100E-016, -3.000000000000000400 ) ) ;
#207 = PERSON_AND_ORGANIZATION ( #83, #100 ) ;
#208 = LINE ( 'NONE', #221, #89 ) ;
#209 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#210 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #38, #16, ( #198 ) ) ;
#211 = DATE_TIME_ROLE ( 'classification_date' ) ;
#212 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) );
#213 = CIRCLE ( 'NONE', #113, 1.187500000000000000 ) ;
#214 = PRODUCT_DEFINITION_SHAPE ( 'NONE', 'NONE', #96 ) ;
#215 = EDGE_CURVE ( 'NONE', #121, #237, #109, .T. ) ;
#216 = DATE_AND_TIME ( #53, #175 ) ;
#217 = AXIS2_PLACEMENT_3D ( 'NONE', #102, #11, #95 ) ;
#218 = FACE_BOUND ( 'NONE', #182, .T. ) ;
#219 = APPROVAL_PERSON_ORGANIZATION ( #58, #90, #52 ) ;
#220 = EDGE_LOOP ( 'NONE', ( #178, #84, #242, #136 ) ) ;
#221 = CARTESIAN_POINT ( 'NONE', ( -1.187500000000000000, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#222 = ORIENTED_EDGE ( 'NONE', *, *, #134, .F. ) ;
#223 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#224 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -3.000000000000000400 ) ) ;
#225 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 3.000000000000000400 ) ) ;
#226 = LOCAL_TIME ( 8, 29, 34.00000000000000000, #91 ) ;
#227 = ORIENTED_EDGE ( 'NONE', *, *, #40, .F. ) ;
#228 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#229 = EDGE_CURVE ( 'NONE', #34, #112, #213, .T. ) ;
#230 = PRODUCT ( '1120T74_Standard-Wall Steel Unthreaded Pipe Nipple', '1120T74_Standard-Wall Steel Unthreaded Pipe Nipple', '', ( #249 ) ) ;
#231 = PERSON_AND_ORGANIZATION_ROLE ( 'design_owner' ) ;
#232 = ORIENTED_EDGE ( 'NONE', *, *, #134, .T. ) ;
#233 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#234 = APPROVAL_ROLE ( '' ) ;
#235 = APPROVAL ( #209, 'UNSPECIFIED' ) ;
#236 = DATE_AND_TIME ( #2, #226 ) ;
#237 = VERTEX_POINT ( 'NONE', #206 ) ;
#238 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #216, #106, ( #96 ) ) ;
#239 = ADVANCED_BREP_SHAPE_REPRESENTATION ( '1120T74_Standard-Wall Steel Unthreaded Pipe Nipple', ( #7, #79 ), #180 ) ;
#240 = VERTEX_POINT ( 'NONE', #205 ) ;
#241 = DATE_AND_TIME ( #4, #49 ) ;
#242 = ORIENTED_EDGE ( 'NONE', *, *, #199, .F. ) ;
#243 = ORIENTED_EDGE ( 'NONE', *, *, #39, .F. ) ;
#244 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#245 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#246 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#247 = ORIENTED_EDGE ( 'NONE', *, *, #111, .T. ) ;
#248 = ADVANCED_FACE ( 'NONE', ( #57 ), #104, .F. ) ;
#249 = MECHANICAL_CONTEXT ( 'NONE', #169, 'mechanical' ) ;
#250 = SHAPE_DEFINITION_REPRESENTATION ( #214, #239 ) ;
#251 = FACE_OUTER_BOUND ( 'NONE', #195, .T. ) ;
#252 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
ENDSEC;
END-ISO-10303-21;

View File

@ -0,0 +1,935 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION (( 'STEP AP203' ),
'1' );
FILE_NAME ('68095K348_Low-Pressure Steel Unthreaded Pipe Flange.STEP',
'2023-02-07T16:53:08',
( 'Administrator' ),
( 'Managed by Terraform' ),
'SwSTEP 2.0',
'SolidWorks 2017',
'' );
FILE_SCHEMA (( 'CONFIG_CONTROL_DESIGN' ));
ENDSEC;
DATA;
#1 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#2 = PLANE ( 'NONE', #478 ) ;
#3 = DIRECTION ( 'NONE', ( 1.224646799147353200E-016, 1.000000000000000000, 0.0000000000000000000 ) ) ;
#4 = PERSON_AND_ORGANIZATION_ROLE ( 'design_owner' ) ;
#5 = ADVANCED_FACE ( 'NONE', ( #454 ), #796, .F. ) ;
#6 = EDGE_LOOP ( 'NONE', ( #731, #231, #839, #562 ) ) ;
#7 = EDGE_LOOP ( 'NONE', ( #351, #304, #227, #362 ) ) ;
#8 = FACE_OUTER_BOUND ( 'NONE', #275, .T. ) ;
#9 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#10 = EDGE_CURVE ( 'NONE', #561, #199, #238, .T. ) ;
#11 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#12 = ORIENTED_EDGE ( 'NONE', *, *, #105, .F. ) ;
#13 = ORIENTED_EDGE ( 'NONE', *, *, #197, .F. ) ;
#14 = CIRCLE ( 'NONE', #559, 0.05999999999999990800 ) ;
#15 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, -0.0000000000000000000 ) ) ;
#16 = DATE_AND_TIME ( #483, #678 ) ;
#17 = CIRCLE ( 'NONE', #51, 3.000000000000000400 ) ;
#18 = AXIS2_PLACEMENT_3D ( 'NONE', #250, #616, #825 ) ;
#19 = EDGE_CURVE ( 'NONE', #574, #144, #56, .T. ) ;
#20 = AXIS2_PLACEMENT_3D ( 'NONE', #1, #845, #205 ) ;
#21 = ORIENTED_EDGE ( 'NONE', *, *, #764, .F. ) ;
#22 = CARTESIAN_POINT ( 'NONE', ( 1.583083515873356900, 0.0000000000000000000, -0.4350000000000001600 ) ) ;
#23 = ORIENTED_EDGE ( 'NONE', *, *, #682, .T. ) ;
#24 = FACE_OUTER_BOUND ( 'NONE', #7, .T. ) ;
#25 = EDGE_CURVE ( 'NONE', #691, #614, #607, .T. ) ;
#26 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#27 = VERTEX_POINT ( 'NONE', #760 ) ;
#28 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#29 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#30 = AXIS2_PLACEMENT_3D ( 'NONE', #797, #584, #660 ) ;
#31 = VERTEX_POINT ( 'NONE', #809 ) ;
#32 = EDGE_LOOP ( 'NONE', ( #13, #696, #367, #300 ) ) ;
#33 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#34 = VECTOR ( 'NONE', #158, 39.37007874015748100 ) ;
#35 = VECTOR ( 'NONE', #541, 39.37007874015748100 ) ;
#36 = EDGE_CURVE ( 'NONE', #768, #849, #78, .T. ) ;
#37 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 2.375000000000000000, -0.6250000000000003300 ) ) ;
#38 = CARTESIAN_POINT ( 'NONE', ( 2.000000000000000000, 7.730582919617667100E-016, 0.3150000000000000600 ) ) ;
#39 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#40 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#41 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#42 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.3150000000000002800 ) ) ;
#43 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.6250000000000003300 ) ) ;
#44 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#45 = ORIENTED_EDGE ( 'NONE', *, *, #898, .T. ) ;
#46 = ORIENTED_EDGE ( 'NONE', *, *, #558, .T. ) ;
#47 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#48 = VECTOR ( 'NONE', #826, 39.37007874015748100 ) ;
#49 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#50 = ORIENTED_EDGE ( 'NONE', *, *, #223, .T. ) ;
#51 = AXIS2_PLACEMENT_3D ( 'NONE', #42, #404, #40 ) ;
#52 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#53 = ORIENTED_EDGE ( 'NONE', *, *, #605, .T. ) ;
#54 = CARTESIAN_POINT ( 'NONE', ( -2.940000000000000400, 3.637200993467639100E-016, -0.3750000000000001700 ) ) ;
#55 = EDGE_CURVE ( 'NONE', #199, #777, #245, .T. ) ;
#56 = CIRCLE ( 'NONE', #431, 1.505773112999396800 ) ;
#57 = ORIENTED_EDGE ( 'NONE', *, *, #487, .T. ) ;
#58 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#59 = VECTOR ( 'NONE', #97, 39.37007874015748100 ) ;
#60 = APPROVAL_DATE_TIME ( #310, #139 ) ;
#61 = TOROIDAL_SURFACE ( 'NONE', #253, 2.940000000000000400, 0.05999999999999999800 ) ;
#62 = ORIENTED_EDGE ( 'NONE', *, *, #537, .T. ) ;
#63 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) );
#64 = AXIS2_PLACEMENT_3D ( 'NONE', #549, #184, #557 ) ;
#65 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #279 ) ;
#66 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #569 ) ;
#67 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#68 = EDGE_CURVE ( 'NONE', #786, #90, #518, .T. ) ;
#69 = VERTEX_POINT ( 'NONE', #672 ) ;
#70 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#71 = ORIENTED_EDGE ( 'NONE', *, *, #682, .F. ) ;
#72 = CC_DESIGN_SECURITY_CLASSIFICATION ( #899, ( #508 ) ) ;
#73 = FACE_OUTER_BOUND ( 'NONE', #379, .T. ) ;
#74 = ORIENTED_EDGE ( 'NONE', *, *, #260, .T. ) ;
#75 = DIRECTION ( 'NONE', ( 0.1218693434051478800, 0.0000000000000000000, 0.9925461516413219800 ) ) ;
#76 = EDGE_CURVE ( 'NONE', #398, #578, #896, .T. ) ;
#77 = CARTESIAN_POINT ( 'NONE', ( -0.3749999999999996700, -2.375000000000000000, -0.6250000000000003300 ) ) ;
#78 = CIRCLE ( 'NONE', #774, 0.3749999999999999400 ) ;
#79 = CARTESIAN_POINT ( 'NONE', ( 0.3749999999999999400, 2.375000000000000000, -0.3750000000000001700 ) ) ;
#80 = ORIENTED_EDGE ( 'NONE', *, *, #700, .F. ) ;
#81 = AXIS2_PLACEMENT_3D ( 'NONE', #396, #256, #900 ) ;
#82 = FACE_OUTER_BOUND ( 'NONE', #192, .T. ) ;
#83 = PERSON_AND_ORGANIZATION ( #164, #907 ) ;
#84 = FACE_OUTER_BOUND ( 'NONE', #251, .T. ) ;
#85 = ADVANCED_FACE ( 'NONE', ( #679 ), #221, .F. ) ;
#86 = CARTESIAN_POINT ( 'NONE', ( -2.000000000000000000, -4.362804221962446100E-016, -0.3750000000000001700 ) ) ;
#87 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.4350000000000001600 ) ) ;
#88 = EDGE_CURVE ( 'NONE', #407, #263, #917, .T. ) ;
#89 = CARTESIAN_POINT ( 'NONE', ( -2.375000000000000000, -4.362804221962446100E-016, 0.3150000000000000600 ) ) ;
#90 = VERTEX_POINT ( 'NONE', #464 ) ;
#91 = VERTEX_POINT ( 'NONE', #765 ) ;
#92 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#93 = LINE ( 'NONE', #220, #543 ) ;
#94 = AXIS2_PLACEMENT_3D ( 'NONE', #70, #882, #335 ) ;
#95 = CARTESIAN_POINT ( 'NONE', ( -1.220000000000000000, 1.494069094959770800E-016, -0.6250000000000000000 ) ) ;
#96 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#97 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#98 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#99 = CARTESIAN_POINT ( 'NONE', ( -0.3749999999999996700, -2.375000000000000000, -0.3750000000000001700 ) ) ;
#100 = AXIS2_PLACEMENT_3D ( 'NONE', #662, #875, #597 ) ;
#101 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#102 = ORIENTED_EDGE ( 'NONE', *, *, #823, .T. ) ;
#103 = ORIENTED_EDGE ( 'NONE', *, *, #105, .T. ) ;
#104 = TOROIDAL_SURFACE ( 'NONE', #162, 1.583083515873356900, 0.05999999999999999800 ) ;
#105 = EDGE_CURVE ( 'NONE', #31, #506, #17, .T. ) ;
#106 = PERSON_AND_ORGANIZATION ( #164, #907 ) ;
#107 = CIRCLE ( 'NONE', #425, 0.05999999999999997700 ) ;
#108 = CARTESIAN_POINT ( 'NONE', ( 2.000000000000000000, 7.730582919617667100E-016, -0.3750000000000001700 ) ) ;
#109 = CARTESIAN_POINT ( 'NONE', ( 2.375000000000000000, 7.271340369937410300E-016, -0.6250000000000003300 ) ) ;
#110 = DIRECTION ( 'NONE', ( 0.0000000000000000000, -1.000000000000000000, 0.0000000000000000000 ) ) ;
#111 = AXIS2_PLACEMENT_3D ( 'NONE', #273, #783, #631 ) ;
#112 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#113 = ORIENTED_EDGE ( 'NONE', *, *, #749, .T. ) ;
#114 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.3750000000000001700 ) ) ;
#115 = ORIENTED_EDGE ( 'NONE', *, *, #516, .F. ) ;
#116 = DATE_AND_TIME ( #883, #295 ) ;
#117 = FACE_BOUND ( 'NONE', #210, .T. ) ;
#118 = EDGE_CURVE ( 'NONE', #768, #91, #172, .T. ) ;
#119 = ORIENTED_EDGE ( 'NONE', *, *, #338, .F. ) ;
#120 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#121 = AXIS2_PLACEMENT_3D ( 'NONE', #773, #633, #264 ) ;
#122 = EDGE_LOOP ( 'NONE', ( #538, #46, #315, #481 ) ) ;
#123 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#124 = EDGE_CURVE ( 'NONE', #427, #674, #266, .T. ) ;
#125 = EDGE_LOOP ( 'NONE', ( #442, #525, #634, #134 ) ) ;
#126 = EDGE_LOOP ( 'NONE', ( #102, #816 ) ) ;
#127 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.224646799147359900E-016, 0.0000000000000000000 ) ) ;
#128 = CIRCLE ( 'NONE', #261, 0.3749999999999999400 ) ;
#129 = LINE ( 'NONE', #503, #638 ) ;
#130 = ORIENTED_EDGE ( 'NONE', *, *, #664, .F. ) ;
#131 = AXIS2_PLACEMENT_3D ( 'NONE', #880, #174, #762 ) ;
#132 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#133 = EDGE_CURVE ( 'NONE', #506, #31, #343, .T. ) ;
#134 = ORIENTED_EDGE ( 'NONE', *, *, #605, .F. ) ;
#135 = ORIENTED_EDGE ( 'NONE', *, *, #19, .T. ) ;
#136 = LINE ( 'NONE', #843, #148 ) ;
#137 = FACE_OUTER_BOUND ( 'NONE', #738, .T. ) ;
#138 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#139 = APPROVAL ( #350, 'UNSPECIFIED' ) ;
#140 = APPROVAL_ROLE ( '' ) ;
#141 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#142 = AXIS2_PLACEMENT_3D ( 'NONE', #222, #868, #746 ) ;
#143 = ORIENTED_EDGE ( 'NONE', *, *, #305, .T. ) ;
#144 = VERTEX_POINT ( 'NONE', #393 ) ;
#145 = CYLINDRICAL_SURFACE ( 'NONE', #601, 1.220000000000000000 ) ;
#146 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#147 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3150000000000000600 ) ) ;
#148 = VECTOR ( 'NONE', #594, 39.37007874015748100 ) ;
#149 = CIRCLE ( 'NONE', #142, 0.05999999999999990800 ) ;
#150 = EDGE_CURVE ( 'NONE', #437, #27, #567, .T. ) ;
#151 = ADVANCED_FACE ( 'NONE', ( #736 ), #61, .T. ) ;
#152 = CARTESIAN_POINT ( 'NONE', ( 2.940000000000000400, 0.0000000000000000000, -0.3750000000000001700 ) ) ;
#153 = ORIENTED_EDGE ( 'NONE', *, *, #68, .T. ) ;
#154 = AXIS2_PLACEMENT_3D ( 'NONE', #37, #461, #324 ) ;
#155 = ORIENTED_EDGE ( 'NONE', *, *, #36, .F. ) ;
#156 = CIRCLE ( 'NONE', #492, 3.000000000000000400 ) ;
#157 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#158 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#159 = ADVANCED_FACE ( 'NONE', ( #668 ), #276, .F. ) ;
#160 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#161 = EDGE_CURVE ( 'NONE', #578, #398, #761, .T. ) ;
#162 = AXIS2_PLACEMENT_3D ( 'NONE', #547, #734, #289 ) ;
#163 = CARTESIAN_POINT ( 'NONE', ( -2.375000000000000000, -4.362804221962446100E-016, -0.3750000000000001700 ) ) ;
#164 = PERSON ( 'UNSPECIFIED', 'UNSPECIFIED', 'UNSPECIFIED', ('UNSPECIFIED'), ('UNSPECIFIED'), ('UNSPECIFIED') ) ;
#165 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.6250000000000001100 ) ) ;
#166 = EDGE_LOOP ( 'NONE', ( #645, #168 ) ) ;
#167 = EDGE_CURVE ( 'NONE', #262, #772, #851, .T. ) ;
#168 = ORIENTED_EDGE ( 'NONE', *, *, #779, .T. ) ;
#169 = FACE_BOUND ( 'NONE', #126, .T. ) ;
#170 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#171 = SHAPE_DEFINITION_REPRESENTATION ( #445, #236 ) ;
#172 = LINE ( 'NONE', #694, #35 ) ;
#173 = AXIS2_PLACEMENT_3D ( 'NONE', #895, #886, #539 ) ;
#174 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#175 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#176 = ORIENTED_EDGE ( 'NONE', *, *, #450, .T. ) ;
#177 = CONICAL_SURFACE ( 'NONE', #364, 1.499303859774273800, 0.1221730476396034700 ) ;
#178 = EDGE_CURVE ( 'NONE', #614, #574, #460, .T. ) ;
#179 = DIRECTION ( 'NONE', ( -1.224646799147353200E-016, 1.000000000000000000, 0.0000000000000000000 ) ) ;
#180 = FACE_OUTER_BOUND ( 'NONE', #586, .T. ) ;
#181 = EDGE_LOOP ( 'NONE', ( #377, #252, #787, #115 ) ) ;
#182 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#183 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#184 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#185 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3150000000000000600 ) ) ;
#186 = EDGE_LOOP ( 'NONE', ( #359, #595, #365, #353 ) ) ;
#187 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#188 = EDGE_LOOP ( 'NONE', ( #176, #771 ) ) ;
#189 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#190 = FACE_BOUND ( 'NONE', #685, .T. ) ;
#191 = AXIS2_PLACEMENT_3D ( 'NONE', #189, #194, #891 ) ;
#192 = EDGE_LOOP ( 'NONE', ( #292, #573, #626, #417 ) ) ;
#193 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#194 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#195 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.3750000000000001700 ) ) ;
#196 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#197 = EDGE_CURVE ( 'NONE', #485, #540, #780, .T. ) ;
#198 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#199 = VERTEX_POINT ( 'NONE', #474 ) ;
#200 = ORIENTED_EDGE ( 'NONE', *, *, #55, .F. ) ;
#201 = CIRCLE ( 'NONE', #397, 1.583083515873356900 ) ;
#202 = PERSON_AND_ORGANIZATION ( #164, #907 ) ;
#203 = CIRCLE ( 'NONE', #726, 1.870000000000000100 ) ;
#204 = AXIS2_PLACEMENT_3D ( 'NONE', #466, #41, #888 ) ;
#205 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#206 = SECURITY_CLASSIFICATION_LEVEL ( 'unclassified' ) ;
#207 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#208 = EDGE_CURVE ( 'NONE', #376, #777, #156, .T. ) ;
#209 = VERTEX_POINT ( 'NONE', #401 ) ;
#210 = EDGE_LOOP ( 'NONE', ( #847, #53 ) ) ;
#211 = CIRCLE ( 'NONE', #173, 0.3749999999999999400 ) ;
#212 = EDGE_CURVE ( 'NONE', #540, #554, #327, .T. ) ;
#213 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#214 = ORIENTED_EDGE ( 'NONE', *, *, #208, .F. ) ;
#215 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#216 = AXIS2_PLACEMENT_3D ( 'NONE', #456, #29, #813 ) ;
#217 = ORIENTED_EDGE ( 'NONE', *, *, #850, .T. ) ;
#218 = EDGE_LOOP ( 'NONE', ( #712, #135, #306, #698 ) ) ;
#219 = FACE_BOUND ( 'NONE', #544, .T. ) ;
#220 = CARTESIAN_POINT ( 'NONE', ( -1.220000000000000000, 1.494069094959770800E-016, 0.3750000000000000600 ) ) ;
#221 = CYLINDRICAL_SURFACE ( 'NONE', #676, 0.3749999999999999400 ) ;
#222 = CARTESIAN_POINT ( 'NONE', ( -2.940000000000000400, 3.600461589493218800E-016, -0.3150000000000002800 ) ) ;
#223 = EDGE_CURVE ( 'NONE', #674, #427, #531, .T. ) ;
#224 = ADVANCED_FACE ( 'NONE', ( #84, #842 ), #2, .F. ) ;
#225 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#226 = EDGE_LOOP ( 'NONE', ( #513, #534 ) ) ;
#227 = ORIENTED_EDGE ( 'NONE', *, *, #167, .F. ) ;
#228 = CIRCLE ( 'NONE', #204, 0.3749999999999999400 ) ;
#229 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#230 = CARTESIAN_POINT ( 'NONE', ( -1.583083515873356900, 1.938718160497244600E-016, -0.3750000000000001700 ) ) ;
#231 = ORIENTED_EDGE ( 'NONE', *, *, #794, .F. ) ;
#232 = CARTESIAN_POINT ( 'NONE', ( 1.870000000000000100, 2.290089514405550600E-016, 0.3750000000000000600 ) ) ;
#233 = AXIS2_PLACEMENT_3D ( 'NONE', #766, #52, #329 ) ;
#234 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.6250000000000000000 ) ) ;
#235 = CARTESIAN_POINT ( 'NONE', ( 3.000000000000000400, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#236 = ADVANCED_BREP_SHAPE_REPRESENTATION ( '68095K348_Low-Pressure Steel Unthreaded Pipe Flange', ( #866, #20 ), #904 ) ;
#237 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#238 = CIRCLE ( 'NONE', #383, 2.940000000000000400 ) ;
#239 = EDGE_CURVE ( 'NONE', #348, #767, #872, .T. ) ;
#240 = EDGE_LOOP ( 'NONE', ( #818, #74 ) ) ;
#241 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#242 = LINE ( 'NONE', #604, #59 ) ;
#243 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#244 = VECTOR ( 'NONE', #96, 39.37007874015748100 ) ;
#245 = CIRCLE ( 'NONE', #890, 0.06000000000000001200 ) ;
#246 = ORIENTED_EDGE ( 'NONE', *, *, #717, .F. ) ;
#247 = CARTESIAN_POINT ( 'NONE', ( 1.446220343900916900, 0.0000000000000000000, -0.5650000000000001700 ) ) ;
#248 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#249 = AXIS2_PLACEMENT_3D ( 'NONE', #89, #366, #865 ) ;
#250 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.3150000000000002800 ) ) ;
#251 = EDGE_LOOP ( 'NONE', ( #806, #455 ) ) ;
#252 = ORIENTED_EDGE ( 'NONE', *, *, #178, .T. ) ;
#253 = AXIS2_PLACEMENT_3D ( 'NONE', #331, #44, #684 ) ;
#254 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#255 = FACE_OUTER_BOUND ( 'NONE', #125, .T. ) ;
#256 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#257 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #509, #346, ( #473 ) ) ;
#258 = CARTESIAN_POINT ( 'NONE', ( -1.499303859774273800, 1.836117672821836400E-016, -0.6250000000000003300 ) ) ;
#259 = EDGE_LOOP ( 'NONE', ( #666, #130, #153, #71 ) ) ;
#260 = EDGE_CURVE ( 'NONE', #743, #348, #370, .T. ) ;
#261 = AXIS2_PLACEMENT_3D ( 'NONE', #612, #175, #532 ) ;
#262 = VERTEX_POINT ( 'NONE', #472 ) ;
#263 = VERTEX_POINT ( 'NONE', #490 ) ;
#264 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#265 = FACE_OUTER_BOUND ( 'NONE', #6, .T. ) ;
#266 = CIRCLE ( 'NONE', #334, 2.940000000000000400 ) ;
#267 = AXIS2_PLACEMENT_3D ( 'NONE', #480, #546, #254 ) ;
#268 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#269 = ADVANCED_FACE ( 'NONE', ( #180 ), #412, .T. ) ;
#270 = DIRECTION ( 'NONE', ( 0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#271 = EDGE_CURVE ( 'NONE', #91, #856, #471, .T. ) ;
#272 = PERSON_AND_ORGANIZATION_ROLE ( 'design_supplier' ) ;
#273 = CARTESIAN_POINT ( 'NONE', ( -2.375000000000000000, -4.362804221962446100E-016, -0.3750000000000001700 ) ) ;
#274 = ORIENTED_EDGE ( 'NONE', *, *, #823, .F. ) ;
#275 = EDGE_LOOP ( 'NONE', ( #323, #143, #689, #655 ) ) ;
#276 = TOROIDAL_SURFACE ( 'NONE', #318, 1.870000000000000100, 0.05999999999999999800 ) ;
#277 = CARTESIAN_POINT ( 'NONE', ( -2.750000000000000000, -3.903561672282188800E-016, -0.3750000000000001700 ) ) ;
#278 = AXIS2_PLACEMENT_3D ( 'NONE', #147, #213, #858 ) ;
#279 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ;
#280 = AXIS2_PLACEMENT_3D ( 'NONE', #406, #572, #579 ) ;
#281 = ORIENTED_EDGE ( 'NONE', *, *, #516, .T. ) ;
#282 = ORIENTED_EDGE ( 'NONE', *, *, #414, .F. ) ;
#283 = ADVANCED_FACE ( 'NONE', ( #821 ), #391, .F. ) ;
#284 = CIRCLE ( 'NONE', #357, 0.3749999999999999400 ) ;
#285 = APPROVAL_DATE_TIME ( #116, #654 ) ;
#286 = TOROIDAL_SURFACE ( 'NONE', #381, 1.583083515873356900, 0.05999999999999999800 ) ;
#287 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#288 = EDGE_CURVE ( 'NONE', #209, #757, #860, .T. ) ;
#289 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#290 = AXIS2_PLACEMENT_3D ( 'NONE', #416, #706, #707 ) ;
#291 = ADVANCED_FACE ( 'NONE', ( #337 ), #611, .F. ) ;
#292 = ORIENTED_EDGE ( 'NONE', *, *, #867, .F. ) ;
#293 = EDGE_LOOP ( 'NONE', ( #807, #441 ) ) ;
#294 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#295 = LOCAL_TIME ( 10, 53, 8.000000000000000000, #637 ) ;
#296 = CYLINDRICAL_SURFACE ( 'NONE', #100, 3.000000000000000400 ) ;
#297 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#298 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 2.375000000000000000, 0.3150000000000000600 ) ) ;
#299 = AXIS2_PLACEMENT_3D ( 'NONE', #185, #67, #132 ) ;
#300 = ORIENTED_EDGE ( 'NONE', *, *, #212, .F. ) ;
#301 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #517, #785, ( #508 ) ) ;
#302 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#303 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#304 = ORIENTED_EDGE ( 'NONE', *, *, #764, .T. ) ;
#305 = EDGE_CURVE ( 'NONE', #398, #263, #93, .T. ) ;
#306 = ORIENTED_EDGE ( 'NONE', *, *, #322, .T. ) ;
#307 = AXIS2_PLACEMENT_3D ( 'NONE', #352, #486, #58 ) ;
#308 = ORIENTED_EDGE ( 'NONE', *, *, #664, .T. ) ;
#309 = LINE ( 'NONE', #727, #915 ) ;
#310 = DATE_AND_TIME ( #841, #389 ) ;
#311 = CARTESIAN_POINT ( 'NONE', ( 1.220000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#312 = DESIGN_CONTEXT ( 'detailed design', #569, 'design' ) ;
#313 = TOROIDAL_SURFACE ( 'NONE', #661, 1.446220343900916900, 0.05999999999999999800 ) ;
#314 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#315 = ORIENTED_EDGE ( 'NONE', *, *, #271, .F. ) ;
#316 = EDGE_LOOP ( 'NONE', ( #113, #468 ) ) ;
#317 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#318 = AXIS2_PLACEMENT_3D ( 'NONE', #624, #182, #477 ) ;
#319 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#320 = EDGE_LOOP ( 'NONE', ( #339, #217, #491, #408 ) ) ;
#321 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#322 = EDGE_CURVE ( 'NONE', #144, #90, #129, .T. ) ;
#323 = ORIENTED_EDGE ( 'NONE', *, *, #76, .F. ) ;
#324 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#325 = EDGE_LOOP ( 'NONE', ( #527, #914 ) ) ;
#326 = DATE_AND_TIME ( #566, #529 ) ;
#327 = CIRCLE ( 'NONE', #290, 0.05999999999999997700 ) ;
#328 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.4276878393956912200 ) ) ;
#329 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#330 = CARTESIAN_POINT ( 'NONE', ( 1.446220343900916900, 0.0000000000000000000, -0.6250000000000001100 ) ) ;
#331 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.2550000000000000600 ) ) ;
#332 = VERTEX_POINT ( 'NONE', #79 ) ;
#333 = EDGE_LOOP ( 'NONE', ( #21, #274, #621, #596 ) ) ;
#334 = AXIS2_PLACEMENT_3D ( 'NONE', #628, #112, #897 ) ;
#335 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#336 = LINE ( 'NONE', #77, #34 ) ;
#337 = FACE_OUTER_BOUND ( 'NONE', #186, .T. ) ;
#338 = EDGE_CURVE ( 'NONE', #856, #91, #714, .T. ) ;
#339 = ORIENTED_EDGE ( 'NONE', *, *, #260, .F. ) ;
#340 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#341 = ORIENTED_EDGE ( 'NONE', *, *, #133, .F. ) ;
#342 = LINE ( 'NONE', #235, #244 ) ;
#343 = CIRCLE ( 'NONE', #18, 3.000000000000000400 ) ;
#344 = AXIS2_PLACEMENT_3D ( 'NONE', #399, #909, #127 ) ;
#345 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.3750000000000001700 ) ) ;
#346 = DATE_TIME_ROLE ( 'creation_date' ) ;
#347 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#348 = VERTEX_POINT ( 'NONE', #86 ) ;
#349 = AXIS2_PLACEMENT_3D ( 'NONE', #22, #522, #600 ) ;
#350 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#351 = ORIENTED_EDGE ( 'NONE', *, *, #150, .F. ) ;
#352 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.6250000000000001100 ) ) ;
#353 = ORIENTED_EDGE ( 'NONE', *, *, #88, .T. ) ;
#354 = FACE_BOUND ( 'NONE', #226, .T. ) ;
#355 = EDGE_CURVE ( 'NONE', #348, #743, #433, .T. ) ;
#356 = LENGTH_MEASURE_WITH_UNIT ( LENGTH_MEASURE( 0.02539999999999999900 ), #709 );
#357 = AXIS2_PLACEMENT_3D ( 'NONE', #392, #241, #317 ) ;
#358 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#359 = ORIENTED_EDGE ( 'NONE', *, *, #305, .F. ) ;
#360 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 3.000000000000000400, 0.3150000000000000600 ) ) ;
#361 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#362 = ORIENTED_EDGE ( 'NONE', *, *, #652, .F. ) ;
#363 = CARTESIAN_POINT ( 'NONE', ( -2.375000000000000000, -4.362804221962446100E-016, -0.6250000000000003300 ) ) ;
#364 = AXIS2_PLACEMENT_3D ( 'NONE', #43, #193, #835 ) ;
#365 = ORIENTED_EDGE ( 'NONE', *, *, #570, .T. ) ;
#366 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#367 = ORIENTED_EDGE ( 'NONE', *, *, #805, .F. ) ;
#368 = TOROIDAL_SURFACE ( 'NONE', #216, 2.940000000000000400, 0.05999999999999999800 ) ;
#369 = PERSON_AND_ORGANIZATION ( #164, #907 ) ;
#370 = CIRCLE ( 'NONE', #111, 0.3749999999999999400 ) ;
#371 = CARTESIAN_POINT ( 'NONE', ( 1.583083515873356900, 0.0000000000000000000, -0.3750000000000001700 ) ) ;
#372 = EDGE_CURVE ( 'NONE', #777, #376, #801, .T. ) ;
#373 = ORIENTED_EDGE ( 'NONE', *, *, #161, .T. ) ;
#374 = PLANE ( 'NONE', #815 ) ;
#375 = ADVANCED_FACE ( 'NONE', ( #589 ), #484, .F. ) ;
#376 = VERTEX_POINT ( 'NONE', #444 ) ;
#377 = ORIENTED_EDGE ( 'NONE', *, *, #901, .F. ) ;
#378 = CIRCLE ( 'NONE', #803, 1.220000000000000000 ) ;
#379 = EDGE_LOOP ( 'NONE', ( #421, #57, #12, #828 ) ) ;
#380 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#381 = AXIS2_PLACEMENT_3D ( 'NONE', #87, #877, #593 ) ;
#382 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.3150000000000002800 ) ) ;
#383 = AXIS2_PLACEMENT_3D ( 'NONE', #817, #319, #887 ) ;
#384 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#385 = ORIENTED_EDGE ( 'NONE', *, *, #715, .T. ) ;
#386 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#387 = EDGE_LOOP ( 'NONE', ( #373, #711 ) ) ;
#388 = FACE_BOUND ( 'NONE', #325, .T. ) ;
#389 = LOCAL_TIME ( 10, 53, 8.000000000000000000, #735 ) ;
#390 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.224646799147354900E-016, 0.0000000000000000000 ) ) ;
#391 = CYLINDRICAL_SURFACE ( 'NONE', #280, 0.3749999999999999400 ) ;
#392 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 2.375000000000000000, -0.3750000000000001700 ) ) ;
#393 = CARTESIAN_POINT ( 'NONE', ( 1.505773112999396800, 0.0000000000000000000, -0.5723121606043081200 ) ) ;
#394 = CARTESIAN_POINT ( 'NONE', ( 2.940000000000000400, 3.637200993467639100E-016, 0.3150000000000000600 ) ) ;
#395 = AXIS2_PLACEMENT_3D ( 'NONE', #345, #268, #207 ) ;
#396 = CARTESIAN_POINT ( 'NONE', ( 2.908536147974963700E-016, -2.375000000000000000, 0.3150000000000000600 ) ) ;
#397 = AXIS2_PLACEMENT_3D ( 'NONE', #114, #463, #384 ) ;
#398 = VERTEX_POINT ( 'NONE', #95 ) ;
#399 = CARTESIAN_POINT ( 'NONE', ( 2.940000000000000400, 3.600461589493218800E-016, 0.2550000000000000600 ) ) ;
#400 = ORIENTED_EDGE ( 'NONE', *, *, #913, .F. ) ;
#401 = CARTESIAN_POINT ( 'NONE', ( -0.3749999999999999400, 2.375000000000000000, 0.3150000000000000600 ) ) ;
#402 = CIRCLE ( 'NONE', #278, 2.940000000000000400 ) ;
#403 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#404 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#405 = EDGE_CURVE ( 'NONE', #427, #31, #831, .T. ) ;
#406 = CARTESIAN_POINT ( 'NONE', ( 2.375000000000000000, 7.271340369937410300E-016, -0.6250000000000003300 ) ) ;
#407 = VERTEX_POINT ( 'NONE', #669 ) ;
#408 = ORIENTED_EDGE ( 'NONE', *, *, #239, .F. ) ;
#409 = ADVANCED_FACE ( 'NONE', ( #137 ), #296, .T. ) ;
#410 = AXIS2_PLACEMENT_3D ( 'NONE', #195, #403, #47 ) ;
#411 = CIRCLE ( 'NONE', #533, 1.810000000000000100 ) ;
#412 = CONICAL_SURFACE ( 'NONE', #613, 1.499303859774273800, 0.1221730476396034700 ) ;
#413 = CARTESIAN_POINT ( 'NONE', ( -2.000000000000000000, -4.362804221962446100E-016, -0.6250000000000003300 ) ) ;
#414 = EDGE_CURVE ( 'NONE', #90, #69, #688, .T. ) ;
#415 = PERSON_AND_ORGANIZATION_ROLE ( 'classification_officer' ) ;
#416 = CARTESIAN_POINT ( 'NONE', ( -1.870000000000000100, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#417 = ORIENTED_EDGE ( 'NONE', *, *, #208, .T. ) ;
#418 = VERTEX_POINT ( 'NONE', #524 ) ;
#419 = CYLINDRICAL_SURFACE ( 'NONE', #592, 0.3749999999999999400 ) ;
#420 = ADVANCED_FACE ( 'NONE', ( #908, #495 ), #374, .F. ) ;
#421 = ORIENTED_EDGE ( 'NONE', *, *, #223, .F. ) ;
#422 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#423 =( CONVERSION_BASED_UNIT ( 'INCH', #356 ) LENGTH_UNIT ( ) NAMED_UNIT ( #581 ) );
#424 = DIRECTION ( 'NONE', ( -1.000000000000000000, 1.224646799147354900E-016, 0.0000000000000000000 ) ) ;
#425 = AXIS2_PLACEMENT_3D ( 'NONE', #247, #110, #615 ) ;
#426 = ADVANCED_FACE ( 'NONE', ( #724 ), #702, .T. ) ;
#427 = VERTEX_POINT ( 'NONE', #152 ) ;
#428 = ORIENTED_EDGE ( 'NONE', *, *, #794, .T. ) ;
#429 = LINE ( 'NONE', #258, #555 ) ;
#430 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#431 = AXIS2_PLACEMENT_3D ( 'NONE', #751, #671, #98 ) ;
#432 = CALENDAR_DATE ( 2023, 7, 2 ) ;
#433 = CIRCLE ( 'NONE', #550, 0.3749999999999999400 ) ;
#434 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.5650000000000001700 ) ) ;
#435 = ADVANCED_FACE ( 'NONE', ( #747 ), #286, .F. ) ;
#436 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 2.375000000000000000, -0.6250000000000003300 ) ) ;
#437 = VERTEX_POINT ( 'NONE', #99 ) ;
#438 = CARTESIAN_POINT ( 'NONE', ( -3.000000000000000400, 3.673940397442060400E-016, 0.2550000000000000600 ) ) ;
#439 = AXIS2_PLACEMENT_3D ( 'NONE', #430, #854, #852 ) ;
#440 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, -0.0000000000000000000 ) ) ;
#441 = ORIENTED_EDGE ( 'NONE', *, *, #520, .T. ) ;
#442 = ORIENTED_EDGE ( 'NONE', *, *, #850, .F. ) ;
#443 = CYLINDRICAL_SURFACE ( 'NONE', #94, 3.000000000000000400 ) ;
#444 = CARTESIAN_POINT ( 'NONE', ( 3.000000000000000400, 0.0000000000000000000, 0.2550000000000000600 ) ) ;
#445 = PRODUCT_DEFINITION_SHAPE ( 'NONE', 'NONE', #473 ) ;
#446 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#447 = AXIS2_PLACEMENT_3D ( 'NONE', #832, #916, #781 ) ;
#448 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 1.810000000000000100, 0.3750000000000000600 ) ) ;
#449 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#450 = EDGE_CURVE ( 'NONE', #540, #485, #203, .T. ) ;
#451 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#452 = CARTESIAN_POINT ( 'NONE', ( -2.940000000000000400, 0.0000000000000000000, 0.2550000000000000600 ) ) ;
#453 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #106, #4, ( #548 ) ) ;
#454 = FACE_OUTER_BOUND ( 'NONE', #122, .T. ) ;
#455 = ORIENTED_EDGE ( 'NONE', *, *, #901, .T. ) ;
#456 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.2550000000000000600 ) ) ;
#457 = LINE ( 'NONE', #703, #646 ) ;
#458 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#459 = PERSON_AND_ORGANIZATION ( #164, #907 ) ;
#460 = CIRCLE ( 'NONE', #499, 0.05999999999999990800 ) ;
#461 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#462 = AXIS2_PLACEMENT_3D ( 'NONE', #651, #11, #146 ) ;
#463 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#464 = CARTESIAN_POINT ( 'NONE', ( 1.523530746774877300, 0.0000000000000000000, -0.4276878393956912200 ) ) ;
#465 = EDGE_CURVE ( 'NONE', #767, #418, #510, .T. ) ;
#466 = CARTESIAN_POINT ( 'NONE', ( -2.375000000000000000, -4.362804221962446100E-016, 0.3150000000000000600 ) ) ;
#467 = ORIENTED_EDGE ( 'NONE', *, *, #450, .F. ) ;
#468 = ORIENTED_EDGE ( 'NONE', *, *, #10, .T. ) ;
#469 = APPROVAL_DATE_TIME ( #326, #650 ) ;
#470 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#471 = CIRCLE ( 'NONE', #693, 0.3749999999999999400 ) ;
#472 = CARTESIAN_POINT ( 'NONE', ( 0.3750000000000002200, -2.375000000000000000, 0.3150000000000000600 ) ) ;
#473 = PRODUCT_DEFINITION ( 'UNKNOWN', '', #508, #312 ) ;
#474 = CARTESIAN_POINT ( 'NONE', ( -2.940000000000000400, 0.0000000000000000000, 0.3150000000000000600 ) ) ;
#475 = EDGE_LOOP ( 'NONE', ( #608, #155, #793, #119 ) ) ;
#476 = ORIENTED_EDGE ( 'NONE', *, *, #838, .T. ) ;
#477 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#478 = AXIS2_PLACEMENT_3D ( 'NONE', #710, #270, #198 ) ;
#479 = ORIENTED_EDGE ( 'NONE', *, *, #124, .T. ) ;
#480 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.5723121606043081200 ) ) ;
#481 = ORIENTED_EDGE ( 'NONE', *, *, #118, .F. ) ;
#482 = LINE ( 'NONE', #903, #732 ) ;
#483 = CALENDAR_DATE ( 2023, 7, 2 ) ;
#484 = CYLINDRICAL_SURFACE ( 'NONE', #648, 0.3749999999999999400 ) ;
#485 = VERTEX_POINT ( 'NONE', #602 ) ;
#486 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#487 = EDGE_CURVE ( 'NONE', #674, #506, #149, .T. ) ;
#488 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) );
#489 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.6250000000000003300 ) ) ;
#490 = CARTESIAN_POINT ( 'NONE', ( -1.220000000000000000, 1.494069094959770800E-016, 0.3750000000000000600 ) ) ;
#491 = ORIENTED_EDGE ( 'NONE', *, *, #465, .F. ) ;
#492 = AXIS2_PLACEMENT_3D ( 'NONE', #564, #340, #846 ) ;
#493 = ORIENTED_EDGE ( 'NONE', *, *, #487, .F. ) ;
#494 = APPROVAL_PERSON_ORGANIZATION ( #723, #650, #788 ) ;
#495 = FACE_OUTER_BOUND ( 'NONE', #293, .T. ) ;
#496 = DATE_TIME_ROLE ( 'classification_date' ) ;
#497 = CARTESIAN_POINT ( 'NONE', ( -1.583083515873356900, 1.938718160497244600E-016, -0.4350000000000001600 ) ) ;
#498 = ORIENTED_EDGE ( 'NONE', *, *, #700, .T. ) ;
#499 = AXIS2_PLACEMENT_3D ( 'NONE', #690, #833, #551 ) ;
#500 = AXIS2_PLACEMENT_3D ( 'NONE', #298, #303, #449 ) ;
#501 = CARTESIAN_POINT ( 'NONE', ( -2.000000000000000000, -4.362804221962446100E-016, 0.3150000000000000600 ) ) ;
#502 = ORIENTED_EDGE ( 'NONE', *, *, #505, .F. ) ;
#503 = CARTESIAN_POINT ( 'NONE', ( 1.499303859774273800, 0.0000000000000000000, -0.6250000000000003300 ) ) ;
#504 = CARTESIAN_POINT ( 'NONE', ( 0.3749999999999999400, 2.375000000000000000, 0.3150000000000000600 ) ) ;
#505 = EDGE_CURVE ( 'NONE', #485, #665, #556, .T. ) ;
#506 = VERTEX_POINT ( 'NONE', #802 ) ;
#507 = CIRCLE ( 'NONE', #267, 1.505773112999396800 ) ;
#508 = PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE ( 'ANY', '', #548, .NOT_KNOWN. ) ;
#509 = DATE_AND_TIME ( #432, #701 ) ;
#510 = CIRCLE ( 'NONE', #249, 0.3749999999999999400 ) ;
#511 = AXIS2_PLACEMENT_3D ( 'NONE', #836, #187, #120 ) ;
#512 = ADVANCED_FACE ( 'NONE', ( #658 ), #313, .T. ) ;
#513 = ORIENTED_EDGE ( 'NONE', *, *, #36, .T. ) ;
#514 = EDGE_LOOP ( 'NONE', ( #705, #498, #879, #200 ) ) ;
#515 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#516 = EDGE_CURVE ( 'NONE', #691, #144, #107, .T. ) ;
#517 = PERSON_AND_ORGANIZATION ( #164, #907 ) ;
#518 = CIRCLE ( 'NONE', #349, 0.05999999999999997700 ) ;
#519 = DIRECTION ( 'NONE', ( -0.1218693434051478800, 1.492469013153039400E-017, 0.9925461516413219800 ) ) ;
#520 = EDGE_CURVE ( 'NONE', #665, #554, #411, .T. ) ;
#521 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.4276878393956912200 ) ) ;
#522 = DIRECTION ( 'NONE', ( 0.0000000000000000000, -1.000000000000000000, 0.0000000000000000000 ) ) ;
#523 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #16, #496, ( #899 ) ) ;
#524 = CARTESIAN_POINT ( 'NONE', ( -2.750000000000000000, -3.903561672282188800E-016, 0.3150000000000000600 ) ) ;
#525 = ORIENTED_EDGE ( 'NONE', *, *, #355, .F. ) ;
#526 = CARTESIAN_POINT ( 'NONE', ( 2.375000000000000000, 7.271340369937410300E-016, -0.3750000000000001700 ) ) ;
#527 = ORIENTED_EDGE ( 'NONE', *, *, #271, .T. ) ;
#528 = CIRCLE ( 'NONE', #410, 1.583083515873356900 ) ;
#529 = LOCAL_TIME ( 10, 53, 8.000000000000000000, #542 ) ;
#530 = CARTESIAN_POINT ( 'NONE', ( -1.810000000000000100, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#531 = CIRCLE ( 'NONE', #395, 2.940000000000000400 ) ;
#532 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#533 = AXIS2_PLACEMENT_3D ( 'NONE', #321, #535, #754 ) ;
#534 = ORIENTED_EDGE ( 'NONE', *, *, #585, .T. ) ;
#535 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#536 = CARTESIAN_POINT ( 'NONE', ( -0.3749999999999999400, 2.375000000000000000, -0.3750000000000001700 ) ) ;
#537 = EDGE_CURVE ( 'NONE', #830, #332, #789, .T. ) ;
#538 = ORIENTED_EDGE ( 'NONE', *, *, #585, .F. ) ;
#539 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#540 = VERTEX_POINT ( 'NONE', #729 ) ;
#541 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#542 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#543 = VECTOR ( 'NONE', #215, 39.37007874015748100 ) ;
#544 = EDGE_LOOP ( 'NONE', ( #45, #869 ) ) ;
#545 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#546 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#547 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.4350000000000001600 ) ) ;
#548 = PRODUCT ( '68095K348_Low-Pressure Steel Unthreaded Pipe Flange', '68095K348_Low-Pressure Steel Unthreaded Pipe Flange', '', ( #571 ) ) ;
#549 = CARTESIAN_POINT ( 'NONE', ( 2.908536147974963700E-016, -2.375000000000000000, -0.3750000000000001700 ) ) ;
#550 = AXIS2_PLACEMENT_3D ( 'NONE', #163, #670, #92 ) ;
#551 = DIRECTION ( 'NONE', ( -1.000000000000000000, 1.224646799147354900E-016, 0.0000000000000000000 ) ) ;
#552 = EDGE_LOOP ( 'NONE', ( #902, #910, #281, #798 ) ) ;
#553 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #459, #782, ( #473 ) ) ;
#554 = VERTEX_POINT ( 'NONE', #530 ) ;
#555 = VECTOR ( 'NONE', #519, 39.37007874015748100 ) ;
#556 = CIRCLE ( 'NONE', #912, 0.05999999999999990800 ) ;
#557 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#558 = EDGE_CURVE ( 'NONE', #849, #856, #778, .T. ) ;
#559 = AXIS2_PLACEMENT_3D ( 'NONE', #497, #3, #424 ) ;
#560 = AXIS2_PLACEMENT_3D ( 'NONE', #328, #697, #623 ) ;
#561 = VERTEX_POINT ( 'NONE', #394 ) ;
#562 = ORIENTED_EDGE ( 'NONE', *, *, #288, .F. ) ;
#563 = ADVANCED_FACE ( 'NONE', ( #73 ), #575, .T. ) ;
#564 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.2550000000000000600 ) ) ;
#565 = CYLINDRICAL_SURFACE ( 'NONE', #154, 0.3749999999999999400 ) ;
#566 = CALENDAR_DATE ( 2023, 7, 2 ) ;
#567 = CIRCLE ( 'NONE', #64, 0.3749999999999999400 ) ;
#568 = ORIENTED_EDGE ( 'NONE', *, *, #124, .F. ) ;
#569 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ;
#570 = EDGE_CURVE ( 'NONE', #578, #407, #840, .T. ) ;
#571 = MECHANICAL_CONTEXT ( 'NONE', #279, 'mechanical' ) ;
#572 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#573 = ORIENTED_EDGE ( 'NONE', *, *, #133, .T. ) ;
#574 = VERTEX_POINT ( 'NONE', #750 ) ;
#575 = TOROIDAL_SURFACE ( 'NONE', #758, 2.940000000000000400, 0.05999999999999999800 ) ;
#576 = PLANE ( 'NONE', #643 ) ;
#577 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.5650000000000001700 ) ) ;
#578 = VERTEX_POINT ( 'NONE', #889 ) ;
#579 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#580 = AXIS2_PLACEMENT_3D ( 'NONE', #739, #741, #294 ) ;
#581 = DIMENSIONAL_EXPONENTS ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ;
#582 = CARTESIAN_POINT ( 'NONE', ( -0.3749999999999996700, -2.375000000000000000, 0.3150000000000000600 ) ) ;
#583 = ORIENTED_EDGE ( 'NONE', *, *, #717, .T. ) ;
#584 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#585 = EDGE_CURVE ( 'NONE', #849, #768, #211, .T. ) ;
#586 = EDGE_LOOP ( 'NONE', ( #673, #476, #23, #625 ) ) ;
#587 = ADVANCED_FACE ( 'NONE', ( #265 ), #565, .F. ) ;
#588 = FACE_OUTER_BOUND ( 'NONE', #316, .T. ) ;
#589 = FACE_OUTER_BOUND ( 'NONE', #878, .T. ) ;
#590 = ADVANCED_FACE ( 'NONE', ( #609 ), #368, .T. ) ;
#591 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3150000000000000600 ) ) ;
#592 = AXIS2_PLACEMENT_3D ( 'NONE', #363, #716, #791 ) ;
#593 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#594 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#595 = ORIENTED_EDGE ( 'NONE', *, *, #161, .F. ) ;
#596 = ORIENTED_EDGE ( 'NONE', *, *, #779, .F. ) ;
#597 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#598 = AXIS2_PLACEMENT_3D ( 'NONE', #577, #141, #361 ) ;
#599 = VECTOR ( 'NONE', #451, 39.37007874015748100 ) ;
#600 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#601 = AXIS2_PLACEMENT_3D ( 'NONE', #675, #314, #827 ) ;
#602 = CARTESIAN_POINT ( 'NONE', ( 1.870000000000000100, 2.290089514405550600E-016, 0.3150000000000000600 ) ) ;
#603 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#604 = CARTESIAN_POINT ( 'NONE', ( -2.750000000000000000, -3.903561672282188800E-016, -0.6250000000000003300 ) ) ;
#605 = EDGE_CURVE ( 'NONE', #418, #767, #228, .T. ) ;
#606 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #687, #415, ( #899 ) ) ;
#607 = CIRCLE ( 'NONE', #834, 1.446220343900916900 ) ;
#608 = ORIENTED_EDGE ( 'NONE', *, *, #558, .F. ) ;
#609 = FACE_OUTER_BOUND ( 'NONE', #792, .T. ) ;
#610 = FACE_OUTER_BOUND ( 'NONE', #753, .T. ) ;
#611 = CYLINDRICAL_SURFACE ( 'NONE', #439, 1.220000000000000000 ) ;
#612 = CARTESIAN_POINT ( 'NONE', ( 2.908536147974963700E-016, -2.375000000000000000, 0.3150000000000000600 ) ) ;
#613 = AXIS2_PLACEMENT_3D ( 'NONE', #489, #918, #911 ) ;
#614 = VERTEX_POINT ( 'NONE', #680 ) ;
#615 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#616 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#617 = ORIENTED_EDGE ( 'NONE', *, *, #885, .F. ) ;
#618 = EDGE_CURVE ( 'NONE', #263, #407, #378, .T. ) ;
#619 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#620 = ORIENTED_EDGE ( 'NONE', *, *, #749, .F. ) ;
#621 = ORIENTED_EDGE ( 'NONE', *, *, #652, .T. ) ;
#622 = CYLINDRICAL_SURFACE ( 'NONE', #844, 0.3749999999999999400 ) ;
#623 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#624 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#625 = ORIENTED_EDGE ( 'NONE', *, *, #322, .F. ) ;
#626 = ORIENTED_EDGE ( 'NONE', *, *, #885, .T. ) ;
#627 = CARTESIAN_POINT ( 'NONE', ( 2.908536147974963700E-016, -2.375000000000000000, -0.6250000000000003300 ) ) ;
#628 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.3750000000000001700 ) ) ;
#629 = AXIS2_PLACEMENT_3D ( 'NONE', #873, #225, #740 ) ;
#630 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#631 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#632 = FACE_BOUND ( 'NONE', #166, .T. ) ;
#633 = DIRECTION ( 'NONE', ( 0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#634 = ORIENTED_EDGE ( 'NONE', *, *, #239, .T. ) ;
#635 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#636 = FACE_BOUND ( 'NONE', #871, .T. ) ;
#637 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#638 = VECTOR ( 'NONE', #75, 39.37007874015748100 ) ;
#639 = EDGE_CURVE ( 'NONE', #144, #574, #507, .T. ) ;
#640 = ADVANCED_FACE ( 'NONE', ( #759 ), #881, .F. ) ;
#641 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000100E-005 ), #423, 'distance_accuracy_value', 'NONE');
#642 = ADVANCED_FACE ( 'NONE', ( #24 ), #622, .F. ) ;
#643 = AXIS2_PLACEMENT_3D ( 'NONE', #360, #287, #440 ) ;
#644 = EDGE_LOOP ( 'NONE', ( #653, #837 ) ) ;
#645 = ORIENTED_EDGE ( 'NONE', *, *, #167, .T. ) ;
#646 = VECTOR ( 'NONE', #123, 39.37007874015748100 ) ;
#647 = APPROVAL_ROLE ( '' ) ;
#648 = AXIS2_PLACEMENT_3D ( 'NONE', #436, #297, #733 ) ;
#649 = ADVANCED_FACE ( 'NONE', ( #677 ), #177, .T. ) ;
#650 = APPROVAL ( #853, 'UNSPECIFIED' ) ;
#651 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 2.375000000000000000, 0.3150000000000000600 ) ) ;
#652 = EDGE_CURVE ( 'NONE', #27, #262, #457, .T. ) ;
#653 = ORIENTED_EDGE ( 'NONE', *, *, #88, .F. ) ;
#654 = APPROVAL ( #138, 'UNSPECIFIED' ) ;
#655 = ORIENTED_EDGE ( 'NONE', *, *, #570, .F. ) ;
#656 = FACE_OUTER_BOUND ( 'NONE', #686, .T. ) ;
#657 = APPROVAL_PERSON_ORGANIZATION ( #369, #139, #140 ) ;
#658 = FACE_OUTER_BOUND ( 'NONE', #181, .T. ) ;
#659 = ORIENTED_EDGE ( 'NONE', *, *, #867, .T. ) ;
#660 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#661 = AXIS2_PLACEMENT_3D ( 'NONE', #434, #33, #248 ) ;
#662 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#663 = CARTESIAN_POINT ( 'NONE', ( 2.750000000000000000, 7.271340369937410300E-016, -0.3750000000000001700 ) ) ;
#664 = EDGE_CURVE ( 'NONE', #786, #893, #528, .T. ) ;
#665 = VERTEX_POINT ( 'NONE', #769 ) ;
#666 = ORIENTED_EDGE ( 'NONE', *, *, #730, .F. ) ;
#667 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#668 = FACE_OUTER_BOUND ( 'NONE', #32, .T. ) ;
#669 = CARTESIAN_POINT ( 'NONE', ( 1.220000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#670 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#671 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#672 = CARTESIAN_POINT ( 'NONE', ( -1.523530746774877300, 1.865787052440430200E-016, -0.4276878393956912200 ) ) ;
#673 = ORIENTED_EDGE ( 'NONE', *, *, #639, .T. ) ;
#674 = VERTEX_POINT ( 'NONE', #54 ) ;
#675 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3750000000000000600 ) ) ;
#676 = AXIS2_PLACEMENT_3D ( 'NONE', #755, #386, #170 ) ;
#677 = FACE_OUTER_BOUND ( 'NONE', #218, .T. ) ;
#678 = LOCAL_TIME ( 10, 53, 8.000000000000000000, #859 ) ;
#679 = FACE_OUTER_BOUND ( 'NONE', #320, .T. ) ;
#680 = CARTESIAN_POINT ( 'NONE', ( -1.446220343900916900, 1.807574669048449600E-016, -0.6250000000000001100 ) ) ;
#681 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#682 = EDGE_CURVE ( 'NONE', #69, #90, #699, .T. ) ;
#683 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#684 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#685 = EDGE_LOOP ( 'NONE', ( #308, #583 ) ) ;
#686 = EDGE_LOOP ( 'NONE', ( #479, #50 ) ) ;
#687 = PERSON_AND_ORGANIZATION ( #164, #907 ) ;
#688 = CIRCLE ( 'NONE', #790, 1.523530746774877300 ) ;
#689 = ORIENTED_EDGE ( 'NONE', *, *, #618, .T. ) ;
#690 = CARTESIAN_POINT ( 'NONE', ( -1.446220343900916900, 1.771109115020042200E-016, -0.5650000000000001700 ) ) ;
#691 = VERTEX_POINT ( 'NONE', #330 ) ;
#692 = ORIENTED_EDGE ( 'NONE', *, *, #537, .F. ) ;
#693 = AXIS2_PLACEMENT_3D ( 'NONE', #863, #358, #347 ) ;
#694 = CARTESIAN_POINT ( 'NONE', ( 2.750000000000000000, 7.271340369937410300E-016, -0.6250000000000003300 ) ) ;
#695 = AXIS2_PLACEMENT_3D ( 'NONE', #39, #814, #763 ) ;
#696 = ORIENTED_EDGE ( 'NONE', *, *, #505, .T. ) ;
#697 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#698 = ORIENTED_EDGE ( 'NONE', *, *, #414, .T. ) ;
#699 = CIRCLE ( 'NONE', #560, 1.523530746774877300 ) ;
#700 = EDGE_CURVE ( 'NONE', #561, #376, #808, .T. ) ;
#701 = LOCAL_TIME ( 10, 53, 8.000000000000000000, #667 ) ;
#702 = TOROIDAL_SURFACE ( 'NONE', #629, 2.940000000000000400, 0.05999999999999999800 ) ;
#703 = CARTESIAN_POINT ( 'NONE', ( 0.3750000000000002200, -2.375000000000000000, -0.6250000000000003300 ) ) ;
#704 = AXIS2_PLACEMENT_3D ( 'NONE', #422, #876, #446 ) ;
#705 = ORIENTED_EDGE ( 'NONE', *, *, #10, .F. ) ;
#706 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -1.000000000000000000, -0.0000000000000000000 ) ) ;
#707 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#708 = AXIS2_PLACEMENT_3D ( 'NONE', #109, #683, #681 ) ;
#709 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( $, .METRE. ) );
#710 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 1.499303859774273800, -0.6250000000000001100 ) ) ;
#711 = ORIENTED_EDGE ( 'NONE', *, *, #76, .T. ) ;
#712 = ORIENTED_EDGE ( 'NONE', *, *, #838, .F. ) ;
#713 = CIRCLE ( 'NONE', #307, 1.446220343900916900 ) ;
#714 = CIRCLE ( 'NONE', #30, 0.3749999999999999400 ) ;
#715 = EDGE_CURVE ( 'NONE', #830, #209, #482, .T. ) ;
#716 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#717 = EDGE_CURVE ( 'NONE', #893, #786, #201, .T. ) ;
#718 = ADVANCED_FACE ( 'NONE', ( #82 ), #443, .T. ) ;
#719 = CC_DESIGN_APPROVAL ( #650, ( #899 ) ) ;
#720 = ORIENTED_EDGE ( 'NONE', *, *, #68, .F. ) ;
#721 = ORIENTED_EDGE ( 'NONE', *, *, #730, .T. ) ;
#722 = FACE_OUTER_BOUND ( 'NONE', #776, .T. ) ;
#723 = PERSON_AND_ORGANIZATION ( #164, #907 ) ;
#724 = FACE_OUTER_BOUND ( 'NONE', #744, .T. ) ;
#725 = ADVANCED_FACE ( 'NONE', ( #857 ), #819, .T. ) ;
#726 = AXIS2_PLACEMENT_3D ( 'NONE', #591, #160, #157 ) ;
#727 = CARTESIAN_POINT ( 'NONE', ( -3.000000000000000400, 3.673940397442060400E-016, 0.3750000000000000600 ) ) ;
#728 = ADVANCED_FACE ( 'NONE', ( #255 ), #419, .F. ) ;
#729 = CARTESIAN_POINT ( 'NONE', ( -1.870000000000000100, 0.0000000000000000000, 0.3150000000000000600 ) ) ;
#730 = EDGE_CURVE ( 'NONE', #893, #69, #14, .T. ) ;
#731 = ORIENTED_EDGE ( 'NONE', *, *, #715, .F. ) ;
#732 = VECTOR ( 'NONE', #635, 39.37007874015748100 ) ;
#733 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#734 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#735 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#736 = FACE_OUTER_BOUND ( 'NONE', #514, .T. ) ;
#737 = ORIENTED_EDGE ( 'NONE', *, *, #55, .T. ) ;
#738 = EDGE_LOOP ( 'NONE', ( #103, #659, #862, #617 ) ) ;
#739 = CARTESIAN_POINT ( 'NONE', ( 2.940000000000000400, 0.0000000000000000000, -0.3150000000000002800 ) ) ;
#740 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#741 = DIRECTION ( 'NONE', ( 0.0000000000000000000, -1.000000000000000000, 0.0000000000000000000 ) ) ;
#742 = AXIS2_PLACEMENT_3D ( 'NONE', #234, #49, #545 ) ;
#743 = VERTEX_POINT ( 'NONE', #277 ) ;
#744 = EDGE_LOOP ( 'NONE', ( #493, #568, #905, #341 ) ) ;
#745 = CIRCLE ( 'NONE', #447, 0.3749999999999999400 ) ;
#746 = DIRECTION ( 'NONE', ( -1.000000000000000000, 1.224646799147359900E-016, 0.0000000000000000000 ) ) ;
#747 = FACE_OUTER_BOUND ( 'NONE', #259, .T. ) ;
#748 = PLANE ( 'NONE', #121 ) ;
#749 = EDGE_CURVE ( 'NONE', #199, #561, #402, .T. ) ;
#750 = CARTESIAN_POINT ( 'NONE', ( -1.505773112999396800, 1.854913637758643400E-016, -0.5723121606043081200 ) ) ;
#751 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.5723121606043081200 ) ) ;
#752 = PRODUCT_RELATED_PRODUCT_CATEGORY ( 'detail', '', ( #548 ) ) ;
#753 = EDGE_LOOP ( 'NONE', ( #502, #467, #892, #756 ) ) ;
#754 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#755 = CARTESIAN_POINT ( 'NONE', ( -2.375000000000000000, -4.362804221962446100E-016, -0.6250000000000003300 ) ) ;
#756 = ORIENTED_EDGE ( 'NONE', *, *, #520, .F. ) ;
#757 = VERTEX_POINT ( 'NONE', #504 ) ;
#758 = AXIS2_PLACEMENT_3D ( 'NONE', #382, #380, #28 ) ;
#759 = FACE_OUTER_BOUND ( 'NONE', #333, .T. ) ;
#760 = CARTESIAN_POINT ( 'NONE', ( 0.3750000000000002200, -2.375000000000000000, -0.3750000000000001700 ) ) ;
#761 = CIRCLE ( 'NONE', #233, 1.220000000000000000 ) ;
#762 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#763 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#764 = EDGE_CURVE ( 'NONE', #437, #772, #336, .T. ) ;
#765 = CARTESIAN_POINT ( 'NONE', ( 2.750000000000000000, 7.271340369937410300E-016, 0.3150000000000000600 ) ) ;
#766 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.6250000000000000000 ) ) ;
#767 = VERTEX_POINT ( 'NONE', #501 ) ;
#768 = VERTEX_POINT ( 'NONE', #663 ) ;
#769 = CARTESIAN_POINT ( 'NONE', ( 1.810000000000000100, 2.253350110431129800E-016, 0.3750000000000000600 ) ) ;
#770 = CIRCLE ( 'NONE', #695, 1.810000000000000100 ) ;
#771 = ORIENTED_EDGE ( 'NONE', *, *, #197, .T. ) ;
#772 = VERTEX_POINT ( 'NONE', #582 ) ;
#773 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 1.530000000000000000, -0.3750000000000001700 ) ) ;
#774 = AXIS2_PLACEMENT_3D ( 'NONE', #526, #101, #243 ) ;
#775 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#776 = EDGE_LOOP ( 'NONE', ( #246, #721, #282, #720 ) ) ;
#777 = VERTEX_POINT ( 'NONE', #438 ) ;
#778 = LINE ( 'NONE', #824, #599 ) ;
#779 = EDGE_CURVE ( 'NONE', #772, #262, #128, .T. ) ;
#780 = CIRCLE ( 'NONE', #299, 1.870000000000000100 ) ;
#781 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#782 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ;
#783 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#784 = CC_DESIGN_APPROVAL ( #139, ( #508 ) ) ;
#785 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ;
#786 = VERTEX_POINT ( 'NONE', #371 ) ;
#787 = ORIENTED_EDGE ( 'NONE', *, *, #639, .F. ) ;
#788 = APPROVAL_ROLE ( '' ) ;
#789 = CIRCLE ( 'NONE', #131, 0.3749999999999999400 ) ;
#790 = AXIS2_PLACEMENT_3D ( 'NONE', #521, #229, #515 ) ;
#791 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#792 = EDGE_LOOP ( 'NONE', ( #80, #620, #737, #214 ) ) ;
#793 = ORIENTED_EDGE ( 'NONE', *, *, #118, .T. ) ;
#794 = EDGE_CURVE ( 'NONE', #332, #830, #284, .T. ) ;
#795 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #202, #272, ( #508 ) ) ;
#796 = CYLINDRICAL_SURFACE ( 'NONE', #708, 0.3749999999999999400 ) ;
#797 = CARTESIAN_POINT ( 'NONE', ( 2.375000000000000000, 7.271340369937410300E-016, 0.3150000000000000600 ) ) ;
#798 = ORIENTED_EDGE ( 'NONE', *, *, #19, .F. ) ;
#799 = FACE_BOUND ( 'NONE', #188, .T. ) ;
#800 = TOROIDAL_SURFACE ( 'NONE', #704, 1.870000000000000100, 0.05999999999999999800 ) ;
#801 = CIRCLE ( 'NONE', #861, 3.000000000000000400 ) ;
#802 = CARTESIAN_POINT ( 'NONE', ( -3.000000000000000400, 3.673940397442060400E-016, -0.3150000000000002800 ) ) ;
#803 = AXIS2_PLACEMENT_3D ( 'NONE', #619, #183, #470 ) ;
#804 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.2550000000000000600 ) ) ;
#805 = EDGE_CURVE ( 'NONE', #554, #665, #770, .T. ) ;
#806 = ORIENTED_EDGE ( 'NONE', *, *, #25, .T. ) ;
#807 = ORIENTED_EDGE ( 'NONE', *, *, #805, .T. ) ;
#808 = CIRCLE ( 'NONE', #344, 0.05999999999999990800 ) ;
#809 = CARTESIAN_POINT ( 'NONE', ( 3.000000000000000400, 0.0000000000000000000, -0.3150000000000002800 ) ) ;
#810 = ADVANCED_FACE ( 'NONE', ( #8 ), #145, .F. ) ;
#811 = CLOSED_SHELL ( 'NONE', ( #159, #151, #563, #864, #512, #375, #5, #642, #85, #269, #810, #409, #718, #870, #420, #291, #224, #649, #848, #728, #640, #283, #587, #725, #435, #426, #590, #874 ) ) ;
#812 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#813 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#814 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#815 = AXIS2_PLACEMENT_3D ( 'NONE', #448, #26, #15 ) ;
#816 = ORIENTED_EDGE ( 'NONE', *, *, #150, .T. ) ;
#817 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.3150000000000000600 ) ) ;
#818 = ORIENTED_EDGE ( 'NONE', *, *, #355, .T. ) ;
#819 = TOROIDAL_SURFACE ( 'NONE', #598, 1.446220343900916900, 0.05999999999999999800 ) ;
#820 = CIRCLE ( 'NONE', #500, 0.3749999999999999400 ) ;
#821 = FACE_OUTER_BOUND ( 'NONE', #475, .T. ) ;
#822 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -1.000000000000000000, -0.0000000000000000000 ) ) ;
#823 = EDGE_CURVE ( 'NONE', #27, #437, #745, .T. ) ;
#824 = CARTESIAN_POINT ( 'NONE', ( 2.000000000000000000, 7.730582919617667100E-016, -0.6250000000000003300 ) ) ;
#825 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#826 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#827 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#828 = ORIENTED_EDGE ( 'NONE', *, *, #405, .F. ) ;
#829 = CC_DESIGN_APPROVAL ( #654, ( #473 ) ) ;
#830 = VERTEX_POINT ( 'NONE', #536 ) ;
#831 = CIRCLE ( 'NONE', #580, 0.05999999999999997700 ) ;
#832 = CARTESIAN_POINT ( 'NONE', ( 2.908536147974963700E-016, -2.375000000000000000, -0.3750000000000001700 ) ) ;
#833 = DIRECTION ( 'NONE', ( 1.224646799147353200E-016, 1.000000000000000000, 0.0000000000000000000 ) ) ;
#834 = AXIS2_PLACEMENT_3D ( 'NONE', #165, #237, #458 ) ;
#835 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#836 = CARTESIAN_POINT ( 'NONE', ( 2.908536147974963700E-016, -2.375000000000000000, -0.6250000000000003300 ) ) ;
#837 = ORIENTED_EDGE ( 'NONE', *, *, #618, .F. ) ;
#838 = EDGE_CURVE ( 'NONE', #574, #69, #429, .T. ) ;
#839 = ORIENTED_EDGE ( 'NONE', *, *, #913, .T. ) ;
#840 = LINE ( 'NONE', #311, #48 ) ;
#841 = CALENDAR_DATE ( 2023, 7, 2 ) ;
#842 = FACE_BOUND ( 'NONE', #387, .T. ) ;
#843 = CARTESIAN_POINT ( 'NONE', ( 0.3749999999999999400, 2.375000000000000000, -0.6250000000000003300 ) ) ;
#844 = AXIS2_PLACEMENT_3D ( 'NONE', #627, #630, #775 ) ;
#845 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#846 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#847 = ORIENTED_EDGE ( 'NONE', *, *, #465, .T. ) ;
#848 = ADVANCED_FACE ( 'NONE', ( #190, #656, #636, #354, #169, #906 ), #748, .F. ) ;
#849 = VERTEX_POINT ( 'NONE', #108 ) ;
#850 = EDGE_CURVE ( 'NONE', #743, #418, #242, .T. ) ;
#851 = CIRCLE ( 'NONE', #81, 0.3749999999999999400 ) ;
#852 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#853 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#854 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#855 = ORIENTED_EDGE ( 'NONE', *, *, #898, .F. ) ;
#856 = VERTEX_POINT ( 'NONE', #38 ) ;
#857 = FACE_OUTER_BOUND ( 'NONE', #552, .T. ) ;
#858 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#859 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#860 = CIRCLE ( 'NONE', #462, 0.3749999999999999400 ) ;
#861 = AXIS2_PLACEMENT_3D ( 'NONE', #804, #302, #812 ) ;
#862 = ORIENTED_EDGE ( 'NONE', *, *, #372, .T. ) ;
#863 = CARTESIAN_POINT ( 'NONE', ( 2.375000000000000000, 7.271340369937410300E-016, 0.3150000000000000600 ) ) ;
#864 = ADVANCED_FACE ( 'NONE', ( #722 ), #104, .F. ) ;
#865 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#866 = MANIFOLD_SOLID_BREP ( 'Fillet1', #811 ) ;
#867 = EDGE_CURVE ( 'NONE', #506, #777, #309, .T. ) ;
#868 = DIRECTION ( 'NONE', ( 1.224646799147353200E-016, 1.000000000000000000, 0.0000000000000000000 ) ) ;
#869 = ORIENTED_EDGE ( 'NONE', *, *, #288, .T. ) ;
#870 = ADVANCED_FACE ( 'NONE', ( #588, #799, #219, #388, #632, #117 ), #576, .F. ) ;
#871 = EDGE_LOOP ( 'NONE', ( #428, #62 ) ) ;
#872 = LINE ( 'NONE', #413, #884 ) ;
#873 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.3150000000000002800 ) ) ;
#874 = ADVANCED_FACE ( 'NONE', ( #610 ), #800, .F. ) ;
#875 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#876 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#877 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#878 = EDGE_LOOP ( 'NONE', ( #692, #385, #855, #400 ) ) ;
#879 = ORIENTED_EDGE ( 'NONE', *, *, #372, .F. ) ;
#880 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 2.375000000000000000, -0.3750000000000001700 ) ) ;
#881 = CYLINDRICAL_SURFACE ( 'NONE', #511, 0.3749999999999999400 ) ;
#882 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#883 = CALENDAR_DATE ( 2023, 7, 2 ) ;
#884 = VECTOR ( 'NONE', #196, 39.37007874015748100 ) ;
#885 = EDGE_CURVE ( 'NONE', #31, #376, #342, .T. ) ;
#886 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#887 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#888 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#889 = CARTESIAN_POINT ( 'NONE', ( 1.220000000000000000, 0.0000000000000000000, -0.6250000000000000000 ) ) ;
#890 = AXIS2_PLACEMENT_3D ( 'NONE', #452, #822, #603 ) ;
#891 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#892 = ORIENTED_EDGE ( 'NONE', *, *, #212, .T. ) ;
#893 = VERTEX_POINT ( 'NONE', #230 ) ;
#894 = APPROVAL_PERSON_ORGANIZATION ( #83, #654, #647 ) ;
#895 = CARTESIAN_POINT ( 'NONE', ( 2.375000000000000000, 7.271340369937410300E-016, -0.3750000000000001700 ) ) ;
#896 = CIRCLE ( 'NONE', #742, 1.220000000000000000 ) ;
#897 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#898 = EDGE_CURVE ( 'NONE', #757, #209, #820, .T. ) ;
#899 = SECURITY_CLASSIFICATION ( '', '', #206 ) ;
#900 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#901 = EDGE_CURVE ( 'NONE', #614, #691, #713, .T. ) ;
#902 = ORIENTED_EDGE ( 'NONE', *, *, #178, .F. ) ;
#903 = CARTESIAN_POINT ( 'NONE', ( -0.3749999999999999400, 2.375000000000000000, -0.6250000000000003300 ) ) ;
#904 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #641 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #423, #63, #488 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) );
#905 = ORIENTED_EDGE ( 'NONE', *, *, #405, .T. ) ;
#906 = FACE_BOUND ( 'NONE', #240, .T. ) ;
#907 = ORGANIZATION ( 'UNSPECIFIED', 'UNSPECIFIED', '' ) ;
#908 = FACE_BOUND ( 'NONE', #644, .T. ) ;
#909 = DIRECTION ( 'NONE', ( -1.224646799147353200E-016, 1.000000000000000000, 0.0000000000000000000 ) ) ;
#910 = ORIENTED_EDGE ( 'NONE', *, *, #25, .F. ) ;
#911 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#912 = AXIS2_PLACEMENT_3D ( 'NONE', #232, #179, #390 ) ;
#913 = EDGE_CURVE ( 'NONE', #332, #757, #136, .T. ) ;
#914 = ORIENTED_EDGE ( 'NONE', *, *, #338, .T. ) ;
#915 = VECTOR ( 'NONE', #9, 39.37007874015748100 ) ;
#916 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
#917 = CIRCLE ( 'NONE', #191, 1.220000000000000000 ) ;
#918 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, 1.000000000000000000 ) ) ;
ENDSEC;
END-ISO-10303-21;

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,269 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION (( 'STEP AP203' ),
'1' );
FILE_NAME ('9472K188_Oil-Resistant Aramid-Buna-N Gasket.STEP',
'2022-11-17T21:46:33',
( 'Administrator' ),
( 'Managed by Terraform' ),
'SwSTEP 2.0',
'SolidWorks 2017',
'' );
FILE_SCHEMA (( 'CONFIG_CONTROL_DESIGN' ));
ENDSEC;
DATA;
#1 = EDGE_CURVE ( 'NONE', #251, #149, #124, .T. ) ;
#2 = PERSON_AND_ORGANIZATION ( #159, #138 ) ;
#3 = SECURITY_CLASSIFICATION ( '', '', #150 ) ;
#4 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#5 = AXIS2_PLACEMENT_3D ( 'NONE', #243, #143, #82 ) ;
#6 = DATE_AND_TIME ( #211, #125 ) ;
#7 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) );
#8 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #87 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #64, #168, #7 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) );
#9 = EDGE_LOOP ( 'NONE', ( #55, #200 ) ) ;
#10 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.01562500000000000000 ) ) ;
#11 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, -0.0000000000000000000 ) ) ;
#12 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#13 = CALENDAR_DATE ( 2022, 17, 11 ) ;
#14 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #172 ) ;
#15 = CIRCLE ( 'NONE', #186, 1.187500000000000000 ) ;
#16 = DIMENSIONAL_EXPONENTS ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ;
#17 = EDGE_CURVE ( 'NONE', #149, #114, #236, .T. ) ;
#18 = ORIENTED_EDGE ( 'NONE', *, *, #178, .T. ) ;
#19 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#20 = AXIS2_PLACEMENT_3D ( 'NONE', #135, #198, #19 ) ;
#21 = CIRCLE ( 'NONE', #91, 2.062500000000000000 ) ;
#22 = LOCAL_TIME ( 15, 46, 33.00000000000000000, #221 ) ;
#23 = CARTESIAN_POINT ( 'NONE', ( -2.062500000000000000, 0.0000000000000000000, -0.01562500000000000000 ) ) ;
#24 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#25 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.01562500000000000000 ) ) ;
#26 = CARTESIAN_POINT ( 'NONE', ( 2.062500000000000000, 2.525834023241416400E-016, -0.01562500000000000000 ) ) ;
#27 = PERSON_AND_ORGANIZATION_ROLE ( 'design_supplier' ) ;
#28 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ;
#29 = ADVANCED_BREP_SHAPE_REPRESENTATION ( '9472K188_Oil-Resistant Aramid-Buna-N Gasket', ( #118, #194 ), #8 ) ;
#30 = AXIS2_PLACEMENT_3D ( 'NONE', #235, #39, #216 ) ;
#31 = ADVANCED_FACE ( 'NONE', ( #40 ), #192, .F. ) ;
#32 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #6, #212, ( #3 ) ) ;
#33 = ORIENTED_EDGE ( 'NONE', *, *, #171, .F. ) ;
#34 = PERSON_AND_ORGANIZATION ( #159, #138 ) ;
#35 = ADVANCED_FACE ( 'NONE', ( #232 ), #132, .T. ) ;
#36 = CIRCLE ( 'NONE', #44, 1.187500000000000000 ) ;
#37 = PERSON_AND_ORGANIZATION ( #159, #138 ) ;
#38 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#39 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#40 = FACE_OUTER_BOUND ( 'NONE', #54, .T. ) ;
#41 = PERSON_AND_ORGANIZATION ( #159, #138 ) ;
#42 = PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE ( 'ANY', '', #139, .NOT_KNOWN. ) ;
#43 = EDGE_LOOP ( 'NONE', ( #242, #57 ) ) ;
#44 = AXIS2_PLACEMENT_3D ( 'NONE', #131, #134, #38 ) ;
#45 = ORIENTED_EDGE ( 'NONE', *, *, #71, .T. ) ;
#46 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ;
#47 = PERSON_AND_ORGANIZATION_ROLE ( 'classification_officer' ) ;
#48 = ORIENTED_EDGE ( 'NONE', *, *, #99, .F. ) ;
#49 = PERSON_AND_ORGANIZATION ( #159, #138 ) ;
#50 = DATE_TIME_ROLE ( 'creation_date' ) ;
#51 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #41, #210, ( #42 ) ) ;
#52 = ORIENTED_EDGE ( 'NONE', *, *, #115, .T. ) ;
#53 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #58, #148, ( #139 ) ) ;
#54 = EDGE_LOOP ( 'NONE', ( #116, #188, #179, #48 ) ) ;
#55 = ORIENTED_EDGE ( 'NONE', *, *, #59, .T. ) ;
#56 = PRODUCT_DEFINITION ( 'UNKNOWN', '', #42, #225 ) ;
#57 = ORIENTED_EDGE ( 'NONE', *, *, #140, .F. ) ;
#58 = PERSON_AND_ORGANIZATION ( #159, #138 ) ;
#59 = EDGE_CURVE ( 'NONE', #149, #251, #103, .T. ) ;
#60 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#61 = FACE_BOUND ( 'NONE', #80, .T. ) ;
#62 = ORIENTED_EDGE ( 'NONE', *, *, #99, .T. ) ;
#63 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#64 =( CONVERSION_BASED_UNIT ( 'INCH', #155 ) LENGTH_UNIT ( ) NAMED_UNIT ( #16 ) );
#65 = ORIENTED_EDGE ( 'NONE', *, *, #111, .F. ) ;
#66 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#67 = DATE_AND_TIME ( #13, #183 ) ;
#68 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#69 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#70 = APPROVAL_ROLE ( '' ) ;
#71 = EDGE_CURVE ( 'NONE', #251, #176, #249, .T. ) ;
#72 = LINE ( 'NONE', #189, #201 ) ;
#73 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#74 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #67, #50, ( #56 ) ) ;
#75 = ORIENTED_EDGE ( 'NONE', *, *, #17, .T. ) ;
#76 = PERSON_AND_ORGANIZATION ( #159, #138 ) ;
#77 = EDGE_CURVE ( 'NONE', #160, #213, #36, .T. ) ;
#78 = ADVANCED_FACE ( 'NONE', ( #141 ), #128, .F. ) ;
#79 = FACE_BOUND ( 'NONE', #43, .T. ) ;
#80 = EDGE_LOOP ( 'NONE', ( #52, #62 ) ) ;
#81 = PLANE ( 'NONE', #157 ) ;
#82 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#83 = FACE_OUTER_BOUND ( 'NONE', #9, .T. ) ;
#84 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#85 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #244, #27, ( #42 ) ) ;
#86 = CLOSED_SHELL ( 'NONE', ( #78, #35, #92, #177, #130, #31 ) ) ;
#87 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000100E-005 ), #64, 'distance_accuracy_value', 'NONE');
#88 = APPROVAL_ROLE ( '' ) ;
#89 = CIRCLE ( 'NONE', #203, 1.187500000000000000 ) ;
#90 = APPROVAL_PERSON_ORGANIZATION ( #76, #153, #88 ) ;
#91 = AXIS2_PLACEMENT_3D ( 'NONE', #165, #208, #205 ) ;
#92 = ADVANCED_FACE ( 'NONE', ( #83, #79 ), #81, .T. ) ;
#93 = ORIENTED_EDGE ( 'NONE', *, *, #71, .F. ) ;
#94 = DATE_AND_TIME ( #145, #120 ) ;
#95 = ORIENTED_EDGE ( 'NONE', *, *, #115, .F. ) ;
#96 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#97 = AXIS2_PLACEMENT_3D ( 'NONE', #12, #63, #162 ) ;
#98 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#99 = EDGE_CURVE ( 'NONE', #163, #107, #89, .T. ) ;
#100 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( $, .METRE. ) );
#101 = CARTESIAN_POINT ( 'NONE', ( 2.062500000000000000, 2.525834023241416400E-016, 0.01562500000000000000 ) ) ;
#102 = CARTESIAN_POINT ( 'NONE', ( 1.187500000000000000, 1.454268073987481900E-016, 0.01562500000000000000 ) ) ;
#103 = CIRCLE ( 'NONE', #105, 2.062500000000000000 ) ;
#104 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#105 = AXIS2_PLACEMENT_3D ( 'NONE', #147, #73, #152 ) ;
#106 = CYLINDRICAL_SURFACE ( 'NONE', #97, 2.062500000000000000 ) ;
#107 = VERTEX_POINT ( 'NONE', #240 ) ;
#108 = AXIS2_PLACEMENT_3D ( 'NONE', #174, #127, #245 ) ;
#109 = PRODUCT_DEFINITION_SHAPE ( 'NONE', 'NONE', #56 ) ;
#110 = ORIENTED_EDGE ( 'NONE', *, *, #1, .F. ) ;
#111 = EDGE_CURVE ( 'NONE', #114, #176, #21, .T. ) ;
#112 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#113 = FACE_OUTER_BOUND ( 'NONE', #209, .T. ) ;
#114 = VERTEX_POINT ( 'NONE', #23 ) ;
#115 = EDGE_CURVE ( 'NONE', #107, #163, #246, .T. ) ;
#116 = ORIENTED_EDGE ( 'NONE', *, *, #193, .F. ) ;
#117 = CALENDAR_DATE ( 2022, 17, 11 ) ;
#118 = MANIFOLD_SOLID_BREP ( 'Boss-Extrude1', #86 ) ;
#119 = AXIS2_PLACEMENT_3D ( 'NONE', #234, #4, #112 ) ;
#120 = LOCAL_TIME ( 15, 46, 33.00000000000000000, #96 ) ;
#121 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.01562500000000000000 ) ) ;
#122 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#123 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#124 = CIRCLE ( 'NONE', #30, 2.062500000000000000 ) ;
#125 = LOCAL_TIME ( 15, 46, 33.00000000000000000, #233 ) ;
#126 = MECHANICAL_CONTEXT ( 'NONE', #46, 'mechanical' ) ;
#127 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#128 = CYLINDRICAL_SURFACE ( 'NONE', #108, 1.187500000000000000 ) ;
#129 = EDGE_LOOP ( 'NONE', ( #182, #202, #95, #33 ) ) ;
#130 = ADVANCED_FACE ( 'NONE', ( #238 ), #106, .T. ) ;
#131 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#132 = CYLINDRICAL_SURFACE ( 'NONE', #20, 2.062500000000000000 ) ;
#133 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#134 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#135 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#136 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #37, #47, ( #3 ) ) ;
#137 = EDGE_LOOP ( 'NONE', ( #110, #45, #18, #227 ) ) ;
#138 = ORGANIZATION ( 'UNSPECIFIED', 'UNSPECIFIED', '' ) ;
#139 = PRODUCT ( '9472K188_Oil-Resistant Aramid-Buna-N Gasket', '9472K188_Oil-Resistant Aramid-Buna-N Gasket', '', ( #126 ) ) ;
#140 = EDGE_CURVE ( 'NONE', #213, #160, #15, .T. ) ;
#141 = FACE_OUTER_BOUND ( 'NONE', #129, .T. ) ;
#142 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#143 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#144 = ORIENTED_EDGE ( 'NONE', *, *, #59, .F. ) ;
#145 = CALENDAR_DATE ( 2022, 17, 11 ) ;
#146 = CARTESIAN_POINT ( 'NONE', ( -1.187500000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#147 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#148 = PERSON_AND_ORGANIZATION_ROLE ( 'design_owner' ) ;
#149 = VERTEX_POINT ( 'NONE', #167 ) ;
#150 = SECURITY_CLASSIFICATION_LEVEL ( 'unclassified' ) ;
#151 = APPROVAL_DATE_TIME ( #180, #153 ) ;
#152 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#153 = APPROVAL ( #170, 'UNSPECIFIED' ) ;
#154 = ORIENTED_EDGE ( 'NONE', *, *, #178, .F. ) ;
#155 = LENGTH_MEASURE_WITH_UNIT ( LENGTH_MEASURE( 0.02539999999999999900 ), #100 );
#156 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#157 = AXIS2_PLACEMENT_3D ( 'NONE', #68, #185, #206 ) ;
#158 = CARTESIAN_POINT ( 'NONE', ( -2.062500000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#159 = PERSON ( 'UNSPECIFIED', 'UNSPECIFIED', 'UNSPECIFIED', ('UNSPECIFIED'), ('UNSPECIFIED'), ('UNSPECIFIED') ) ;
#160 = VERTEX_POINT ( 'NONE', #146 ) ;
#161 = SHAPE_DEFINITION_REPRESENTATION ( #109, #29 ) ;
#162 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#163 = VERTEX_POINT ( 'NONE', #226 ) ;
#164 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#165 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.01562500000000000000 ) ) ;
#166 = APPROVAL ( #229, 'UNSPECIFIED' ) ;
#167 = CARTESIAN_POINT ( 'NONE', ( -2.062500000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#168 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) );
#169 = VECTOR ( 'NONE', #156, 39.37007874015748100 ) ;
#170 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#171 = EDGE_CURVE ( 'NONE', #160, #107, #217, .T. ) ;
#172 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ;
#173 = VECTOR ( 'NONE', #122, 39.37007874015748100 ) ;
#174 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#175 = APPROVAL ( #69, 'UNSPECIFIED' ) ;
#176 = VERTEX_POINT ( 'NONE', #26 ) ;
#177 = ADVANCED_FACE ( 'NONE', ( #113, #61 ), #247, .F. ) ;
#178 = EDGE_CURVE ( 'NONE', #176, #114, #252, .T. ) ;
#179 = ORIENTED_EDGE ( 'NONE', *, *, #171, .T. ) ;
#180 = DATE_AND_TIME ( #228, #22 ) ;
#181 = AXIS2_PLACEMENT_3D ( 'NONE', #25, #187, #11 ) ;
#182 = ORIENTED_EDGE ( 'NONE', *, *, #77, .T. ) ;
#183 = LOCAL_TIME ( 15, 46, 33.00000000000000000, #133 ) ;
#184 = APPROVAL_DATE_TIME ( #94, #175 ) ;
#185 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#186 = AXIS2_PLACEMENT_3D ( 'NONE', #66, #224, #142 ) ;
#187 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#188 = ORIENTED_EDGE ( 'NONE', *, *, #140, .T. ) ;
#189 = CARTESIAN_POINT ( 'NONE', ( 1.187500000000000000, 1.454268073987481900E-016, 0.01562500000000000000 ) ) ;
#190 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #46 ) ;
#191 = APPROVAL_ROLE ( '' ) ;
#192 = CYLINDRICAL_SURFACE ( 'NONE', #119, 1.187500000000000000 ) ;
#193 = EDGE_CURVE ( 'NONE', #213, #163, #72, .T. ) ;
#194 = AXIS2_PLACEMENT_3D ( 'NONE', #84, #98, #123 ) ;
#195 = LOCAL_TIME ( 15, 46, 33.00000000000000000, #237 ) ;
#196 = VECTOR ( 'NONE', #104, 39.37007874015748100 ) ;
#197 = APPROVAL_DATE_TIME ( #214, #166 ) ;
#198 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#199 = PRODUCT_RELATED_PRODUCT_CATEGORY ( 'detail', '', ( #139 ) ) ;
#200 = ORIENTED_EDGE ( 'NONE', *, *, #1, .T. ) ;
#201 = VECTOR ( 'NONE', #222, 39.37007874015748100 ) ;
#202 = ORIENTED_EDGE ( 'NONE', *, *, #193, .T. ) ;
#203 = AXIS2_PLACEMENT_3D ( 'NONE', #121, #248, #164 ) ;
#204 = CARTESIAN_POINT ( 'NONE', ( 2.062500000000000000, 2.525834023241416400E-016, 0.01562500000000000000 ) ) ;
#205 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#206 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, -0.0000000000000000000 ) ) ;
#207 = CC_DESIGN_APPROVAL ( #166, ( #56 ) ) ;
#208 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#209 = EDGE_LOOP ( 'NONE', ( #65, #154 ) ) ;
#210 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ;
#211 = CALENDAR_DATE ( 2022, 17, 11 ) ;
#212 = DATE_TIME_ROLE ( 'classification_date' ) ;
#213 = VERTEX_POINT ( 'NONE', #102 ) ;
#214 = DATE_AND_TIME ( #117, #195 ) ;
#215 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #34, #28, ( #56 ) ) ;
#216 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#217 = LINE ( 'NONE', #241, #173 ) ;
#218 = ORIENTED_EDGE ( 'NONE', *, *, #111, .T. ) ;
#219 = CC_DESIGN_SECURITY_CLASSIFICATION ( #3, ( #42 ) ) ;
#220 = EDGE_LOOP ( 'NONE', ( #93, #144, #75, #218 ) ) ;
#221 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#222 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#223 = CC_DESIGN_APPROVAL ( #153, ( #3 ) ) ;
#224 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#225 = DESIGN_CONTEXT ( 'detailed design', #172, 'design' ) ;
#226 = CARTESIAN_POINT ( 'NONE', ( 1.187500000000000000, 1.454268073987481900E-016, -0.01562500000000000000 ) ) ;
#227 = ORIENTED_EDGE ( 'NONE', *, *, #17, .F. ) ;
#228 = CALENDAR_DATE ( 2022, 17, 11 ) ;
#229 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#230 = APPROVAL_PERSON_ORGANIZATION ( #2, #175, #191 ) ;
#231 = AXIS2_PLACEMENT_3D ( 'NONE', #10, #24, #60 ) ;
#232 = FACE_OUTER_BOUND ( 'NONE', #137, .T. ) ;
#233 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#234 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#235 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#236 = LINE ( 'NONE', #158, #169 ) ;
#237 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#238 = FACE_OUTER_BOUND ( 'NONE', #220, .T. ) ;
#239 = APPROVAL_PERSON_ORGANIZATION ( #49, #166, #70 ) ;
#240 = CARTESIAN_POINT ( 'NONE', ( -1.187500000000000000, 0.0000000000000000000, -0.01562500000000000000 ) ) ;
#241 = CARTESIAN_POINT ( 'NONE', ( -1.187500000000000000, 0.0000000000000000000, 0.01562500000000000000 ) ) ;
#242 = ORIENTED_EDGE ( 'NONE', *, *, #77, .F. ) ;
#243 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.01562500000000000000 ) ) ;
#244 = PERSON_AND_ORGANIZATION ( #159, #138 ) ;
#245 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#246 = CIRCLE ( 'NONE', #231, 1.187500000000000000 ) ;
#247 = PLANE ( 'NONE', #181 ) ;
#248 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#249 = LINE ( 'NONE', #101, #196 ) ;
#250 = CC_DESIGN_APPROVAL ( #175, ( #42 ) ) ;
#251 = VERTEX_POINT ( 'NONE', #204 ) ;
#252 = CIRCLE ( 'NONE', #5, 2.062500000000000000 ) ;
ENDSEC;
END-ISO-10303-21;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,373 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION (( 'STEP AP203' ),
'1' );
FILE_NAME ('98017A257_18-8 Stainless Steel Mil. Spec. Washer.STEP',
'2023-09-12T13:39:25',
( 'Administrator' ),
( 'Managed by Terraform' ),
'SwSTEP 2.0',
'SolidWorks 2017',
'' );
FILE_SCHEMA (( 'CONFIG_CONTROL_DESIGN' ));
ENDSEC;
DATA;
#1 = CARTESIAN_POINT ( 'NONE', ( 0.3200000000000000100, 3.918869757271530800E-017, -0.01600000000000001800 ) ) ;
#2 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#3 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01280000000000027500 ) ) ;
#4 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#5 = FACE_BOUND ( 'NONE', #226, .T. ) ;
#6 = APPROVAL ( #354, 'UNSPECIFIED' ) ;
#7 = LOCAL_TIME ( 8, 39, 25.00000000000000000, #120 ) ;
#8 = CARTESIAN_POINT ( 'NONE', ( -0.3200000000000000100, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#9 = CIRCLE ( 'NONE', #260, 0.3200000000000000100 ) ;
#10 = VERTEX_POINT ( 'NONE', #20 ) ;
#11 = AXIS2_PLACEMENT_3D ( 'NONE', #108, #220, #275 ) ;
#12 = CYLINDRICAL_SURFACE ( 'NONE', #11, 0.3200000000000000100 ) ;
#13 = FACE_OUTER_BOUND ( 'NONE', #312, .T. ) ;
#14 = VERTEX_POINT ( 'NONE', #1 ) ;
#15 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#16 = ORIENTED_EDGE ( 'NONE', *, *, #31, .T. ) ;
#17 = AXIS2_PLACEMENT_3D ( 'NONE', #130, #23, #272 ) ;
#18 = ORIENTED_EDGE ( 'NONE', *, *, #188, .T. ) ;
#19 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#20 = CARTESIAN_POINT ( 'NONE', ( 0.3200000000000000100, 3.918869757271530800E-017, 0.01280000000000027500 ) ) ;
#21 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#22 = PRODUCT_RELATED_PRODUCT_CATEGORY ( 'detail', '', ( #84 ) ) ;
#23 = DIRECTION ( 'NONE', ( 1.224646799147353200E-016, 1.000000000000000000, -0.0000000000000000000 ) ) ;
#24 = CALENDAR_DATE ( 2023, 12, 9 ) ;
#25 = FACE_OUTER_BOUND ( 'NONE', #137, .T. ) ;
#26 = AXIS2_PLACEMENT_3D ( 'NONE', #131, #306, #147 ) ;
#27 = CARTESIAN_POINT ( 'NONE', ( -0.3200000000000000100, 0.0000000000000000000, -0.01600000000000001800 ) ) ;
#28 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#29 = CIRCLE ( 'NONE', #250, 0.5939999999999999700 ) ;
#30 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#31 = EDGE_CURVE ( 'NONE', #223, #296, #29, .T. ) ;
#32 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, -0.0000000000000000000 ) ) ;
#33 = CALENDAR_DATE ( 2023, 12, 9 ) ;
#34 = VERTEX_POINT ( 'NONE', #27 ) ;
#35 = PERSON_AND_ORGANIZATION ( #203, #57 ) ;
#36 = CALENDAR_DATE ( 2023, 12, 9 ) ;
#37 = ORIENTED_EDGE ( 'NONE', *, *, #230, .F. ) ;
#38 = ORIENTED_EDGE ( 'NONE', *, *, #341, .T. ) ;
#39 = AXIS2_PLACEMENT_3D ( 'NONE', #182, #123, #21 ) ;
#40 = VERTEX_POINT ( 'NONE', #346 ) ;
#41 =( GEOMETRIC_REPRESENTATION_CONTEXT ( 3 ) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT ( ( #54 ) ) GLOBAL_UNIT_ASSIGNED_CONTEXT ( ( #73, #214, #268 ) ) REPRESENTATION_CONTEXT ( 'NONE', 'WORKASPACE' ) );
#42 = ADVANCED_FACE ( 'NONE', ( #5, #25 ), #238, .T. ) ;
#43 = TOROIDAL_SURFACE ( 'NONE', #200, 0.3271554175279990400, 0.009600000000000000900 ) ;
#44 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01280000000000013800 ) ) ;
#45 = DIRECTION ( 'NONE', ( -1.000000000000000000, -1.224646799147356200E-016, 0.0000000000000000000 ) ) ;
#46 = EDGE_CURVE ( 'NONE', #223, #271, #286, .T. ) ;
#47 = LOCAL_TIME ( 8, 39, 25.00000000000000000, #169 ) ;
#48 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#49 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #241 ) ;
#50 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#51 = CYLINDRICAL_SURFACE ( 'NONE', #274, 0.5939999999999999700 ) ;
#52 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #90, #126, ( #248 ) ) ;
#53 = ORIENTED_EDGE ( 'NONE', *, *, #349, .F. ) ;
#54 = UNCERTAINTY_MEASURE_WITH_UNIT (LENGTH_MEASURE( 1.000000000000000100E-005 ), #73, 'distance_accuracy_value', 'NONE');
#55 = CARTESIAN_POINT ( 'NONE', ( 0.3200000000000000100, 3.918869757271530800E-017, 0.01599999999999998300 ) ) ;
#56 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#57 = ORGANIZATION ( 'UNSPECIFIED', 'UNSPECIFIED', '' ) ;
#58 = ORIENTED_EDGE ( 'NONE', *, *, #93, .F. ) ;
#59 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#60 = DATE_AND_TIME ( #36, #7 ) ;
#61 = EDGE_CURVE ( 'NONE', #34, #14, #235, .T. ) ;
#62 = EDGE_LOOP ( 'NONE', ( #282, #38, #82, #141 ) ) ;
#63 = VERTEX_POINT ( 'NONE', #320 ) ;
#64 = APPROVAL_PERSON_ORGANIZATION ( #281, #114, #75 ) ;
#65 = ORIENTED_EDGE ( 'NONE', *, *, #313, .F. ) ;
#66 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#67 = EDGE_CURVE ( 'NONE', #63, #315, #342, .T. ) ;
#68 = CIRCLE ( 'NONE', #256, 0.3271554175279990400 ) ;
#69 = DATE_TIME_ROLE ( 'creation_date' ) ;
#70 = TOROIDAL_SURFACE ( 'NONE', #138, 0.5868445824720007800, 0.009600000000000000900 ) ;
#71 = CLOSED_SHELL ( 'NONE', ( #155, #292, #326, #295, #42, #247, #101, #179, #344, #97 ) ) ;
#72 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#73 =( CONVERSION_BASED_UNIT ( 'INCH', #333 ) LENGTH_UNIT ( ) NAMED_UNIT ( #262 ) );
#74 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#75 = APPROVAL_ROLE ( '' ) ;
#76 = PRODUCT_DEFINITION ( 'UNKNOWN', '', #186, #285 ) ;
#77 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#78 = CYLINDRICAL_SURFACE ( 'NONE', #26, 0.5939999999999999700 ) ;
#79 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.01600000000000001800 ) ) ;
#80 = CIRCLE ( 'NONE', #219, 0.009600000000000000900 ) ;
#81 = APPROVAL ( #294, 'UNSPECIFIED' ) ;
#82 = ORIENTED_EDGE ( 'NONE', *, *, #31, .F. ) ;
#83 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#84 = PRODUCT ( '98017A257_18-8 Stainless Steel Mil. Spec. Washer', '98017A257_18-8 Stainless Steel Mil. Spec. Washer', '', ( #100 ) ) ;
#85 = LOCAL_TIME ( 8, 39, 25.00000000000000000, #15 ) ;
#86 = CIRCLE ( 'NONE', #17, 0.009600000000000014800 ) ;
#87 = SHAPE_DEFINITION_REPRESENTATION ( #206, #345 ) ;
#88 = CIRCLE ( 'NONE', #193, 0.5939999999999999700 ) ;
#89 = EDGE_LOOP ( 'NONE', ( #58, #183, #174, #287 ) ) ;
#90 = DATE_AND_TIME ( #113, #261 ) ;
#91 = APPROVAL_DATE_TIME ( #196, #6 ) ;
#92 = FACE_OUTER_BOUND ( 'NONE', #252, .T. ) ;
#93 = EDGE_CURVE ( 'NONE', #296, #40, #228, .T. ) ;
#94 = CIRCLE ( 'NONE', #172, 0.3271554175279990400 ) ;
#95 = CARTESIAN_POINT ( 'NONE', ( -0.5939999999999999700, 0.0000000000000000000, 0.01280000000000013800 ) ) ;
#96 = ORIENTED_EDGE ( 'NONE', *, *, #154, .F. ) ;
#97 = ADVANCED_FACE ( 'NONE', ( #311 ), #70, .T. ) ;
#98 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ;
#99 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #103, #297, ( #76 ) ) ;
#100 = MECHANICAL_CONTEXT ( 'NONE', #241, 'mechanical' ) ;
#101 = ADVANCED_FACE ( 'NONE', ( #236 ), #51, .T. ) ;
#102 = EDGE_CURVE ( 'NONE', #173, #10, #304, .T. ) ;
#103 = PERSON_AND_ORGANIZATION ( #203, #57 ) ;
#104 = ORIENTED_EDGE ( 'NONE', *, *, #341, .F. ) ;
#105 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#106 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#107 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#108 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#109 = ORIENTED_EDGE ( 'NONE', *, *, #234, .T. ) ;
#110 = AXIS2_PLACEMENT_3D ( 'NONE', #240, #276, #356 ) ;
#111 = CARTESIAN_POINT ( 'NONE', ( -0.5868445824720007800, 0.0000000000000000000, 0.006399999999999983000 ) ) ;
#112 = ORIENTED_EDGE ( 'NONE', *, *, #171, .F. ) ;
#113 = CALENDAR_DATE ( 2023, 12, 9 ) ;
#114 = APPROVAL ( #4, 'UNSPECIFIED' ) ;
#115 = EDGE_CURVE ( 'NONE', #135, #34, #153, .T. ) ;
#116 = VECTOR ( 'NONE', #288, 39.37007874015748100 ) ;
#117 = EDGE_LOOP ( 'NONE', ( #216, #337 ) ) ;
#118 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#119 = PERSON_AND_ORGANIZATION ( #203, #57 ) ;
#120 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#121 = AXIS2_PLACEMENT_3D ( 'NONE', #267, #124, #218 ) ;
#122 = AXIS2_PLACEMENT_3D ( 'NONE', #300, #217, #72 ) ;
#123 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#124 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#125 = LOCAL_TIME ( 8, 39, 25.00000000000000000, #347 ) ;
#126 = DATE_TIME_ROLE ( 'classification_date' ) ;
#127 = EDGE_LOOP ( 'NONE', ( #104, #317, #157, #96 ) ) ;
#128 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#129 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#130 = CARTESIAN_POINT ( 'NONE', ( -0.3271554175279990400, 4.006498348993799500E-017, 0.006399999999999983000 ) ) ;
#131 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#132 = CC_DESIGN_APPROVAL ( #114, ( #76 ) ) ;
#133 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#134 = PERSON_AND_ORGANIZATION_ROLE ( 'design_owner' ) ;
#135 = VERTEX_POINT ( 'NONE', #162 ) ;
#136 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#137 = EDGE_LOOP ( 'NONE', ( #245, #145 ) ) ;
#138 = AXIS2_PLACEMENT_3D ( 'NONE', #178, #352, #310 ) ;
#139 = CC_DESIGN_DATE_AND_TIME_ASSIGNMENT ( #314, #69, ( #76 ) ) ;
#140 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.01600000000000001800 ) ) ;
#141 = ORIENTED_EDGE ( 'NONE', *, *, #212, .F. ) ;
#142 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#143 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#144 = ORIENTED_EDGE ( 'NONE', *, *, #188, .F. ) ;
#145 = ORIENTED_EDGE ( 'NONE', *, *, #67, .T. ) ;
#146 = APPROVAL_DATE_TIME ( #60, #81 ) ;
#147 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#148 = EDGE_CURVE ( 'NONE', #135, #10, #231, .T. ) ;
#149 = CIRCLE ( 'NONE', #338, 0.3200000000000000100 ) ;
#150 = ORIENTED_EDGE ( 'NONE', *, *, #93, .T. ) ;
#151 = CARTESIAN_POINT ( 'NONE', ( 0.5939999999999999700, 7.274401986935278000E-017, 0.01599999999999998300 ) ) ;
#152 = APPROVAL_DATE_TIME ( #207, #114 ) ;
#153 = LINE ( 'NONE', #8, #170 ) ;
#154 = EDGE_CURVE ( 'NONE', #296, #223, #191, .T. ) ;
#155 = ADVANCED_FACE ( 'NONE', ( #225 ), #283, .T. ) ;
#156 = AXIS2_PLACEMENT_3D ( 'NONE', #190, #249, #77 ) ;
#157 = ORIENTED_EDGE ( 'NONE', *, *, #212, .T. ) ;
#158 = ORIENTED_EDGE ( 'NONE', *, *, #308, .F. ) ;
#159 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #194, #350, ( #248 ) ) ;
#160 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#161 = CARTESIAN_POINT ( 'NONE', ( -0.5939999999999999700, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#162 = CARTESIAN_POINT ( 'NONE', ( -0.3200000000000000100, 0.0000000000000000000, 0.01280000000000027500 ) ) ;
#163 = DIRECTION ( 'NONE', ( -1.224646799147353200E-016, 1.000000000000000000, 0.0000000000000000000 ) ) ;
#164 = LINE ( 'NONE', #55, #167 ) ;
#165 = CARTESIAN_POINT ( 'NONE', ( -0.5868445824720007800, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#166 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01280000000000013800 ) ) ;
#167 = VECTOR ( 'NONE', #105, 39.37007874015748100 ) ;
#168 = ORIENTED_EDGE ( 'NONE', *, *, #115, .F. ) ;
#169 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#170 = VECTOR ( 'NONE', #302, 39.37007874015748100 ) ;
#171 = EDGE_CURVE ( 'NONE', #173, #211, #94, .T. ) ;
#172 = AXIS2_PLACEMENT_3D ( 'NONE', #136, #327, #279 ) ;
#173 = VERTEX_POINT ( 'NONE', #301 ) ;
#174 = ORIENTED_EDGE ( 'NONE', *, *, #46, .T. ) ;
#175 = AXIS2_PLACEMENT_3D ( 'NONE', #143, #59, #229 ) ;
#176 = PERSON_AND_ORGANIZATION ( #203, #57 ) ;
#177 = EDGE_LOOP ( 'NONE', ( #144, #109, #343, #158 ) ) ;
#178 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.006399999999999983000 ) ) ;
#179 = ADVANCED_FACE ( 'NONE', ( #293 ), #12, .F. ) ;
#180 = FACE_OUTER_BOUND ( 'NONE', #202, .T. ) ;
#181 = AXIS2_PLACEMENT_3D ( 'NONE', #50, #222, #246 ) ;
#182 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#183 = ORIENTED_EDGE ( 'NONE', *, *, #154, .T. ) ;
#184 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#185 = PERSON_AND_ORGANIZATION_ROLE ( 'design_supplier' ) ;
#186 = PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE ( 'ANY', '', #84, .NOT_KNOWN. ) ;
#187 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#188 = EDGE_CURVE ( 'NONE', #10, #14, #164, .T. ) ;
#189 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.006399999999999983000 ) ) ;
#190 = CARTESIAN_POINT ( 'NONE', ( 0.3271554175279990400, 0.0000000000000000000, 0.006399999999999983000 ) ) ;
#191 = CIRCLE ( 'NONE', #284, 0.5939999999999999700 ) ;
#192 = ORIENTED_EDGE ( 'NONE', *, *, #318, .T. ) ;
#193 = AXIS2_PLACEMENT_3D ( 'NONE', #195, #30, #227 ) ;
#194 = PERSON_AND_ORGANIZATION ( #203, #57 ) ;
#195 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.01600000000000001800 ) ) ;
#196 = DATE_AND_TIME ( #269, #47 ) ;
#197 = CARTESIAN_POINT ( 'NONE', ( -0.5939999999999999700, 0.0000000000000000000, -0.01600000000000001800 ) ) ;
#198 = ORIENTED_EDGE ( 'NONE', *, *, #313, .T. ) ;
#199 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -1.000000000000000000 ) ) ;
#200 = AXIS2_PLACEMENT_3D ( 'NONE', #257, #128, #353 ) ;
#201 = TOROIDAL_SURFACE ( 'NONE', #110, 0.3271554175279990400, 0.009600000000000000900 ) ;
#202 = EDGE_LOOP ( 'NONE', ( #37, #53 ) ) ;
#203 = PERSON ( 'UNSPECIFIED', 'UNSPECIFIED', 'UNSPECIFIED', ('UNSPECIFIED'), ('UNSPECIFIED'), ('UNSPECIFIED') ) ;
#204 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.01600000000000001800 ) ) ;
#205 = AXIS2_PLACEMENT_3D ( 'NONE', #118, #233, #66 ) ;
#206 = PRODUCT_DEFINITION_SHAPE ( 'NONE', 'NONE', #76 ) ;
#207 = DATE_AND_TIME ( #24, #85 ) ;
#208 = ORIENTED_EDGE ( 'NONE', *, *, #318, .F. ) ;
#209 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #119, #98, ( #186 ) ) ;
#210 = CIRCLE ( 'NONE', #175, 0.5868445824720007800 ) ;
#211 = VERTEX_POINT ( 'NONE', #291 ) ;
#212 = EDGE_CURVE ( 'NONE', #315, #223, #80, .T. ) ;
#213 = VECTOR ( 'NONE', #270, 39.37007874015748100 ) ;
#214 =( NAMED_UNIT ( * ) PLANE_ANGLE_UNIT ( ) SI_UNIT ( $, .RADIAN. ) );
#215 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #273, #185, ( #186 ) ) ;
#216 = ORIENTED_EDGE ( 'NONE', *, *, #61, .T. ) ;
#217 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#218 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, -0.0000000000000000000 ) ) ;
#219 = AXIS2_PLACEMENT_3D ( 'NONE', #111, #305, #199 ) ;
#220 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#221 = SECURITY_CLASSIFICATION_LEVEL ( 'unclassified' ) ;
#222 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#223 = VERTEX_POINT ( 'NONE', #95 ) ;
#224 = ORIENTED_EDGE ( 'NONE', *, *, #148, .T. ) ;
#225 = FACE_OUTER_BOUND ( 'NONE', #62, .T. ) ;
#226 = EDGE_LOOP ( 'NONE', ( #258, #192 ) ) ;
#227 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#228 = LINE ( 'NONE', #151, #116 ) ;
#229 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#230 = EDGE_CURVE ( 'NONE', #271, #40, #88, .T. ) ;
#231 = CIRCLE ( 'NONE', #265, 0.3200000000000000100 ) ;
#232 = CC_DESIGN_SECURITY_CLASSIFICATION ( #248, ( #186 ) ) ;
#233 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#234 = EDGE_CURVE ( 'NONE', #10, #135, #9, .T. ) ;
#235 = CIRCLE ( 'NONE', #322, 0.3200000000000000100 ) ;
#236 = FACE_OUTER_BOUND ( 'NONE', #89, .T. ) ;
#237 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ;
#238 = PLANE ( 'NONE', #121 ) ;
#239 = AXIS2_PLACEMENT_3D ( 'NONE', #324, #163, #45 ) ;
#240 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.006399999999999983000 ) ) ;
#241 = APPLICATION_CONTEXT ( 'configuration controlled 3d designs of mechanical parts and assemblies' ) ;
#242 = PERSON_AND_ORGANIZATION ( #203, #57 ) ;
#243 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#244 = CC_DESIGN_APPROVAL ( #6, ( #186 ) ) ;
#245 = ORIENTED_EDGE ( 'NONE', *, *, #289, .T. ) ;
#246 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#247 = ADVANCED_FACE ( 'NONE', ( #180, #299 ), #332, .F. ) ;
#248 = SECURITY_CLASSIFICATION ( '', '', #221 ) ;
#249 = DIRECTION ( 'NONE', ( 0.0000000000000000000, -1.000000000000000000, 0.0000000000000000000 ) ) ;
#250 = AXIS2_PLACEMENT_3D ( 'NONE', #44, #74, #355 ) ;
#251 = ORIENTED_EDGE ( 'NONE', *, *, #148, .F. ) ;
#252 = EDGE_LOOP ( 'NONE', ( #16, #150, #340, #263 ) ) ;
#253 = CARTESIAN_POINT ( 'NONE', ( 0.5939999999999999700, 7.274401986935278000E-017, 0.01280000000000013800 ) ) ;
#254 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01280000000000027500 ) ) ;
#255 = ORIENTED_EDGE ( 'NONE', *, *, #102, .T. ) ;
#256 = AXIS2_PLACEMENT_3D ( 'NONE', #19, #187, #325 ) ;
#257 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.006399999999999983000 ) ) ;
#258 = ORIENTED_EDGE ( 'NONE', *, *, #171, .T. ) ;
#259 = CC_DESIGN_APPROVAL ( #81, ( #248 ) ) ;
#260 = AXIS2_PLACEMENT_3D ( 'NONE', #254, #56, #142 ) ;
#261 = LOCAL_TIME ( 8, 39, 25.00000000000000000, #335 ) ;
#262 = DIMENSIONAL_EXPONENTS ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ;
#263 = ORIENTED_EDGE ( 'NONE', *, *, #46, .F. ) ;
#264 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#265 = AXIS2_PLACEMENT_3D ( 'NONE', #3, #243, #107 ) ;
#266 = APPROVAL_ROLE ( '' ) ;
#267 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#268 =( NAMED_UNIT ( * ) SI_UNIT ( $, .STERADIAN. ) SOLID_ANGLE_UNIT ( ) );
#269 = CALENDAR_DATE ( 2023, 12, 9 ) ;
#270 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#271 = VERTEX_POINT ( 'NONE', #197 ) ;
#272 = DIRECTION ( 'NONE', ( -1.000000000000000000, 1.224646799147348300E-016, 0.0000000000000000000 ) ) ;
#273 = PERSON_AND_ORGANIZATION ( #203, #57 ) ;
#274 = AXIS2_PLACEMENT_3D ( 'NONE', #160, #264, #129 ) ;
#275 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#276 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#277 = FACE_OUTER_BOUND ( 'NONE', #278, .T. ) ;
#278 = EDGE_LOOP ( 'NONE', ( #65, #112, #255, #251 ) ) ;
#279 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#280 = AXIS2_PLACEMENT_3D ( 'NONE', #140, #330, #32 ) ;
#281 = PERSON_AND_ORGANIZATION ( #203, #57 ) ;
#282 = ORIENTED_EDGE ( 'NONE', *, *, #67, .F. ) ;
#283 = TOROIDAL_SURFACE ( 'NONE', #303, 0.5868445824720007800, 0.009600000000000000900 ) ;
#284 = AXIS2_PLACEMENT_3D ( 'NONE', #166, #106, #184 ) ;
#285 = DESIGN_CONTEXT ( 'detailed design', #237, 'design' ) ;
#286 = LINE ( 'NONE', #161, #213 ) ;
#287 = ORIENTED_EDGE ( 'NONE', *, *, #230, .T. ) ;
#288 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#289 = EDGE_CURVE ( 'NONE', #315, #63, #210, .T. ) ;
#290 = FACE_OUTER_BOUND ( 'NONE', #348, .T. ) ;
#291 = CARTESIAN_POINT ( 'NONE', ( -0.3271554175279990400, 4.006498348993799500E-017, 0.01599999999999998300 ) ) ;
#292 = ADVANCED_FACE ( 'NONE', ( #13 ), #43, .T. ) ;
#293 = FACE_OUTER_BOUND ( 'NONE', #177, .T. ) ;
#294 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#295 = ADVANCED_FACE ( 'NONE', ( #92 ), #78, .T. ) ;
#296 = VERTEX_POINT ( 'NONE', #253 ) ;
#297 = PERSON_AND_ORGANIZATION_ROLE ( 'creator' ) ;
#298 =( LENGTH_UNIT ( ) NAMED_UNIT ( * ) SI_UNIT ( $, .METRE. ) );
#299 = FACE_BOUND ( 'NONE', #117, .T. ) ;
#300 = CARTESIAN_POINT ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, -0.01600000000000001800 ) ) ;
#301 = CARTESIAN_POINT ( 'NONE', ( 0.3271554175279990400, 0.0000000000000000000, 0.01599999999999998300 ) ) ;
#302 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#303 = AXIS2_PLACEMENT_3D ( 'NONE', #189, #28, #48 ) ;
#304 = CIRCLE ( 'NONE', #156, 0.009600000000000000900 ) ;
#305 = DIRECTION ( 'NONE', ( 0.0000000000000000000, -1.000000000000000000, 0.0000000000000000000 ) ) ;
#306 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#307 = MANIFOLD_SOLID_BREP ( 'Fillet1', #71 ) ;
#308 = EDGE_CURVE ( 'NONE', #14, #34, #149, .T. ) ;
#309 = CYLINDRICAL_SURFACE ( 'NONE', #39, 0.3200000000000000100 ) ;
#310 = DIRECTION ( 'NONE', ( -1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#311 = FACE_OUTER_BOUND ( 'NONE', #127, .T. ) ;
#312 = EDGE_LOOP ( 'NONE', ( #208, #198, #329, #316 ) ) ;
#313 = EDGE_CURVE ( 'NONE', #211, #135, #86, .T. ) ;
#314 = DATE_AND_TIME ( #33, #125 ) ;
#315 = VERTEX_POINT ( 'NONE', #165 ) ;
#316 = ORIENTED_EDGE ( 'NONE', *, *, #102, .F. ) ;
#317 = ORIENTED_EDGE ( 'NONE', *, *, #289, .F. ) ;
#318 = EDGE_CURVE ( 'NONE', #211, #173, #68, .T. ) ;
#319 = APPROVAL_ROLE ( '' ) ;
#320 = CARTESIAN_POINT ( 'NONE', ( 0.5868445824720007800, 7.230587691074144000E-017, 0.01599999999999998300 ) ) ;
#321 = APPLICATION_PROTOCOL_DEFINITION ( 'international standard', 'config_control_design', 1994, #237 ) ;
#322 = AXIS2_PLACEMENT_3D ( 'NONE', #79, #323, #2 ) ;
#323 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#324 = CARTESIAN_POINT ( 'NONE', ( 0.5868445824720007800, 7.186773395213007500E-017, 0.006399999999999983000 ) ) ;
#325 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#326 = ADVANCED_FACE ( 'NONE', ( #290 ), #309, .F. ) ;
#327 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#328 = CIRCLE ( 'NONE', #239, 0.009600000000000014800 ) ;
#329 = ORIENTED_EDGE ( 'NONE', *, *, #234, .F. ) ;
#330 = DIRECTION ( 'NONE', ( 0.0000000000000000000, 0.0000000000000000000, 1.000000000000000000 ) ) ;
#331 = CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT ( #176, #134, ( #84 ) ) ;
#332 = PLANE ( 'NONE', #280 ) ;
#333 = LENGTH_MEASURE_WITH_UNIT ( LENGTH_MEASURE( 0.02539999999999999900 ), #298 );
#334 = ORIENTED_EDGE ( 'NONE', *, *, #61, .F. ) ;
#335 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#336 = CIRCLE ( 'NONE', #122, 0.5939999999999999700 ) ;
#337 = ORIENTED_EDGE ( 'NONE', *, *, #308, .T. ) ;
#338 = AXIS2_PLACEMENT_3D ( 'NONE', #204, #133, #83 ) ;
#339 = APPROVAL_PERSON_ORGANIZATION ( #242, #6, #266 ) ;
#340 = ORIENTED_EDGE ( 'NONE', *, *, #349, .T. ) ;
#341 = EDGE_CURVE ( 'NONE', #63, #296, #328, .T. ) ;
#342 = CIRCLE ( 'NONE', #205, 0.5868445824720007800 ) ;
#343 = ORIENTED_EDGE ( 'NONE', *, *, #115, .T. ) ;
#344 = ADVANCED_FACE ( 'NONE', ( #277 ), #201, .T. ) ;
#345 = ADVANCED_BREP_SHAPE_REPRESENTATION ( '98017A257_18-8 Stainless Steel Mil. Spec. Washer', ( #307, #181 ), #41 ) ;
#346 = CARTESIAN_POINT ( 'NONE', ( 0.5939999999999999700, 7.274401986935278000E-017, -0.01600000000000001800 ) ) ;
#347 = COORDINATED_UNIVERSAL_TIME_OFFSET ( 6, 0, .BEHIND. ) ;
#348 = EDGE_LOOP ( 'NONE', ( #224, #18, #334, #168 ) ) ;
#349 = EDGE_CURVE ( 'NONE', #40, #271, #336, .T. ) ;
#350 = PERSON_AND_ORGANIZATION_ROLE ( 'classification_officer' ) ;
#351 = APPROVAL_PERSON_ORGANIZATION ( #35, #81, #319 ) ;
#352 = DIRECTION ( 'NONE', ( -0.0000000000000000000, -0.0000000000000000000, -1.000000000000000000 ) ) ;
#353 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#354 = APPROVAL_STATUS ( 'not_yet_approved' ) ;
#355 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
#356 = DIRECTION ( 'NONE', ( 1.000000000000000000, 0.0000000000000000000, 0.0000000000000000000 ) ) ;
ENDSEC;
END-ISO-10303-21;

View File

@ -32,4 +32,4 @@ pipeProfile = outerProfile
|> hole(innerProfile, %)
// revolve the pipe profile at the desired angle
pipe = revolve({ axis = "Y", angle = bendAngle }, pipeProfile)
pipe = revolve(pipeProfile, axis = "Y", angle = bendAngle)

View File

@ -33,4 +33,4 @@ pipeSketch = startSketchOn('XY')
|> close()
// Revolve the sketch to create the pipe
pipe = revolve({ axis = 'y' }, pipeSketch)
pipe = revolve(pipeSketch, axis = 'y')

View File

@ -30,7 +30,8 @@ sketch001 = startSketchOn("-YZ")
|> yLine(endAbsolute = segEndY(seg01))
|> angledLineToY({ angle = 180 - 60, to = 0 }, %)
|> close()
part001 = revolve({
part001 = revolve(
sketch001,
angle = 90,
axis = {
custom = {
@ -38,7 +39,7 @@ part001 = revolve({
origin = [0.0, height + .0001]
}
}
}, sketch001)
)
sketch002 = startSketchOn('-YZ')
|> startProfileAt([wallsWidth / 2, 0], %)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 67 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,923 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((('zoo.dev export')), '2;1');
FILE_NAME('dump.step', '2021-01-01T00:00:00+00:00', ('Author unknown'), ('Organization unknown'), 'zoo.dev beta', 'zoo.dev', 'Authorization unknown');
FILE_SCHEMA(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF'));
ENDSEC;
DATA;
#1 = (
LENGTH_UNIT()
NAMED_UNIT(*)
SI_UNIT($, .METRE.)
);
#2 = UNCERTAINTY_MEASURE_WITH_UNIT(0.00001, #1, 'DISTANCE_ACCURACY_VALUE', $);
#3 = (
GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#1))
REPRESENTATION_CONTEXT('', '3D')
);
#4 = CARTESIAN_POINT('NONE', (0.05, 0.05, 0.05));
#5 = VERTEX_POINT('NONE', #4);
#6 = CARTESIAN_POINT('NONE', (0.049999999999999996, -0.05, 0.05));
#7 = VERTEX_POINT('NONE', #6);
#8 = CARTESIAN_POINT('NONE', (0.049999999999999996, -0.05, 0.049));
#9 = VERTEX_POINT('NONE', #8);
#10 = CARTESIAN_POINT('NONE', (0.05, 0.05, 0.049));
#11 = VERTEX_POINT('NONE', #10);
#12 = CARTESIAN_POINT('NONE', (-0.05000000000000001, -0.05, 0.05));
#13 = VERTEX_POINT('NONE', #12);
#14 = CARTESIAN_POINT('NONE', (-0.05000000000000001, -0.05, 0.049));
#15 = VERTEX_POINT('NONE', #14);
#16 = CARTESIAN_POINT('NONE', (-0.05, 0.05, 0.05));
#17 = VERTEX_POINT('NONE', #16);
#18 = CARTESIAN_POINT('NONE', (-0.05, 0.05, 0.049));
#19 = VERTEX_POINT('NONE', #18);
#20 = CARTESIAN_POINT('NONE', (-0.05, 0.05, 0.05));
#21 = VERTEX_POINT('NONE', #20);
#22 = CARTESIAN_POINT('NONE', (-0.05, -0.05, 0.049999999999999996));
#23 = VERTEX_POINT('NONE', #22);
#24 = CARTESIAN_POINT('NONE', (-0.049, -0.05, 0.049999999999999996));
#25 = VERTEX_POINT('NONE', #24);
#26 = CARTESIAN_POINT('NONE', (-0.049, 0.05, 0.05));
#27 = VERTEX_POINT('NONE', #26);
#28 = CARTESIAN_POINT('NONE', (-0.05, -0.05, -0.05000000000000001));
#29 = VERTEX_POINT('NONE', #28);
#30 = CARTESIAN_POINT('NONE', (-0.049, -0.05, -0.05000000000000001));
#31 = VERTEX_POINT('NONE', #30);
#32 = CARTESIAN_POINT('NONE', (-0.05, 0.05, -0.05));
#33 = VERTEX_POINT('NONE', #32);
#34 = CARTESIAN_POINT('NONE', (-0.049, 0.05, -0.05));
#35 = VERTEX_POINT('NONE', #34);
#36 = CARTESIAN_POINT('NONE', (0.049, 0.05, 0.05));
#37 = VERTEX_POINT('NONE', #36);
#38 = CARTESIAN_POINT('NONE', (0.049, -0.05, 0.049999999999999996));
#39 = VERTEX_POINT('NONE', #38);
#40 = CARTESIAN_POINT('NONE', (0.05, -0.05, 0.049999999999999996));
#41 = VERTEX_POINT('NONE', #40);
#42 = CARTESIAN_POINT('NONE', (0.05, 0.05, 0.05));
#43 = VERTEX_POINT('NONE', #42);
#44 = CARTESIAN_POINT('NONE', (0.049, -0.05, -0.05000000000000001));
#45 = VERTEX_POINT('NONE', #44);
#46 = CARTESIAN_POINT('NONE', (0.05, -0.05, -0.05000000000000001));
#47 = VERTEX_POINT('NONE', #46);
#48 = CARTESIAN_POINT('NONE', (0.049, 0.05, -0.05));
#49 = VERTEX_POINT('NONE', #48);
#50 = CARTESIAN_POINT('NONE', (0.05, 0.05, -0.05));
#51 = VERTEX_POINT('NONE', #50);
#52 = CARTESIAN_POINT('NONE', (-0.05, 0.05, -0.05));
#53 = VERTEX_POINT('NONE', #52);
#54 = CARTESIAN_POINT('NONE', (-0.049999999999999996, -0.05, -0.05));
#55 = VERTEX_POINT('NONE', #54);
#56 = CARTESIAN_POINT('NONE', (-0.049999999999999996, -0.05, -0.049));
#57 = VERTEX_POINT('NONE', #56);
#58 = CARTESIAN_POINT('NONE', (-0.05, 0.05, -0.049));
#59 = VERTEX_POINT('NONE', #58);
#60 = CARTESIAN_POINT('NONE', (0.05000000000000001, -0.05, -0.05));
#61 = VERTEX_POINT('NONE', #60);
#62 = CARTESIAN_POINT('NONE', (0.05000000000000001, -0.05, -0.049));
#63 = VERTEX_POINT('NONE', #62);
#64 = CARTESIAN_POINT('NONE', (0.05, 0.05, -0.05));
#65 = VERTEX_POINT('NONE', #64);
#66 = CARTESIAN_POINT('NONE', (0.05, 0.05, -0.049));
#67 = VERTEX_POINT('NONE', #66);
#68 = CARTESIAN_POINT('NONE', (-0.05, -0.05, -0.05));
#69 = VERTEX_POINT('NONE', #68);
#70 = CARTESIAN_POINT('NONE', (-0.049999999999999996, -0.05, 0.05));
#71 = VERTEX_POINT('NONE', #70);
#72 = CARTESIAN_POINT('NONE', (-0.049999999999999996, -0.049, 0.05));
#73 = VERTEX_POINT('NONE', #72);
#74 = CARTESIAN_POINT('NONE', (-0.05, -0.049, -0.05));
#75 = VERTEX_POINT('NONE', #74);
#76 = CARTESIAN_POINT('NONE', (0.05000000000000001, -0.05, 0.05));
#77 = VERTEX_POINT('NONE', #76);
#78 = CARTESIAN_POINT('NONE', (0.05000000000000001, -0.049, 0.05));
#79 = VERTEX_POINT('NONE', #78);
#80 = CARTESIAN_POINT('NONE', (0.05, -0.05, -0.05));
#81 = VERTEX_POINT('NONE', #80);
#82 = CARTESIAN_POINT('NONE', (0.05, -0.049, -0.05));
#83 = VERTEX_POINT('NONE', #82);
#84 = CARTESIAN_POINT('NONE', (-0.05, 0.05, -0.05));
#85 = VERTEX_POINT('NONE', #84);
#86 = CARTESIAN_POINT('NONE', (-0.049999999999999996, 0.05, 0.05));
#87 = VERTEX_POINT('NONE', #86);
#88 = CARTESIAN_POINT('NONE', (-0.049999999999999996, 0.051, 0.05));
#89 = VERTEX_POINT('NONE', #88);
#90 = CARTESIAN_POINT('NONE', (-0.05, 0.051, -0.05));
#91 = VERTEX_POINT('NONE', #90);
#92 = CARTESIAN_POINT('NONE', (0.05000000000000001, 0.05, 0.05));
#93 = VERTEX_POINT('NONE', #92);
#94 = CARTESIAN_POINT('NONE', (0.05000000000000001, 0.051, 0.05));
#95 = VERTEX_POINT('NONE', #94);
#96 = CARTESIAN_POINT('NONE', (0.05, 0.05, -0.05));
#97 = VERTEX_POINT('NONE', #96);
#98 = CARTESIAN_POINT('NONE', (0.05, 0.051, -0.05));
#99 = VERTEX_POINT('NONE', #98);
#100 = DIRECTION('NONE', (-0.00000000000000006938893903907228, -1, 0));
#101 = VECTOR('NONE', #100, 1);
#102 = CARTESIAN_POINT('NONE', (0.05, 0.05, 0.05));
#103 = LINE('NONE', #102, #101);
#104 = DIRECTION('NONE', (0, 0, -1));
#105 = VECTOR('NONE', #104, 1);
#106 = CARTESIAN_POINT('NONE', (0.049999999999999996, -0.05, 0.05));
#107 = LINE('NONE', #106, #105);
#108 = DIRECTION('NONE', (-0.00000000000000006938893903907228, -1, 0));
#109 = VECTOR('NONE', #108, 1);
#110 = CARTESIAN_POINT('NONE', (0.05, 0.05, 0.049));
#111 = LINE('NONE', #110, #109);
#112 = DIRECTION('NONE', (0, 0, -1));
#113 = VECTOR('NONE', #112, 1);
#114 = CARTESIAN_POINT('NONE', (0.05, 0.05, 0.05));
#115 = LINE('NONE', #114, #113);
#116 = DIRECTION('NONE', (-1, 0, 0));
#117 = VECTOR('NONE', #116, 1);
#118 = CARTESIAN_POINT('NONE', (0.049999999999999996, -0.05, 0.05));
#119 = LINE('NONE', #118, #117);
#120 = DIRECTION('NONE', (0, 0, -1));
#121 = VECTOR('NONE', #120, 1);
#122 = CARTESIAN_POINT('NONE', (-0.05000000000000001, -0.05, 0.05));
#123 = LINE('NONE', #122, #121);
#124 = DIRECTION('NONE', (-1, 0, 0));
#125 = VECTOR('NONE', #124, 1);
#126 = CARTESIAN_POINT('NONE', (0.049999999999999996, -0.05, 0.049));
#127 = LINE('NONE', #126, #125);
#128 = DIRECTION('NONE', (0.00000000000000006938893903907228, 1, 0));
#129 = VECTOR('NONE', #128, 1);
#130 = CARTESIAN_POINT('NONE', (-0.05000000000000001, -0.05, 0.05));
#131 = LINE('NONE', #130, #129);
#132 = DIRECTION('NONE', (0, 0, -1));
#133 = VECTOR('NONE', #132, 1);
#134 = CARTESIAN_POINT('NONE', (-0.05, 0.05, 0.05));
#135 = LINE('NONE', #134, #133);
#136 = DIRECTION('NONE', (0.00000000000000006938893903907228, 1, 0));
#137 = VECTOR('NONE', #136, 1);
#138 = CARTESIAN_POINT('NONE', (-0.05000000000000001, -0.05, 0.049));
#139 = LINE('NONE', #138, #137);
#140 = DIRECTION('NONE', (1, 0, 0));
#141 = VECTOR('NONE', #140, 1);
#142 = CARTESIAN_POINT('NONE', (-0.05, 0.05, 0.05));
#143 = LINE('NONE', #142, #141);
#144 = DIRECTION('NONE', (1, 0, 0));
#145 = VECTOR('NONE', #144, 1);
#146 = CARTESIAN_POINT('NONE', (-0.05, 0.05, 0.049));
#147 = LINE('NONE', #146, #145);
#148 = DIRECTION('NONE', (0, -1, -0.00000000000000006938893903907228));
#149 = VECTOR('NONE', #148, 1);
#150 = CARTESIAN_POINT('NONE', (-0.05, 0.05, 0.05));
#151 = LINE('NONE', #150, #149);
#152 = DIRECTION('NONE', (1, 0, 0));
#153 = VECTOR('NONE', #152, 1);
#154 = CARTESIAN_POINT('NONE', (-0.05, -0.05, 0.049999999999999996));
#155 = LINE('NONE', #154, #153);
#156 = DIRECTION('NONE', (0, -1, -0.00000000000000006938893903907228));
#157 = VECTOR('NONE', #156, 1);
#158 = CARTESIAN_POINT('NONE', (-0.049, 0.05, 0.05));
#159 = LINE('NONE', #158, #157);
#160 = DIRECTION('NONE', (1, 0, 0));
#161 = VECTOR('NONE', #160, 1);
#162 = CARTESIAN_POINT('NONE', (-0.05, 0.05, 0.05));
#163 = LINE('NONE', #162, #161);
#164 = DIRECTION('NONE', (0, 0, -1));
#165 = VECTOR('NONE', #164, 1);
#166 = CARTESIAN_POINT('NONE', (-0.05, -0.05, 0.049999999999999996));
#167 = LINE('NONE', #166, #165);
#168 = DIRECTION('NONE', (1, 0, 0));
#169 = VECTOR('NONE', #168, 1);
#170 = CARTESIAN_POINT('NONE', (-0.05, -0.05, -0.05000000000000001));
#171 = LINE('NONE', #170, #169);
#172 = DIRECTION('NONE', (0, 0, -1));
#173 = VECTOR('NONE', #172, 1);
#174 = CARTESIAN_POINT('NONE', (-0.049, -0.05, 0.049999999999999996));
#175 = LINE('NONE', #174, #173);
#176 = DIRECTION('NONE', (0, 1, 0.00000000000000006938893903907228));
#177 = VECTOR('NONE', #176, 1);
#178 = CARTESIAN_POINT('NONE', (-0.05, -0.05, -0.05000000000000001));
#179 = LINE('NONE', #178, #177);
#180 = DIRECTION('NONE', (1, 0, 0));
#181 = VECTOR('NONE', #180, 1);
#182 = CARTESIAN_POINT('NONE', (-0.05, 0.05, -0.05));
#183 = LINE('NONE', #182, #181);
#184 = DIRECTION('NONE', (0, 1, 0.00000000000000006938893903907228));
#185 = VECTOR('NONE', #184, 1);
#186 = CARTESIAN_POINT('NONE', (-0.049, -0.05, -0.05000000000000001));
#187 = LINE('NONE', #186, #185);
#188 = DIRECTION('NONE', (0, 0, 1));
#189 = VECTOR('NONE', #188, 1);
#190 = CARTESIAN_POINT('NONE', (-0.05, 0.05, -0.05));
#191 = LINE('NONE', #190, #189);
#192 = DIRECTION('NONE', (0, 0, 1));
#193 = VECTOR('NONE', #192, 1);
#194 = CARTESIAN_POINT('NONE', (-0.049, 0.05, -0.05));
#195 = LINE('NONE', #194, #193);
#196 = DIRECTION('NONE', (0, -1, -0.00000000000000006938893903907228));
#197 = VECTOR('NONE', #196, 1);
#198 = CARTESIAN_POINT('NONE', (0.049, 0.05, 0.05));
#199 = LINE('NONE', #198, #197);
#200 = DIRECTION('NONE', (1, 0, 0));
#201 = VECTOR('NONE', #200, 1);
#202 = CARTESIAN_POINT('NONE', (0.049, -0.05, 0.049999999999999996));
#203 = LINE('NONE', #202, #201);
#204 = DIRECTION('NONE', (0, -1, -0.00000000000000006938893903907228));
#205 = VECTOR('NONE', #204, 1);
#206 = CARTESIAN_POINT('NONE', (0.05, 0.05, 0.05));
#207 = LINE('NONE', #206, #205);
#208 = DIRECTION('NONE', (1, 0, 0));
#209 = VECTOR('NONE', #208, 1);
#210 = CARTESIAN_POINT('NONE', (0.049, 0.05, 0.05));
#211 = LINE('NONE', #210, #209);
#212 = DIRECTION('NONE', (0, 0, -1));
#213 = VECTOR('NONE', #212, 1);
#214 = CARTESIAN_POINT('NONE', (0.049, -0.05, 0.049999999999999996));
#215 = LINE('NONE', #214, #213);
#216 = DIRECTION('NONE', (1, 0, 0));
#217 = VECTOR('NONE', #216, 1);
#218 = CARTESIAN_POINT('NONE', (0.049, -0.05, -0.05000000000000001));
#219 = LINE('NONE', #218, #217);
#220 = DIRECTION('NONE', (0, 0, -1));
#221 = VECTOR('NONE', #220, 1);
#222 = CARTESIAN_POINT('NONE', (0.05, -0.05, 0.049999999999999996));
#223 = LINE('NONE', #222, #221);
#224 = DIRECTION('NONE', (0, 1, 0.00000000000000006938893903907228));
#225 = VECTOR('NONE', #224, 1);
#226 = CARTESIAN_POINT('NONE', (0.049, -0.05, -0.05000000000000001));
#227 = LINE('NONE', #226, #225);
#228 = DIRECTION('NONE', (1, 0, 0));
#229 = VECTOR('NONE', #228, 1);
#230 = CARTESIAN_POINT('NONE', (0.049, 0.05, -0.05));
#231 = LINE('NONE', #230, #229);
#232 = DIRECTION('NONE', (0, 1, 0.00000000000000006938893903907228));
#233 = VECTOR('NONE', #232, 1);
#234 = CARTESIAN_POINT('NONE', (0.05, -0.05, -0.05000000000000001));
#235 = LINE('NONE', #234, #233);
#236 = DIRECTION('NONE', (0, 0, 1));
#237 = VECTOR('NONE', #236, 1);
#238 = CARTESIAN_POINT('NONE', (0.049, 0.05, -0.05));
#239 = LINE('NONE', #238, #237);
#240 = DIRECTION('NONE', (0, 0, 1));
#241 = VECTOR('NONE', #240, 1);
#242 = CARTESIAN_POINT('NONE', (0.05, 0.05, -0.05));
#243 = LINE('NONE', #242, #241);
#244 = DIRECTION('NONE', (0.00000000000000006938893903907228, -1, 0));
#245 = VECTOR('NONE', #244, 1);
#246 = CARTESIAN_POINT('NONE', (-0.05, 0.05, -0.05));
#247 = LINE('NONE', #246, #245);
#248 = DIRECTION('NONE', (0, 0, 1));
#249 = VECTOR('NONE', #248, 1);
#250 = CARTESIAN_POINT('NONE', (-0.049999999999999996, -0.05, -0.05));
#251 = LINE('NONE', #250, #249);
#252 = DIRECTION('NONE', (0.00000000000000006938893903907228, -1, 0));
#253 = VECTOR('NONE', #252, 1);
#254 = CARTESIAN_POINT('NONE', (-0.05, 0.05, -0.049));
#255 = LINE('NONE', #254, #253);
#256 = DIRECTION('NONE', (0, 0, 1));
#257 = VECTOR('NONE', #256, 1);
#258 = CARTESIAN_POINT('NONE', (-0.05, 0.05, -0.05));
#259 = LINE('NONE', #258, #257);
#260 = DIRECTION('NONE', (1, 0, 0));
#261 = VECTOR('NONE', #260, 1);
#262 = CARTESIAN_POINT('NONE', (-0.049999999999999996, -0.05, -0.05));
#263 = LINE('NONE', #262, #261);
#264 = DIRECTION('NONE', (0, 0, 1));
#265 = VECTOR('NONE', #264, 1);
#266 = CARTESIAN_POINT('NONE', (0.05000000000000001, -0.05, -0.05));
#267 = LINE('NONE', #266, #265);
#268 = DIRECTION('NONE', (1, 0, 0));
#269 = VECTOR('NONE', #268, 1);
#270 = CARTESIAN_POINT('NONE', (-0.049999999999999996, -0.05, -0.049));
#271 = LINE('NONE', #270, #269);
#272 = DIRECTION('NONE', (-0.00000000000000006938893903907228, 1, 0));
#273 = VECTOR('NONE', #272, 1);
#274 = CARTESIAN_POINT('NONE', (0.05000000000000001, -0.05, -0.05));
#275 = LINE('NONE', #274, #273);
#276 = DIRECTION('NONE', (0, 0, 1));
#277 = VECTOR('NONE', #276, 1);
#278 = CARTESIAN_POINT('NONE', (0.05, 0.05, -0.05));
#279 = LINE('NONE', #278, #277);
#280 = DIRECTION('NONE', (-0.00000000000000006938893903907228, 1, 0));
#281 = VECTOR('NONE', #280, 1);
#282 = CARTESIAN_POINT('NONE', (0.05000000000000001, -0.05, -0.049));
#283 = LINE('NONE', #282, #281);
#284 = DIRECTION('NONE', (-1, 0, 0));
#285 = VECTOR('NONE', #284, 1);
#286 = CARTESIAN_POINT('NONE', (0.05, 0.05, -0.05));
#287 = LINE('NONE', #286, #285);
#288 = DIRECTION('NONE', (-1, 0, 0));
#289 = VECTOR('NONE', #288, 1);
#290 = CARTESIAN_POINT('NONE', (0.05, 0.05, -0.049));
#291 = LINE('NONE', #290, #289);
#292 = DIRECTION('NONE', (0.00000000000000006938893903907228, 0, 1));
#293 = VECTOR('NONE', #292, 1);
#294 = CARTESIAN_POINT('NONE', (-0.05, -0.05, -0.05));
#295 = LINE('NONE', #294, #293);
#296 = DIRECTION('NONE', (0, 1, 0));
#297 = VECTOR('NONE', #296, 1);
#298 = CARTESIAN_POINT('NONE', (-0.049999999999999996, -0.05, 0.05));
#299 = LINE('NONE', #298, #297);
#300 = DIRECTION('NONE', (0.00000000000000006938893903907228, 0, 1));
#301 = VECTOR('NONE', #300, 1);
#302 = CARTESIAN_POINT('NONE', (-0.05, -0.049, -0.05));
#303 = LINE('NONE', #302, #301);
#304 = DIRECTION('NONE', (0, 1, 0));
#305 = VECTOR('NONE', #304, 1);
#306 = CARTESIAN_POINT('NONE', (-0.05, -0.05, -0.05));
#307 = LINE('NONE', #306, #305);
#308 = DIRECTION('NONE', (1, 0, 0));
#309 = VECTOR('NONE', #308, 1);
#310 = CARTESIAN_POINT('NONE', (-0.049999999999999996, -0.05, 0.05));
#311 = LINE('NONE', #310, #309);
#312 = DIRECTION('NONE', (0, 1, 0));
#313 = VECTOR('NONE', #312, 1);
#314 = CARTESIAN_POINT('NONE', (0.05000000000000001, -0.05, 0.05));
#315 = LINE('NONE', #314, #313);
#316 = DIRECTION('NONE', (1, 0, 0));
#317 = VECTOR('NONE', #316, 1);
#318 = CARTESIAN_POINT('NONE', (-0.049999999999999996, -0.049, 0.05));
#319 = LINE('NONE', #318, #317);
#320 = DIRECTION('NONE', (-0.00000000000000006938893903907228, 0, -1));
#321 = VECTOR('NONE', #320, 1);
#322 = CARTESIAN_POINT('NONE', (0.05000000000000001, -0.05, 0.05));
#323 = LINE('NONE', #322, #321);
#324 = DIRECTION('NONE', (0, 1, 0));
#325 = VECTOR('NONE', #324, 1);
#326 = CARTESIAN_POINT('NONE', (0.05, -0.05, -0.05));
#327 = LINE('NONE', #326, #325);
#328 = DIRECTION('NONE', (-0.00000000000000006938893903907228, 0, -1));
#329 = VECTOR('NONE', #328, 1);
#330 = CARTESIAN_POINT('NONE', (0.05000000000000001, -0.049, 0.05));
#331 = LINE('NONE', #330, #329);
#332 = DIRECTION('NONE', (-1, 0, 0));
#333 = VECTOR('NONE', #332, 1);
#334 = CARTESIAN_POINT('NONE', (0.05, -0.05, -0.05));
#335 = LINE('NONE', #334, #333);
#336 = DIRECTION('NONE', (-1, 0, 0));
#337 = VECTOR('NONE', #336, 1);
#338 = CARTESIAN_POINT('NONE', (0.05, -0.049, -0.05));
#339 = LINE('NONE', #338, #337);
#340 = DIRECTION('NONE', (0.00000000000000006938893903907228, 0, 1));
#341 = VECTOR('NONE', #340, 1);
#342 = CARTESIAN_POINT('NONE', (-0.05, 0.05, -0.05));
#343 = LINE('NONE', #342, #341);
#344 = DIRECTION('NONE', (0, 1, 0));
#345 = VECTOR('NONE', #344, 1);
#346 = CARTESIAN_POINT('NONE', (-0.049999999999999996, 0.05, 0.05));
#347 = LINE('NONE', #346, #345);
#348 = DIRECTION('NONE', (0.00000000000000006938893903907228, 0, 1));
#349 = VECTOR('NONE', #348, 1);
#350 = CARTESIAN_POINT('NONE', (-0.05, 0.051, -0.05));
#351 = LINE('NONE', #350, #349);
#352 = DIRECTION('NONE', (0, 1, 0));
#353 = VECTOR('NONE', #352, 1);
#354 = CARTESIAN_POINT('NONE', (-0.05, 0.05, -0.05));
#355 = LINE('NONE', #354, #353);
#356 = DIRECTION('NONE', (1, 0, 0));
#357 = VECTOR('NONE', #356, 1);
#358 = CARTESIAN_POINT('NONE', (-0.049999999999999996, 0.05, 0.05));
#359 = LINE('NONE', #358, #357);
#360 = DIRECTION('NONE', (0, 1, 0));
#361 = VECTOR('NONE', #360, 1);
#362 = CARTESIAN_POINT('NONE', (0.05000000000000001, 0.05, 0.05));
#363 = LINE('NONE', #362, #361);
#364 = DIRECTION('NONE', (1, 0, 0));
#365 = VECTOR('NONE', #364, 1);
#366 = CARTESIAN_POINT('NONE', (-0.049999999999999996, 0.051, 0.05));
#367 = LINE('NONE', #366, #365);
#368 = DIRECTION('NONE', (-0.00000000000000006938893903907228, 0, -1));
#369 = VECTOR('NONE', #368, 1);
#370 = CARTESIAN_POINT('NONE', (0.05000000000000001, 0.05, 0.05));
#371 = LINE('NONE', #370, #369);
#372 = DIRECTION('NONE', (0, 1, 0));
#373 = VECTOR('NONE', #372, 1);
#374 = CARTESIAN_POINT('NONE', (0.05, 0.05, -0.05));
#375 = LINE('NONE', #374, #373);
#376 = DIRECTION('NONE', (-0.00000000000000006938893903907228, 0, -1));
#377 = VECTOR('NONE', #376, 1);
#378 = CARTESIAN_POINT('NONE', (0.05000000000000001, 0.051, 0.05));
#379 = LINE('NONE', #378, #377);
#380 = DIRECTION('NONE', (-1, 0, 0));
#381 = VECTOR('NONE', #380, 1);
#382 = CARTESIAN_POINT('NONE', (0.05, 0.05, -0.05));
#383 = LINE('NONE', #382, #381);
#384 = DIRECTION('NONE', (-1, 0, 0));
#385 = VECTOR('NONE', #384, 1);
#386 = CARTESIAN_POINT('NONE', (0.05, 0.051, -0.05));
#387 = LINE('NONE', #386, #385);
#388 = EDGE_CURVE('NONE', #5, #7, #103, .T.);
#389 = EDGE_CURVE('NONE', #7, #9, #107, .T.);
#390 = EDGE_CURVE('NONE', #11, #9, #111, .T.);
#391 = EDGE_CURVE('NONE', #5, #11, #115, .T.);
#392 = EDGE_CURVE('NONE', #7, #13, #119, .T.);
#393 = EDGE_CURVE('NONE', #13, #15, #123, .T.);
#394 = EDGE_CURVE('NONE', #9, #15, #127, .T.);
#395 = EDGE_CURVE('NONE', #13, #17, #131, .T.);
#396 = EDGE_CURVE('NONE', #17, #19, #135, .T.);
#397 = EDGE_CURVE('NONE', #15, #19, #139, .T.);
#398 = EDGE_CURVE('NONE', #17, #5, #143, .T.);
#399 = EDGE_CURVE('NONE', #19, #11, #147, .T.);
#400 = EDGE_CURVE('NONE', #21, #23, #151, .T.);
#401 = EDGE_CURVE('NONE', #23, #25, #155, .T.);
#402 = EDGE_CURVE('NONE', #27, #25, #159, .T.);
#403 = EDGE_CURVE('NONE', #21, #27, #163, .T.);
#404 = EDGE_CURVE('NONE', #23, #29, #167, .T.);
#405 = EDGE_CURVE('NONE', #29, #31, #171, .T.);
#406 = EDGE_CURVE('NONE', #25, #31, #175, .T.);
#407 = EDGE_CURVE('NONE', #29, #33, #179, .T.);
#408 = EDGE_CURVE('NONE', #33, #35, #183, .T.);
#409 = EDGE_CURVE('NONE', #31, #35, #187, .T.);
#410 = EDGE_CURVE('NONE', #33, #21, #191, .T.);
#411 = EDGE_CURVE('NONE', #35, #27, #195, .T.);
#412 = EDGE_CURVE('NONE', #37, #39, #199, .T.);
#413 = EDGE_CURVE('NONE', #39, #41, #203, .T.);
#414 = EDGE_CURVE('NONE', #43, #41, #207, .T.);
#415 = EDGE_CURVE('NONE', #37, #43, #211, .T.);
#416 = EDGE_CURVE('NONE', #39, #45, #215, .T.);
#417 = EDGE_CURVE('NONE', #45, #47, #219, .T.);
#418 = EDGE_CURVE('NONE', #41, #47, #223, .T.);
#419 = EDGE_CURVE('NONE', #45, #49, #227, .T.);
#420 = EDGE_CURVE('NONE', #49, #51, #231, .T.);
#421 = EDGE_CURVE('NONE', #47, #51, #235, .T.);
#422 = EDGE_CURVE('NONE', #49, #37, #239, .T.);
#423 = EDGE_CURVE('NONE', #51, #43, #243, .T.);
#424 = EDGE_CURVE('NONE', #53, #55, #247, .T.);
#425 = EDGE_CURVE('NONE', #55, #57, #251, .T.);
#426 = EDGE_CURVE('NONE', #59, #57, #255, .T.);
#427 = EDGE_CURVE('NONE', #53, #59, #259, .T.);
#428 = EDGE_CURVE('NONE', #55, #61, #263, .T.);
#429 = EDGE_CURVE('NONE', #61, #63, #267, .T.);
#430 = EDGE_CURVE('NONE', #57, #63, #271, .T.);
#431 = EDGE_CURVE('NONE', #61, #65, #275, .T.);
#432 = EDGE_CURVE('NONE', #65, #67, #279, .T.);
#433 = EDGE_CURVE('NONE', #63, #67, #283, .T.);
#434 = EDGE_CURVE('NONE', #65, #53, #287, .T.);
#435 = EDGE_CURVE('NONE', #67, #59, #291, .T.);
#436 = EDGE_CURVE('NONE', #69, #71, #295, .T.);
#437 = EDGE_CURVE('NONE', #71, #73, #299, .T.);
#438 = EDGE_CURVE('NONE', #75, #73, #303, .T.);
#439 = EDGE_CURVE('NONE', #69, #75, #307, .T.);
#440 = EDGE_CURVE('NONE', #71, #77, #311, .T.);
#441 = EDGE_CURVE('NONE', #77, #79, #315, .T.);
#442 = EDGE_CURVE('NONE', #73, #79, #319, .T.);
#443 = EDGE_CURVE('NONE', #77, #81, #323, .T.);
#444 = EDGE_CURVE('NONE', #81, #83, #327, .T.);
#445 = EDGE_CURVE('NONE', #79, #83, #331, .T.);
#446 = EDGE_CURVE('NONE', #81, #69, #335, .T.);
#447 = EDGE_CURVE('NONE', #83, #75, #339, .T.);
#448 = EDGE_CURVE('NONE', #85, #87, #343, .T.);
#449 = EDGE_CURVE('NONE', #87, #89, #347, .T.);
#450 = EDGE_CURVE('NONE', #91, #89, #351, .T.);
#451 = EDGE_CURVE('NONE', #85, #91, #355, .T.);
#452 = EDGE_CURVE('NONE', #87, #93, #359, .T.);
#453 = EDGE_CURVE('NONE', #93, #95, #363, .T.);
#454 = EDGE_CURVE('NONE', #89, #95, #367, .T.);
#455 = EDGE_CURVE('NONE', #93, #97, #371, .T.);
#456 = EDGE_CURVE('NONE', #97, #99, #375, .T.);
#457 = EDGE_CURVE('NONE', #95, #99, #379, .T.);
#458 = EDGE_CURVE('NONE', #97, #85, #383, .T.);
#459 = EDGE_CURVE('NONE', #99, #91, #387, .T.);
#460 = CARTESIAN_POINT('NONE', (0.05, 0, 0.0495));
#461 = DIRECTION('NONE', (1, 0, 0));
#462 = AXIS2_PLACEMENT_3D('NONE', #460, #461, $);
#463 = PLANE('NONE', #462);
#464 = CARTESIAN_POINT('NONE', (-0.000000000000000007105427357601002, -0.05, 0.0495));
#465 = DIRECTION('NONE', (0, -1, -0));
#466 = AXIS2_PLACEMENT_3D('NONE', #464, #465, $);
#467 = PLANE('NONE', #466);
#468 = CARTESIAN_POINT('NONE', (-0.05, 0, 0.0495));
#469 = DIRECTION('NONE', (-1, 0, -0));
#470 = AXIS2_PLACEMENT_3D('NONE', #468, #469, $);
#471 = PLANE('NONE', #470);
#472 = CARTESIAN_POINT('NONE', (0, 0.05, 0.0495));
#473 = DIRECTION('NONE', (0, 1, 0));
#474 = AXIS2_PLACEMENT_3D('NONE', #472, #473, $);
#475 = PLANE('NONE', #474);
#476 = CARTESIAN_POINT('NONE', (0, 0, 0.05));
#477 = DIRECTION('NONE', (0, -0, -1));
#478 = AXIS2_PLACEMENT_3D('NONE', #476, #477, $);
#479 = PLANE('NONE', #478);
#480 = CARTESIAN_POINT('NONE', (0, 0, 0.049));
#481 = DIRECTION('NONE', (0, -0, -1));
#482 = AXIS2_PLACEMENT_3D('NONE', #480, #481, $);
#483 = PLANE('NONE', #482);
#484 = CARTESIAN_POINT('NONE', (-0.0495, 0, 0.05));
#485 = DIRECTION('NONE', (0, 0, 1));
#486 = AXIS2_PLACEMENT_3D('NONE', #484, #485, $);
#487 = PLANE('NONE', #486);
#488 = CARTESIAN_POINT('NONE', (-0.0495, -0.05, -0.000000000000000007105427357601002));
#489 = DIRECTION('NONE', (0, -1, 0));
#490 = AXIS2_PLACEMENT_3D('NONE', #488, #489, $);
#491 = PLANE('NONE', #490);
#492 = CARTESIAN_POINT('NONE', (-0.0495, 0, -0.05));
#493 = DIRECTION('NONE', (0, 0, -1));
#494 = AXIS2_PLACEMENT_3D('NONE', #492, #493, $);
#495 = PLANE('NONE', #494);
#496 = CARTESIAN_POINT('NONE', (-0.0495, 0.05, -0));
#497 = DIRECTION('NONE', (-0, 1, 0));
#498 = AXIS2_PLACEMENT_3D('NONE', #496, #497, $);
#499 = PLANE('NONE', #498);
#500 = CARTESIAN_POINT('NONE', (-0.05, 0, -0));
#501 = DIRECTION('NONE', (1, 0, 0));
#502 = AXIS2_PLACEMENT_3D('NONE', #500, #501, $);
#503 = PLANE('NONE', #502);
#504 = CARTESIAN_POINT('NONE', (-0.049, 0, -0));
#505 = DIRECTION('NONE', (1, 0, 0));
#506 = AXIS2_PLACEMENT_3D('NONE', #504, #505, $);
#507 = PLANE('NONE', #506);
#508 = CARTESIAN_POINT('NONE', (0.0495, 0, 0.05));
#509 = DIRECTION('NONE', (0, 0, 1));
#510 = AXIS2_PLACEMENT_3D('NONE', #508, #509, $);
#511 = PLANE('NONE', #510);
#512 = CARTESIAN_POINT('NONE', (0.0495, -0.05, -0.000000000000000007105427357601002));
#513 = DIRECTION('NONE', (0, -1, 0));
#514 = AXIS2_PLACEMENT_3D('NONE', #512, #513, $);
#515 = PLANE('NONE', #514);
#516 = CARTESIAN_POINT('NONE', (0.0495, 0, -0.05));
#517 = DIRECTION('NONE', (0, 0, -1));
#518 = AXIS2_PLACEMENT_3D('NONE', #516, #517, $);
#519 = PLANE('NONE', #518);
#520 = CARTESIAN_POINT('NONE', (0.0495, 0.05, -0));
#521 = DIRECTION('NONE', (-0, 1, 0));
#522 = AXIS2_PLACEMENT_3D('NONE', #520, #521, $);
#523 = PLANE('NONE', #522);
#524 = CARTESIAN_POINT('NONE', (0.049, 0, -0));
#525 = DIRECTION('NONE', (1, 0, 0));
#526 = AXIS2_PLACEMENT_3D('NONE', #524, #525, $);
#527 = PLANE('NONE', #526);
#528 = CARTESIAN_POINT('NONE', (0.05, 0, -0));
#529 = DIRECTION('NONE', (1, 0, 0));
#530 = AXIS2_PLACEMENT_3D('NONE', #528, #529, $);
#531 = PLANE('NONE', #530);
#532 = CARTESIAN_POINT('NONE', (-0.05, 0, -0.0495));
#533 = DIRECTION('NONE', (-1, -0, 0));
#534 = AXIS2_PLACEMENT_3D('NONE', #532, #533, $);
#535 = PLANE('NONE', #534);
#536 = CARTESIAN_POINT('NONE', (0.000000000000000007105427357601002, -0.05, -0.0495));
#537 = DIRECTION('NONE', (0, -1, 0));
#538 = AXIS2_PLACEMENT_3D('NONE', #536, #537, $);
#539 = PLANE('NONE', #538);
#540 = CARTESIAN_POINT('NONE', (0.05, 0, -0.0495));
#541 = DIRECTION('NONE', (1, -0, 0));
#542 = AXIS2_PLACEMENT_3D('NONE', #540, #541, $);
#543 = PLANE('NONE', #542);
#544 = CARTESIAN_POINT('NONE', (0, 0.05, -0.0495));
#545 = DIRECTION('NONE', (0, 1, -0));
#546 = AXIS2_PLACEMENT_3D('NONE', #544, #545, $);
#547 = PLANE('NONE', #546);
#548 = CARTESIAN_POINT('NONE', (0, 0, -0.05));
#549 = DIRECTION('NONE', (0, 0, 1));
#550 = AXIS2_PLACEMENT_3D('NONE', #548, #549, $);
#551 = PLANE('NONE', #550);
#552 = CARTESIAN_POINT('NONE', (0, 0, -0.049));
#553 = DIRECTION('NONE', (0, 0, 1));
#554 = AXIS2_PLACEMENT_3D('NONE', #552, #553, $);
#555 = PLANE('NONE', #554);
#556 = CARTESIAN_POINT('NONE', (-0.05, -0.0495, -0));
#557 = DIRECTION('NONE', (-1, 0, 0));
#558 = AXIS2_PLACEMENT_3D('NONE', #556, #557, $);
#559 = PLANE('NONE', #558);
#560 = CARTESIAN_POINT('NONE', (0.000000000000000007105427357601002, -0.0495, 0.05));
#561 = DIRECTION('NONE', (0, 0, 1));
#562 = AXIS2_PLACEMENT_3D('NONE', #560, #561, $);
#563 = PLANE('NONE', #562);
#564 = CARTESIAN_POINT('NONE', (0.05, -0.0495, -0));
#565 = DIRECTION('NONE', (1, 0, 0));
#566 = AXIS2_PLACEMENT_3D('NONE', #564, #565, $);
#567 = PLANE('NONE', #566);
#568 = CARTESIAN_POINT('NONE', (0, -0.0495, -0.05));
#569 = DIRECTION('NONE', (0, -0, -1));
#570 = AXIS2_PLACEMENT_3D('NONE', #568, #569, $);
#571 = PLANE('NONE', #570);
#572 = CARTESIAN_POINT('NONE', (0, -0.05, -0));
#573 = DIRECTION('NONE', (0, 1, 0));
#574 = AXIS2_PLACEMENT_3D('NONE', #572, #573, $);
#575 = PLANE('NONE', #574);
#576 = CARTESIAN_POINT('NONE', (0, -0.049, -0));
#577 = DIRECTION('NONE', (0, 1, 0));
#578 = AXIS2_PLACEMENT_3D('NONE', #576, #577, $);
#579 = PLANE('NONE', #578);
#580 = CARTESIAN_POINT('NONE', (-0.05, 0.0505, -0));
#581 = DIRECTION('NONE', (-1, 0, 0));
#582 = AXIS2_PLACEMENT_3D('NONE', #580, #581, $);
#583 = PLANE('NONE', #582);
#584 = CARTESIAN_POINT('NONE', (0.000000000000000007105427357601002, 0.0505, 0.05));
#585 = DIRECTION('NONE', (0, 0, 1));
#586 = AXIS2_PLACEMENT_3D('NONE', #584, #585, $);
#587 = PLANE('NONE', #586);
#588 = CARTESIAN_POINT('NONE', (0.05, 0.0505, -0));
#589 = DIRECTION('NONE', (1, 0, 0));
#590 = AXIS2_PLACEMENT_3D('NONE', #588, #589, $);
#591 = PLANE('NONE', #590);
#592 = CARTESIAN_POINT('NONE', (0, 0.0505, -0.05));
#593 = DIRECTION('NONE', (0, -0, -1));
#594 = AXIS2_PLACEMENT_3D('NONE', #592, #593, $);
#595 = PLANE('NONE', #594);
#596 = CARTESIAN_POINT('NONE', (0, 0.05, -0));
#597 = DIRECTION('NONE', (0, 1, 0));
#598 = AXIS2_PLACEMENT_3D('NONE', #596, #597, $);
#599 = PLANE('NONE', #598);
#600 = CARTESIAN_POINT('NONE', (0, 0.051, -0));
#601 = DIRECTION('NONE', (0, 1, 0));
#602 = AXIS2_PLACEMENT_3D('NONE', #600, #601, $);
#603 = PLANE('NONE', #602);
#604 = ORIENTED_EDGE('NONE', *, *, #388, .T.);
#605 = ORIENTED_EDGE('NONE', *, *, #389, .T.);
#606 = ORIENTED_EDGE('NONE', *, *, #390, .F.);
#607 = ORIENTED_EDGE('NONE', *, *, #391, .F.);
#608 = EDGE_LOOP('NONE', (#604, #605, #606, #607));
#609 = FACE_BOUND('NONE', #608, .T.);
#610 = ADVANCED_FACE('NONE', (#609), #463, .T.);
#611 = ORIENTED_EDGE('NONE', *, *, #392, .T.);
#612 = ORIENTED_EDGE('NONE', *, *, #393, .T.);
#613 = ORIENTED_EDGE('NONE', *, *, #394, .F.);
#614 = ORIENTED_EDGE('NONE', *, *, #389, .F.);
#615 = EDGE_LOOP('NONE', (#611, #612, #613, #614));
#616 = FACE_BOUND('NONE', #615, .T.);
#617 = ADVANCED_FACE('NONE', (#616), #467, .T.);
#618 = ORIENTED_EDGE('NONE', *, *, #395, .T.);
#619 = ORIENTED_EDGE('NONE', *, *, #396, .T.);
#620 = ORIENTED_EDGE('NONE', *, *, #397, .F.);
#621 = ORIENTED_EDGE('NONE', *, *, #393, .F.);
#622 = EDGE_LOOP('NONE', (#618, #619, #620, #621));
#623 = FACE_BOUND('NONE', #622, .T.);
#624 = ADVANCED_FACE('NONE', (#623), #471, .T.);
#625 = ORIENTED_EDGE('NONE', *, *, #398, .T.);
#626 = ORIENTED_EDGE('NONE', *, *, #391, .T.);
#627 = ORIENTED_EDGE('NONE', *, *, #399, .F.);
#628 = ORIENTED_EDGE('NONE', *, *, #396, .F.);
#629 = EDGE_LOOP('NONE', (#625, #626, #627, #628));
#630 = FACE_BOUND('NONE', #629, .T.);
#631 = ADVANCED_FACE('NONE', (#630), #475, .T.);
#632 = ORIENTED_EDGE('NONE', *, *, #398, .F.);
#633 = ORIENTED_EDGE('NONE', *, *, #395, .F.);
#634 = ORIENTED_EDGE('NONE', *, *, #392, .F.);
#635 = ORIENTED_EDGE('NONE', *, *, #388, .F.);
#636 = EDGE_LOOP('NONE', (#632, #633, #634, #635));
#637 = FACE_BOUND('NONE', #636, .T.);
#638 = ADVANCED_FACE('NONE', (#637), #479, .F.);
#639 = ORIENTED_EDGE('NONE', *, *, #390, .T.);
#640 = ORIENTED_EDGE('NONE', *, *, #394, .T.);
#641 = ORIENTED_EDGE('NONE', *, *, #397, .T.);
#642 = ORIENTED_EDGE('NONE', *, *, #399, .T.);
#643 = EDGE_LOOP('NONE', (#639, #640, #641, #642));
#644 = FACE_BOUND('NONE', #643, .T.);
#645 = ADVANCED_FACE('NONE', (#644), #483, .T.);
#646 = ORIENTED_EDGE('NONE', *, *, #400, .T.);
#647 = ORIENTED_EDGE('NONE', *, *, #401, .T.);
#648 = ORIENTED_EDGE('NONE', *, *, #402, .F.);
#649 = ORIENTED_EDGE('NONE', *, *, #403, .F.);
#650 = EDGE_LOOP('NONE', (#646, #647, #648, #649));
#651 = FACE_BOUND('NONE', #650, .T.);
#652 = ADVANCED_FACE('NONE', (#651), #487, .T.);
#653 = ORIENTED_EDGE('NONE', *, *, #404, .T.);
#654 = ORIENTED_EDGE('NONE', *, *, #405, .T.);
#655 = ORIENTED_EDGE('NONE', *, *, #406, .F.);
#656 = ORIENTED_EDGE('NONE', *, *, #401, .F.);
#657 = EDGE_LOOP('NONE', (#653, #654, #655, #656));
#658 = FACE_BOUND('NONE', #657, .T.);
#659 = ADVANCED_FACE('NONE', (#658), #491, .T.);
#660 = ORIENTED_EDGE('NONE', *, *, #407, .T.);
#661 = ORIENTED_EDGE('NONE', *, *, #408, .T.);
#662 = ORIENTED_EDGE('NONE', *, *, #409, .F.);
#663 = ORIENTED_EDGE('NONE', *, *, #405, .F.);
#664 = EDGE_LOOP('NONE', (#660, #661, #662, #663));
#665 = FACE_BOUND('NONE', #664, .T.);
#666 = ADVANCED_FACE('NONE', (#665), #495, .T.);
#667 = ORIENTED_EDGE('NONE', *, *, #410, .T.);
#668 = ORIENTED_EDGE('NONE', *, *, #403, .T.);
#669 = ORIENTED_EDGE('NONE', *, *, #411, .F.);
#670 = ORIENTED_EDGE('NONE', *, *, #408, .F.);
#671 = EDGE_LOOP('NONE', (#667, #668, #669, #670));
#672 = FACE_BOUND('NONE', #671, .T.);
#673 = ADVANCED_FACE('NONE', (#672), #499, .T.);
#674 = ORIENTED_EDGE('NONE', *, *, #410, .F.);
#675 = ORIENTED_EDGE('NONE', *, *, #407, .F.);
#676 = ORIENTED_EDGE('NONE', *, *, #404, .F.);
#677 = ORIENTED_EDGE('NONE', *, *, #400, .F.);
#678 = EDGE_LOOP('NONE', (#674, #675, #676, #677));
#679 = FACE_BOUND('NONE', #678, .T.);
#680 = ADVANCED_FACE('NONE', (#679), #503, .F.);
#681 = ORIENTED_EDGE('NONE', *, *, #402, .T.);
#682 = ORIENTED_EDGE('NONE', *, *, #406, .T.);
#683 = ORIENTED_EDGE('NONE', *, *, #409, .T.);
#684 = ORIENTED_EDGE('NONE', *, *, #411, .T.);
#685 = EDGE_LOOP('NONE', (#681, #682, #683, #684));
#686 = FACE_BOUND('NONE', #685, .T.);
#687 = ADVANCED_FACE('NONE', (#686), #507, .T.);
#688 = ORIENTED_EDGE('NONE', *, *, #412, .T.);
#689 = ORIENTED_EDGE('NONE', *, *, #413, .T.);
#690 = ORIENTED_EDGE('NONE', *, *, #414, .F.);
#691 = ORIENTED_EDGE('NONE', *, *, #415, .F.);
#692 = EDGE_LOOP('NONE', (#688, #689, #690, #691));
#693 = FACE_BOUND('NONE', #692, .T.);
#694 = ADVANCED_FACE('NONE', (#693), #511, .T.);
#695 = ORIENTED_EDGE('NONE', *, *, #416, .T.);
#696 = ORIENTED_EDGE('NONE', *, *, #417, .T.);
#697 = ORIENTED_EDGE('NONE', *, *, #418, .F.);
#698 = ORIENTED_EDGE('NONE', *, *, #413, .F.);
#699 = EDGE_LOOP('NONE', (#695, #696, #697, #698));
#700 = FACE_BOUND('NONE', #699, .T.);
#701 = ADVANCED_FACE('NONE', (#700), #515, .T.);
#702 = ORIENTED_EDGE('NONE', *, *, #419, .T.);
#703 = ORIENTED_EDGE('NONE', *, *, #420, .T.);
#704 = ORIENTED_EDGE('NONE', *, *, #421, .F.);
#705 = ORIENTED_EDGE('NONE', *, *, #417, .F.);
#706 = EDGE_LOOP('NONE', (#702, #703, #704, #705));
#707 = FACE_BOUND('NONE', #706, .T.);
#708 = ADVANCED_FACE('NONE', (#707), #519, .T.);
#709 = ORIENTED_EDGE('NONE', *, *, #422, .T.);
#710 = ORIENTED_EDGE('NONE', *, *, #415, .T.);
#711 = ORIENTED_EDGE('NONE', *, *, #423, .F.);
#712 = ORIENTED_EDGE('NONE', *, *, #420, .F.);
#713 = EDGE_LOOP('NONE', (#709, #710, #711, #712));
#714 = FACE_BOUND('NONE', #713, .T.);
#715 = ADVANCED_FACE('NONE', (#714), #523, .T.);
#716 = ORIENTED_EDGE('NONE', *, *, #422, .F.);
#717 = ORIENTED_EDGE('NONE', *, *, #419, .F.);
#718 = ORIENTED_EDGE('NONE', *, *, #416, .F.);
#719 = ORIENTED_EDGE('NONE', *, *, #412, .F.);
#720 = EDGE_LOOP('NONE', (#716, #717, #718, #719));
#721 = FACE_BOUND('NONE', #720, .T.);
#722 = ADVANCED_FACE('NONE', (#721), #527, .F.);
#723 = ORIENTED_EDGE('NONE', *, *, #414, .T.);
#724 = ORIENTED_EDGE('NONE', *, *, #418, .T.);
#725 = ORIENTED_EDGE('NONE', *, *, #421, .T.);
#726 = ORIENTED_EDGE('NONE', *, *, #423, .T.);
#727 = EDGE_LOOP('NONE', (#723, #724, #725, #726));
#728 = FACE_BOUND('NONE', #727, .T.);
#729 = ADVANCED_FACE('NONE', (#728), #531, .T.);
#730 = ORIENTED_EDGE('NONE', *, *, #424, .T.);
#731 = ORIENTED_EDGE('NONE', *, *, #425, .T.);
#732 = ORIENTED_EDGE('NONE', *, *, #426, .F.);
#733 = ORIENTED_EDGE('NONE', *, *, #427, .F.);
#734 = EDGE_LOOP('NONE', (#730, #731, #732, #733));
#735 = FACE_BOUND('NONE', #734, .T.);
#736 = ADVANCED_FACE('NONE', (#735), #535, .T.);
#737 = ORIENTED_EDGE('NONE', *, *, #428, .T.);
#738 = ORIENTED_EDGE('NONE', *, *, #429, .T.);
#739 = ORIENTED_EDGE('NONE', *, *, #430, .F.);
#740 = ORIENTED_EDGE('NONE', *, *, #425, .F.);
#741 = EDGE_LOOP('NONE', (#737, #738, #739, #740));
#742 = FACE_BOUND('NONE', #741, .T.);
#743 = ADVANCED_FACE('NONE', (#742), #539, .T.);
#744 = ORIENTED_EDGE('NONE', *, *, #431, .T.);
#745 = ORIENTED_EDGE('NONE', *, *, #432, .T.);
#746 = ORIENTED_EDGE('NONE', *, *, #433, .F.);
#747 = ORIENTED_EDGE('NONE', *, *, #429, .F.);
#748 = EDGE_LOOP('NONE', (#744, #745, #746, #747));
#749 = FACE_BOUND('NONE', #748, .T.);
#750 = ADVANCED_FACE('NONE', (#749), #543, .T.);
#751 = ORIENTED_EDGE('NONE', *, *, #434, .T.);
#752 = ORIENTED_EDGE('NONE', *, *, #427, .T.);
#753 = ORIENTED_EDGE('NONE', *, *, #435, .F.);
#754 = ORIENTED_EDGE('NONE', *, *, #432, .F.);
#755 = EDGE_LOOP('NONE', (#751, #752, #753, #754));
#756 = FACE_BOUND('NONE', #755, .T.);
#757 = ADVANCED_FACE('NONE', (#756), #547, .T.);
#758 = ORIENTED_EDGE('NONE', *, *, #434, .F.);
#759 = ORIENTED_EDGE('NONE', *, *, #431, .F.);
#760 = ORIENTED_EDGE('NONE', *, *, #428, .F.);
#761 = ORIENTED_EDGE('NONE', *, *, #424, .F.);
#762 = EDGE_LOOP('NONE', (#758, #759, #760, #761));
#763 = FACE_BOUND('NONE', #762, .T.);
#764 = ADVANCED_FACE('NONE', (#763), #551, .F.);
#765 = ORIENTED_EDGE('NONE', *, *, #426, .T.);
#766 = ORIENTED_EDGE('NONE', *, *, #430, .T.);
#767 = ORIENTED_EDGE('NONE', *, *, #433, .T.);
#768 = ORIENTED_EDGE('NONE', *, *, #435, .T.);
#769 = EDGE_LOOP('NONE', (#765, #766, #767, #768));
#770 = FACE_BOUND('NONE', #769, .T.);
#771 = ADVANCED_FACE('NONE', (#770), #555, .T.);
#772 = ORIENTED_EDGE('NONE', *, *, #436, .T.);
#773 = ORIENTED_EDGE('NONE', *, *, #437, .T.);
#774 = ORIENTED_EDGE('NONE', *, *, #438, .F.);
#775 = ORIENTED_EDGE('NONE', *, *, #439, .F.);
#776 = EDGE_LOOP('NONE', (#772, #773, #774, #775));
#777 = FACE_BOUND('NONE', #776, .T.);
#778 = ADVANCED_FACE('NONE', (#777), #559, .T.);
#779 = ORIENTED_EDGE('NONE', *, *, #440, .T.);
#780 = ORIENTED_EDGE('NONE', *, *, #441, .T.);
#781 = ORIENTED_EDGE('NONE', *, *, #442, .F.);
#782 = ORIENTED_EDGE('NONE', *, *, #437, .F.);
#783 = EDGE_LOOP('NONE', (#779, #780, #781, #782));
#784 = FACE_BOUND('NONE', #783, .T.);
#785 = ADVANCED_FACE('NONE', (#784), #563, .T.);
#786 = ORIENTED_EDGE('NONE', *, *, #443, .T.);
#787 = ORIENTED_EDGE('NONE', *, *, #444, .T.);
#788 = ORIENTED_EDGE('NONE', *, *, #445, .F.);
#789 = ORIENTED_EDGE('NONE', *, *, #441, .F.);
#790 = EDGE_LOOP('NONE', (#786, #787, #788, #789));
#791 = FACE_BOUND('NONE', #790, .T.);
#792 = ADVANCED_FACE('NONE', (#791), #567, .T.);
#793 = ORIENTED_EDGE('NONE', *, *, #446, .T.);
#794 = ORIENTED_EDGE('NONE', *, *, #439, .T.);
#795 = ORIENTED_EDGE('NONE', *, *, #447, .F.);
#796 = ORIENTED_EDGE('NONE', *, *, #444, .F.);
#797 = EDGE_LOOP('NONE', (#793, #794, #795, #796));
#798 = FACE_BOUND('NONE', #797, .T.);
#799 = ADVANCED_FACE('NONE', (#798), #571, .T.);
#800 = ORIENTED_EDGE('NONE', *, *, #446, .F.);
#801 = ORIENTED_EDGE('NONE', *, *, #443, .F.);
#802 = ORIENTED_EDGE('NONE', *, *, #440, .F.);
#803 = ORIENTED_EDGE('NONE', *, *, #436, .F.);
#804 = EDGE_LOOP('NONE', (#800, #801, #802, #803));
#805 = FACE_BOUND('NONE', #804, .T.);
#806 = ADVANCED_FACE('NONE', (#805), #575, .F.);
#807 = ORIENTED_EDGE('NONE', *, *, #438, .T.);
#808 = ORIENTED_EDGE('NONE', *, *, #442, .T.);
#809 = ORIENTED_EDGE('NONE', *, *, #445, .T.);
#810 = ORIENTED_EDGE('NONE', *, *, #447, .T.);
#811 = EDGE_LOOP('NONE', (#807, #808, #809, #810));
#812 = FACE_BOUND('NONE', #811, .T.);
#813 = ADVANCED_FACE('NONE', (#812), #579, .T.);
#814 = ORIENTED_EDGE('NONE', *, *, #448, .T.);
#815 = ORIENTED_EDGE('NONE', *, *, #449, .T.);
#816 = ORIENTED_EDGE('NONE', *, *, #450, .F.);
#817 = ORIENTED_EDGE('NONE', *, *, #451, .F.);
#818 = EDGE_LOOP('NONE', (#814, #815, #816, #817));
#819 = FACE_BOUND('NONE', #818, .T.);
#820 = ADVANCED_FACE('NONE', (#819), #583, .T.);
#821 = ORIENTED_EDGE('NONE', *, *, #452, .T.);
#822 = ORIENTED_EDGE('NONE', *, *, #453, .T.);
#823 = ORIENTED_EDGE('NONE', *, *, #454, .F.);
#824 = ORIENTED_EDGE('NONE', *, *, #449, .F.);
#825 = EDGE_LOOP('NONE', (#821, #822, #823, #824));
#826 = FACE_BOUND('NONE', #825, .T.);
#827 = ADVANCED_FACE('NONE', (#826), #587, .T.);
#828 = ORIENTED_EDGE('NONE', *, *, #455, .T.);
#829 = ORIENTED_EDGE('NONE', *, *, #456, .T.);
#830 = ORIENTED_EDGE('NONE', *, *, #457, .F.);
#831 = ORIENTED_EDGE('NONE', *, *, #453, .F.);
#832 = EDGE_LOOP('NONE', (#828, #829, #830, #831));
#833 = FACE_BOUND('NONE', #832, .T.);
#834 = ADVANCED_FACE('NONE', (#833), #591, .T.);
#835 = ORIENTED_EDGE('NONE', *, *, #458, .T.);
#836 = ORIENTED_EDGE('NONE', *, *, #451, .T.);
#837 = ORIENTED_EDGE('NONE', *, *, #459, .F.);
#838 = ORIENTED_EDGE('NONE', *, *, #456, .F.);
#839 = EDGE_LOOP('NONE', (#835, #836, #837, #838));
#840 = FACE_BOUND('NONE', #839, .T.);
#841 = ADVANCED_FACE('NONE', (#840), #595, .T.);
#842 = ORIENTED_EDGE('NONE', *, *, #458, .F.);
#843 = ORIENTED_EDGE('NONE', *, *, #455, .F.);
#844 = ORIENTED_EDGE('NONE', *, *, #452, .F.);
#845 = ORIENTED_EDGE('NONE', *, *, #448, .F.);
#846 = EDGE_LOOP('NONE', (#842, #843, #844, #845));
#847 = FACE_BOUND('NONE', #846, .T.);
#848 = ADVANCED_FACE('NONE', (#847), #599, .F.);
#849 = ORIENTED_EDGE('NONE', *, *, #450, .T.);
#850 = ORIENTED_EDGE('NONE', *, *, #454, .T.);
#851 = ORIENTED_EDGE('NONE', *, *, #457, .T.);
#852 = ORIENTED_EDGE('NONE', *, *, #459, .T.);
#853 = EDGE_LOOP('NONE', (#849, #850, #851, #852));
#854 = FACE_BOUND('NONE', #853, .T.);
#855 = ADVANCED_FACE('NONE', (#854), #603, .T.);
#856 = CLOSED_SHELL('NONE', (#610, #617, #624, #631, #638, #645));
#857 = CLOSED_SHELL('NONE', (#652, #659, #666, #673, #680, #687));
#858 = CLOSED_SHELL('NONE', (#694, #701, #708, #715, #722, #729));
#859 = CLOSED_SHELL('NONE', (#736, #743, #750, #757, #764, #771));
#860 = CLOSED_SHELL('NONE', (#778, #785, #792, #799, #806, #813));
#861 = CLOSED_SHELL('NONE', (#820, #827, #834, #841, #848, #855));
#862 = MANIFOLD_SOLID_BREP('NONE', #856);
#863 = MANIFOLD_SOLID_BREP('NONE', #857);
#864 = MANIFOLD_SOLID_BREP('NONE', #858);
#865 = MANIFOLD_SOLID_BREP('NONE', #859);
#866 = MANIFOLD_SOLID_BREP('NONE', #860);
#867 = MANIFOLD_SOLID_BREP('NONE', #861);
#868 = APPLICATION_CONTEXT('configuration controlled 3D design of mechanical parts and assemblies');
#869 = PRODUCT_DEFINITION_CONTEXT('part definition', #868, 'design');
#870 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#871 = PRODUCT_DEFINITION_FORMATION('', $, #870);
#872 = PRODUCT_DEFINITION('design', $, #871, #869);
#873 = PRODUCT_DEFINITION_SHAPE('NONE', $, #872);
#874 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#867), #3);
#875 = SHAPE_DEFINITION_REPRESENTATION(#873, #874);
#876 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#877 = PRODUCT_DEFINITION_FORMATION('', $, #876);
#878 = PRODUCT_DEFINITION('design', $, #877, #869);
#879 = PRODUCT_DEFINITION_SHAPE('NONE', $, #878);
#880 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#866), #3);
#881 = SHAPE_DEFINITION_REPRESENTATION(#879, #880);
#882 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#883 = PRODUCT_DEFINITION_FORMATION('', $, #882);
#884 = PRODUCT_DEFINITION('design', $, #883, #869);
#885 = PRODUCT_DEFINITION_SHAPE('NONE', $, #884);
#886 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#865), #3);
#887 = SHAPE_DEFINITION_REPRESENTATION(#885, #886);
#888 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#889 = PRODUCT_DEFINITION_FORMATION('', $, #888);
#890 = PRODUCT_DEFINITION('design', $, #889, #869);
#891 = PRODUCT_DEFINITION_SHAPE('NONE', $, #890);
#892 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#864), #3);
#893 = SHAPE_DEFINITION_REPRESENTATION(#891, #892);
#894 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#895 = PRODUCT_DEFINITION_FORMATION('', $, #894);
#896 = PRODUCT_DEFINITION('design', $, #895, #869);
#897 = PRODUCT_DEFINITION_SHAPE('NONE', $, #896);
#898 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#863), #3);
#899 = SHAPE_DEFINITION_REPRESENTATION(#897, #898);
#900 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#901 = PRODUCT_DEFINITION_FORMATION('', $, #900);
#902 = PRODUCT_DEFINITION('design', $, #901, #869);
#903 = PRODUCT_DEFINITION_SHAPE('NONE', $, #902);
#904 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#862), #3);
#905 = SHAPE_DEFINITION_REPRESENTATION(#903, #904);
ENDSEC;
END-ISO-10303-21;

View File

@ -1,438 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((('zoo.dev export')), '2;1');
FILE_NAME('dump.step', '2021-01-01T00:00:00+00:00', ('Author unknown'), ('Organization unknown'), 'zoo.dev beta', 'zoo.dev', 'Authorization unknown');
FILE_SCHEMA(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF'));
ENDSEC;
DATA;
#1 = (
LENGTH_UNIT()
NAMED_UNIT(*)
SI_UNIT($, .METRE.)
);
#2 = UNCERTAINTY_MEASURE_WITH_UNIT(0.00001, #1, 'DISTANCE_ACCURACY_VALUE', $);
#3 = (
GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#1))
REPRESENTATION_CONTEXT('', '3D')
);
#4 = CARTESIAN_POINT('NONE', (-0.005453276451528909, 0.0381, 0.012954763484649197));
#5 = VERTEX_POINT('NONE', #4);
#6 = CARTESIAN_POINT('NONE', (0.011810999999999999, 0, 0.00762));
#7 = VERTEX_POINT('NONE', #6);
#8 = CARTESIAN_POINT('NONE', (-0.01363300589983399, 0.0381, 0.0032065415281829547));
#9 = VERTEX_POINT('NONE', #8);
#10 = CARTESIAN_POINT('NONE', (0.0007904803266815055, 0, 0.013982699999999999));
#11 = VERTEX_POINT('NONE', #10);
#12 = CARTESIAN_POINT('NONE', (-0.008420618915550801, 0.0381, -0.011114374012594288));
#13 = VERTEX_POINT('NONE', #12);
#14 = CARTESIAN_POINT('NONE', (-0.012407746826993343, 0, 0.006362700000000004));
#15 = VERTEX_POINT('NONE', #14);
#16 = CARTESIAN_POINT('NONE', (0.004111453664630743, 0.0381, -0.013324116532677054));
#17 = VERTEX_POINT('NONE', #16);
#18 = CARTESIAN_POINT('NONE', (-0.012407746826993356, 0, -0.006362699999999989));
#19 = VERTEX_POINT('NONE', #18);
#20 = CARTESIAN_POINT('NONE', (0.013907536836253597, 0.0381, -0.0016495992195438261));
#21 = VERTEX_POINT('NONE', #20);
#22 = CARTESIAN_POINT('NONE', (0.0007904803266814893, 0, -0.013982699999999994));
#23 = VERTEX_POINT('NONE', #22);
#24 = CARTESIAN_POINT('NONE', (0.009555193704377126, 0.0381, 0.01030836525700516));
#25 = VERTEX_POINT('NONE', #24);
#26 = CARTESIAN_POINT('NONE', (0.011810999999999978, 0, -0.007619999999999995));
#27 = VERTEX_POINT('NONE', #26);
#28 = CARTESIAN_POINT('NONE', (0.0037719, 0, -0));
#29 = VERTEX_POINT('NONE', #28);
#30 = CARTESIAN_POINT('NONE', (0.0037719, 0.0381, -0));
#31 = VERTEX_POINT('NONE', #30);
#32 = DIRECTION('NONE', (0.9848077530122081, 0, -0.1736481776669303));
#33 = DIRECTION('NONE', (0, -1.0000000000000002, 0));
#34 = CARTESIAN_POINT('NONE', (0.0020509586264241156, 0.0381, 0.011631564370827189));
#35 = AXIS2_PLACEMENT_3D('NONE', #34, #33, #32);
#36 = CIRCLE('NONE', #35, 0.0076199999999999974);
#37 = CARTESIAN_POINT('NONE', (-0.005453276451528909, 0.0381, 0.012954763484649197));
#38 = CARTESIAN_POINT('NONE', (0.005120556889498097, 0.01905, 0.016571064486824057));
#39 = CARTESIAN_POINT('NONE', (0.011810999999999999, -0, 0.00762));
#40 = (
BOUNDED_CURVE()
B_SPLINE_CURVE(2, (#37, #38, #39), .UNSPECIFIED., .F., .F.)
B_SPLINE_CURVE_WITH_KNOTS((3, 3), (-1, -0), .UNSPECIFIED.)
CURVE()
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_CURVE((1, 1, 1))
REPRESENTATION_ITEM('NONE')
);
#41 = DIRECTION('NONE', (-0.0000000000000006993530863780513, 0, 1));
#42 = DIRECTION('NONE', (0, 1, -0));
#43 = CARTESIAN_POINT('NONE', (0.011811000000000004, -0, -0.0000000000000000012560739669470206));
#44 = AXIS2_PLACEMENT_3D('NONE', #43, #42, #41);
#45 = CIRCLE('NONE', #44, 0.007620000000000001);
#46 = DIRECTION('NONE', (0.9848077530122081, 0, -0.17364817766692983));
#47 = DIRECTION('NONE', (0, 1, 0));
#48 = CARTESIAN_POINT('NONE', (-0.01798534903171045, 0.0381, 0.015164506004731943));
#49 = AXIS2_PLACEMENT_3D('NONE', #48, #47, #46);
#50 = CIRCLE('NONE', #49, 0.01272539999999999);
#51 = CARTESIAN_POINT('NONE', (-0.01363300589983399, 0.0381, 0.0032065415281829547));
#52 = CARTESIAN_POINT('NONE', (-0.010343463710053215, 0.01905, 0.013844340424891665));
#53 = CARTESIAN_POINT('NONE', (0.0007904803266815055, -0, 0.013982699999999999));
#54 = (
BOUNDED_CURVE()
B_SPLINE_CURVE(2, (#51, #52, #53), .UNSPECIFIED., .F., .F.)
B_SPLINE_CURVE_WITH_KNOTS((3, 3), (-1, -0), .UNSPECIFIED.)
CURVE()
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_CURVE((1, 1, 1))
REPRESENTATION_ITEM('NONE')
);
#55 = DIRECTION('NONE', (-0.8660254037844387, 0, -0.5000000000000001));
#56 = DIRECTION('NONE', (0, -1, -0));
#57 = CARTESIAN_POINT('NONE', (0.011810999999999999, -0, 0.0203454));
#58 = AXIS2_PLACEMENT_3D('NONE', #57, #56, #55);
#59 = CIRCLE('NONE', #58, 0.012725399999999994);
#60 = DIRECTION('NONE', (-0.34202014332566877, 0.0000000000000009324707818374018, 0.9396926207859084));
#61 = DIRECTION('NONE', (-0.0000000000000011951597032420997, -1, 0.0000000000000005573121223400466));
#62 = CARTESIAN_POINT('NONE', (-0.011026812407692394, 0.038099999999999995, -0.003953916242205668));
#63 = AXIS2_PLACEMENT_3D('NONE', #62, #61, #60);
#64 = CIRCLE('NONE', #63, 0.00762);
#65 = CARTESIAN_POINT('NONE', (-0.008420618915550801, 0.0381, -0.011114374012594288));
#66 = CARTESIAN_POINT('NONE', (-0.016775317593923766, 0.01905, -0.003827032886274202));
#67 = CARTESIAN_POINT('NONE', (-0.012407746826993343, -0, 0.006362700000000004));
#68 = (
BOUNDED_CURVE()
B_SPLINE_CURVE(2, (#65, #66, #67), .UNSPECIFIED., .F., .F.)
B_SPLINE_CURVE_WITH_KNOTS((3, 3), (-1, -0), .UNSPECIFIED.)
CURVE()
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_CURVE((1, 1, 1))
REPRESENTATION_ITEM('NONE')
);
#69 = DIRECTION('NONE', (-0.8660254037844387, 0, -0.49999999999999967));
#70 = DIRECTION('NONE', (0, 1, 0));
#71 = CARTESIAN_POINT('NONE', (-0.005808633250155917, -0, 0.010172700000000003));
#72 = AXIS2_PLACEMENT_3D('NONE', #71, #70, #69);
#73 = CIRCLE('NONE', #72, 0.007620000000000003);
#74 = DIRECTION('NONE', (-0.3420201433256678, 0, 0.9396926207859089));
#75 = DIRECTION('NONE', (0, 1.0000000000000002, -0));
#76 = CARTESIAN_POINT('NONE', (-0.004068275783674349, 0.0381, -0.023072338489143286));
#77 = AXIS2_PLACEMENT_3D('NONE', #76, #75, #74);
#78 = CIRCLE('NONE', #77, 0.012725399999999994);
#79 = CARTESIAN_POINT('NONE', (0.004111453664630743, 0.0381, -0.013324116532677054));
#80 = CARTESIAN_POINT('NONE', (-0.006681894987404381, 0.01905, -0.01585590553916532));
#81 = CARTESIAN_POINT('NONE', (-0.012407746826993356, -0, -0.006362699999999989));
#82 = (
BOUNDED_CURVE()
B_SPLINE_CURVE(2, (#79, #80, #81), .UNSPECIFIED., .F., .F.)
B_SPLINE_CURVE_WITH_KNOTS((3, 3), (-1, -0), .UNSPECIFIED.)
CURVE()
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_CURVE((1, 1, 1))
REPRESENTATION_ITEM('NONE')
);
#83 = DIRECTION('NONE', (0.8660254037844382, 0, -0.5000000000000007));
#84 = DIRECTION('NONE', (0, -0.9999999999999998, 0));
#85 = CARTESIAN_POINT('NONE', (-0.023428266500311844, -0, 0.00000000000000001687538997430238));
#86 = AXIS2_PLACEMENT_3D('NONE', #85, #84, #83);
#87 = CIRCLE('NONE', #86, 0.012725399999999994);
#88 = DIRECTION('NONE', (-0.6427876096865395, 0, -0.766044443118978));
#89 = DIRECTION('NONE', (0, -1.0000000000000002, -0));
#90 = CARTESIAN_POINT('NONE', (0.009009495250442175, 0.0381, -0.0074868578761104415));
#91 = AXIS2_PLACEMENT_3D('NONE', #90, #89, #88);
#92 = CIRCLE('NONE', #91, 0.007620000000000001);
#93 = CARTESIAN_POINT('NONE', (0.013907536836253597, 0.0381, -0.0016495992195438261));
#94 = CARTESIAN_POINT('NONE', (0.011837890161758862, 0.01905, -0.0125903677404439));
#95 = CARTESIAN_POINT('NONE', (0.0007904803266814893, -0, -0.013982699999999994));
#96 = (
BOUNDED_CURVE()
B_SPLINE_CURVE(2, (#93, #94, #95), .UNSPECIFIED., .F., .F.)
B_SPLINE_CURVE_WITH_KNOTS((3, 3), (-1, -0), .UNSPECIFIED.)
CURVE()
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_CURVE((1, 1, 1))
REPRESENTATION_ITEM('NONE')
);
#97 = DIRECTION('NONE', (0.8660254037844388, -0, -0.49999999999999956));
#98 = DIRECTION('NONE', (0, 0.9999999999999999, 0));
#99 = CARTESIAN_POINT('NONE', (-0.005808633250155936, 0, -0.010172699999999996));
#100 = AXIS2_PLACEMENT_3D('NONE', #99, #98, #97);
#101 = CIRCLE('NONE', #100, 0.007620000000000001);
#102 = DIRECTION('NONE', (-0.6427876096865413, 0, -0.7660444431189763));
#103 = DIRECTION('NONE', (0, 0.9999999999999999, 0));
#104 = CARTESIAN_POINT('NONE', (0.022087266284558753, 0.0381, 0.008098622736922445));
#105 = AXIS2_PLACEMENT_3D('NONE', #104, #103, #102);
#106 = CIRCLE('NONE', #105, 0.012725400000000064);
#107 = CARTESIAN_POINT('NONE', (0.009555193704377126, 0.0381, 0.01030836525700516));
#108 = CARTESIAN_POINT('NONE', (0.017208488154790785, 0.01905, 0.00216522897437961));
#109 = CARTESIAN_POINT('NONE', (0.011810999999999978, -0, -0.007619999999999995));
#110 = (
BOUNDED_CURVE()
B_SPLINE_CURVE(2, (#107, #108, #109), .UNSPECIFIED., .F., .F.)
B_SPLINE_CURVE_WITH_KNOTS((3, 3), (-1, -0), .UNSPECIFIED.)
CURVE()
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_CURVE((1, 1, 1))
REPRESENTATION_ITEM('NONE')
);
#111 = DIRECTION('NONE', (-0.000000000000002373054384915535, 0, 1));
#112 = DIRECTION('NONE', (-0, -1, 0));
#113 = CARTESIAN_POINT('NONE', (0.011811000000000009, -0, -0.02034540000000004));
#114 = AXIS2_PLACEMENT_3D('NONE', #113, #112, #111);
#115 = CIRCLE('NONE', #114, 0.012725400000000046);
#116 = DIRECTION('NONE', (0, 1, -0));
#117 = VECTOR('NONE', #116, 1);
#118 = CARTESIAN_POINT('NONE', (0.0037719, -0, 0));
#119 = LINE('NONE', #118, #117);
#120 = DIRECTION('NONE', (1, 0, -0));
#121 = DIRECTION('NONE', (0, 1, 0));
#122 = CARTESIAN_POINT('NONE', (0, 0, -0));
#123 = AXIS2_PLACEMENT_3D('NONE', #122, #121, #120);
#124 = CIRCLE('NONE', #123, 0.0037719);
#125 = DIRECTION('NONE', (1, 0, -0));
#126 = DIRECTION('NONE', (0, 1, 0));
#127 = CARTESIAN_POINT('NONE', (-0, 0.0381, 0));
#128 = AXIS2_PLACEMENT_3D('NONE', #127, #126, #125);
#129 = CIRCLE('NONE', #128, 0.0037719);
#130 = EDGE_CURVE('NONE', #25, #5, #36, .T.);
#131 = EDGE_CURVE('NONE', #5, #7, #40, .T.);
#132 = EDGE_CURVE('NONE', #7, #27, #45, .T.);
#133 = EDGE_CURVE('NONE', #5, #9, #50, .T.);
#134 = EDGE_CURVE('NONE', #9, #11, #54, .T.);
#135 = EDGE_CURVE('NONE', #11, #7, #59, .T.);
#136 = EDGE_CURVE('NONE', #9, #13, #64, .T.);
#137 = EDGE_CURVE('NONE', #13, #15, #68, .T.);
#138 = EDGE_CURVE('NONE', #15, #11, #73, .T.);
#139 = EDGE_CURVE('NONE', #13, #17, #78, .T.);
#140 = EDGE_CURVE('NONE', #17, #19, #82, .T.);
#141 = EDGE_CURVE('NONE', #19, #15, #87, .T.);
#142 = EDGE_CURVE('NONE', #17, #21, #92, .T.);
#143 = EDGE_CURVE('NONE', #21, #23, #96, .T.);
#144 = EDGE_CURVE('NONE', #23, #19, #101, .T.);
#145 = EDGE_CURVE('NONE', #21, #25, #106, .T.);
#146 = EDGE_CURVE('NONE', #25, #27, #110, .T.);
#147 = EDGE_CURVE('NONE', #27, #23, #115, .T.);
#148 = EDGE_CURVE('NONE', #29, #31, #119, .T.);
#149 = EDGE_CURVE('NONE', #29, #29, #124, .T.);
#150 = EDGE_CURVE('NONE', #31, #31, #129, .T.);
#151 = CARTESIAN_POINT('NONE', (0.011811000000000004, -0, -0.00762));
#152 = CARTESIAN_POINT('NONE', (0.019430999999999997, -0, -0.0076199999999999974));
#153 = CARTESIAN_POINT('NONE', (0.019431000000000004, -0, 0));
#154 = CARTESIAN_POINT('NONE', (0.019431, -0, 0.007619999999999997));
#155 = CARTESIAN_POINT('NONE', (0.011810999999999999, -0, 0.00762));
#156 = CARTESIAN_POINT('NONE', (0.017208488154790792, 0.01905, 0.0021652289743796143));
#157 = CARTESIAN_POINT('NONE', (0.024411405911013005, 0.019049999999999997, 0.00820919460702596));
#158 = CARTESIAN_POINT('NONE', (0.018367440278366662, 0.01905, 0.01541211236324818));
#159 = CARTESIAN_POINT('NONE', (0.012323474645720315, 0.019049999999999997, 0.022615030119470393));
#160 = CARTESIAN_POINT('NONE', (0.005120556889498097, 0.01905, 0.016571064486824057));
#161 = CARTESIAN_POINT('NONE', (0.009555193704377138, 0.0381, 0.01030836525700518));
#162 = CARTESIAN_POINT('NONE', (0.01087839281819915, 0.0381, 0.0178126003349582));
#163 = CARTESIAN_POINT('NONE', (0.0033741577402461253, 0.0381, 0.019135799448780213));
#164 = CARTESIAN_POINT('NONE', (-0.0041300773377069, 0.0381, 0.02045899856260222));
#165 = CARTESIAN_POINT('NONE', (-0.005453276451528909, 0.0381, 0.012954763484649197));
#166 = (
BOUNDED_SURFACE()
B_SPLINE_SURFACE(2, 2, ((#151, #152, #153, #154, #155), (#156, #157, #158, #159, #160), (#161, #162, #163, #164, #165)), .UNSPECIFIED., .F., .F., .F.)
B_SPLINE_SURFACE_WITH_KNOTS((3, 3), (3, 2, 3), (0, 1), (0, 0.5, 1), .UNSPECIFIED.)
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_SURFACE(((1, 0.7071067811865478, 1, 0.7071067811865478, 1), (1, 0.7071067811865477, 1, 0.7071067811865477, 1), (1, 0.7071067811865476, 1, 0.7071067811865476, 1)))
REPRESENTATION_ITEM('NONE')
SURFACE()
);
#167 = CARTESIAN_POINT('NONE', (0.011810999999999999, -0, 0.00762));
#168 = CARTESIAN_POINT('NONE', (0.004463986884454334, -0, 0.007620000000000003));
#169 = CARTESIAN_POINT('NONE', (0.0007904803266815055, -0, 0.013982699999999999));
#170 = CARTESIAN_POINT('NONE', (0.005120556889498097, 0.01905, 0.016571064486824057));
#171 = CARTESIAN_POINT('NONE', (-0.0018243159746963167, 0.01905, 0.010743624227905427));
#172 = CARTESIAN_POINT('NONE', (-0.010343463710053215, 0.01905, 0.013844340424891665));
#173 = CARTESIAN_POINT('NONE', (-0.005453276451528909, 0.0381, 0.012954763484649197));
#174 = CARTESIAN_POINT('NONE', (-0.006729071890338448, 0.0381, 0.0057193680069774515));
#175 = CARTESIAN_POINT('NONE', (-0.01363300589983399, 0.0381, 0.0032065415281829547));
#176 = (
BOUNDED_SURFACE()
B_SPLINE_SURFACE(2, 2, ((#167, #168, #169), (#170, #171, #172), (#173, #174, #175)), .UNSPECIFIED., .F., .F., .F.)
B_SPLINE_SURFACE_WITH_KNOTS((3, 3), (3, 3), (0, 1), (0, 1), .UNSPECIFIED.)
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_SURFACE(((1, 0.8660254037844387, 1), (1, 0.8660254037844384, 1), (1, 0.8660254037844387, 1)))
REPRESENTATION_ITEM('NONE')
SURFACE()
);
#177 = CARTESIAN_POINT('NONE', (0.0007904803266815029, -0, 0.013982700000000004));
#178 = CARTESIAN_POINT('NONE', (-0.0030195196733185, -0, 0.02058181357683743));
#179 = CARTESIAN_POINT('NONE', (-0.009618633250155922, -0, 0.01677181357683742));
#180 = CARTESIAN_POINT('NONE', (-0.01621774682699334, -0, 0.012961813576837417));
#181 = CARTESIAN_POINT('NONE', (-0.012407746826993343, -0, 0.006362700000000004));
#182 = CARTESIAN_POINT('NONE', (-0.010343463710053215, 0.01905, 0.013844340424891662));
#183 = CARTESIAN_POINT('NONE', (-0.01917915036563614, 0.01905, 0.017060267366826944));
#184 = CARTESIAN_POINT('NONE', (-0.02239507730757142, 0.01905, 0.008224580711244014));
#185 = CARTESIAN_POINT('NONE', (-0.025611004249506707, 0.01905, -0.000611105944338923));
#186 = CARTESIAN_POINT('NONE', (-0.016775317593923766, 0.01905, -0.003827032886274202));
#187 = CARTESIAN_POINT('NONE', (-0.01363300589983399, 0.0381, 0.0032065415281829547));
#188 = CARTESIAN_POINT('NONE', (-0.020793463670222608, 0.0381, 0.0006003480360413621));
#189 = CARTESIAN_POINT('NONE', (-0.018187270178081014, 0.0381, -0.00656010973434726));
#190 = CARTESIAN_POINT('NONE', (-0.015581076685939419, 0.0381, -0.013720567504735885));
#191 = CARTESIAN_POINT('NONE', (-0.008420618915550801, 0.0381, -0.011114374012594288));
#192 = (
BOUNDED_SURFACE()
B_SPLINE_SURFACE(2, 2, ((#177, #178, #179, #180, #181), (#182, #183, #184, #185, #186), (#187, #188, #189, #190, #191)), .UNSPECIFIED., .F., .F., .F.)
B_SPLINE_SURFACE_WITH_KNOTS((3, 3), (3, 2, 3), (0, 1), (0, 0.5000000000000001, 1), .UNSPECIFIED.)
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_SURFACE(((1, 0.7071067811865476, 1, 0.7071067811865476, 1), (1, 0.7071067811865475, 1, 0.7071067811865475, 1), (1, 0.7071067811865475, 1, 0.7071067811865475, 1)))
REPRESENTATION_ITEM('NONE')
SURFACE()
);
#193 = CARTESIAN_POINT('NONE', (-0.012407746826993344, -0, 0.006362700000000004));
#194 = CARTESIAN_POINT('NONE', (-0.00873424026922052, -0, -0.000000000000000004726054498244314));
#195 = CARTESIAN_POINT('NONE', (-0.012407746826993356, -0, -0.006362699999999989));
#196 = CARTESIAN_POINT('NONE', (-0.016775317593923766, 0.01905, -0.003827032886274204));
#197 = CARTESIAN_POINT('NONE', (-0.008256169858566881, 0.019050000000000004, -0.006927749083260438));
#198 = CARTESIAN_POINT('NONE', (-0.006681894987404381, 0.01905, -0.01585590553916532));
#199 = CARTESIAN_POINT('NONE', (-0.008420618915550801, 0.0381, -0.011114374012594288));
#200 = CARTESIAN_POINT('NONE', (-0.0015166849060552505, 0.0381, -0.008601547533799802));
#201 = CARTESIAN_POINT('NONE', (0.004111453664630743, 0.0381, -0.013324116532677054));
#202 = (
BOUNDED_SURFACE()
B_SPLINE_SURFACE(2, 2, ((#193, #194, #195), (#196, #197, #198), (#199, #200, #201)), .UNSPECIFIED., .F., .F., .F.)
B_SPLINE_SURFACE_WITH_KNOTS((3, 3), (3, 3), (0, 1), (0, 1), .UNSPECIFIED.)
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_SURFACE(((1, 0.8660254037844387, 1), (1, 0.8660254037844386, 1), (1, 0.8660254037844387, 1)))
REPRESENTATION_ITEM('NONE')
SURFACE()
);
#203 = CARTESIAN_POINT('NONE', (-0.012407746826993355, -0, -0.006362699999999989));
#204 = CARTESIAN_POINT('NONE', (-0.016217746826993354, -0, -0.012961813576837412));
#205 = CARTESIAN_POINT('NONE', (-0.009618633250155937, -0, -0.01677181357683742));
#206 = CARTESIAN_POINT('NONE', (-0.003019519673318509, -0, -0.020581813576837412));
#207 = CARTESIAN_POINT('NONE', (0.0007904803266814893, -0, -0.013982699999999994));
#208 = CARTESIAN_POINT('NONE', (-0.006681894987404382, 0.01905, -0.01585590553916532));
#209 = CARTESIAN_POINT('NONE', (-0.0050491260880436714, 0.019049999999999997, -0.02511579811374694));
#210 = CARTESIAN_POINT('NONE', (0.0042107664865379535, 0.01905, -0.02348302921438623));
#211 = CARTESIAN_POINT('NONE', (0.01347065906111957, 0.019049999999999997, -0.02185026031502552));
#212 = CARTESIAN_POINT('NONE', (0.011837890161758862, 0.01905, -0.0125903677404439));
#213 = CARTESIAN_POINT('NONE', (0.004111453664630743, 0.0381, -0.013324116532677054));
#214 = CARTESIAN_POINT('NONE', (0.009948712321197359, 0.0381, -0.018222158118488478));
#215 = CARTESIAN_POINT('NONE', (0.014846753907008787, 0.0381, -0.012384899461921867));
#216 = CARTESIAN_POINT('NONE', (0.019744795492820214, 0.0381, -0.006547640805355253));
#217 = CARTESIAN_POINT('NONE', (0.013907536836253597, 0.0381, -0.0016495992195438261));
#218 = (
BOUNDED_SURFACE()
B_SPLINE_SURFACE(2, 2, ((#203, #204, #205, #206, #207), (#208, #209, #210, #211, #212), (#213, #214, #215, #216, #217)), .UNSPECIFIED., .F., .F., .F.)
B_SPLINE_SURFACE_WITH_KNOTS((3, 3), (3, 2, 3), (0, 1), (0, 0.49999999999999994, 1), .UNSPECIFIED.)
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_SURFACE(((1, 0.7071067811865475, 1, 0.7071067811865475, 1), (1, 0.7071067811865477, 1, 0.7071067811865477, 1), (1, 0.7071067811865476, 1, 0.7071067811865476, 1)))
REPRESENTATION_ITEM('NONE')
SURFACE()
);
#219 = CARTESIAN_POINT('NONE', (0.0007904803266814876, -0, -0.013982699999999994));
#220 = CARTESIAN_POINT('NONE', (0.0044639868844543245, -0, -0.007620000000000015));
#221 = CARTESIAN_POINT('NONE', (0.011810999999999978, -0, -0.007619999999999995));
#222 = CARTESIAN_POINT('NONE', (0.011837890161758862, 0.01905, -0.0125903677404439));
#223 = CARTESIAN_POINT('NONE', (0.010263615290596393, 0.019049999999999994, -0.0036622112845390324));
#224 = CARTESIAN_POINT('NONE', (0.017208488154790785, 0.01905, 0.00216522897437961));
#225 = CARTESIAN_POINT('NONE', (0.013907536836253597, 0.0381, -0.0016495992195438261));
#226 = CARTESIAN_POINT('NONE', (0.00827939826556762, 0.038099999999999995, 0.0030729697793334247));
#227 = CARTESIAN_POINT('NONE', (0.009555193704377126, 0.0381, 0.01030836525700516));
#228 = (
BOUNDED_SURFACE()
B_SPLINE_SURFACE(2, 2, ((#219, #220, #221), (#222, #223, #224), (#225, #226, #227)), .UNSPECIFIED., .F., .F., .F.)
B_SPLINE_SURFACE_WITH_KNOTS((3, 3), (3, 3), (0, 1), (0, 1), .UNSPECIFIED.)
GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_SURFACE(((1, 0.8660254037844402, 1), (1, 0.86602540378444, 1), (1, 0.8660254037844403, 1)))
REPRESENTATION_ITEM('NONE')
SURFACE()
);
#229 = CARTESIAN_POINT('NONE', (0, 0, -0));
#230 = DIRECTION('NONE', (0, 1, 0));
#231 = AXIS2_PLACEMENT_3D('NONE', #229, #230, $);
#232 = PLANE('NONE', #231);
#233 = CARTESIAN_POINT('NONE', (0, 0.0381, -0));
#234 = DIRECTION('NONE', (0, 1, 0));
#235 = AXIS2_PLACEMENT_3D('NONE', #233, #234, $);
#236 = PLANE('NONE', #235);
#237 = CARTESIAN_POINT('NONE', (-0.0000000000000000001570092458683775, 0.01905, -0.00000000000000000015700924586837753));
#238 = DIRECTION('NONE', (-0, 1, 0));
#239 = DIRECTION('NONE', (1, 0, 0.00000000000000004162603618027453));
#240 = AXIS2_PLACEMENT_3D('NONE', #237, #238, #239);
#241 = CYLINDRICAL_SURFACE('NONE', #240, 0.0037719000000000003);
#242 = ORIENTED_EDGE('NONE', *, *, #146, .F.);
#243 = ORIENTED_EDGE('NONE', *, *, #130, .T.);
#244 = ORIENTED_EDGE('NONE', *, *, #131, .T.);
#245 = ORIENTED_EDGE('NONE', *, *, #132, .T.);
#246 = EDGE_LOOP('NONE', (#242, #243, #244, #245));
#247 = FACE_BOUND('NONE', #246, .T.);
#248 = ADVANCED_FACE('NONE', (#247), #166, .T.);
#249 = ORIENTED_EDGE('NONE', *, *, #131, .F.);
#250 = ORIENTED_EDGE('NONE', *, *, #133, .T.);
#251 = ORIENTED_EDGE('NONE', *, *, #134, .T.);
#252 = ORIENTED_EDGE('NONE', *, *, #135, .T.);
#253 = EDGE_LOOP('NONE', (#249, #250, #251, #252));
#254 = FACE_BOUND('NONE', #253, .T.);
#255 = ADVANCED_FACE('NONE', (#254), #176, .T.);
#256 = ORIENTED_EDGE('NONE', *, *, #134, .F.);
#257 = ORIENTED_EDGE('NONE', *, *, #136, .T.);
#258 = ORIENTED_EDGE('NONE', *, *, #137, .T.);
#259 = ORIENTED_EDGE('NONE', *, *, #138, .T.);
#260 = EDGE_LOOP('NONE', (#256, #257, #258, #259));
#261 = FACE_BOUND('NONE', #260, .T.);
#262 = ADVANCED_FACE('NONE', (#261), #192, .T.);
#263 = ORIENTED_EDGE('NONE', *, *, #137, .F.);
#264 = ORIENTED_EDGE('NONE', *, *, #139, .T.);
#265 = ORIENTED_EDGE('NONE', *, *, #140, .T.);
#266 = ORIENTED_EDGE('NONE', *, *, #141, .T.);
#267 = EDGE_LOOP('NONE', (#263, #264, #265, #266));
#268 = FACE_BOUND('NONE', #267, .T.);
#269 = ADVANCED_FACE('NONE', (#268), #202, .T.);
#270 = ORIENTED_EDGE('NONE', *, *, #140, .F.);
#271 = ORIENTED_EDGE('NONE', *, *, #142, .T.);
#272 = ORIENTED_EDGE('NONE', *, *, #143, .T.);
#273 = ORIENTED_EDGE('NONE', *, *, #144, .T.);
#274 = EDGE_LOOP('NONE', (#270, #271, #272, #273));
#275 = FACE_BOUND('NONE', #274, .T.);
#276 = ADVANCED_FACE('NONE', (#275), #218, .T.);
#277 = ORIENTED_EDGE('NONE', *, *, #143, .F.);
#278 = ORIENTED_EDGE('NONE', *, *, #145, .T.);
#279 = ORIENTED_EDGE('NONE', *, *, #146, .T.);
#280 = ORIENTED_EDGE('NONE', *, *, #147, .T.);
#281 = EDGE_LOOP('NONE', (#277, #278, #279, #280));
#282 = FACE_BOUND('NONE', #281, .T.);
#283 = ADVANCED_FACE('NONE', (#282), #228, .T.);
#284 = ORIENTED_EDGE('NONE', *, *, #132, .F.);
#285 = ORIENTED_EDGE('NONE', *, *, #135, .F.);
#286 = ORIENTED_EDGE('NONE', *, *, #138, .F.);
#287 = ORIENTED_EDGE('NONE', *, *, #141, .F.);
#288 = ORIENTED_EDGE('NONE', *, *, #144, .F.);
#289 = ORIENTED_EDGE('NONE', *, *, #147, .F.);
#290 = ORIENTED_EDGE('NONE', *, *, #149, .T.);
#291 = EDGE_LOOP('NONE', (#284, #285, #286, #287, #288, #289));
#292 = FACE_BOUND('NONE', #291, .T.);
#293 = EDGE_LOOP('NONE', (#290));
#294 = FACE_BOUND('NONE', #293, .T.);
#295 = ADVANCED_FACE('NONE', (#292, #294), #232, .F.);
#296 = ORIENTED_EDGE('NONE', *, *, #145, .F.);
#297 = ORIENTED_EDGE('NONE', *, *, #142, .F.);
#298 = ORIENTED_EDGE('NONE', *, *, #139, .F.);
#299 = ORIENTED_EDGE('NONE', *, *, #136, .F.);
#300 = ORIENTED_EDGE('NONE', *, *, #133, .F.);
#301 = ORIENTED_EDGE('NONE', *, *, #130, .F.);
#302 = ORIENTED_EDGE('NONE', *, *, #150, .F.);
#303 = EDGE_LOOP('NONE', (#296, #297, #298, #299, #300, #301));
#304 = FACE_BOUND('NONE', #303, .T.);
#305 = EDGE_LOOP('NONE', (#302));
#306 = FACE_BOUND('NONE', #305, .T.);
#307 = ADVANCED_FACE('NONE', (#304, #306), #236, .T.);
#308 = ORIENTED_EDGE('NONE', *, *, #150, .T.);
#309 = ORIENTED_EDGE('NONE', *, *, #149, .F.);
#310 = EDGE_LOOP('NONE', (#308));
#311 = FACE_BOUND('NONE', #310, .T.);
#312 = EDGE_LOOP('NONE', (#309));
#313 = FACE_BOUND('NONE', #312, .T.);
#314 = ADVANCED_FACE('NONE', (#311, #313), #241, .F.);
#315 = CLOSED_SHELL('NONE', (#248, #255, #262, #269, #276, #283, #295, #307, #314));
#316 = MANIFOLD_SOLID_BREP('NONE', #315);
#317 = APPLICATION_CONTEXT('configuration controlled 3D design of mechanical parts and assemblies');
#318 = PRODUCT_DEFINITION_CONTEXT('part definition', #317, 'design');
#319 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#320 = PRODUCT_DEFINITION_FORMATION('', $, #319);
#321 = PRODUCT_DEFINITION('design', $, #320, #318);
#322 = PRODUCT_DEFINITION_SHAPE('NONE', $, #321);
#323 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#316), #3);
#324 = SHAPE_DEFINITION_REPRESENTATION(#322, #323);
ENDSEC;
END-ISO-10303-21;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,467 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((('zoo.dev export')), '2;1');
FILE_NAME('dump.step', '2021-01-01T00:00:00+00:00', ('Author unknown'), ('Organization unknown'), 'zoo.dev beta', 'zoo.dev', 'Authorization unknown');
FILE_SCHEMA(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF'));
ENDSEC;
DATA;
#1 = (
LENGTH_UNIT()
NAMED_UNIT(*)
SI_UNIT($, .METRE.)
);
#2 = UNCERTAINTY_MEASURE_WITH_UNIT(0.00001, #1, 'DISTANCE_ACCURACY_VALUE', $);
#3 = (
GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#1))
REPRESENTATION_CONTEXT('', '3D')
);
#4 = CARTESIAN_POINT('NONE', (0.03175, -0.001524, -0));
#5 = VERTEX_POINT('NONE', #4);
#6 = CARTESIAN_POINT('NONE', (0.03175, 0, -0));
#7 = VERTEX_POINT('NONE', #6);
#8 = CARTESIAN_POINT('NONE', (0.015875, -0.001524, 0.000000000000000003888253587292846));
#9 = VERTEX_POINT('NONE', #8);
#10 = CARTESIAN_POINT('NONE', (0.015875, 0, 0.000000000000000003888253587292846));
#11 = VERTEX_POINT('NONE', #10);
#12 = CARTESIAN_POINT('NONE', (0.0293751, 0.015875, -0));
#13 = VERTEX_POINT('NONE', #12);
#14 = CARTESIAN_POINT('NONE', (0.0293751, 0.019126199999999996, -0));
#15 = VERTEX_POINT('NONE', #14);
#16 = CARTESIAN_POINT('NONE', (0.015875, 0.015875, 0.000000000000000003888253587292846));
#17 = VERTEX_POINT('NONE', #16);
#18 = CARTESIAN_POINT('NONE', (0.015875, 0.019126199999999996, 0.000000000000000003888253587292846));
#19 = VERTEX_POINT('NONE', #18);
#20 = CARTESIAN_POINT('NONE', (0.0587375, 0, -0));
#21 = VERTEX_POINT('NONE', #20);
#22 = CARTESIAN_POINT('NONE', (0.0587375, 0.015875, -0));
#23 = VERTEX_POINT('NONE', #22);
#24 = CARTESIAN_POINT('NONE', (0.0523875, 0, 0.000000000000000001944126793646423));
#25 = VERTEX_POINT('NONE', #24);
#26 = CARTESIAN_POINT('NONE', (0.0523875, 0.015875, 0.000000000000000001944126793646423));
#27 = VERTEX_POINT('NONE', #26);
#28 = CARTESIAN_POINT('NONE', (0.0000000000000000051519360031630214, 0, -0.0523875));
#29 = VERTEX_POINT('NONE', #28);
#30 = CARTESIAN_POINT('NONE', (0.0000000000000000051519360031630214, 0.015875, -0.0523875));
#31 = VERTEX_POINT('NONE', #30);
#32 = CARTESIAN_POINT('NONE', (-0.0523875, 0, -0.00000000000000000835974521267962));
#33 = VERTEX_POINT('NONE', #32);
#34 = CARTESIAN_POINT('NONE', (-0.0523875, 0.015875, -0.00000000000000000835974521267962));
#35 = VERTEX_POINT('NONE', #34);
#36 = CARTESIAN_POINT('NONE', (-0.000000000000000009623427628549794, 0, 0.0523875));
#37 = VERTEX_POINT('NONE', #36);
#38 = CARTESIAN_POINT('NONE', (-0.000000000000000009623427628549794, 0.015875, 0.0523875));
#39 = VERTEX_POINT('NONE', #38);
#40 = CARTESIAN_POINT('NONE', (0.015875, 0, 0.000000000000000003888253587292846));
#41 = VERTEX_POINT('NONE', #40);
#42 = CARTESIAN_POINT('NONE', (0.015875, 0.015875, 0.000000000000000003888253587292846));
#43 = VERTEX_POINT('NONE', #42);
#44 = DIRECTION('NONE', (1, 0, -0));
#45 = DIRECTION('NONE', (0, 1, 0));
#46 = CARTESIAN_POINT('NONE', (-0, -0.001524, 0));
#47 = AXIS2_PLACEMENT_3D('NONE', #46, #45, #44);
#48 = CIRCLE('NONE', #47, 0.03175);
#49 = DIRECTION('NONE', (0, 1, 0));
#50 = VECTOR('NONE', #49, 1);
#51 = CARTESIAN_POINT('NONE', (0.03175, -0.001524, -0));
#52 = LINE('NONE', #51, #50);
#53 = DIRECTION('NONE', (1, 0, -0));
#54 = DIRECTION('NONE', (0, 1, 0));
#55 = CARTESIAN_POINT('NONE', (-0, 0, 0));
#56 = AXIS2_PLACEMENT_3D('NONE', #55, #54, #53);
#57 = CIRCLE('NONE', #56, 0.03175);
#58 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#59 = DIRECTION('NONE', (0, -1, 0));
#60 = CARTESIAN_POINT('NONE', (0, -0.001524, -0));
#61 = AXIS2_PLACEMENT_3D('NONE', #60, #59, #58);
#62 = CIRCLE('NONE', #61, 0.015875);
#63 = DIRECTION('NONE', (0, 1, 0));
#64 = VECTOR('NONE', #63, 1);
#65 = CARTESIAN_POINT('NONE', (0.015875, -0.001524, 0.000000000000000003888253587292846));
#66 = LINE('NONE', #65, #64);
#67 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#68 = DIRECTION('NONE', (0, -1, 0));
#69 = CARTESIAN_POINT('NONE', (0, -0, -0));
#70 = AXIS2_PLACEMENT_3D('NONE', #69, #68, #67);
#71 = CIRCLE('NONE', #70, 0.015875);
#72 = DIRECTION('NONE', (1, 0, -0));
#73 = DIRECTION('NONE', (0, 1, 0));
#74 = CARTESIAN_POINT('NONE', (-0, 0.015875, 0));
#75 = AXIS2_PLACEMENT_3D('NONE', #74, #73, #72);
#76 = CIRCLE('NONE', #75, 0.0293751);
#77 = DIRECTION('NONE', (0, 1, 0));
#78 = VECTOR('NONE', #77, 1);
#79 = CARTESIAN_POINT('NONE', (0.0293751, 0.015875, -0));
#80 = LINE('NONE', #79, #78);
#81 = DIRECTION('NONE', (1, 0, -0));
#82 = DIRECTION('NONE', (0, 1, 0));
#83 = CARTESIAN_POINT('NONE', (-0, 0.019126199999999996, 0));
#84 = AXIS2_PLACEMENT_3D('NONE', #83, #82, #81);
#85 = CIRCLE('NONE', #84, 0.0293751);
#86 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#87 = DIRECTION('NONE', (0, -1, 0));
#88 = CARTESIAN_POINT('NONE', (0, 0.015875, -0));
#89 = AXIS2_PLACEMENT_3D('NONE', #88, #87, #86);
#90 = CIRCLE('NONE', #89, 0.015875);
#91 = DIRECTION('NONE', (0, 1, 0));
#92 = VECTOR('NONE', #91, 1);
#93 = CARTESIAN_POINT('NONE', (0.015875, 0.015875, 0.000000000000000003888253587292846));
#94 = LINE('NONE', #93, #92);
#95 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#96 = DIRECTION('NONE', (0, -1, 0));
#97 = CARTESIAN_POINT('NONE', (0, 0.019126199999999996, -0));
#98 = AXIS2_PLACEMENT_3D('NONE', #97, #96, #95);
#99 = CIRCLE('NONE', #98, 0.015875);
#100 = DIRECTION('NONE', (1, 0, -0));
#101 = DIRECTION('NONE', (0, 1, 0));
#102 = CARTESIAN_POINT('NONE', (-0, 0, 0));
#103 = AXIS2_PLACEMENT_3D('NONE', #102, #101, #100);
#104 = CIRCLE('NONE', #103, 0.0587375);
#105 = DIRECTION('NONE', (0, 1, 0));
#106 = VECTOR('NONE', #105, 1);
#107 = CARTESIAN_POINT('NONE', (0.0587375, 0, -0));
#108 = LINE('NONE', #107, #106);
#109 = DIRECTION('NONE', (1, 0, -0));
#110 = DIRECTION('NONE', (0, 1, 0));
#111 = CARTESIAN_POINT('NONE', (-0, 0.015875, 0));
#112 = AXIS2_PLACEMENT_3D('NONE', #111, #110, #109);
#113 = CIRCLE('NONE', #112, 0.0587375);
#114 = DIRECTION('NONE', (1, 0, -0.000000000000000388052796742256));
#115 = DIRECTION('NONE', (0, -1, 0));
#116 = CARTESIAN_POINT('NONE', (0.044449999999999996, -0, 0.000000000000000005024295867788081));
#117 = AXIS2_PLACEMENT_3D('NONE', #116, #115, #114);
#118 = CIRCLE('NONE', #117, 0.0079375);
#119 = DIRECTION('NONE', (0, 1, 0));
#120 = VECTOR('NONE', #119, 1);
#121 = CARTESIAN_POINT('NONE', (0.0523875, 0, 0.000000000000000001944126793646423));
#122 = LINE('NONE', #121, #120);
#123 = DIRECTION('NONE', (1, 0, -0.000000000000000388052796742256));
#124 = DIRECTION('NONE', (0, -1, 0));
#125 = CARTESIAN_POINT('NONE', (0.044449999999999996, 0.015875, 0.000000000000000005024295867788081));
#126 = AXIS2_PLACEMENT_3D('NONE', #125, #124, #123);
#127 = CIRCLE('NONE', #126, 0.0079375);
#128 = DIRECTION('NONE', (0.000000000000000016080646976370378, 0, -1));
#129 = DIRECTION('NONE', (0, -1, 0));
#130 = CARTESIAN_POINT('NONE', (0.000000000000000005024295867788082, -0, -0.044449999999999996));
#131 = AXIS2_PLACEMENT_3D('NONE', #130, #129, #128);
#132 = CIRCLE('NONE', #131, 0.0079375);
#133 = DIRECTION('NONE', (0, 1, 0));
#134 = VECTOR('NONE', #133, 1);
#135 = CARTESIAN_POINT('NONE', (0.0000000000000000051519360031630214, 0, -0.0523875));
#136 = LINE('NONE', #135, #134);
#137 = DIRECTION('NONE', (0.000000000000000016080646976370378, 0, -1));
#138 = DIRECTION('NONE', (0, -1, 0));
#139 = CARTESIAN_POINT('NONE', (0.000000000000000005024295867788082, 0.015875, -0.044449999999999996));
#140 = AXIS2_PLACEMENT_3D('NONE', #139, #138, #137);
#141 = CIRCLE('NONE', #140, 0.0079375);
#142 = DIRECTION('NONE', (-1, 0, 0.00000000000000021276806587672974));
#143 = DIRECTION('NONE', (-0, -1, 0));
#144 = CARTESIAN_POINT('NONE', (-0.04444999999999999, -0, -0.000000000000000010048591735576163));
#145 = AXIS2_PLACEMENT_3D('NONE', #144, #143, #142);
#146 = CIRCLE('NONE', #145, 0.007937500000000007);
#147 = DIRECTION('NONE', (0, 1, 0));
#148 = VECTOR('NONE', #147, 1);
#149 = CARTESIAN_POINT('NONE', (-0.0523875, 0, -0.00000000000000000835974521267962));
#150 = LINE('NONE', #149, #148);
#151 = DIRECTION('NONE', (-1, 0, 0.00000000000000021276806587672974));
#152 = DIRECTION('NONE', (-0, -1, 0));
#153 = CARTESIAN_POINT('NONE', (-0.04444999999999999, 0.015875, -0.000000000000000010048591735576163));
#154 = AXIS2_PLACEMENT_3D('NONE', #153, #152, #151);
#155 = CIRCLE('NONE', #154, 0.007937500000000007);
#156 = DIRECTION('NONE', (0.000000000000000053563981987573816, 0, 1));
#157 = DIRECTION('NONE', (0, -1, 0));
#158 = CARTESIAN_POINT('NONE', (-0.000000000000000010048591735576162, -0, 0.04444999999999999));
#159 = AXIS2_PLACEMENT_3D('NONE', #158, #157, #156);
#160 = CIRCLE('NONE', #159, 0.007937500000000007);
#161 = DIRECTION('NONE', (0, 1, 0));
#162 = VECTOR('NONE', #161, 1);
#163 = CARTESIAN_POINT('NONE', (-0.000000000000000009623427628549794, 0, 0.0523875));
#164 = LINE('NONE', #163, #162);
#165 = DIRECTION('NONE', (0.000000000000000053563981987573816, 0, 1));
#166 = DIRECTION('NONE', (0, -1, 0));
#167 = CARTESIAN_POINT('NONE', (-0.000000000000000010048591735576162, 0.015875, 0.04444999999999999));
#168 = AXIS2_PLACEMENT_3D('NONE', #167, #166, #165);
#169 = CIRCLE('NONE', #168, 0.007937500000000007);
#170 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#171 = DIRECTION('NONE', (0, -1, 0));
#172 = CARTESIAN_POINT('NONE', (0, -0, -0));
#173 = AXIS2_PLACEMENT_3D('NONE', #172, #171, #170);
#174 = CIRCLE('NONE', #173, 0.015875);
#175 = DIRECTION('NONE', (0, 1, 0));
#176 = VECTOR('NONE', #175, 1);
#177 = CARTESIAN_POINT('NONE', (0.015875, 0, 0.000000000000000003888253587292846));
#178 = LINE('NONE', #177, #176);
#179 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#180 = DIRECTION('NONE', (0, -1, 0));
#181 = CARTESIAN_POINT('NONE', (0, 0.015875, -0));
#182 = AXIS2_PLACEMENT_3D('NONE', #181, #180, #179);
#183 = CIRCLE('NONE', #182, 0.015875);
#184 = EDGE_CURVE('NONE', #5, #5, #48, .T.);
#185 = EDGE_CURVE('NONE', #5, #7, #52, .T.);
#186 = EDGE_CURVE('NONE', #7, #7, #57, .T.);
#187 = EDGE_CURVE('NONE', #9, #9, #62, .T.);
#188 = EDGE_CURVE('NONE', #9, #11, #66, .T.);
#189 = EDGE_CURVE('NONE', #11, #11, #71, .T.);
#190 = EDGE_CURVE('NONE', #13, #13, #76, .T.);
#191 = EDGE_CURVE('NONE', #13, #15, #80, .T.);
#192 = EDGE_CURVE('NONE', #15, #15, #85, .T.);
#193 = EDGE_CURVE('NONE', #17, #17, #90, .T.);
#194 = EDGE_CURVE('NONE', #17, #19, #94, .T.);
#195 = EDGE_CURVE('NONE', #19, #19, #99, .T.);
#196 = EDGE_CURVE('NONE', #21, #21, #104, .T.);
#197 = EDGE_CURVE('NONE', #21, #23, #108, .T.);
#198 = EDGE_CURVE('NONE', #23, #23, #113, .T.);
#199 = EDGE_CURVE('NONE', #25, #25, #118, .T.);
#200 = EDGE_CURVE('NONE', #25, #27, #122, .T.);
#201 = EDGE_CURVE('NONE', #27, #27, #127, .T.);
#202 = EDGE_CURVE('NONE', #29, #29, #132, .T.);
#203 = EDGE_CURVE('NONE', #29, #31, #136, .T.);
#204 = EDGE_CURVE('NONE', #31, #31, #141, .T.);
#205 = EDGE_CURVE('NONE', #33, #33, #146, .T.);
#206 = EDGE_CURVE('NONE', #33, #35, #150, .T.);
#207 = EDGE_CURVE('NONE', #35, #35, #155, .T.);
#208 = EDGE_CURVE('NONE', #37, #37, #160, .T.);
#209 = EDGE_CURVE('NONE', #37, #39, #164, .T.);
#210 = EDGE_CURVE('NONE', #39, #39, #169, .T.);
#211 = EDGE_CURVE('NONE', #41, #41, #174, .T.);
#212 = EDGE_CURVE('NONE', #41, #43, #178, .T.);
#213 = EDGE_CURVE('NONE', #43, #43, #183, .T.);
#214 = CARTESIAN_POINT('NONE', (-0, -0.000762, 0));
#215 = DIRECTION('NONE', (0, 1, 0));
#216 = DIRECTION('NONE', (1, 0, -0));
#217 = AXIS2_PLACEMENT_3D('NONE', #214, #215, #216);
#218 = CYLINDRICAL_SURFACE('NONE', #217, 0.03175);
#219 = CARTESIAN_POINT('NONE', (0, -0.000762, -0));
#220 = DIRECTION('NONE', (0, -1, 0));
#221 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#222 = AXIS2_PLACEMENT_3D('NONE', #219, #220, #221);
#223 = CYLINDRICAL_SURFACE('NONE', #222, 0.015875);
#224 = CARTESIAN_POINT('NONE', (0, -0.001524, -0));
#225 = DIRECTION('NONE', (0, 1, 0));
#226 = AXIS2_PLACEMENT_3D('NONE', #224, #225, $);
#227 = PLANE('NONE', #226);
#228 = CARTESIAN_POINT('NONE', (0, 0, -0));
#229 = DIRECTION('NONE', (0, 1, 0));
#230 = AXIS2_PLACEMENT_3D('NONE', #228, #229, $);
#231 = PLANE('NONE', #230);
#232 = CARTESIAN_POINT('NONE', (-0, 0.017500599999999998, 0));
#233 = DIRECTION('NONE', (0, 1, 0));
#234 = DIRECTION('NONE', (1, 0, -0));
#235 = AXIS2_PLACEMENT_3D('NONE', #232, #233, #234);
#236 = CYLINDRICAL_SURFACE('NONE', #235, 0.0293751);
#237 = CARTESIAN_POINT('NONE', (0, 0.017500599999999998, -0));
#238 = DIRECTION('NONE', (0, -1, 0));
#239 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#240 = AXIS2_PLACEMENT_3D('NONE', #237, #238, #239);
#241 = CYLINDRICAL_SURFACE('NONE', #240, 0.015875);
#242 = CARTESIAN_POINT('NONE', (0, 0.015875, -0));
#243 = DIRECTION('NONE', (0, 1, 0));
#244 = AXIS2_PLACEMENT_3D('NONE', #242, #243, $);
#245 = PLANE('NONE', #244);
#246 = CARTESIAN_POINT('NONE', (0, 0.019126199999999996, -0));
#247 = DIRECTION('NONE', (0, 1, 0));
#248 = AXIS2_PLACEMENT_3D('NONE', #246, #247, $);
#249 = PLANE('NONE', #248);
#250 = CARTESIAN_POINT('NONE', (-0, 0.0079375, 0));
#251 = DIRECTION('NONE', (0, 1, 0));
#252 = DIRECTION('NONE', (1, 0, -0));
#253 = AXIS2_PLACEMENT_3D('NONE', #250, #251, #252);
#254 = CYLINDRICAL_SURFACE('NONE', #253, 0.0587375);
#255 = CARTESIAN_POINT('NONE', (0.044449999999999996, 0.0079375, 0.000000000000000005024295867788081));
#256 = DIRECTION('NONE', (0, -1, 0));
#257 = DIRECTION('NONE', (1, 0, -0.000000000000000388052796742256));
#258 = AXIS2_PLACEMENT_3D('NONE', #255, #256, #257);
#259 = CYLINDRICAL_SURFACE('NONE', #258, 0.0079375);
#260 = CARTESIAN_POINT('NONE', (0.000000000000000005024295867788082, 0.0079375, -0.044449999999999996));
#261 = DIRECTION('NONE', (0, -1, 0));
#262 = DIRECTION('NONE', (0.000000000000000016080646976370378, 0, -1));
#263 = AXIS2_PLACEMENT_3D('NONE', #260, #261, #262);
#264 = CYLINDRICAL_SURFACE('NONE', #263, 0.0079375);
#265 = CARTESIAN_POINT('NONE', (-0.04444999999999999, 0.0079375, -0.000000000000000010048591735576163));
#266 = DIRECTION('NONE', (-0, -1, 0));
#267 = DIRECTION('NONE', (-1, 0, 0.00000000000000021276806587672974));
#268 = AXIS2_PLACEMENT_3D('NONE', #265, #266, #267);
#269 = CYLINDRICAL_SURFACE('NONE', #268, 0.007937500000000007);
#270 = CARTESIAN_POINT('NONE', (-0.000000000000000010048591735576162, 0.0079375, 0.04444999999999999));
#271 = DIRECTION('NONE', (0, -1, 0));
#272 = DIRECTION('NONE', (0.000000000000000053563981987573816, 0, 1));
#273 = AXIS2_PLACEMENT_3D('NONE', #270, #271, #272);
#274 = CYLINDRICAL_SURFACE('NONE', #273, 0.007937500000000007);
#275 = CARTESIAN_POINT('NONE', (0, 0.0079375, -0));
#276 = DIRECTION('NONE', (0, -1, 0));
#277 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#278 = AXIS2_PLACEMENT_3D('NONE', #275, #276, #277);
#279 = CYLINDRICAL_SURFACE('NONE', #278, 0.015875);
#280 = CARTESIAN_POINT('NONE', (0, 0, -0));
#281 = DIRECTION('NONE', (0, 1, 0));
#282 = AXIS2_PLACEMENT_3D('NONE', #280, #281, $);
#283 = PLANE('NONE', #282);
#284 = CARTESIAN_POINT('NONE', (0, 0.015875, -0));
#285 = DIRECTION('NONE', (0, 1, 0));
#286 = AXIS2_PLACEMENT_3D('NONE', #284, #285, $);
#287 = PLANE('NONE', #286);
#288 = ORIENTED_EDGE('NONE', *, *, #184, .T.);
#289 = ORIENTED_EDGE('NONE', *, *, #186, .F.);
#290 = EDGE_LOOP('NONE', (#288));
#291 = FACE_BOUND('NONE', #290, .T.);
#292 = EDGE_LOOP('NONE', (#289));
#293 = FACE_BOUND('NONE', #292, .T.);
#294 = ADVANCED_FACE('NONE', (#291, #293), #218, .T.);
#295 = ORIENTED_EDGE('NONE', *, *, #187, .T.);
#296 = ORIENTED_EDGE('NONE', *, *, #189, .F.);
#297 = EDGE_LOOP('NONE', (#295));
#298 = FACE_BOUND('NONE', #297, .T.);
#299 = EDGE_LOOP('NONE', (#296));
#300 = FACE_BOUND('NONE', #299, .T.);
#301 = ADVANCED_FACE('NONE', (#298, #300), #223, .F.);
#302 = ORIENTED_EDGE('NONE', *, *, #184, .F.);
#303 = ORIENTED_EDGE('NONE', *, *, #187, .F.);
#304 = EDGE_LOOP('NONE', (#302));
#305 = FACE_BOUND('NONE', #304, .T.);
#306 = EDGE_LOOP('NONE', (#303));
#307 = FACE_BOUND('NONE', #306, .T.);
#308 = ADVANCED_FACE('NONE', (#305, #307), #227, .F.);
#309 = ORIENTED_EDGE('NONE', *, *, #186, .T.);
#310 = ORIENTED_EDGE('NONE', *, *, #189, .T.);
#311 = EDGE_LOOP('NONE', (#309));
#312 = FACE_BOUND('NONE', #311, .T.);
#313 = EDGE_LOOP('NONE', (#310));
#314 = FACE_BOUND('NONE', #313, .T.);
#315 = ADVANCED_FACE('NONE', (#312, #314), #231, .T.);
#316 = ORIENTED_EDGE('NONE', *, *, #190, .T.);
#317 = ORIENTED_EDGE('NONE', *, *, #192, .F.);
#318 = EDGE_LOOP('NONE', (#316));
#319 = FACE_BOUND('NONE', #318, .T.);
#320 = EDGE_LOOP('NONE', (#317));
#321 = FACE_BOUND('NONE', #320, .T.);
#322 = ADVANCED_FACE('NONE', (#319, #321), #236, .T.);
#323 = ORIENTED_EDGE('NONE', *, *, #193, .T.);
#324 = ORIENTED_EDGE('NONE', *, *, #195, .F.);
#325 = EDGE_LOOP('NONE', (#323));
#326 = FACE_BOUND('NONE', #325, .T.);
#327 = EDGE_LOOP('NONE', (#324));
#328 = FACE_BOUND('NONE', #327, .T.);
#329 = ADVANCED_FACE('NONE', (#326, #328), #241, .F.);
#330 = ORIENTED_EDGE('NONE', *, *, #190, .F.);
#331 = ORIENTED_EDGE('NONE', *, *, #193, .F.);
#332 = EDGE_LOOP('NONE', (#330));
#333 = FACE_BOUND('NONE', #332, .T.);
#334 = EDGE_LOOP('NONE', (#331));
#335 = FACE_BOUND('NONE', #334, .T.);
#336 = ADVANCED_FACE('NONE', (#333, #335), #245, .F.);
#337 = ORIENTED_EDGE('NONE', *, *, #192, .T.);
#338 = ORIENTED_EDGE('NONE', *, *, #195, .T.);
#339 = EDGE_LOOP('NONE', (#337));
#340 = FACE_BOUND('NONE', #339, .T.);
#341 = EDGE_LOOP('NONE', (#338));
#342 = FACE_BOUND('NONE', #341, .T.);
#343 = ADVANCED_FACE('NONE', (#340, #342), #249, .T.);
#344 = ORIENTED_EDGE('NONE', *, *, #196, .T.);
#345 = ORIENTED_EDGE('NONE', *, *, #198, .F.);
#346 = EDGE_LOOP('NONE', (#344));
#347 = FACE_BOUND('NONE', #346, .T.);
#348 = EDGE_LOOP('NONE', (#345));
#349 = FACE_BOUND('NONE', #348, .T.);
#350 = ADVANCED_FACE('NONE', (#347, #349), #254, .T.);
#351 = ORIENTED_EDGE('NONE', *, *, #199, .T.);
#352 = ORIENTED_EDGE('NONE', *, *, #201, .F.);
#353 = EDGE_LOOP('NONE', (#351));
#354 = FACE_BOUND('NONE', #353, .T.);
#355 = EDGE_LOOP('NONE', (#352));
#356 = FACE_BOUND('NONE', #355, .T.);
#357 = ADVANCED_FACE('NONE', (#354, #356), #259, .F.);
#358 = ORIENTED_EDGE('NONE', *, *, #202, .T.);
#359 = ORIENTED_EDGE('NONE', *, *, #204, .F.);
#360 = EDGE_LOOP('NONE', (#358));
#361 = FACE_BOUND('NONE', #360, .T.);
#362 = EDGE_LOOP('NONE', (#359));
#363 = FACE_BOUND('NONE', #362, .T.);
#364 = ADVANCED_FACE('NONE', (#361, #363), #264, .F.);
#365 = ORIENTED_EDGE('NONE', *, *, #205, .T.);
#366 = ORIENTED_EDGE('NONE', *, *, #207, .F.);
#367 = EDGE_LOOP('NONE', (#365));
#368 = FACE_BOUND('NONE', #367, .T.);
#369 = EDGE_LOOP('NONE', (#366));
#370 = FACE_BOUND('NONE', #369, .T.);
#371 = ADVANCED_FACE('NONE', (#368, #370), #269, .F.);
#372 = ORIENTED_EDGE('NONE', *, *, #208, .T.);
#373 = ORIENTED_EDGE('NONE', *, *, #210, .F.);
#374 = EDGE_LOOP('NONE', (#372));
#375 = FACE_BOUND('NONE', #374, .T.);
#376 = EDGE_LOOP('NONE', (#373));
#377 = FACE_BOUND('NONE', #376, .T.);
#378 = ADVANCED_FACE('NONE', (#375, #377), #274, .F.);
#379 = ORIENTED_EDGE('NONE', *, *, #211, .T.);
#380 = ORIENTED_EDGE('NONE', *, *, #213, .F.);
#381 = EDGE_LOOP('NONE', (#379));
#382 = FACE_BOUND('NONE', #381, .T.);
#383 = EDGE_LOOP('NONE', (#380));
#384 = FACE_BOUND('NONE', #383, .T.);
#385 = ADVANCED_FACE('NONE', (#382, #384), #279, .F.);
#386 = ORIENTED_EDGE('NONE', *, *, #196, .F.);
#387 = ORIENTED_EDGE('NONE', *, *, #199, .F.);
#388 = ORIENTED_EDGE('NONE', *, *, #202, .F.);
#389 = ORIENTED_EDGE('NONE', *, *, #205, .F.);
#390 = ORIENTED_EDGE('NONE', *, *, #208, .F.);
#391 = ORIENTED_EDGE('NONE', *, *, #211, .F.);
#392 = EDGE_LOOP('NONE', (#386));
#393 = FACE_BOUND('NONE', #392, .T.);
#394 = EDGE_LOOP('NONE', (#387));
#395 = FACE_BOUND('NONE', #394, .T.);
#396 = EDGE_LOOP('NONE', (#388));
#397 = FACE_BOUND('NONE', #396, .T.);
#398 = EDGE_LOOP('NONE', (#389));
#399 = FACE_BOUND('NONE', #398, .T.);
#400 = EDGE_LOOP('NONE', (#390));
#401 = FACE_BOUND('NONE', #400, .T.);
#402 = EDGE_LOOP('NONE', (#391));
#403 = FACE_BOUND('NONE', #402, .T.);
#404 = ADVANCED_FACE('NONE', (#393, #395, #397, #399, #401, #403), #283, .F.);
#405 = ORIENTED_EDGE('NONE', *, *, #198, .T.);
#406 = ORIENTED_EDGE('NONE', *, *, #201, .T.);
#407 = ORIENTED_EDGE('NONE', *, *, #204, .T.);
#408 = ORIENTED_EDGE('NONE', *, *, #207, .T.);
#409 = ORIENTED_EDGE('NONE', *, *, #210, .T.);
#410 = ORIENTED_EDGE('NONE', *, *, #213, .T.);
#411 = EDGE_LOOP('NONE', (#405));
#412 = FACE_BOUND('NONE', #411, .T.);
#413 = EDGE_LOOP('NONE', (#406));
#414 = FACE_BOUND('NONE', #413, .T.);
#415 = EDGE_LOOP('NONE', (#407));
#416 = FACE_BOUND('NONE', #415, .T.);
#417 = EDGE_LOOP('NONE', (#408));
#418 = FACE_BOUND('NONE', #417, .T.);
#419 = EDGE_LOOP('NONE', (#409));
#420 = FACE_BOUND('NONE', #419, .T.);
#421 = EDGE_LOOP('NONE', (#410));
#422 = FACE_BOUND('NONE', #421, .T.);
#423 = ADVANCED_FACE('NONE', (#412, #414, #416, #418, #420, #422), #287, .T.);
#424 = CLOSED_SHELL('NONE', (#294, #301, #308, #315));
#425 = CLOSED_SHELL('NONE', (#322, #329, #336, #343));
#426 = CLOSED_SHELL('NONE', (#350, #357, #364, #371, #378, #385, #404, #423));
#427 = MANIFOLD_SOLID_BREP('NONE', #424);
#428 = MANIFOLD_SOLID_BREP('NONE', #425);
#429 = MANIFOLD_SOLID_BREP('NONE', #426);
#430 = APPLICATION_CONTEXT('configuration controlled 3D design of mechanical parts and assemblies');
#431 = PRODUCT_DEFINITION_CONTEXT('part definition', #430, 'design');
#432 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#433 = PRODUCT_DEFINITION_FORMATION('', $, #432);
#434 = PRODUCT_DEFINITION('design', $, #433, #431);
#435 = PRODUCT_DEFINITION_SHAPE('NONE', $, #434);
#436 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#429), #3);
#437 = SHAPE_DEFINITION_REPRESENTATION(#435, #436);
#438 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#439 = PRODUCT_DEFINITION_FORMATION('', $, #438);
#440 = PRODUCT_DEFINITION('design', $, #439, #431);
#441 = PRODUCT_DEFINITION_SHAPE('NONE', $, #440);
#442 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#428), #3);
#443 = SHAPE_DEFINITION_REPRESENTATION(#441, #442);
#444 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#445 = PRODUCT_DEFINITION_FORMATION('', $, #444);
#446 = PRODUCT_DEFINITION('design', $, #445, #431);
#447 = PRODUCT_DEFINITION_SHAPE('NONE', $, #446);
#448 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#427), #3);
#449 = SHAPE_DEFINITION_REPRESENTATION(#447, #448);
ENDSEC;
END-ISO-10303-21;

View File

@ -1,467 +0,0 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((('zoo.dev export')), '2;1');
FILE_NAME('dump.step', '2021-01-01T00:00:00+00:00', ('Author unknown'), ('Organization unknown'), 'zoo.dev beta', 'zoo.dev', 'Authorization unknown');
FILE_SCHEMA(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF'));
ENDSEC;
DATA;
#1 = (
LENGTH_UNIT()
NAMED_UNIT(*)
SI_UNIT($, .METRE.)
);
#2 = UNCERTAINTY_MEASURE_WITH_UNIT(0.00001, #1, 'DISTANCE_ACCURACY_VALUE', $);
#3 = (
GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#1))
REPRESENTATION_CONTEXT('', '3D')
);
#4 = CARTESIAN_POINT('NONE', (0.03175, -0.001524, -0));
#5 = VERTEX_POINT('NONE', #4);
#6 = CARTESIAN_POINT('NONE', (0.03175, 0, -0));
#7 = VERTEX_POINT('NONE', #6);
#8 = CARTESIAN_POINT('NONE', (0.015875, -0.001524, 0.000000000000000003888253587292846));
#9 = VERTEX_POINT('NONE', #8);
#10 = CARTESIAN_POINT('NONE', (0.015875, 0, 0.000000000000000003888253587292846));
#11 = VERTEX_POINT('NONE', #10);
#12 = CARTESIAN_POINT('NONE', (0.0293751, 0.015875, -0));
#13 = VERTEX_POINT('NONE', #12);
#14 = CARTESIAN_POINT('NONE', (0.0293751, 0.019126199999999996, -0));
#15 = VERTEX_POINT('NONE', #14);
#16 = CARTESIAN_POINT('NONE', (0.015875, 0.015875, 0.000000000000000003888253587292846));
#17 = VERTEX_POINT('NONE', #16);
#18 = CARTESIAN_POINT('NONE', (0.015875, 0.019126199999999996, 0.000000000000000003888253587292846));
#19 = VERTEX_POINT('NONE', #18);
#20 = CARTESIAN_POINT('NONE', (0.0587375, 0, -0));
#21 = VERTEX_POINT('NONE', #20);
#22 = CARTESIAN_POINT('NONE', (0.0587375, 0.015875, -0));
#23 = VERTEX_POINT('NONE', #22);
#24 = CARTESIAN_POINT('NONE', (0.0523875, 0, 0.000000000000000001944126793646423));
#25 = VERTEX_POINT('NONE', #24);
#26 = CARTESIAN_POINT('NONE', (0.0523875, 0.015875, 0.000000000000000001944126793646423));
#27 = VERTEX_POINT('NONE', #26);
#28 = CARTESIAN_POINT('NONE', (0.0079375, 0, -0.044449999999999996));
#29 = VERTEX_POINT('NONE', #28);
#30 = CARTESIAN_POINT('NONE', (0.0079375, 0.015875, -0.044449999999999996));
#31 = VERTEX_POINT('NONE', #30);
#32 = CARTESIAN_POINT('NONE', (-0.036512499999999996, 0, 0.000000000000000001944126793646423));
#33 = VERTEX_POINT('NONE', #32);
#34 = CARTESIAN_POINT('NONE', (-0.036512499999999996, 0.015875, 0.000000000000000001944126793646423));
#35 = VERTEX_POINT('NONE', #34);
#36 = CARTESIAN_POINT('NONE', (0.0079375, 0, 0.044449999999999996));
#37 = VERTEX_POINT('NONE', #36);
#38 = CARTESIAN_POINT('NONE', (0.0079375, 0.015875, 0.044449999999999996));
#39 = VERTEX_POINT('NONE', #38);
#40 = CARTESIAN_POINT('NONE', (0.015875, 0, 0.000000000000000003888253587292846));
#41 = VERTEX_POINT('NONE', #40);
#42 = CARTESIAN_POINT('NONE', (0.015875, 0.015875, 0.000000000000000003888253587292846));
#43 = VERTEX_POINT('NONE', #42);
#44 = DIRECTION('NONE', (1, 0, -0));
#45 = DIRECTION('NONE', (0, 1, 0));
#46 = CARTESIAN_POINT('NONE', (-0, -0.001524, 0));
#47 = AXIS2_PLACEMENT_3D('NONE', #46, #45, #44);
#48 = CIRCLE('NONE', #47, 0.03175);
#49 = DIRECTION('NONE', (0, 1, 0));
#50 = VECTOR('NONE', #49, 1);
#51 = CARTESIAN_POINT('NONE', (0.03175, -0.001524, -0));
#52 = LINE('NONE', #51, #50);
#53 = DIRECTION('NONE', (1, 0, -0));
#54 = DIRECTION('NONE', (0, 1, 0));
#55 = CARTESIAN_POINT('NONE', (-0, 0, 0));
#56 = AXIS2_PLACEMENT_3D('NONE', #55, #54, #53);
#57 = CIRCLE('NONE', #56, 0.03175);
#58 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#59 = DIRECTION('NONE', (0, -1, 0));
#60 = CARTESIAN_POINT('NONE', (0, -0.001524, -0));
#61 = AXIS2_PLACEMENT_3D('NONE', #60, #59, #58);
#62 = CIRCLE('NONE', #61, 0.015875);
#63 = DIRECTION('NONE', (0, 1, 0));
#64 = VECTOR('NONE', #63, 1);
#65 = CARTESIAN_POINT('NONE', (0.015875, -0.001524, 0.000000000000000003888253587292846));
#66 = LINE('NONE', #65, #64);
#67 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#68 = DIRECTION('NONE', (0, -1, 0));
#69 = CARTESIAN_POINT('NONE', (0, -0, -0));
#70 = AXIS2_PLACEMENT_3D('NONE', #69, #68, #67);
#71 = CIRCLE('NONE', #70, 0.015875);
#72 = DIRECTION('NONE', (1, 0, -0));
#73 = DIRECTION('NONE', (0, 1, 0));
#74 = CARTESIAN_POINT('NONE', (-0, 0.015875, 0));
#75 = AXIS2_PLACEMENT_3D('NONE', #74, #73, #72);
#76 = CIRCLE('NONE', #75, 0.0293751);
#77 = DIRECTION('NONE', (0, 1, 0));
#78 = VECTOR('NONE', #77, 1);
#79 = CARTESIAN_POINT('NONE', (0.0293751, 0.015875, -0));
#80 = LINE('NONE', #79, #78);
#81 = DIRECTION('NONE', (1, 0, -0));
#82 = DIRECTION('NONE', (0, 1, 0));
#83 = CARTESIAN_POINT('NONE', (-0, 0.019126199999999996, 0));
#84 = AXIS2_PLACEMENT_3D('NONE', #83, #82, #81);
#85 = CIRCLE('NONE', #84, 0.0293751);
#86 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#87 = DIRECTION('NONE', (0, -1, 0));
#88 = CARTESIAN_POINT('NONE', (0, 0.015875, -0));
#89 = AXIS2_PLACEMENT_3D('NONE', #88, #87, #86);
#90 = CIRCLE('NONE', #89, 0.015875);
#91 = DIRECTION('NONE', (0, 1, 0));
#92 = VECTOR('NONE', #91, 1);
#93 = CARTESIAN_POINT('NONE', (0.015875, 0.015875, 0.000000000000000003888253587292846));
#94 = LINE('NONE', #93, #92);
#95 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#96 = DIRECTION('NONE', (0, -1, 0));
#97 = CARTESIAN_POINT('NONE', (0, 0.019126199999999996, -0));
#98 = AXIS2_PLACEMENT_3D('NONE', #97, #96, #95);
#99 = CIRCLE('NONE', #98, 0.015875);
#100 = DIRECTION('NONE', (1, 0, -0));
#101 = DIRECTION('NONE', (0, 1, 0));
#102 = CARTESIAN_POINT('NONE', (-0, 0, 0));
#103 = AXIS2_PLACEMENT_3D('NONE', #102, #101, #100);
#104 = CIRCLE('NONE', #103, 0.0587375);
#105 = DIRECTION('NONE', (0, 1, 0));
#106 = VECTOR('NONE', #105, 1);
#107 = CARTESIAN_POINT('NONE', (0.0587375, 0, -0));
#108 = LINE('NONE', #107, #106);
#109 = DIRECTION('NONE', (1, 0, -0));
#110 = DIRECTION('NONE', (0, 1, 0));
#111 = CARTESIAN_POINT('NONE', (-0, 0.015875, 0));
#112 = AXIS2_PLACEMENT_3D('NONE', #111, #110, #109);
#113 = CIRCLE('NONE', #112, 0.0587375);
#114 = DIRECTION('NONE', (1, 0, -0.000000000000000388052796742256));
#115 = DIRECTION('NONE', (0, -1, 0));
#116 = CARTESIAN_POINT('NONE', (0.044449999999999996, -0, 0.000000000000000005024295867788081));
#117 = AXIS2_PLACEMENT_3D('NONE', #116, #115, #114);
#118 = CIRCLE('NONE', #117, 0.0079375);
#119 = DIRECTION('NONE', (0, 1, 0));
#120 = VECTOR('NONE', #119, 1);
#121 = CARTESIAN_POINT('NONE', (0.0523875, 0, 0.000000000000000001944126793646423));
#122 = LINE('NONE', #121, #120);
#123 = DIRECTION('NONE', (1, 0, -0.000000000000000388052796742256));
#124 = DIRECTION('NONE', (0, -1, 0));
#125 = CARTESIAN_POINT('NONE', (0.044449999999999996, 0.015875, 0.000000000000000005024295867788081));
#126 = AXIS2_PLACEMENT_3D('NONE', #125, #124, #123);
#127 = CIRCLE('NONE', #126, 0.0079375);
#128 = DIRECTION('NONE', (1, 0, -0));
#129 = DIRECTION('NONE', (0, -1, 0));
#130 = CARTESIAN_POINT('NONE', (0.0000000000000000025121479338940404, -0, -0.044449999999999996));
#131 = AXIS2_PLACEMENT_3D('NONE', #130, #129, #128);
#132 = CIRCLE('NONE', #131, 0.007937499999999997);
#133 = DIRECTION('NONE', (0, 1, 0));
#134 = VECTOR('NONE', #133, 1);
#135 = CARTESIAN_POINT('NONE', (0.0079375, 0, -0.044449999999999996));
#136 = LINE('NONE', #135, #134);
#137 = DIRECTION('NONE', (1, 0, -0));
#138 = DIRECTION('NONE', (0, -1, 0));
#139 = CARTESIAN_POINT('NONE', (0.0000000000000000025121479338940404, 0.015875, -0.044449999999999996));
#140 = AXIS2_PLACEMENT_3D('NONE', #139, #138, #137);
#141 = CIRCLE('NONE', #140, 0.007937499999999997);
#142 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#143 = DIRECTION('NONE', (0, -1, 0));
#144 = CARTESIAN_POINT('NONE', (-0.044449999999999996, -0, -0));
#145 = AXIS2_PLACEMENT_3D('NONE', #144, #143, #142);
#146 = CIRCLE('NONE', #145, 0.0079375);
#147 = DIRECTION('NONE', (0, 1, 0));
#148 = VECTOR('NONE', #147, 1);
#149 = CARTESIAN_POINT('NONE', (-0.036512499999999996, 0, 0.000000000000000001944126793646423));
#150 = LINE('NONE', #149, #148);
#151 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#152 = DIRECTION('NONE', (0, -1, 0));
#153 = CARTESIAN_POINT('NONE', (-0.044449999999999996, 0.015875, -0));
#154 = AXIS2_PLACEMENT_3D('NONE', #153, #152, #151);
#155 = CIRCLE('NONE', #154, 0.0079375);
#156 = DIRECTION('NONE', (1, 0, -0));
#157 = DIRECTION('NONE', (0, -1, 0));
#158 = CARTESIAN_POINT('NONE', (-0.000000000000000005024295867788081, -0, 0.044449999999999996));
#159 = AXIS2_PLACEMENT_3D('NONE', #158, #157, #156);
#160 = CIRCLE('NONE', #159, 0.007937500000000005);
#161 = DIRECTION('NONE', (0, 1, 0));
#162 = VECTOR('NONE', #161, 1);
#163 = CARTESIAN_POINT('NONE', (0.0079375, 0, 0.044449999999999996));
#164 = LINE('NONE', #163, #162);
#165 = DIRECTION('NONE', (1, 0, -0));
#166 = DIRECTION('NONE', (0, -1, 0));
#167 = CARTESIAN_POINT('NONE', (-0.000000000000000005024295867788081, 0.015875, 0.044449999999999996));
#168 = AXIS2_PLACEMENT_3D('NONE', #167, #166, #165);
#169 = CIRCLE('NONE', #168, 0.007937500000000005);
#170 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#171 = DIRECTION('NONE', (0, -1, 0));
#172 = CARTESIAN_POINT('NONE', (0, -0, -0));
#173 = AXIS2_PLACEMENT_3D('NONE', #172, #171, #170);
#174 = CIRCLE('NONE', #173, 0.015875);
#175 = DIRECTION('NONE', (0, 1, 0));
#176 = VECTOR('NONE', #175, 1);
#177 = CARTESIAN_POINT('NONE', (0.015875, 0, 0.000000000000000003888253587292846));
#178 = LINE('NONE', #177, #176);
#179 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#180 = DIRECTION('NONE', (0, -1, 0));
#181 = CARTESIAN_POINT('NONE', (0, 0.015875, -0));
#182 = AXIS2_PLACEMENT_3D('NONE', #181, #180, #179);
#183 = CIRCLE('NONE', #182, 0.015875);
#184 = EDGE_CURVE('NONE', #5, #5, #48, .T.);
#185 = EDGE_CURVE('NONE', #5, #7, #52, .T.);
#186 = EDGE_CURVE('NONE', #7, #7, #57, .T.);
#187 = EDGE_CURVE('NONE', #9, #9, #62, .T.);
#188 = EDGE_CURVE('NONE', #9, #11, #66, .T.);
#189 = EDGE_CURVE('NONE', #11, #11, #71, .T.);
#190 = EDGE_CURVE('NONE', #13, #13, #76, .T.);
#191 = EDGE_CURVE('NONE', #13, #15, #80, .T.);
#192 = EDGE_CURVE('NONE', #15, #15, #85, .T.);
#193 = EDGE_CURVE('NONE', #17, #17, #90, .T.);
#194 = EDGE_CURVE('NONE', #17, #19, #94, .T.);
#195 = EDGE_CURVE('NONE', #19, #19, #99, .T.);
#196 = EDGE_CURVE('NONE', #21, #21, #104, .T.);
#197 = EDGE_CURVE('NONE', #21, #23, #108, .T.);
#198 = EDGE_CURVE('NONE', #23, #23, #113, .T.);
#199 = EDGE_CURVE('NONE', #25, #25, #118, .T.);
#200 = EDGE_CURVE('NONE', #25, #27, #122, .T.);
#201 = EDGE_CURVE('NONE', #27, #27, #127, .T.);
#202 = EDGE_CURVE('NONE', #29, #29, #132, .T.);
#203 = EDGE_CURVE('NONE', #29, #31, #136, .T.);
#204 = EDGE_CURVE('NONE', #31, #31, #141, .T.);
#205 = EDGE_CURVE('NONE', #33, #33, #146, .T.);
#206 = EDGE_CURVE('NONE', #33, #35, #150, .T.);
#207 = EDGE_CURVE('NONE', #35, #35, #155, .T.);
#208 = EDGE_CURVE('NONE', #37, #37, #160, .T.);
#209 = EDGE_CURVE('NONE', #37, #39, #164, .T.);
#210 = EDGE_CURVE('NONE', #39, #39, #169, .T.);
#211 = EDGE_CURVE('NONE', #41, #41, #174, .T.);
#212 = EDGE_CURVE('NONE', #41, #43, #178, .T.);
#213 = EDGE_CURVE('NONE', #43, #43, #183, .T.);
#214 = CARTESIAN_POINT('NONE', (-0, -0.000762, 0));
#215 = DIRECTION('NONE', (0, 1, 0));
#216 = DIRECTION('NONE', (1, 0, -0));
#217 = AXIS2_PLACEMENT_3D('NONE', #214, #215, #216);
#218 = CYLINDRICAL_SURFACE('NONE', #217, 0.03175);
#219 = CARTESIAN_POINT('NONE', (0, -0.000762, -0));
#220 = DIRECTION('NONE', (0, -1, 0));
#221 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#222 = AXIS2_PLACEMENT_3D('NONE', #219, #220, #221);
#223 = CYLINDRICAL_SURFACE('NONE', #222, 0.015875);
#224 = CARTESIAN_POINT('NONE', (0, -0.001524, -0));
#225 = DIRECTION('NONE', (0, 1, 0));
#226 = AXIS2_PLACEMENT_3D('NONE', #224, #225, $);
#227 = PLANE('NONE', #226);
#228 = CARTESIAN_POINT('NONE', (0, 0, -0));
#229 = DIRECTION('NONE', (0, 1, 0));
#230 = AXIS2_PLACEMENT_3D('NONE', #228, #229, $);
#231 = PLANE('NONE', #230);
#232 = CARTESIAN_POINT('NONE', (-0, 0.017500599999999998, 0));
#233 = DIRECTION('NONE', (0, 1, 0));
#234 = DIRECTION('NONE', (1, 0, -0));
#235 = AXIS2_PLACEMENT_3D('NONE', #232, #233, #234);
#236 = CYLINDRICAL_SURFACE('NONE', #235, 0.0293751);
#237 = CARTESIAN_POINT('NONE', (0, 0.017500599999999998, -0));
#238 = DIRECTION('NONE', (0, -1, 0));
#239 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#240 = AXIS2_PLACEMENT_3D('NONE', #237, #238, #239);
#241 = CYLINDRICAL_SURFACE('NONE', #240, 0.015875);
#242 = CARTESIAN_POINT('NONE', (0, 0.015875, -0));
#243 = DIRECTION('NONE', (0, 1, 0));
#244 = AXIS2_PLACEMENT_3D('NONE', #242, #243, $);
#245 = PLANE('NONE', #244);
#246 = CARTESIAN_POINT('NONE', (0, 0.019126199999999996, -0));
#247 = DIRECTION('NONE', (0, 1, 0));
#248 = AXIS2_PLACEMENT_3D('NONE', #246, #247, $);
#249 = PLANE('NONE', #248);
#250 = CARTESIAN_POINT('NONE', (-0, 0.0079375, 0));
#251 = DIRECTION('NONE', (0, 1, 0));
#252 = DIRECTION('NONE', (1, 0, -0));
#253 = AXIS2_PLACEMENT_3D('NONE', #250, #251, #252);
#254 = CYLINDRICAL_SURFACE('NONE', #253, 0.0587375);
#255 = CARTESIAN_POINT('NONE', (0.044449999999999996, 0.0079375, 0.000000000000000005024295867788081));
#256 = DIRECTION('NONE', (0, -1, 0));
#257 = DIRECTION('NONE', (1, 0, -0.000000000000000388052796742256));
#258 = AXIS2_PLACEMENT_3D('NONE', #255, #256, #257);
#259 = CYLINDRICAL_SURFACE('NONE', #258, 0.0079375);
#260 = CARTESIAN_POINT('NONE', (0.0000000000000000025121479338940404, 0.0079375, -0.044449999999999996));
#261 = DIRECTION('NONE', (0, -1, 0));
#262 = DIRECTION('NONE', (1, 0, -0));
#263 = AXIS2_PLACEMENT_3D('NONE', #260, #261, #262);
#264 = CYLINDRICAL_SURFACE('NONE', #263, 0.007937499999999997);
#265 = CARTESIAN_POINT('NONE', (-0.044449999999999996, 0.0079375, -0));
#266 = DIRECTION('NONE', (0, -1, 0));
#267 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#268 = AXIS2_PLACEMENT_3D('NONE', #265, #266, #267);
#269 = CYLINDRICAL_SURFACE('NONE', #268, 0.0079375);
#270 = CARTESIAN_POINT('NONE', (-0.000000000000000005024295867788081, 0.0079375, 0.044449999999999996));
#271 = DIRECTION('NONE', (0, -1, 0));
#272 = DIRECTION('NONE', (1, 0, -0));
#273 = AXIS2_PLACEMENT_3D('NONE', #270, #271, #272);
#274 = CYLINDRICAL_SURFACE('NONE', #273, 0.007937500000000005);
#275 = CARTESIAN_POINT('NONE', (0, 0.0079375, -0));
#276 = DIRECTION('NONE', (0, -1, 0));
#277 = DIRECTION('NONE', (1, 0, 0.00000000000000024492935982947064));
#278 = AXIS2_PLACEMENT_3D('NONE', #275, #276, #277);
#279 = CYLINDRICAL_SURFACE('NONE', #278, 0.015875);
#280 = CARTESIAN_POINT('NONE', (0, 0, -0));
#281 = DIRECTION('NONE', (0, 1, 0));
#282 = AXIS2_PLACEMENT_3D('NONE', #280, #281, $);
#283 = PLANE('NONE', #282);
#284 = CARTESIAN_POINT('NONE', (0, 0.015875, -0));
#285 = DIRECTION('NONE', (0, 1, 0));
#286 = AXIS2_PLACEMENT_3D('NONE', #284, #285, $);
#287 = PLANE('NONE', #286);
#288 = ORIENTED_EDGE('NONE', *, *, #184, .T.);
#289 = ORIENTED_EDGE('NONE', *, *, #186, .F.);
#290 = EDGE_LOOP('NONE', (#288));
#291 = FACE_BOUND('NONE', #290, .T.);
#292 = EDGE_LOOP('NONE', (#289));
#293 = FACE_BOUND('NONE', #292, .T.);
#294 = ADVANCED_FACE('NONE', (#291, #293), #218, .T.);
#295 = ORIENTED_EDGE('NONE', *, *, #187, .T.);
#296 = ORIENTED_EDGE('NONE', *, *, #189, .F.);
#297 = EDGE_LOOP('NONE', (#295));
#298 = FACE_BOUND('NONE', #297, .T.);
#299 = EDGE_LOOP('NONE', (#296));
#300 = FACE_BOUND('NONE', #299, .T.);
#301 = ADVANCED_FACE('NONE', (#298, #300), #223, .F.);
#302 = ORIENTED_EDGE('NONE', *, *, #184, .F.);
#303 = ORIENTED_EDGE('NONE', *, *, #187, .F.);
#304 = EDGE_LOOP('NONE', (#302));
#305 = FACE_BOUND('NONE', #304, .T.);
#306 = EDGE_LOOP('NONE', (#303));
#307 = FACE_BOUND('NONE', #306, .T.);
#308 = ADVANCED_FACE('NONE', (#305, #307), #227, .F.);
#309 = ORIENTED_EDGE('NONE', *, *, #186, .T.);
#310 = ORIENTED_EDGE('NONE', *, *, #189, .T.);
#311 = EDGE_LOOP('NONE', (#309));
#312 = FACE_BOUND('NONE', #311, .T.);
#313 = EDGE_LOOP('NONE', (#310));
#314 = FACE_BOUND('NONE', #313, .T.);
#315 = ADVANCED_FACE('NONE', (#312, #314), #231, .T.);
#316 = ORIENTED_EDGE('NONE', *, *, #190, .T.);
#317 = ORIENTED_EDGE('NONE', *, *, #192, .F.);
#318 = EDGE_LOOP('NONE', (#316));
#319 = FACE_BOUND('NONE', #318, .T.);
#320 = EDGE_LOOP('NONE', (#317));
#321 = FACE_BOUND('NONE', #320, .T.);
#322 = ADVANCED_FACE('NONE', (#319, #321), #236, .T.);
#323 = ORIENTED_EDGE('NONE', *, *, #193, .T.);
#324 = ORIENTED_EDGE('NONE', *, *, #195, .F.);
#325 = EDGE_LOOP('NONE', (#323));
#326 = FACE_BOUND('NONE', #325, .T.);
#327 = EDGE_LOOP('NONE', (#324));
#328 = FACE_BOUND('NONE', #327, .T.);
#329 = ADVANCED_FACE('NONE', (#326, #328), #241, .F.);
#330 = ORIENTED_EDGE('NONE', *, *, #190, .F.);
#331 = ORIENTED_EDGE('NONE', *, *, #193, .F.);
#332 = EDGE_LOOP('NONE', (#330));
#333 = FACE_BOUND('NONE', #332, .T.);
#334 = EDGE_LOOP('NONE', (#331));
#335 = FACE_BOUND('NONE', #334, .T.);
#336 = ADVANCED_FACE('NONE', (#333, #335), #245, .F.);
#337 = ORIENTED_EDGE('NONE', *, *, #192, .T.);
#338 = ORIENTED_EDGE('NONE', *, *, #195, .T.);
#339 = EDGE_LOOP('NONE', (#337));
#340 = FACE_BOUND('NONE', #339, .T.);
#341 = EDGE_LOOP('NONE', (#338));
#342 = FACE_BOUND('NONE', #341, .T.);
#343 = ADVANCED_FACE('NONE', (#340, #342), #249, .T.);
#344 = ORIENTED_EDGE('NONE', *, *, #196, .T.);
#345 = ORIENTED_EDGE('NONE', *, *, #198, .F.);
#346 = EDGE_LOOP('NONE', (#344));
#347 = FACE_BOUND('NONE', #346, .T.);
#348 = EDGE_LOOP('NONE', (#345));
#349 = FACE_BOUND('NONE', #348, .T.);
#350 = ADVANCED_FACE('NONE', (#347, #349), #254, .T.);
#351 = ORIENTED_EDGE('NONE', *, *, #199, .T.);
#352 = ORIENTED_EDGE('NONE', *, *, #201, .F.);
#353 = EDGE_LOOP('NONE', (#351));
#354 = FACE_BOUND('NONE', #353, .T.);
#355 = EDGE_LOOP('NONE', (#352));
#356 = FACE_BOUND('NONE', #355, .T.);
#357 = ADVANCED_FACE('NONE', (#354, #356), #259, .F.);
#358 = ORIENTED_EDGE('NONE', *, *, #202, .T.);
#359 = ORIENTED_EDGE('NONE', *, *, #204, .F.);
#360 = EDGE_LOOP('NONE', (#358));
#361 = FACE_BOUND('NONE', #360, .T.);
#362 = EDGE_LOOP('NONE', (#359));
#363 = FACE_BOUND('NONE', #362, .T.);
#364 = ADVANCED_FACE('NONE', (#361, #363), #264, .F.);
#365 = ORIENTED_EDGE('NONE', *, *, #205, .T.);
#366 = ORIENTED_EDGE('NONE', *, *, #207, .F.);
#367 = EDGE_LOOP('NONE', (#365));
#368 = FACE_BOUND('NONE', #367, .T.);
#369 = EDGE_LOOP('NONE', (#366));
#370 = FACE_BOUND('NONE', #369, .T.);
#371 = ADVANCED_FACE('NONE', (#368, #370), #269, .F.);
#372 = ORIENTED_EDGE('NONE', *, *, #208, .T.);
#373 = ORIENTED_EDGE('NONE', *, *, #210, .F.);
#374 = EDGE_LOOP('NONE', (#372));
#375 = FACE_BOUND('NONE', #374, .T.);
#376 = EDGE_LOOP('NONE', (#373));
#377 = FACE_BOUND('NONE', #376, .T.);
#378 = ADVANCED_FACE('NONE', (#375, #377), #274, .F.);
#379 = ORIENTED_EDGE('NONE', *, *, #211, .T.);
#380 = ORIENTED_EDGE('NONE', *, *, #213, .F.);
#381 = EDGE_LOOP('NONE', (#379));
#382 = FACE_BOUND('NONE', #381, .T.);
#383 = EDGE_LOOP('NONE', (#380));
#384 = FACE_BOUND('NONE', #383, .T.);
#385 = ADVANCED_FACE('NONE', (#382, #384), #279, .F.);
#386 = ORIENTED_EDGE('NONE', *, *, #196, .F.);
#387 = ORIENTED_EDGE('NONE', *, *, #199, .F.);
#388 = ORIENTED_EDGE('NONE', *, *, #202, .F.);
#389 = ORIENTED_EDGE('NONE', *, *, #205, .F.);
#390 = ORIENTED_EDGE('NONE', *, *, #208, .F.);
#391 = ORIENTED_EDGE('NONE', *, *, #211, .F.);
#392 = EDGE_LOOP('NONE', (#386));
#393 = FACE_BOUND('NONE', #392, .T.);
#394 = EDGE_LOOP('NONE', (#387));
#395 = FACE_BOUND('NONE', #394, .T.);
#396 = EDGE_LOOP('NONE', (#388));
#397 = FACE_BOUND('NONE', #396, .T.);
#398 = EDGE_LOOP('NONE', (#389));
#399 = FACE_BOUND('NONE', #398, .T.);
#400 = EDGE_LOOP('NONE', (#390));
#401 = FACE_BOUND('NONE', #400, .T.);
#402 = EDGE_LOOP('NONE', (#391));
#403 = FACE_BOUND('NONE', #402, .T.);
#404 = ADVANCED_FACE('NONE', (#393, #395, #397, #399, #401, #403), #283, .F.);
#405 = ORIENTED_EDGE('NONE', *, *, #198, .T.);
#406 = ORIENTED_EDGE('NONE', *, *, #201, .T.);
#407 = ORIENTED_EDGE('NONE', *, *, #204, .T.);
#408 = ORIENTED_EDGE('NONE', *, *, #207, .T.);
#409 = ORIENTED_EDGE('NONE', *, *, #210, .T.);
#410 = ORIENTED_EDGE('NONE', *, *, #213, .T.);
#411 = EDGE_LOOP('NONE', (#405));
#412 = FACE_BOUND('NONE', #411, .T.);
#413 = EDGE_LOOP('NONE', (#406));
#414 = FACE_BOUND('NONE', #413, .T.);
#415 = EDGE_LOOP('NONE', (#407));
#416 = FACE_BOUND('NONE', #415, .T.);
#417 = EDGE_LOOP('NONE', (#408));
#418 = FACE_BOUND('NONE', #417, .T.);
#419 = EDGE_LOOP('NONE', (#409));
#420 = FACE_BOUND('NONE', #419, .T.);
#421 = EDGE_LOOP('NONE', (#410));
#422 = FACE_BOUND('NONE', #421, .T.);
#423 = ADVANCED_FACE('NONE', (#412, #414, #416, #418, #420, #422), #287, .T.);
#424 = CLOSED_SHELL('NONE', (#294, #301, #308, #315));
#425 = CLOSED_SHELL('NONE', (#322, #329, #336, #343));
#426 = CLOSED_SHELL('NONE', (#350, #357, #364, #371, #378, #385, #404, #423));
#427 = MANIFOLD_SOLID_BREP('NONE', #424);
#428 = MANIFOLD_SOLID_BREP('NONE', #425);
#429 = MANIFOLD_SOLID_BREP('NONE', #426);
#430 = APPLICATION_CONTEXT('configuration controlled 3D design of mechanical parts and assemblies');
#431 = PRODUCT_DEFINITION_CONTEXT('part definition', #430, 'design');
#432 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#433 = PRODUCT_DEFINITION_FORMATION('', $, #432);
#434 = PRODUCT_DEFINITION('design', $, #433, #431);
#435 = PRODUCT_DEFINITION_SHAPE('NONE', $, #434);
#436 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#429), #3);
#437 = SHAPE_DEFINITION_REPRESENTATION(#435, #436);
#438 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#439 = PRODUCT_DEFINITION_FORMATION('', $, #438);
#440 = PRODUCT_DEFINITION('design', $, #439, #431);
#441 = PRODUCT_DEFINITION_SHAPE('NONE', $, #440);
#442 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#428), #3);
#443 = SHAPE_DEFINITION_REPRESENTATION(#441, #442);
#444 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
#445 = PRODUCT_DEFINITION_FORMATION('', $, #444);
#446 = PRODUCT_DEFINITION('design', $, #445, #431);
#447 = PRODUCT_DEFINITION_SHAPE('NONE', $, #446);
#448 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#427), #3);
#449 = SHAPE_DEFINITION_REPRESENTATION(#447, #448);
ENDSEC;
END-ISO-10303-21;

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More