Compare commits
31 Commits
revert-580
...
v0.49.0
Author | SHA1 | Date | |
---|---|---|---|
83ca08b26c | |||
ce98218bf0 | |||
2d43399703 | |||
461a2c3ab2 | |||
79be72c5f0 | |||
9ddb4e629f | |||
25e8e7081b | |||
c5164cbee3 | |||
809b333248 | |||
a933646667 | |||
98a68f5cd9 | |||
33dc254e43 | |||
b54295f2f7 | |||
a7e09a89ef | |||
4b6166dc4f | |||
e7d00f148b | |||
d19a7df7e8 | |||
45fae52afc | |||
270f173aad | |||
ddcff1ba63 | |||
cb1b08d6b6 | |||
533fa749b2 | |||
af492d2cb6 | |||
26fba71abf | |||
859bfc7b28 | |||
3b1d1307c4 | |||
f5a2c84ce2 | |||
cccb71fd30 | |||
44be072d04 | |||
86beb6ebf1 | |||
6d72104faa |
@ -22,6 +22,13 @@
|
|||||||
"rules": {
|
"rules": {
|
||||||
"@typescript-eslint/no-floating-promises": "error",
|
"@typescript-eslint/no-floating-promises": "error",
|
||||||
"@typescript-eslint/no-misused-promises": "error",
|
"@typescript-eslint/no-misused-promises": "error",
|
||||||
|
"@typescript-eslint/no-unused-vars": ["error", {
|
||||||
|
"varsIgnorePattern": "^_",
|
||||||
|
"argsIgnorePattern": "^_",
|
||||||
|
"ignoreRestSiblings": true,
|
||||||
|
"vars": "all",
|
||||||
|
"args": "none"
|
||||||
|
}],
|
||||||
"jsx-a11y/click-events-have-key-events": "off",
|
"jsx-a11y/click-events-have-key-events": "off",
|
||||||
"jsx-a11y/no-autofocus": "off",
|
"jsx-a11y/no-autofocus": "off",
|
||||||
"jsx-a11y/no-noninteractive-element-interactions": "off",
|
"jsx-a11y/no-noninteractive-element-interactions": "off",
|
||||||
|
33
.github/dependabot.yml
vendored
@ -230,39 +230,6 @@ updates:
|
|||||||
update-types:
|
update-types:
|
||||||
- minor
|
- minor
|
||||||
- patch
|
- 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
|
- package-ecosystem: pip
|
||||||
directory: /rust/kcl-python-bindings
|
directory: /rust/kcl-python-bindings
|
||||||
schedule:
|
schedule:
|
||||||
|
9
.github/workflows/cargo-test.yml
vendored
@ -100,9 +100,14 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
cd rust
|
pushd rust
|
||||||
just overwrite-sim-test kcl_samples
|
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.email "github-actions[bot]@users.noreply.github.com"
|
||||||
git config --local user.name "github-actions[bot]"
|
git config --local user.name "github-actions[bot]"
|
||||||
git remote set-url origin https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
|
git remote set-url origin https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
|
||||||
|
2
.github/workflows/e2e-tests.yml
vendored
@ -325,6 +325,7 @@ jobs:
|
|||||||
run: yarn
|
run: yarn
|
||||||
|
|
||||||
- name: Cache Playwright Browsers
|
- name: Cache Playwright Browsers
|
||||||
|
if: needs.conditions.outputs.should-run == 'true'
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
@ -332,6 +333,7 @@ jobs:
|
|||||||
key: ${{ runner.os }}-playwright-${{ hashFiles('yarn.lock') }}
|
key: ${{ runner.os }}-playwright-${{ hashFiles('yarn.lock') }}
|
||||||
|
|
||||||
- name: Install Playwright Browsers
|
- name: Install Playwright Browsers
|
||||||
|
if: needs.conditions.outputs.should-run == 'true'
|
||||||
run: yarn playwright install --with-deps
|
run: yarn playwright install --with-deps
|
||||||
|
|
||||||
- name: Build web
|
- name: Build web
|
||||||
|
2
Makefile
@ -4,7 +4,7 @@ KCL_WASM_LIB_FILES := $(wildcard rust/**/*.rs)
|
|||||||
TS_SRC := $(wildcard src/**/*.tsx) $(wildcard src/**/*.ts)
|
TS_SRC := $(wildcard src/**/*.tsx) $(wildcard src/**/*.ts)
|
||||||
XSTATE_TYPEGENS := $(wildcard src/machines/*.typegen.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
|
yarn start
|
||||||
|
|
||||||
# I'm sorry this is so specific to my setup you may as well ignore this.
|
# I'm sorry this is so specific to my setup you may as well ignore this.
|
||||||
|
10
README.md
@ -105,7 +105,7 @@ Finally, to run the web app only, run:
|
|||||||
yarn start
|
yarn start
|
||||||
```
|
```
|
||||||
|
|
||||||
If you're not a Zoo employee you won't be able to access the dev environment, you should copy everything from `.env.production` to `.env.development` to make it point to production instead, then when you navigate to `localhost:3000` the easiest way to sign in is to paste `localStorage.setItem('TOKEN_PERSIST_KEY', "your-token-from-https://zoo.dev/account/api-tokens")` replacing the with a real token from https://zoo.dev/account/api-tokens of course, then navigate to localhost:3000 again. Note that navigating to `localhost:3000/signin` removes your token so you will need to set the token again.
|
If you're not a Zoo employee you won't be able to access the dev environment, you should copy everything from `.env.production` to `.env.development.local` to make it point to production instead, then when you navigate to `localhost:3000` the easiest way to sign in is to paste `localStorage.setItem('TOKEN_PERSIST_KEY', "your-token-from-https://zoo.dev/account/api-tokens")` replacing the with a real token from https://zoo.dev/account/api-tokens of course, then navigate to `localhost:3000` again. Note that navigating to `localhost:3000/signin` removes your token so you will need to set the token again.
|
||||||
|
|
||||||
### Development environment variables
|
### Development environment variables
|
||||||
|
|
||||||
@ -122,7 +122,7 @@ Third-Party Cookies".
|
|||||||
|
|
||||||
## Desktop
|
## Desktop
|
||||||
|
|
||||||
To spin up the desktop app, `yarn install` and `yarn build:wasm` need to have been done before hand then
|
To spin up the desktop app, `yarn install` and `yarn build:wasm` need to have been done before hand then:
|
||||||
|
|
||||||
```
|
```
|
||||||
yarn tron:start
|
yarn tron:start
|
||||||
@ -130,13 +130,13 @@ yarn tron:start
|
|||||||
|
|
||||||
This will start the application and hot-reload on changes.
|
This will start the application and hot-reload on changes.
|
||||||
|
|
||||||
Devtools can be opened with the usual Cmd-Opt-I (Mac) or Ctrl-Shift-I (Linux and Windows).
|
Devtools can be opened with the usual Command-Option-I (macOS) or Ctrl-Shift-I (Linux and Windows).
|
||||||
|
|
||||||
To package the app for your platform with electron-builder, run `yarn tronb:package:dev` (or `yarn tronb:package:prod` to point to the .env.production variables)
|
To package the app for your platform with electron-builder, run `yarn tronb:package:dev` (or `yarn tronb:package:prod` to point to the .env.production variables).
|
||||||
|
|
||||||
## Checking out commits / Bisecting
|
## Checking out commits / Bisecting
|
||||||
|
|
||||||
Which commands from setup are one off vs need to be run every time?
|
Which commands from setup are one off vs. need to be run every time?
|
||||||
|
|
||||||
The following will need to be run when checking out a new commit and guarantees the build is not stale:
|
The following will need to be run when checking out a new commit and guarantees the build is not stale:
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ example = extrude(exampleSketch, length = 5)
|
|||||||
// Add color to a revolved solid.
|
// Add color to a revolved solid.
|
||||||
sketch001 = startSketchOn('XY')
|
sketch001 = startSketchOn('XY')
|
||||||
|> circle(center = [15, 0], radius = 5)
|
|> circle(center = [15, 0], radius = 5)
|
||||||
|> revolve({ angle = 360, axis = 'y' }, %)
|
|> revolve(angle = 360, axis = 'y')
|
||||||
|> appearance(color = '#ff0000', metalness = 90, roughness = 90)
|
|> appearance(color = '#ff0000', metalness = 90, roughness = 90)
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -184,7 +184,6 @@ example = extrude(exampleSketch, length = 1)
|
|||||||
```js
|
```js
|
||||||
// Color the result of a sweep.
|
// Color the result of a sweep.
|
||||||
|
|
||||||
|
|
||||||
// Create a path for the sweep.
|
// Create a path for the sweep.
|
||||||
sweepPath = startSketchOn('XZ')
|
sweepPath = startSketchOn('XZ')
|
||||||
|> startProfileAt([0.05, 0.05], %)
|
|> startProfileAt([0.05, 0.05], %)
|
||||||
|
@ -12,6 +12,8 @@ You can provide more than one sketch to extrude, and they will all be extruded i
|
|||||||
extrude(
|
extrude(
|
||||||
sketches: [Sketch],
|
sketches: [Sketch],
|
||||||
length: number,
|
length: number,
|
||||||
|
tagStart?: TagDeclarator,
|
||||||
|
tagEnd?: TagDeclarator,
|
||||||
): [Solid]
|
): [Solid]
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -22,6 +24,8 @@ extrude(
|
|||||||
|----------|------|-------------|----------|
|
|----------|------|-------------|----------|
|
||||||
| `sketches` | [`[Sketch]`](/docs/kcl/types/Sketch) | Which sketch or sketches should be extruded | Yes |
|
| `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 |
|
| `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
|
### Returns
|
||||||
|
|
||||||
|
54
docs/kcl/getCommonEdge.md
Normal file
@ -65,6 +65,7 @@ layout: manual
|
|||||||
* [`fillet`](kcl/fillet)
|
* [`fillet`](kcl/fillet)
|
||||||
* [`floor`](kcl/floor)
|
* [`floor`](kcl/floor)
|
||||||
* [`ft`](kcl/ft)
|
* [`ft`](kcl/ft)
|
||||||
|
* [`getCommonEdge`](kcl/getCommonEdge)
|
||||||
* [`getNextAdjacentEdge`](kcl/getNextAdjacentEdge)
|
* [`getNextAdjacentEdge`](kcl/getNextAdjacentEdge)
|
||||||
* [`getOppositeEdge`](kcl/getOppositeEdge)
|
* [`getOppositeEdge`](kcl/getOppositeEdge)
|
||||||
* [`getPreviousAdjacentEdge`](kcl/getPreviousAdjacentEdge)
|
* [`getPreviousAdjacentEdge`](kcl/getPreviousAdjacentEdge)
|
||||||
|
50
docs/kcl/intersect.md
Normal file
@ -15,6 +15,8 @@ loft(
|
|||||||
bezApproximateRational: bool,
|
bezApproximateRational: bool,
|
||||||
baseCurveIndex?: integer,
|
baseCurveIndex?: integer,
|
||||||
tolerance?: number,
|
tolerance?: number,
|
||||||
|
tagStart?: TagDeclarator,
|
||||||
|
tagEnd?: TagDeclarator,
|
||||||
): Solid
|
): 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 |
|
| `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 |
|
| `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 |
|
| `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
|
### Returns
|
||||||
|
|
||||||
|
@ -52,7 +52,6 @@ fn sum(arr):
|
|||||||
sumSoFar = add(sumSoFar, i)
|
sumSoFar = add(sumSoFar, i)
|
||||||
return sumSoFar */
|
return sumSoFar */
|
||||||
|
|
||||||
|
|
||||||
// We use `assertEqual` to check that our `sum` function gives the
|
// We use `assertEqual` to check that our `sum` function gives the
|
||||||
// expected result. It's good to check your work!
|
// expected result. It's good to check your work!
|
||||||
assertEqual(sum([1, 2, 3]), 6, 0.00001, "1 + 2 + 3 summed is 6")
|
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
|
fullDecagon = partialDecagon // it's now full
|
||||||
return fullDecagon */
|
return fullDecagon */
|
||||||
|
|
||||||
|
|
||||||
// Use the `decagon` function declared above, to sketch a decagon with radius 5.
|
// Use the `decagon` function declared above, to sketch a decagon with radius 5.
|
||||||
decagon(5.0)
|
decagon(5.0)
|
||||||
|> close()
|
|> close()
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
---
|
---
|
||||||
title: "scale"
|
title: "scale"
|
||||||
excerpt: "Scale a solid."
|
excerpt: "Scale a solid or a sketch."
|
||||||
layout: manual
|
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.
|
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
|
```js
|
||||||
scale(
|
scale(
|
||||||
solids: SolidOrImportedGeometry,
|
objects: SolidOrSketchOrImportedGeometry,
|
||||||
scale: [number],
|
scale: [number],
|
||||||
global?: bool,
|
global?: bool,
|
||||||
): SolidOrImportedGeometry
|
): SolidOrSketchOrImportedGeometry
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@ -23,13 +23,13 @@ scale(
|
|||||||
|
|
||||||
| Name | Type | Description | Required |
|
| 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 |
|
| `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 |
|
| `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
|
### 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
|
### Examples
|
||||||
@ -37,7 +37,6 @@ scale(
|
|||||||
```js
|
```js
|
||||||
// Scale a pipe.
|
// Scale a pipe.
|
||||||
|
|
||||||
|
|
||||||
// Create a path for the sweep.
|
// Create a path for the sweep.
|
||||||
sweepPath = startSketchOn('XZ')
|
sweepPath = startSketchOn('XZ')
|
||||||
|> startProfileAt([0.05, 0.05], %)
|
|> startProfileAt([0.05, 0.05], %)
|
||||||
|
29944
docs/kcl/std.json
56
docs/kcl/subtract.md
Normal file
@ -16,6 +16,8 @@ sweep(
|
|||||||
path: SweepPath,
|
path: SweepPath,
|
||||||
sectional?: bool,
|
sectional?: bool,
|
||||||
tolerance?: number,
|
tolerance?: number,
|
||||||
|
tagStart?: TagDeclarator,
|
||||||
|
tagEnd?: TagDeclarator,
|
||||||
): [Solid]
|
): [Solid]
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -28,6 +30,8 @@ sweep(
|
|||||||
| `path` | [`SweepPath`](/docs/kcl/types/SweepPath) | The path to sweep the sketch along | Yes |
|
| `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 |
|
| `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 |
|
| `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
|
### Returns
|
||||||
|
|
||||||
@ -39,7 +43,6 @@ sweep(
|
|||||||
```js
|
```js
|
||||||
// Create a pipe using a sweep.
|
// Create a pipe using a sweep.
|
||||||
|
|
||||||
|
|
||||||
// Create a path for the sweep.
|
// Create a path for the sweep.
|
||||||
sweepPath = startSketchOn('XZ')
|
sweepPath = startSketchOn('XZ')
|
||||||
|> startProfileAt([0.05, 0.05], %)
|
|> startProfileAt([0.05, 0.05], %)
|
||||||
@ -64,7 +67,6 @@ sweepSketch = startSketchOn('XY')
|
|||||||
```js
|
```js
|
||||||
// Create a spring by sweeping around a helix path.
|
// Create a spring by sweeping around a helix path.
|
||||||
|
|
||||||
|
|
||||||
// Create a helix around the Z axis.
|
// Create a helix around the Z axis.
|
||||||
helixPath = helix(
|
helixPath = helix(
|
||||||
angleStart = 0,
|
angleStart = 0,
|
||||||
|
66
docs/kcl/types/SolidOrSketchOrImportedGeometry.md
Normal 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
@ -2,7 +2,7 @@ import { test, expect } from './zoo-test'
|
|||||||
import * as fsp from 'fs/promises'
|
import * as fsp from 'fs/promises'
|
||||||
import { executorInputPath, getUtils } from './test-utils'
|
import { executorInputPath, getUtils } from './test-utils'
|
||||||
import { KCL_DEFAULT_LENGTH } from 'lib/constants'
|
import { KCL_DEFAULT_LENGTH } from 'lib/constants'
|
||||||
import path from 'path'
|
import path, { join } from 'path'
|
||||||
|
|
||||||
test.describe('Command bar tests', { tag: ['@skipWin'] }, () => {
|
test.describe('Command bar tests', { tag: ['@skipWin'] }, () => {
|
||||||
test('Extrude from command bar selects extrude line after', async ({
|
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'])
|
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`
|
||||||
|
)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
@ -100,7 +100,8 @@ test(
|
|||||||
try {
|
try {
|
||||||
const outputGltf = await fsp.readFile(firstFileFullPath)
|
const outputGltf = await fsp.readFile(firstFileFullPath)
|
||||||
return outputGltf.byteLength
|
return outputGltf.byteLength
|
||||||
} catch (e) {
|
} catch (error: unknown) {
|
||||||
|
void error
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -179,7 +180,8 @@ test(
|
|||||||
try {
|
try {
|
||||||
const outputGltf = await fsp.readFile(secondFileFullPath)
|
const outputGltf = await fsp.readFile(secondFileFullPath)
|
||||||
return outputGltf.byteLength
|
return outputGltf.byteLength
|
||||||
} catch (e) {
|
} catch (error: unknown) {
|
||||||
|
void error
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -726,10 +726,10 @@ test.describe('Editor tests', { tag: ['@skipWin'] }, () => {
|
|||||||
|> line(end = [2, 0])
|
|> line(end = [2, 0])
|
||||||
|> line(end = [0, -10])
|
|> line(end = [0, -10])
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({
|
|> revolve(
|
||||||
axis: revolveAxis,
|
axis = revolveAxis,
|
||||||
angle: 90
|
angle = 90
|
||||||
}, %)
|
)
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -21,7 +21,7 @@ sketch001 = startSketchOn('XZ')
|
|||||||
|> angledLine([-45, length001], %)
|
|> angledLine([-45, length001], %)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
revolve001 = revolve({ axis = "X" }, sketch001)
|
revolve001 = revolve(sketch001, axis = "X")
|
||||||
triangle()
|
triangle()
|
||||||
|> extrude(length = 30)
|
|> extrude(length = 30)
|
||||||
plane001 = offsetPlane('XY', offset = 10)
|
plane001 = offsetPlane('XY', offset = 10)
|
||||||
@ -126,7 +126,7 @@ test.describe('Feature Tree pane', () => {
|
|||||||
await testViewSource({
|
await testViewSource({
|
||||||
operationName: 'Revolve',
|
operationName: 'Revolve',
|
||||||
operationIndex: 0,
|
operationIndex: 0,
|
||||||
expectedActiveLine: 'revolve001 = revolve({ axis = "X" }, sketch001)',
|
expectedActiveLine: 'revolve001 = revolve(sketch001, axis = "X")',
|
||||||
})
|
})
|
||||||
await testViewSource({
|
await testViewSource({
|
||||||
operationName: 'Triangle',
|
operationName: 'Triangle',
|
||||||
@ -231,9 +231,9 @@ test.describe('Feature Tree pane', () => {
|
|||||||
|> circle(center = [0, 0], radius = 5)
|
|> circle(center = [0, 0], radius = 5)
|
||||||
renamedExtrude = extrude(sketch001, length = ${initialInput})`
|
renamedExtrude = extrude(sketch001, length = ${initialInput})`
|
||||||
const newConstantName = 'distance001'
|
const newConstantName = 'distance001'
|
||||||
const expectedCode = `sketch001 = startSketchOn('XZ')
|
const expectedCode = `${newConstantName} = 23
|
||||||
|
sketch001 = startSketchOn('XZ')
|
||||||
|> circle(center = [0, 0], radius = 5)
|
|> circle(center = [0, 0], radius = 5)
|
||||||
${newConstantName} = 23
|
|
||||||
renamedExtrude = extrude(sketch001, length = ${newConstantName})`
|
renamedExtrude = extrude(sketch001, length = ${newConstantName})`
|
||||||
|
|
||||||
await context.folderSetupFn(async (dir) => {
|
await context.folderSetupFn(async (dir) => {
|
||||||
|
@ -1197,7 +1197,7 @@ test.describe('Undo and redo do not keep history when navigating between files',
|
|||||||
`cloned file has an incremented name and same contents`,
|
`cloned file has an incremented name and same contents`,
|
||||||
{ tag: '@electron' },
|
{ tag: '@electron' },
|
||||||
async ({ page, context, homePage }, testInfo) => {
|
async ({ page, context, homePage }, testInfo) => {
|
||||||
const { panesOpen, createNewFile, cloneFile } = await getUtils(page, test)
|
const { panesOpen, cloneFile } = await getUtils(page, test)
|
||||||
|
|
||||||
const { dir } = await context.folderSetupFn(async (dir) => {
|
const { dir } = await context.folderSetupFn(async (dir) => {
|
||||||
const finalDir = join(dir, 'testDefault')
|
const finalDir = join(dir, 'testDefault')
|
||||||
|
@ -152,9 +152,15 @@ export class EditorFixture {
|
|||||||
}
|
}
|
||||||
replaceCode = async (findCode: string, replaceCode: string) => {
|
replaceCode = async (findCode: string, replaceCode: string) => {
|
||||||
const lines = await this.page.locator('.cm-line').all()
|
const lines = await this.page.locator('.cm-line').all()
|
||||||
|
|
||||||
let code = (await Promise.all(lines.map((c) => c.textContent()))).join('\n')
|
let code = (await Promise.all(lines.map((c) => c.textContent()))).join('\n')
|
||||||
|
if (!findCode) {
|
||||||
|
// nuke everything
|
||||||
|
code = replaceCode
|
||||||
|
} else {
|
||||||
if (!lines) return
|
if (!lines) return
|
||||||
code = code.replace(findCode, replaceCode)
|
code = code.replace(findCode, replaceCode)
|
||||||
|
}
|
||||||
await this.codeContent.fill(code)
|
await this.codeContent.fill(code)
|
||||||
}
|
}
|
||||||
checkIfPaneIsOpen() {
|
checkIfPaneIsOpen() {
|
||||||
|
@ -3,25 +3,15 @@
|
|||||||
import type {
|
import type {
|
||||||
BrowserContext,
|
BrowserContext,
|
||||||
ElectronApplication,
|
ElectronApplication,
|
||||||
Fixtures as PlaywrightFixtures,
|
|
||||||
TestInfo,
|
TestInfo,
|
||||||
Page,
|
Page,
|
||||||
} from '@playwright/test'
|
} from '@playwright/test'
|
||||||
|
|
||||||
import {
|
import { _electron as electron } from '@playwright/test'
|
||||||
_electron as electron,
|
|
||||||
PlaywrightTestArgs,
|
|
||||||
PlaywrightWorkerArgs,
|
|
||||||
} from '@playwright/test'
|
|
||||||
|
|
||||||
import * as TOML from '@iarna/toml'
|
import * as TOML from '@iarna/toml'
|
||||||
import {
|
import { TEST_SETTINGS } from '../storageStates'
|
||||||
TEST_SETTINGS_KEY,
|
import { SETTINGS_FILE_NAME } from 'lib/constants'
|
||||||
TEST_SETTINGS_CORRUPTED,
|
|
||||||
TEST_SETTINGS,
|
|
||||||
TEST_SETTINGS_DEFAULT_THEME,
|
|
||||||
} from '../storageStates'
|
|
||||||
import { SETTINGS_FILE_NAME, PROJECT_SETTINGS_FILE_NAME } from 'lib/constants'
|
|
||||||
import { getUtils, setup } from '../test-utils'
|
import { getUtils, setup } from '../test-utils'
|
||||||
import fsp from 'fs/promises'
|
import fsp from 'fs/promises'
|
||||||
import fs from 'node:fs'
|
import fs from 'node:fs'
|
||||||
@ -31,7 +21,6 @@ import { EditorFixture } from './editorFixture'
|
|||||||
import { ToolbarFixture } from './toolbarFixture'
|
import { ToolbarFixture } from './toolbarFixture'
|
||||||
import { SceneFixture } from './sceneFixture'
|
import { SceneFixture } from './sceneFixture'
|
||||||
import { HomePageFixture } from './homePageFixture'
|
import { HomePageFixture } from './homePageFixture'
|
||||||
import { unsafeTypedKeys } from 'lib/utils'
|
|
||||||
import { DeepPartial } from 'lib/types'
|
import { DeepPartial } from 'lib/types'
|
||||||
import { Settings } from '@rust/kcl-lib/bindings/Settings'
|
import { Settings } from '@rust/kcl-lib/bindings/Settings'
|
||||||
|
|
||||||
@ -278,13 +267,14 @@ export class ElectronZoo {
|
|||||||
if (fs.existsSync(this.projectDirName)) {
|
if (fs.existsSync(this.projectDirName)) {
|
||||||
await fsp.rm(this.projectDirName, { recursive: true })
|
await fsp.rm(this.projectDirName, { recursive: true })
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (_e) {
|
||||||
console.error(e)
|
console.error(_e)
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await fsp.mkdir(this.projectDirName)
|
await fsp.mkdir(this.projectDirName)
|
||||||
} catch (e) {
|
} catch (error: unknown) {
|
||||||
|
void error
|
||||||
// Not a problem if it already exists.
|
// Not a problem if it already exists.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -850,12 +850,9 @@ openSketch = startSketchOn('XY')
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
test(`Shift-click to select and deselect sketch segments`, async ({
|
test.fixme(
|
||||||
page,
|
`Shift-click to select and deselect sketch segments`,
|
||||||
homePage,
|
async ({ page, homePage, scene, editor }) => {
|
||||||
scene,
|
|
||||||
editor,
|
|
||||||
}) => {
|
|
||||||
// Locators
|
// Locators
|
||||||
const firstPointLocation = { x: 200, y: 100 }
|
const firstPointLocation = { x: 200, y: 100 }
|
||||||
const secondPointLocation = { x: 800, y: 100 }
|
const secondPointLocation = { x: 800, y: 100 }
|
||||||
@ -1002,7 +999,8 @@ openSketch = startSketchOn('XY')
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
||||||
test(`Offset plane point-and-click`, async ({
|
test(`Offset plane point-and-click`, async ({
|
||||||
context,
|
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 ({
|
test(`Chamfer point-and-click`, async ({
|
||||||
context,
|
context,
|
||||||
page,
|
page,
|
||||||
@ -1906,7 +2017,6 @@ extrude001 = extrude(sketch001, length = -12)
|
|||||||
// Locators
|
// Locators
|
||||||
const firstEdgeLocation = { x: 600, y: 193 }
|
const firstEdgeLocation = { x: 600, y: 193 }
|
||||||
const secondEdgeLocation = { x: 600, y: 383 }
|
const secondEdgeLocation = { x: 600, y: 383 }
|
||||||
const bodyLocation = { x: 630, y: 290 }
|
|
||||||
const [clickOnFirstEdge] = scene.makeMouseHelpers(
|
const [clickOnFirstEdge] = scene.makeMouseHelpers(
|
||||||
firstEdgeLocation.x,
|
firstEdgeLocation.x,
|
||||||
firstEdgeLocation.y
|
firstEdgeLocation.y
|
||||||
@ -1919,7 +2029,6 @@ extrude001 = extrude(sketch001, length = -12)
|
|||||||
// Colors
|
// Colors
|
||||||
const edgeColorWhite: [number, number, number] = [248, 248, 248]
|
const edgeColorWhite: [number, number, number] = [248, 248, 248]
|
||||||
const edgeColorYellow: [number, number, number] = [251, 251, 40] // Mac:B=67 Ubuntu:B=12
|
const edgeColorYellow: [number, number, number] = [251, 251, 40] // Mac:B=67 Ubuntu:B=12
|
||||||
const bodyColor: [number, number, number] = [155, 155, 155]
|
|
||||||
const chamferColor: [number, number, number] = [168, 168, 168]
|
const chamferColor: [number, number, number] = [168, 168, 168]
|
||||||
const backgroundColor: [number, number, number] = [30, 30, 30]
|
const backgroundColor: [number, number, number] = [30, 30, 30]
|
||||||
const lowTolerance = 20
|
const lowTolerance = 20
|
||||||
@ -2812,7 +2921,7 @@ segAng(rectangleSegmentA002),
|
|||||||
await cmdBar.progressCmdBar()
|
await cmdBar.progressCmdBar()
|
||||||
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()
|
expect(editor.expectEditor.toContain(newCodeToFind)).toBeTruthy()
|
||||||
})
|
})
|
||||||
test('revolve surface around edge from an extruded solid2d', async ({
|
test('revolve surface around edge from an extruded solid2d', async ({
|
||||||
@ -2862,7 +2971,7 @@ radius = 8.69
|
|||||||
await page.getByText(lineCodeToSelection).click()
|
await page.getByText(lineCodeToSelection).click()
|
||||||
await cmdBar.progressCmdBar()
|
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()
|
expect(editor.expectEditor.toContain(newCodeToFind)).toBeTruthy()
|
||||||
})
|
})
|
||||||
test('revolve sketch circle around line segment from startProfileAt sketch', async ({
|
test('revolve sketch circle around line segment from startProfileAt sketch', async ({
|
||||||
@ -2913,7 +3022,7 @@ radius = 8.69
|
|||||||
await page.getByText(lineCodeToSelection).click()
|
await page.getByText(lineCodeToSelection).click()
|
||||||
await cmdBar.progressCmdBar()
|
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()
|
expect(editor.expectEditor.toContain(newCodeToFind)).toBeTruthy()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -539,7 +539,8 @@ test.describe('Can export from electron app', () => {
|
|||||||
try {
|
try {
|
||||||
const outputGltf = await fsp.readFile(filepath)
|
const outputGltf = await fsp.readFile(filepath)
|
||||||
return outputGltf.byteLength
|
return outputGltf.byteLength
|
||||||
} catch (e) {
|
} catch (error: unknown) {
|
||||||
|
void error
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -196,14 +196,9 @@ test.describe('Prompt-to-edit tests', { tag: '@skipWin' }, () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
test(`manual code selection rename`, async ({
|
test.fixme(
|
||||||
context,
|
`manual code selection rename`,
|
||||||
homePage,
|
async ({ context, homePage, cmdBar, editor, page, scene }) => {
|
||||||
cmdBar,
|
|
||||||
editor,
|
|
||||||
page,
|
|
||||||
scene,
|
|
||||||
}) => {
|
|
||||||
const body1CapCoords = { x: 571, y: 311 }
|
const body1CapCoords = { x: 571, y: 311 }
|
||||||
|
|
||||||
await context.addInitScript((file) => {
|
await context.addInitScript((file) => {
|
||||||
@ -253,7 +248,8 @@ test.describe('Prompt-to-edit tests', { tag: '@skipWin' }, () => {
|
|||||||
await acceptBtn.click()
|
await acceptBtn.click()
|
||||||
await expect(successToast).not.toBeVisible()
|
await expect(successToast).not.toBeVisible()
|
||||||
})
|
})
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
||||||
test('multiple body selections', async ({
|
test('multiple body selections', async ({
|
||||||
context,
|
context,
|
||||||
|
@ -405,8 +405,9 @@ extrude001 = extrude(sketch001, length = 50)
|
|||||||
await expect(successToastMessage).toBeVisible()
|
await expect(successToastMessage).toBeVisible()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
// We updated this test such that you can have multiple exports going at once.
|
||||||
test(
|
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'] },
|
{ tag: ['@skipLinux', '@skipWin'] },
|
||||||
async ({ page, homePage }) => {
|
async ({ page, homePage }) => {
|
||||||
const u = await getUtils(page)
|
const u = await getUtils(page)
|
||||||
@ -441,22 +442,13 @@ extrude001 = extrude(sketch001, length = 50)
|
|||||||
const alreadyExportingToastMessage = page.getByText(`Already exporting`)
|
const alreadyExportingToastMessage = page.getByText(`Already exporting`)
|
||||||
const successToastMessage = page.getByText(`Exported successfully`)
|
const successToastMessage = page.getByText(`Exported successfully`)
|
||||||
|
|
||||||
await test.step('Blocked second export', async () => {
|
await test.step('second export', async () => {
|
||||||
await clickExportButton(page)
|
await clickExportButton(page)
|
||||||
|
|
||||||
await expect(exportingToastMessage).toBeVisible()
|
await expect(exportingToastMessage).toBeVisible()
|
||||||
|
|
||||||
await clickExportButton(page)
|
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 test.step('The first export still succeeds', async () => {
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
expect(exportingToastMessage).not.toBeVisible({ timeout: 15_000 }),
|
expect(exportingToastMessage).not.toBeVisible({ timeout: 15_000 }),
|
||||||
@ -486,12 +478,12 @@ extrude001 = extrude(sketch001, length = 50)
|
|||||||
expect(alreadyExportingToastMessage).not.toBeVisible(),
|
expect(alreadyExportingToastMessage).not.toBeVisible(),
|
||||||
])
|
])
|
||||||
|
|
||||||
await expect(successToastMessage).toBeVisible()
|
await expect(successToastMessage).toHaveCount(2)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
test(
|
test.fixme(
|
||||||
`Network health indicator only appears in modeling view`,
|
`Network health indicator only appears in modeling view`,
|
||||||
{ tag: '@electron' },
|
{ tag: '@electron' },
|
||||||
async ({ context, page }, testInfo) => {
|
async ({ context, page }, testInfo) => {
|
||||||
|
@ -14,7 +14,8 @@ try {
|
|||||||
// prefer env vars over secrets file
|
// prefer env vars over secrets file
|
||||||
secrets[key] = process.env[key] || (value as any).replaceAll('"', '')
|
secrets[key] = process.env[key] || (value as any).replaceAll('"', '')
|
||||||
})
|
})
|
||||||
} catch (err) {
|
} catch (error: unknown) {
|
||||||
|
void error
|
||||||
// probably running in CI
|
// probably running in CI
|
||||||
console.warn(
|
console.warn(
|
||||||
`Error reading ${secretsPath}; environment variables will be used`
|
`Error reading ${secretsPath}; environment variables will be used`
|
||||||
|
@ -187,7 +187,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
|||||||
page.getByRole('button', { name: 'Start Sketch' })
|
page.getByRole('button', { name: 'Start Sketch' })
|
||||||
).toBeVisible()
|
).toBeVisible()
|
||||||
})
|
})
|
||||||
test.describe('Can edit segments by dragging their handles', () => {
|
test.fixme('Can edit segments by dragging their handles', () => {
|
||||||
const doEditSegmentsByDraggingHandle = async (
|
const doEditSegmentsByDraggingHandle = async (
|
||||||
page: Page,
|
page: Page,
|
||||||
homePage: HomePageFixture,
|
homePage: HomePageFixture,
|
||||||
@ -666,7 +666,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
|||||||
|> line(end = [12.73, -0.09])
|
|> line(end = [12.73, -0.09])
|
||||||
|> tangentialArcTo([24.95, -5.38], %)
|
|> tangentialArcTo([24.95, -5.38], %)
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ axis = "X",}, %)`
|
|> revolve(axis = "X")`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -753,7 +753,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
|||||||
|> tangentialArcTo([24.95, -5.38], %)
|
|> tangentialArcTo([24.95, -5.38], %)
|
||||||
|> line(end = [1.97, 2.06])
|
|> line(end = [1.97, 2.06])
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ axis = "X" }, %)`)
|
|> revolve(axis = "X")`)
|
||||||
})
|
})
|
||||||
test('Can add multiple sketches', async ({ page, homePage }) => {
|
test('Can add multiple sketches', async ({ page, homePage }) => {
|
||||||
const u = await getUtils(page)
|
const u = await getUtils(page)
|
||||||
@ -1200,7 +1200,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff(
|
|||||||
|> xLine(endAbsolute = 0 + .001)
|
|> xLine(endAbsolute = 0 + .001)
|
||||||
|> yLine(endAbsolute = 0)
|
|> yLine(endAbsolute = 0)
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ axis = "Y" }, %)
|
|> revolve(axis = "Y")
|
||||||
|
|
||||||
return lugSketch
|
return lugSketch
|
||||||
}
|
}
|
||||||
@ -1454,7 +1454,7 @@ test.describe(`Sketching with offset planes`, () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
test.describe('multi-profile sketching', () => {
|
test.describe('multi-profile sketching', () => {
|
||||||
test(
|
test.fixme(
|
||||||
`test it removes half-finished expressions when changing tools in sketch mode`,
|
`test it removes half-finished expressions when changing tools in sketch mode`,
|
||||||
{ tag: ['@skipWin'] },
|
{ tag: ['@skipWin'] },
|
||||||
async ({ context, page, scene, toolbar, editor, homePage, cmdBar }) => {
|
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 ({
|
test('Can add multiple profiles to a sketch (all tool types)', async ({
|
||||||
scene,
|
scene,
|
||||||
toolbar,
|
toolbar,
|
||||||
@ -2570,10 +2660,11 @@ profile006 = startProfileAt([9.65, 3.82], sketch002)
|
|||||||
|> line(end = [2.13, -5.57])
|
|> line(end = [2.13, -5.57])
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
revolve001 = revolve({
|
revolve001 = revolve(
|
||||||
|
profile004,
|
||||||
angle = 45,
|
angle = 45,
|
||||||
axis = getNextAdjacentEdge(seg01)
|
axis = getNextAdjacentEdge(seg01)
|
||||||
}, profile004)
|
)
|
||||||
extrude002 = extrude(profile006, length = 4)
|
extrude002 = extrude(profile006, length = 4)
|
||||||
sketch003 = startSketchOn('-XZ')
|
sketch003 = startSketchOn('-XZ')
|
||||||
profile007 = startProfileAt([4.8, 7.55], sketch003)
|
profile007 = startProfileAt([4.8, 7.55], sketch003)
|
||||||
@ -2608,7 +2699,7 @@ profile011 = startProfileAt([5.07, -6.39], sketch003)
|
|||||||
|> close()
|
|> close()
|
||||||
extrude003 = extrude(profile011, length = 2.5)
|
extrude003 = extrude(profile011, length = 2.5)
|
||||||
// TODO this breaks the test,
|
// TODO this breaks the test,
|
||||||
// revolve002 = revolve({ angle = 45, axis = seg02 }, profile008)
|
// revolve002 = revolve(profile008, angle = 45, axis = seg02)
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@ -2626,11 +2717,6 @@ extrude003 = extrude(profile011, length = 2.5)
|
|||||||
{ x: 834, y: -680, z: 534 },
|
{ x: 834, y: -680, z: 534 },
|
||||||
{ x: -54, y: -476, z: 148 }
|
{ x: -54, y: -476, z: 148 }
|
||||||
)
|
)
|
||||||
const camPositionForSelectingSketchOnCapProfiles = () =>
|
|
||||||
scene.moveCameraTo(
|
|
||||||
{ x: 404, y: 690, z: 38 },
|
|
||||||
{ x: 16, y: -140, z: -10 }
|
|
||||||
)
|
|
||||||
const wallSelectionOptions = [
|
const wallSelectionOptions = [
|
||||||
{
|
{
|
||||||
title: 'select wall segment',
|
title: 'select wall segment',
|
||||||
@ -2653,29 +2739,6 @@ extrude003 = extrude(profile011, length = 2.5)
|
|||||||
selectClick: scene.makeMouseHelpers(836, 103)[0],
|
selectClick: scene.makeMouseHelpers(836, 103)[0],
|
||||||
},
|
},
|
||||||
] as const
|
] as const
|
||||||
const capSelectionOptions = [
|
|
||||||
{
|
|
||||||
title: 'select cap segment',
|
|
||||||
selectClick: scene.makeMouseHelpers(688, 91)[0],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'select cap solid 2d',
|
|
||||||
selectClick: scene.makeMouseHelpers(733, 204)[0],
|
|
||||||
},
|
|
||||||
// TODO keeps failing
|
|
||||||
// {
|
|
||||||
// title: 'select cap circle',
|
|
||||||
// selectClick: scene.makeMouseHelpers(679, 290)[0],
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
title: 'select cap extrude wall',
|
|
||||||
selectClick: scene.makeMouseHelpers(649, 402)[0],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'select cap extrude cap',
|
|
||||||
selectClick: scene.makeMouseHelpers(693, 408)[0],
|
|
||||||
},
|
|
||||||
] as const
|
|
||||||
|
|
||||||
const verifyWallProfilesAreDrawn = async () =>
|
const verifyWallProfilesAreDrawn = async () =>
|
||||||
test.step('verify wall profiles are drawn', async () => {
|
test.step('verify wall profiles are drawn', async () => {
|
||||||
@ -2697,44 +2760,6 @@ extrude003 = extrude(profile011, length = 2.5)
|
|||||||
])
|
])
|
||||||
})
|
})
|
||||||
|
|
||||||
const verifyCapProfilesAreDrawn = async () =>
|
|
||||||
test.step('verify cap profiles are drawn', async () => {
|
|
||||||
// open polygon
|
|
||||||
await scene.expectPixelColor(
|
|
||||||
TEST_COLORS.WHITE,
|
|
||||||
// TEST_COLORS.BLUE, // When entering via the circle, it's selected and therefore blue
|
|
||||||
{ x: 620, y: 58 },
|
|
||||||
15
|
|
||||||
)
|
|
||||||
// revolved profile
|
|
||||||
await scene.expectPixelColor(
|
|
||||||
TEST_COLORS.WHITE,
|
|
||||||
{ x: 641, y: 110 },
|
|
||||||
15
|
|
||||||
)
|
|
||||||
// closed polygon
|
|
||||||
await scene.expectPixelColor(
|
|
||||||
TEST_COLORS.WHITE,
|
|
||||||
{ x: 632, y: 200 },
|
|
||||||
15
|
|
||||||
)
|
|
||||||
// extruded profile
|
|
||||||
await scene.expectPixelColor(
|
|
||||||
TEST_COLORS.WHITE,
|
|
||||||
{ x: 628, y: 410 },
|
|
||||||
15
|
|
||||||
)
|
|
||||||
// circle
|
|
||||||
await scene.expectPixelColor(
|
|
||||||
[
|
|
||||||
TEST_COLORS.WHITE,
|
|
||||||
TEST_COLORS.BLUE, // When entering via the circle, it's selected and therefore blue
|
|
||||||
],
|
|
||||||
{ x: 681, y: 303 },
|
|
||||||
15
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
await test.step('select wall profiles', async () => {
|
await test.step('select wall profiles', async () => {
|
||||||
for (const { title, selectClick } of wallSelectionOptions) {
|
for (const { title, selectClick } of wallSelectionOptions) {
|
||||||
await test.step(title, async () => {
|
await test.step(title, async () => {
|
||||||
|
@ -7,12 +7,7 @@ import { spawn } from 'child_process'
|
|||||||
import { KCL_DEFAULT_LENGTH } from 'lib/constants'
|
import { KCL_DEFAULT_LENGTH } from 'lib/constants'
|
||||||
import JSZip from 'jszip'
|
import JSZip from 'jszip'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
import {
|
import { TEST_SETTINGS, TEST_SETTINGS_KEY } from './storageStates'
|
||||||
IS_PLAYWRIGHT_KEY,
|
|
||||||
TEST_SETTINGS,
|
|
||||||
TEST_SETTINGS_KEY,
|
|
||||||
} from './storageStates'
|
|
||||||
import * as TOML from '@iarna/toml'
|
|
||||||
import { SceneFixture } from './fixtures/sceneFixture'
|
import { SceneFixture } from './fixtures/sceneFixture'
|
||||||
import { CmdBarFixture } from './fixtures/cmdBarFixture'
|
import { CmdBarFixture } from './fixtures/cmdBarFixture'
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 143 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
@ -29,5 +29,5 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"kcl_version": "0.2.50"
|
"kcl_version": "0.2.52"
|
||||||
}
|
}
|
@ -1,4 +1,3 @@
|
|||||||
import { MouseControlType } from '@rust/kcl-lib/bindings/MouseControlType'
|
|
||||||
import { Settings } from '@rust/kcl-lib/bindings/Settings'
|
import { Settings } from '@rust/kcl-lib/bindings/Settings'
|
||||||
import { SaveSettingsPayload } from 'lib/settings/settingsTypes'
|
import { SaveSettingsPayload } from 'lib/settings/settingsTypes'
|
||||||
import { Themes } from 'lib/theme'
|
import { Themes } from 'lib/theme'
|
||||||
@ -143,10 +142,10 @@ sketch001 = startSketchOn(box, revolveAxis)
|
|||||||
|> line(end = [2, 0])
|
|> line(end = [2, 0])
|
||||||
|> line(end = [0, -10])
|
|> line(end = [0, -10])
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({
|
|> revolve(
|
||||||
axis: revolveAxis,
|
axis = revolveAxis,
|
||||||
angle: 90
|
angle = 90
|
||||||
}, %)
|
)
|
||||||
|
|
||||||
sketch001 = startSketchOn('XZ')
|
sketch001 = startSketchOn('XZ')
|
||||||
|> startProfileAt([0.0, 0.0], %)
|
|> startProfileAt([0.0, 0.0], %)
|
||||||
|
@ -3,7 +3,7 @@ import { commonPoints, getUtils } from './test-utils'
|
|||||||
import { EngineCommand } from 'lang/std/artifactGraph'
|
import { EngineCommand } from 'lang/std/artifactGraph'
|
||||||
import { uuidv4 } from 'lib/utils'
|
import { uuidv4 } from 'lib/utils'
|
||||||
|
|
||||||
test.describe('Test network and connection issues', () => {
|
test.fixme('Test network and connection issues', () => {
|
||||||
test(
|
test(
|
||||||
'simulate network down and network little widget',
|
'simulate network down and network little widget',
|
||||||
{ tag: '@skipLocalEngine' },
|
{ tag: '@skipLocalEngine' },
|
||||||
|
@ -2,15 +2,12 @@ import {
|
|||||||
expect,
|
expect,
|
||||||
BrowserContext,
|
BrowserContext,
|
||||||
TestInfo,
|
TestInfo,
|
||||||
_electron as electron,
|
|
||||||
ElectronApplication,
|
|
||||||
Locator,
|
Locator,
|
||||||
Page,
|
Page,
|
||||||
} from '@playwright/test'
|
} from '@playwright/test'
|
||||||
import { test } from './zoo-test'
|
import { test } from './zoo-test'
|
||||||
import { EngineCommand } from 'lang/std/artifactGraph'
|
import { EngineCommand } from 'lang/std/artifactGraph'
|
||||||
import fsp from 'fs/promises'
|
import fsp from 'fs/promises'
|
||||||
import fsSync from 'fs'
|
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
import pixelMatch from 'pixelmatch'
|
import pixelMatch from 'pixelmatch'
|
||||||
import { PNG } from 'pngjs'
|
import { PNG } from 'pngjs'
|
||||||
@ -24,14 +21,11 @@ import {
|
|||||||
IS_PLAYWRIGHT_KEY,
|
IS_PLAYWRIGHT_KEY,
|
||||||
} from './storageStates'
|
} from './storageStates'
|
||||||
import * as TOML from '@iarna/toml'
|
import * as TOML from '@iarna/toml'
|
||||||
import { SaveSettingsPayload } from 'lib/settings/settingsTypes'
|
|
||||||
import { SETTINGS_FILE_NAME } from 'lib/constants'
|
|
||||||
import { isErrorWhitelisted } from './lib/console-error-whitelist'
|
import { isErrorWhitelisted } from './lib/console-error-whitelist'
|
||||||
import { isArray } from 'lib/utils'
|
import { isArray } from 'lib/utils'
|
||||||
import { reportRejection } from 'lib/trap'
|
import { reportRejection } from 'lib/trap'
|
||||||
import { DeepPartial } from 'lib/types'
|
import { DeepPartial } from 'lib/types'
|
||||||
import { Configuration } from 'lang/wasm'
|
import { Configuration } from 'lang/wasm'
|
||||||
import { Settings } from '@rust/kcl-lib/bindings/Settings'
|
|
||||||
|
|
||||||
const toNormalizedCode = (text: string) => {
|
const toNormalizedCode = (text: string) => {
|
||||||
return text.replace(/\s+/g, '')
|
return text.replace(/\s+/g, '')
|
||||||
@ -928,10 +922,6 @@ export async function setup(
|
|||||||
// await page.reload()
|
// await page.reload()
|
||||||
}
|
}
|
||||||
|
|
||||||
let electronApp: ElectronApplication | undefined = undefined
|
|
||||||
let context: BrowserContext | undefined = undefined
|
|
||||||
let page: Page | undefined = undefined
|
|
||||||
|
|
||||||
function failOnConsoleErrors(page: Page, testInfo?: TestInfo) {
|
function failOnConsoleErrors(page: Page, testInfo?: TestInfo) {
|
||||||
// enabled for chrome for now
|
// enabled for chrome for now
|
||||||
if (page.context().browser()?.browserType().name() === 'chromium') {
|
if (page.context().browser()?.browserType().name() === 'chromium') {
|
||||||
|
@ -4,7 +4,6 @@ import { bracket } from 'lib/exampleKcl'
|
|||||||
import * as fsp from 'fs/promises'
|
import * as fsp from 'fs/promises'
|
||||||
import { join } from 'path'
|
import { join } from 'path'
|
||||||
import { FILE_EXT } from 'lib/constants'
|
import { FILE_EXT } from 'lib/constants'
|
||||||
import { UnitLength_type } from '@kittycad/lib/dist/types/src/models'
|
|
||||||
|
|
||||||
test.describe('Testing in-app sample loading', () => {
|
test.describe('Testing in-app sample loading', () => {
|
||||||
/**
|
/**
|
||||||
@ -49,8 +48,6 @@ test.describe('Testing in-app sample loading', () => {
|
|||||||
})
|
})
|
||||||
const warningText = page.getByText('Overwrite current file and units?')
|
const warningText = page.getByText('Overwrite current file and units?')
|
||||||
const confirmButton = page.getByRole('button', { name: 'Submit command' })
|
const confirmButton = page.getByRole('button', { name: 'Submit command' })
|
||||||
const unitsToast = (unit: UnitLength_type) =>
|
|
||||||
page.getByText(`Set default unit to "${unit}" for this project`)
|
|
||||||
|
|
||||||
await test.step(`Precondition: check the initial code`, async () => {
|
await test.step(`Precondition: check the initial code`, async () => {
|
||||||
await u.openKclCodePanel()
|
await u.openKclCodePanel()
|
||||||
@ -125,8 +122,6 @@ test.describe('Testing in-app sample loading', () => {
|
|||||||
page.getByRole('listitem').filter({
|
page.getByRole('listitem').filter({
|
||||||
has: page.getByRole('button', { name }),
|
has: page.getByRole('button', { name }),
|
||||||
})
|
})
|
||||||
const unitsToast = (unit: UnitLength_type) =>
|
|
||||||
page.getByText(`Set default unit to "${unit}" for this project`)
|
|
||||||
|
|
||||||
await test.step(`Test setup`, async () => {
|
await test.step(`Test setup`, async () => {
|
||||||
await page.setBodyDimensions({ width: 1200, height: 500 })
|
await page.setBodyDimensions({ width: 1200, height: 500 })
|
||||||
|
@ -1386,7 +1386,8 @@ profile001 = startProfileAt([56.37, 120.33], sketch001)
|
|||||||
page.getByRole('button', { name: 'Edit Sketch' })
|
page.getByRole('button', { name: 'Edit Sketch' })
|
||||||
).toBeVisible()
|
).toBeVisible()
|
||||||
return true
|
return true
|
||||||
} catch (_) {
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
} catch (_e) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -323,7 +323,7 @@ part009 = startSketchOn('XY')
|
|||||||
|> line(end = [0, pipeLength])
|
|> line(end = [0, pipeLength])
|
||||||
|> angledLineToX({ angle = 60, to = pipeLargeDia }, %)
|
|> angledLineToX({ angle = 60, to = pipeLargeDia }, %)
|
||||||
|> close()
|
|> close()
|
||||||
rev = revolve({ axis = 'y' }, part009)
|
rev = revolve(part009, axis = 'y')
|
||||||
sketch006 = startSketchOn('XY')
|
sketch006 = startSketchOn('XY')
|
||||||
profile001 = circle(
|
profile001 = circle(
|
||||||
sketch006,
|
sketch006,
|
||||||
@ -353,6 +353,7 @@ profile003 = startProfileAt([40.16, -120.48], sketch006)
|
|||||||
await page.setBodyDimensions({ width: 1000, height: 500 })
|
await page.setBodyDimensions({ width: 1000, height: 500 })
|
||||||
|
|
||||||
await homePage.goToModelingScene()
|
await homePage.goToModelingScene()
|
||||||
|
await scene.connectionEstablished()
|
||||||
await scene.settled(cmdBar)
|
await scene.settled(cmdBar)
|
||||||
|
|
||||||
const camPosition1 = async () => {
|
const camPosition1 = async () => {
|
||||||
@ -364,7 +365,6 @@ profile003 = startProfileAt([40.16, -120.48], sketch006)
|
|||||||
await camPosition1()
|
await camPosition1()
|
||||||
|
|
||||||
const revolve = { x: 635, y: 253 }
|
const revolve = { x: 635, y: 253 }
|
||||||
const parentExtrude = { x: 915, y: 133 }
|
|
||||||
const solid2d = { x: 770, y: 167 }
|
const solid2d = { x: 770, y: 167 }
|
||||||
const individualProfile = { x: 694, y: 432 }
|
const individualProfile = { x: 694, y: 432 }
|
||||||
|
|
||||||
@ -380,7 +380,7 @@ profile003 = startProfileAt([40.16, -120.48], sketch006)
|
|||||||
await page.waitForTimeout(200)
|
await page.waitForTimeout(200)
|
||||||
|
|
||||||
await expect(u.codeLocator).not.toContainText(
|
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
|
// FIXME (commented section below), this test would select a wall that had a sketch on it, and delete the underlying extrude
|
||||||
@ -452,13 +452,9 @@ profile003 = startProfileAt([40.16, -120.48], sketch006)
|
|||||||
await page.waitForTimeout(200)
|
await page.waitForTimeout(200)
|
||||||
await expect(u.codeLocator).not.toContainText(codeToBeDeletedSnippet)
|
await expect(u.codeLocator).not.toContainText(codeToBeDeletedSnippet)
|
||||||
})
|
})
|
||||||
test('parent Solid should be select and deletable and uses custom planes to position children', async ({
|
test.fixme(
|
||||||
page,
|
'parent Solid should be select and deletable and uses custom planes to position children',
|
||||||
homePage,
|
async ({ page, homePage, scene, cmdBar, editor }) => {
|
||||||
scene,
|
|
||||||
cmdBar,
|
|
||||||
editor,
|
|
||||||
}) => {
|
|
||||||
test.setTimeout(90_000)
|
test.setTimeout(90_000)
|
||||||
const u = await getUtils(page)
|
const u = await getUtils(page)
|
||||||
await page.addInitScript(async () => {
|
await page.addInitScript(async () => {
|
||||||
@ -522,7 +518,8 @@ profile001 = startProfileAt([7.49, 9.96], sketch001)
|
|||||||
shouldNormalise: true,
|
shouldNormalise: true,
|
||||||
})
|
})
|
||||||
await editor.snapshot()
|
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 ({
|
test('Hovering over 3d features highlights code, clicking puts the cursor in the right place and sends selection id to engine', async ({
|
||||||
page,
|
page,
|
||||||
homePage,
|
homePage,
|
||||||
|
@ -7,7 +7,7 @@ import {
|
|||||||
createProject,
|
createProject,
|
||||||
tomlToSettings,
|
tomlToSettings,
|
||||||
} from './test-utils'
|
} from './test-utils'
|
||||||
import { SaveSettingsPayload, SettingsLevel } from 'lib/settings/settingsTypes'
|
import { SettingsLevel } from 'lib/settings/settingsTypes'
|
||||||
import { SETTINGS_FILE_NAME, PROJECT_SETTINGS_FILE_NAME } from 'lib/constants'
|
import { SETTINGS_FILE_NAME, PROJECT_SETTINGS_FILE_NAME } from 'lib/constants'
|
||||||
import {
|
import {
|
||||||
TEST_SETTINGS_KEY,
|
TEST_SETTINGS_KEY,
|
||||||
@ -15,7 +15,6 @@ import {
|
|||||||
TEST_SETTINGS,
|
TEST_SETTINGS,
|
||||||
TEST_SETTINGS_DEFAULT_THEME,
|
TEST_SETTINGS_DEFAULT_THEME,
|
||||||
} from './storageStates'
|
} from './storageStates'
|
||||||
import * as TOML from '@iarna/toml'
|
|
||||||
import { DeepPartial } from 'lib/types'
|
import { DeepPartial } from 'lib/types'
|
||||||
import { Settings } from '@rust/kcl-lib/bindings/Settings'
|
import { Settings } from '@rust/kcl-lib/bindings/Settings'
|
||||||
|
|
||||||
@ -978,14 +977,9 @@ fn cube`
|
|||||||
/**
|
/**
|
||||||
* This test assumes that the default value of the "highlight edges" setting is "on".
|
* This test assumes that the default value of the "highlight edges" setting is "on".
|
||||||
*/
|
*/
|
||||||
test(`Toggle stream settings multiple times`, async ({
|
test.fixme(
|
||||||
page,
|
`Toggle stream settings multiple times`,
|
||||||
scene,
|
async ({ page, scene, homePage, context, toolbar, cmdBar }, testInfo) => {
|
||||||
homePage,
|
|
||||||
context,
|
|
||||||
toolbar,
|
|
||||||
cmdBar,
|
|
||||||
}, testInfo) => {
|
|
||||||
await context.folderSetupFn(async (dir) => {
|
await context.folderSetupFn(async (dir) => {
|
||||||
const projectDir = join(dir, 'project-000')
|
const projectDir = join(dir, 'project-000')
|
||||||
await fsp.mkdir(projectDir, { recursive: true })
|
await fsp.mkdir(projectDir, { recursive: true })
|
||||||
@ -1006,11 +1000,6 @@ fn cube`
|
|||||||
page.getByText(
|
page.getByText(
|
||||||
`Set highlight edges to "${String(value)}" as a user default`
|
`Set highlight edges to "${String(value)}" as a user default`
|
||||||
)
|
)
|
||||||
const initialPath = testInfo.snapshotPath('toggle-settings-initial.png')
|
|
||||||
const initialScreenshot = await scene.streamWrapper.screenshot({
|
|
||||||
path: initialPath,
|
|
||||||
mask: [page.getByTestId('model-state-indicator')],
|
|
||||||
})
|
|
||||||
|
|
||||||
await test.step(`Toggle highlightEdges off`, async () => {
|
await test.step(`Toggle highlightEdges off`, async () => {
|
||||||
await cmdBar.openCmdBar()
|
await cmdBar.openCmdBar()
|
||||||
@ -1045,5 +1034,6 @@ fn cube`
|
|||||||
mask: [page.getByTestId('model-state-indicator')],
|
mask: [page.getByTestId('model-state-indicator')],
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
})
|
}
|
||||||
|
)
|
||||||
})
|
})
|
||||||
|
@ -619,7 +619,7 @@ async function sendPromptFromCommandBar(page: Page, promptStr: string) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
test(
|
test.fixme(
|
||||||
'Text-to-CAD functionality',
|
'Text-to-CAD functionality',
|
||||||
{ tag: '@electron' },
|
{ tag: '@electron' },
|
||||||
async ({ context, page }, testInfo) => {
|
async ({ context, page }, testInfo) => {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* eslint-disable react-hooks/rules-of-hooks */
|
/* eslint-disable react-hooks/rules-of-hooks */
|
||||||
|
|
||||||
import { test as playwrightTestFn, ElectronApplication } from '@playwright/test'
|
import { test as playwrightTestFn } from '@playwright/test'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
fixturesBasedOnProcessEnvPlatform,
|
fixturesBasedOnProcessEnvPlatform,
|
||||||
@ -8,8 +8,6 @@ import {
|
|||||||
ElectronZoo,
|
ElectronZoo,
|
||||||
} from './fixtures/fixtureSetup'
|
} from './fixtures/fixtureSetup'
|
||||||
|
|
||||||
import { Settings } from '@rust/kcl-lib/bindings/Settings'
|
|
||||||
import { DeepPartial } from 'lib/types'
|
|
||||||
export { expect } from '@playwright/test'
|
export { expect } from '@playwright/test'
|
||||||
|
|
||||||
declare module '@playwright/test' {
|
declare module '@playwright/test' {
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
"@xstate/inspect": "^0.8.0",
|
"@xstate/inspect": "^0.8.0",
|
||||||
"@xstate/react": "^4.1.1",
|
"@xstate/react": "^4.1.1",
|
||||||
"bonjour-service": "^1.3.0",
|
"bonjour-service": "^1.3.0",
|
||||||
|
"bson": "^6.10.3",
|
||||||
"chokidar": "^4.0.1",
|
"chokidar": "^4.0.1",
|
||||||
"codemirror": "^6.0.1",
|
"codemirror": "^6.0.1",
|
||||||
"decamelize": "^6.0.0",
|
"decamelize": "^6.0.0",
|
||||||
@ -71,7 +72,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"install:rust": "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none && source \"$HOME/.cargo/env\" && (cd rust && (rustup show active-toolchain || rustup toolchain install))",
|
"install:rust": "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none && source \"$HOME/.cargo/env\" && (cd rust && (rustup show active-toolchain || rustup toolchain install))",
|
||||||
"install:rust:windows": "winget install Microsoft.VisualStudio.2022.Community --silent --override \"--wait --quiet --add ProductLang En-us --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended\" && winget install Rustlang.Rustup",
|
"install:rust:windows": "winget install Microsoft.VisualStudio.2022.Community --silent --override \"--wait --quiet --add ProductLang En-us --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended\" && winget install Rustlang.Rustup",
|
||||||
"install:wasm-pack:sh": ". $HOME/.cargo/env && curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -y",
|
"install:wasm-pack:sh": ". $HOME/.cargo/env && curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -f",
|
||||||
"install:wasm-pack:cargo": "cargo install wasm-pack",
|
"install:wasm-pack:cargo": "cargo install wasm-pack",
|
||||||
"install:tools:windows": "winget install jqlang.jq MikeFarah.yq GitHub.cli",
|
"install:tools:windows": "winget install jqlang.jq MikeFarah.yq GitHub.cli",
|
||||||
"start": "vite --port=3000 --host=0.0.0.0",
|
"start": "vite --port=3000 --host=0.0.0.0",
|
||||||
@ -87,12 +88,13 @@
|
|||||||
"simpleserver:ci": "yarn pretest && http-server ./public --cors -p 3000 &",
|
"simpleserver:ci": "yarn pretest && http-server ./public --cors -p 3000 &",
|
||||||
"simpleserver:bg": "yarn pretest && http-server ./public --cors -p 3000 &",
|
"simpleserver:bg": "yarn pretest && http-server ./public --cors -p 3000 &",
|
||||||
"simpleserver:stop": "kill-port 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",
|
"fmt-check": "prettier --check ./src *.ts *.json *.js ./e2e ./packages ./rust/kcl-language-server",
|
||||||
"fetch:wasm": "./scripts/get-latest-wasm-bundle.sh",
|
"fetch:wasm": "./scripts/get-latest-wasm-bundle.sh",
|
||||||
"fetch:wasm:windows": "./scripts/get-latest-wasm-bundle.ps1",
|
"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",
|
"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": "./scripts/build-wasm.sh",
|
||||||
"build:wasm:windows": "./scripts/build-wasm.ps1",
|
"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\"",
|
"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",
|
"typescript-eslint": "^8.26.1",
|
||||||
"vite": "^5.4.12",
|
"vite": "^5.4.12",
|
||||||
"vite-plugin-package-version": "^1.1.0",
|
"vite-plugin-package-version": "^1.1.0",
|
||||||
|
"vite-plugin-top-level-await": "^1.5.0",
|
||||||
"vite-tsconfig-paths": "^4.3.2",
|
"vite-tsconfig-paths": "^4.3.2",
|
||||||
"vitest": "^1.6.1",
|
"vitest": "^1.6.1",
|
||||||
"vitest-webgl-canvas-mock": "^1.1.0",
|
"vitest-webgl-canvas-mock": "^1.1.0",
|
||||||
|
@ -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.
|
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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](bench/main.kcl)
|
||||||
#### [bracket](bracket/main.kcl) ([step](step/bracket.step)) ([screenshot](screenshots/bracket.png))
|
#### [bracket](bracket/main.kcl) ([screenshot](screenshots/bracket.png))
|
||||||
[](bracket/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](dodecahedron/main.kcl)
|
||||||
#### [enclosure](enclosure/main.kcl) ([step](step/enclosure.step)) ([screenshot](screenshots/enclosure.png))
|
#### [enclosure](enclosure/main.kcl) ([screenshot](screenshots/enclosure.png))
|
||||||
[](enclosure/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
||||||
|
#### [kitt](kitt/main.kcl) ([screenshot](screenshots/kitt.png))
|
||||||
[](kitt/main.kcl)
|
[](kitt/main.kcl)
|
||||||
#### [lego](lego/main.kcl) ([step](step/lego.step)) ([screenshot](screenshots/lego.png))
|
#### [lego](lego/main.kcl) ([screenshot](screenshots/lego.png))
|
||||||
[](lego/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](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/main.kcl)
|
[](washer/main.kcl)
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ ballsSketch = startSketchOn("XY")
|
|||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
// Revolve the ball to make a sphere and pattern around the inside wall
|
// Revolve the ball to make a sphere and pattern around the inside wall
|
||||||
balls = revolve({ axis = "X" }, ballsSketch)
|
balls = revolve(ballsSketch, axis = "X")
|
||||||
|> patternCircular3d(
|
|> patternCircular3d(
|
||||||
arcDegrees = 360,
|
arcDegrees = 360,
|
||||||
axis = [0, 0, 1],
|
axis = [0, 0, 1],
|
||||||
@ -66,7 +66,7 @@ chainSketch = startSketchOn("XY")
|
|||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
// Revolve the chain sketch
|
// Revolve the chain sketch
|
||||||
chainHead = revolve({ axis = "X" }, chainSketch)
|
chainHead = revolve(chainSketch, axis = "X")
|
||||||
|> patternCircular3d(
|
|> patternCircular3d(
|
||||||
arcDegrees = 360,
|
arcDegrees = 360,
|
||||||
axis = [0, 0, 1],
|
axis = [0, 0, 1],
|
||||||
@ -86,7 +86,7 @@ linkSketch = startSketchOn("XZ")
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Revolve the link sketch
|
// Revolve the link sketch
|
||||||
linkRevolve = revolve({ axis = 'Y', angle = 360 / nBalls }, linkSketch)
|
linkRevolve = revolve(linkSketch, axis = 'Y', angle = 360 / nBalls)
|
||||||
|> patternCircular3d(
|
|> patternCircular3d(
|
||||||
arcDegrees = 360,
|
arcDegrees = 360,
|
||||||
axis = [0, 0, 1],
|
axis = [0, 0, 1],
|
||||||
|
@ -82,5 +82,5 @@ brakeCaliperSketch = startSketchOn('XY')
|
|||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
// Revolve the brake caliper sketch
|
// Revolve the brake caliper sketch
|
||||||
revolve({ axis = "Y", angle = -70 }, brakeCaliperSketch)
|
revolve(brakeCaliperSketch, axis = "Y", angle = -70)
|
||||||
|> appearance(color = "#c82d2d", metalness = 90, roughness = 90)
|
|> appearance(color = "#c82d2d", metalness = 90, roughness = 90)
|
||||||
|
@ -40,5 +40,5 @@ tireSketch = startSketchOn("XY")
|
|||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
// Revolve the sketch to create the tire
|
// Revolve the sketch to create the tire
|
||||||
revolve({ axis = "Y" }, tireSketch)
|
revolve(tireSketch, axis = "Y")
|
||||||
|> appearance(color = "#0f0f0f", roughness = 80)
|
|> appearance(color = "#0f0f0f", roughness = 80)
|
||||||
|
@ -74,7 +74,7 @@ wheelCenterInner = startSketchOn('XY')
|
|||||||
|> yLine(endAbsolute = 0)
|
|> yLine(endAbsolute = 0)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ axis = 'y' }, %)
|
|> revolve(axis = 'y')
|
||||||
|> appearance(color = "#ffffff", metalness = 0, roughness = 0)
|
|> appearance(color = "#ffffff", metalness = 0, roughness = 0)
|
||||||
|
|
||||||
wheelCenterOuter = startSketchOn('XY')
|
wheelCenterOuter = startSketchOn('XY')
|
||||||
@ -88,7 +88,7 @@ wheelCenterOuter = startSketchOn('XY')
|
|||||||
|> yLine(endAbsolute = -wheelWidth / 20)
|
|> yLine(endAbsolute = -wheelWidth / 20)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ axis = 'y' }, %)
|
|> revolve(axis = 'y')
|
||||||
|> appearance(color = "#ffffff", metalness = 0, roughness = 0)
|
|> appearance(color = "#ffffff", metalness = 0, roughness = 0)
|
||||||
|
|
||||||
// Write a function that defines the spoke geometry, patterns and extrudes it
|
// Write a function that defines the spoke geometry, patterns and extrudes it
|
||||||
@ -193,5 +193,5 @@ startSketchOn('XY')
|
|||||||
|> xLine(length = wheelWidth * 0.03)
|
|> xLine(length = wheelWidth * 0.03)
|
||||||
|> yLine(length = wheelWidth * 0.05)
|
|> yLine(length = wheelWidth * 0.05)
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ axis = 'y' }, %)
|
|> revolve(axis = 'y')
|
||||||
|> appearance(color = "#ffffff", metalness = 0, roughness = 0)
|
|> appearance(color = "#ffffff", metalness = 0, roughness = 0)
|
||||||
|
@ -34,7 +34,7 @@ fn lug(plane, length, diameter) {
|
|||||||
|> xLine(endAbsolute = lugThreadDiameter)
|
|> xLine(endAbsolute = lugThreadDiameter)
|
||||||
|> yLine(endAbsolute = 0)
|
|> yLine(endAbsolute = 0)
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ axis = "Y" }, %)
|
|> revolve(axis = "Y")
|
||||||
|> appearance(color = "#dbcd70", roughness = 90, metalness = 90)
|
|> appearance(color = "#dbcd70", roughness = 90, metalness = 90)
|
||||||
return lugSketch
|
return lugSketch
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ sketch001 = startSketchOn('XZ')
|
|||||||
], %, $rectangleSegmentC001)
|
], %, $rectangleSegmentC001)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ angle = 360, axis = 'Y' }, %)
|
|> revolve(angle = 360, axis = 'Y')
|
||||||
|
|
||||||
// Create an angled plane to sketch the supports
|
// Create an angled plane to sketch the supports
|
||||||
plane001 = {
|
plane001 = {
|
||||||
@ -135,7 +135,7 @@ sketch005 = startSketchOn('XZ')
|
|||||||
|> xLine(endAbsolute = 0.15)
|
|> xLine(endAbsolute = 0.15)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ axis = 'y' }, %)
|
|> revolve(axis = 'y')
|
||||||
|
|
||||||
// Plunger and stem
|
// Plunger and stem
|
||||||
sketch006 = startSketchOn('XZ')
|
sketch006 = startSketchOn('XZ')
|
||||||
@ -148,7 +148,7 @@ sketch006 = startSketchOn('XZ')
|
|||||||
|> tangentialArc({ radius = 0.6, offset = -90 }, %)
|
|> tangentialArc({ radius = 0.6, offset = -90 }, %)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ axis = 'y' }, %)
|
|> revolve(axis = 'y')
|
||||||
|
|
||||||
// Spiral plate
|
// Spiral plate
|
||||||
sketch007 = startSketchOn(offsetPlane('XY', offset = 1.12))
|
sketch007 = startSketchOn(offsetPlane('XY', offset = 1.12))
|
||||||
@ -210,7 +210,7 @@ sketch011 = startSketchOn('XZ')
|
|||||||
}, %)
|
}, %)
|
||||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|> close()
|
|> close()
|
||||||
|> revolve({ axis = 'y' }, %)
|
|> revolve(axis = 'y')
|
||||||
|
|
||||||
// Draw and extrude handle
|
// Draw and extrude handle
|
||||||
sketch012 = startSketchOn(offsetPlane('XZ', offset = handleThickness / 2))
|
sketch012 = startSketchOn(offsetPlane('XZ', offset = handleThickness / 2))
|
||||||
|
@ -55,7 +55,7 @@ axis000 = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create a single corner of the bin
|
// 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
|
// create the corners of the bin
|
||||||
corners = patternCircular3d(
|
corners = patternCircular3d(
|
||||||
|
@ -52,7 +52,7 @@ axis000 = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create a single corner of the bin
|
// 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
|
// create the corners of the bin
|
||||||
corners = patternCircular3d(
|
corners = patternCircular3d(
|
||||||
|
@ -75,7 +75,7 @@ axis000 = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create a single corner of the bin
|
// 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
|
// create the corners of the bin
|
||||||
corners = patternCircular3d(
|
corners = patternCircular3d(
|
||||||
@ -291,10 +291,10 @@ axis001 = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create a single corner of the bin
|
// 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
|
// 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
|
// create the corners of the bin
|
||||||
lipCorners000 = patternCircular3d(
|
lipCorners000 = patternCircular3d(
|
||||||
|
@ -68,7 +68,7 @@ axis000 = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create a single corner of the bin
|
// 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
|
// create the corners of the bin
|
||||||
corners = patternCircular3d(
|
corners = patternCircular3d(
|
||||||
|
233
public/kcl-samples/keyboard/main.kcl
Normal 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)
|
@ -160,6 +160,13 @@
|
|||||||
"title": "I-beam",
|
"title": "I-beam",
|
||||||
"description": "A structural metal beam with an I shaped cross section. Often used in construction"
|
"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",
|
"file": "main.kcl",
|
||||||
"pathFromProjectDirectoryToFirstFile": "kitt/main.kcl",
|
"pathFromProjectDirectoryToFirstFile": "kitt/main.kcl",
|
||||||
@ -198,7 +205,7 @@
|
|||||||
{
|
{
|
||||||
"file": "main.kcl",
|
"file": "main.kcl",
|
||||||
"pathFromProjectDirectoryToFirstFile": "pipe-flange-assembly/main.kcl",
|
"pathFromProjectDirectoryToFirstFile": "pipe-flange-assembly/main.kcl",
|
||||||
"multipleFiles": false,
|
"multipleFiles": true,
|
||||||
"title": "Pipe and Flange Assembly",
|
"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."
|
"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."
|
||||||
},
|
},
|
||||||
|
25
public/kcl-samples/pipe-flange-assembly/1120t74-pipe.kcl
Normal 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/
|
46
public/kcl-samples/pipe-flange-assembly/68095k348-flange.kcl
Normal 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/
|
56
public/kcl-samples/pipe-flange-assembly/91251a404-bolt.kcl
Normal 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/
|
26
public/kcl-samples/pipe-flange-assembly/9472k188-gasket.kcl
Normal 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/
|
@ -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/
|
26
public/kcl-samples/pipe-flange-assembly/98017a257-washer.kcl
Normal 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/
|
48
public/kcl-samples/pipe-flange-assembly/globals.kcl
Normal 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
|
@ -1,304 +1,58 @@
|
|||||||
// Pipe and Flange Assembly
|
// 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.
|
// 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)
|
@settings(defaultLengthUnit = in)
|
||||||
|
|
||||||
|
// import constants
|
||||||
|
import * from 'globals.kcl'
|
||||||
|
|
||||||
// Define constants
|
// import parts
|
||||||
flangeThickness = .125
|
import flange from '68095k348-flange.kcl'
|
||||||
flangeBaseDia = 2
|
import gasket from '9472k188-gasket.kcl'
|
||||||
boreHeight = 1
|
import washer from '98017a257-washer.kcl'
|
||||||
flangePipeDia = 1
|
import bolt from '91251a404-bolt.kcl'
|
||||||
mountingHoleDia = 0.425
|
import hexNut from '95479a127-hex-nut.kcl'
|
||||||
screwDia = 0.375
|
import pipe from '1120t74-pipe.kcl'
|
||||||
tol = 0.010
|
|
||||||
hexNutScale = 0.90
|
// place flanges
|
||||||
wallThickness = 0.5
|
flange()
|
||||||
screwLength = 1.125
|
flange()
|
||||||
washerThickness = 0.0625
|
|> rotate(axis = [0, 1, 0], angle = 180)
|
||||||
screwStart = [
|
|> translate(translate = [0, 0, flangeBackHeight*2 + gasketThickness])
|
||||||
|
|
||||||
|
// place gasket between the flanges
|
||||||
|
gasket()
|
||||||
|
|> translate(translate = [0, 0, -flangeBackHeight - gasketThickness])
|
||||||
|
|
||||||
|
// place eight washers (four front, four back)
|
||||||
|
washer()
|
||||||
|
|> translate(translate = [
|
||||||
|
mountingHolePlacementDiameter/2,
|
||||||
0,
|
0,
|
||||||
flangeThickness + washerThickness,
|
flangeBaseThickness
|
||||||
1.375
|
])
|
||||||
]
|
|> patternCircular3d(%, instances = 4, axis = [0, 0, 1], center = [0, 0, 0], arcDegrees = 360, rotateDuplicates = false)
|
||||||
capRatio = .190 / .313 // Ratio grabbed from another screw
|
|> patternLinear3d(%, instances = 2, distance = -(flangeBaseThickness*2 + flangeBackHeight * 2 + gasketThickness + washerThickness), axis = [0, 0, 1])
|
||||||
hexRatio = 5 / 32 / .190 // Ratio grabbed from another screw
|
|
||||||
hexStartingAngle = 210 // first angle of hex pattern (degrees)
|
|
||||||
hexInteriorAngle = 120 // degrees
|
|
||||||
hexChangeAngle = 180 - hexInteriorAngle // degrees
|
|
||||||
|
|
||||||
|
// 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)
|
||||||
|
|
||||||
screwPlane = {
|
// place four hex nuts
|
||||||
plane = {
|
hexNut()
|
||||||
origin = {
|
|> translate(translate = [mountingHolePlacementDiameter/2, 0, -(flangeBackHeight * 2 + gasketThickness + flangeBaseThickness + washerThickness + hexNutThickness)])
|
||||||
x = screwStart[0],
|
|> patternCircular3d(%, instances = 4, axis = [0, 0, 1], center = [0, 0, 0], arcDegrees = 360, rotateDuplicates = false)
|
||||||
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 }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn capScrew(start, length, dia) {
|
// place both pieces of pipe
|
||||||
headLength = dia // inch
|
pipe()
|
||||||
wallToWallLength = hexRatio * dia
|
|> rotate(%, roll = -90, pitch = 0, yaw = 0)
|
||||||
headDia = dia / capRatio
|
|> translate(%, translate = [0, 0, flangeBaseThickness + flangeFrontHeight - 0.5], global = true)
|
||||||
hexWallLength = wallToWallLength / 2 * 1 / cos(toRadians(30)) // inch
|
|
||||||
|
|
||||||
|
pipe()
|
||||||
// Length of Cap Head is always equal to diameter
|
|> rotate(%, roll = 90, pitch = 0, yaw = 0)
|
||||||
capHeadLength = dia
|
|> translate(%, translate = [0, 0, -(flangeBackHeight * 2 + gasketThickness + flangeBaseThickness + flangeFrontHeight - 0.5)], global = true)
|
||||||
|
|
||||||
// Create the head of the cap screw
|
|
||||||
screwHeadSketch = startSketchOn(screwPlane)
|
|
||||||
|> circle(
|
|
||||||
center = [0, 0],
|
|
||||||
radius = headDia / 2
|
|
||||||
)
|
|
||||||
|
|
||||||
// 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")
|
|
@ -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;
|
@ -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;
|
@ -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;
|
@ -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;
|
@ -32,4 +32,4 @@ pipeProfile = outerProfile
|
|||||||
|> hole(innerProfile, %)
|
|> hole(innerProfile, %)
|
||||||
|
|
||||||
// revolve the pipe profile at the desired angle
|
// revolve the pipe profile at the desired angle
|
||||||
pipe = revolve({ axis = "Y", angle = bendAngle }, pipeProfile)
|
pipe = revolve(pipeProfile, axis = "Y", angle = bendAngle)
|
||||||
|
@ -33,4 +33,4 @@ pipeSketch = startSketchOn('XY')
|
|||||||
|> close()
|
|> close()
|
||||||
|
|
||||||
// Revolve the sketch to create the pipe
|
// Revolve the sketch to create the pipe
|
||||||
pipe = revolve({ axis = 'y' }, pipeSketch)
|
pipe = revolve(pipeSketch, axis = 'y')
|
||||||
|
@ -30,7 +30,8 @@ sketch001 = startSketchOn("-YZ")
|
|||||||
|> yLine(endAbsolute = segEndY(seg01))
|
|> yLine(endAbsolute = segEndY(seg01))
|
||||||
|> angledLineToY({ angle = 180 - 60, to = 0 }, %)
|
|> angledLineToY({ angle = 180 - 60, to = 0 }, %)
|
||||||
|> close()
|
|> close()
|
||||||
part001 = revolve({
|
part001 = revolve(
|
||||||
|
sketch001,
|
||||||
angle = 90,
|
angle = 90,
|
||||||
axis = {
|
axis = {
|
||||||
custom = {
|
custom = {
|
||||||
@ -38,7 +39,7 @@ part001 = revolve({
|
|||||||
origin = [0.0, height + .0001]
|
origin = [0.0, height + .0001]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, sketch001)
|
)
|
||||||
|
|
||||||
sketch002 = startSketchOn('-YZ')
|
sketch002 = startSketchOn('-YZ')
|
||||||
|> startProfileAt([wallsWidth / 2, 0], %)
|
|> startProfileAt([wallsWidth / 2, 0], %)
|
||||||
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
BIN
public/kcl-samples/screenshots/keyboard.png
Normal file
After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 78 KiB |