Add edge and segment selection in point-and-click Helix flow
Fixes #5393
4
.github/actions/github-release/package.json
vendored
@ -4,7 +4,7 @@
|
||||
"main": "main.js",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.6",
|
||||
"@actions/github": "^5.0",
|
||||
"glob": "^7.1.5"
|
||||
"@actions/github": "^6.0",
|
||||
"glob": "^11.0.1"
|
||||
}
|
||||
}
|
||||
|
20
.github/ci-cd-scripts/playwright-electron.sh
vendored
@ -4,7 +4,7 @@
|
||||
set -euo pipefail
|
||||
|
||||
if [[ ! -f "test-results/.last-run.json" ]]; then
|
||||
# if no last run artifact, than run plawright normally
|
||||
# If no last run artifact, than run Playwright normally
|
||||
echo "run playwright normally"
|
||||
if [[ "$3" == *ubuntu* ]]; then
|
||||
xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- yarn test:playwright:electron:ubuntu -- --shard=$1/$2 || true
|
||||
@ -13,18 +13,18 @@ if [[ ! -f "test-results/.last-run.json" ]]; then
|
||||
elif [[ "$3" == *macos* ]]; then
|
||||
yarn test:playwright:electron:macos -- --shard=$1/$2 || true
|
||||
else
|
||||
echo "Do not run playwright. Unable to detect os runtime."
|
||||
echo "Do not run Playwright. Unable to detect os runtime."
|
||||
exit 1
|
||||
fi
|
||||
# # send to axiom
|
||||
node playwrightProcess.mjs | tee /tmp/github-actions.log > /dev/null 2>&1
|
||||
# Log failures for Axiom to pick up
|
||||
node playwrightProcess.mjs > /tmp/github-actions.log
|
||||
fi
|
||||
|
||||
retry=1
|
||||
max_retrys=1
|
||||
max_retries=1
|
||||
|
||||
# retry failed tests, doing our own retries because using inbuilt playwright retries causes connection issues
|
||||
while [[ $retry -le $max_retrys ]]; do
|
||||
# Retry failed tests, doing our own retries because using inbuilt Playwright retries causes connection issues
|
||||
while [[ $retry -le $max_retries ]]; do
|
||||
if [[ -f "test-results/.last-run.json" ]]; then
|
||||
failed_tests=$(jq '.failedTests | length' test-results/.last-run.json)
|
||||
if [[ $failed_tests -gt 0 ]]; then
|
||||
@ -40,8 +40,8 @@ while [[ $retry -le $max_retrys ]]; do
|
||||
echo "Do not run playwright. Unable to detect os runtime."
|
||||
exit 1
|
||||
fi
|
||||
# send to axiom
|
||||
node playwrightProcess.mjs | tee /tmp/github-actions.log > /dev/null 2>&1
|
||||
# Log failures for Axiom to pick up
|
||||
node playwrightProcess.mjs > /tmp/github-actions.log
|
||||
retry=$((retry + 1))
|
||||
else
|
||||
echo "retried=false" >>$GITHUB_OUTPUT
|
||||
@ -58,7 +58,7 @@ echo "retried=false" >>$GITHUB_OUTPUT
|
||||
if [[ -f "test-results/.last-run.json" ]]; then
|
||||
failed_tests=$(jq '.failedTests | length' test-results/.last-run.json)
|
||||
if [[ $failed_tests -gt 0 ]]; then
|
||||
# if it still fails after 3 retrys, then fail the job
|
||||
# If it still fails after 3 retries, then fail the job
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
33
.github/dependabot.yml
vendored
@ -230,39 +230,6 @@ updates:
|
||||
update-types:
|
||||
- minor
|
||||
- patch
|
||||
- package-ecosystem: pip
|
||||
directory: /public/kcl-samples
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: monday
|
||||
time: '03:00'
|
||||
timezone: America/Los_Angeles
|
||||
open-pull-requests-limit: 5
|
||||
reviewers:
|
||||
- adamchalmers
|
||||
- franknoirot
|
||||
- irev-dev
|
||||
- jessfraz
|
||||
groups:
|
||||
security:
|
||||
applies-to: security-updates
|
||||
update-types:
|
||||
- major
|
||||
- minor
|
||||
- patch
|
||||
patch:
|
||||
applies-to: version-updates
|
||||
update-types:
|
||||
- patch
|
||||
major:
|
||||
applies-to: version-updates
|
||||
update-types:
|
||||
- major
|
||||
minor:
|
||||
applies-to: version-updates
|
||||
update-types:
|
||||
- minor
|
||||
- patch
|
||||
- package-ecosystem: pip
|
||||
directory: /rust/kcl-python-bindings
|
||||
schedule:
|
||||
|
2
.github/workflows/build-and-store-wasm.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
||||
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
cache: false # Configured below.
|
||||
- uses: taiki-e/install-action@955a6ff1416eae278c9f833008a9beb4b7f9afe3
|
||||
- uses: taiki-e/install-action@37bdc826eaedac215f638a96472df572feab0f9b
|
||||
with:
|
||||
tool: wasm-pack
|
||||
- name: Rust Cache
|
||||
|
2
.github/workflows/build-apps.yml
vendored
@ -77,7 +77,7 @@ jobs:
|
||||
with:
|
||||
cache: false # Configured below.
|
||||
|
||||
- uses: taiki-e/install-action@955a6ff1416eae278c9f833008a9beb4b7f9afe3
|
||||
- uses: taiki-e/install-action@37bdc826eaedac215f638a96472df572feab0f9b
|
||||
if: ${{ steps.wasm.outputs.should-build-wasm == 'true' }}
|
||||
with:
|
||||
tool: wasm-pack
|
||||
|
9
.github/workflows/cargo-test.yml
vendored
@ -100,9 +100,14 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
cd rust
|
||||
pushd rust
|
||||
just overwrite-sim-test kcl_samples
|
||||
git add kcl-lib/tests
|
||||
popd
|
||||
git add \
|
||||
rust/kcl-lib/tests \
|
||||
public/kcl-samples/manifest.json \
|
||||
public/kcl-samples/README.md \
|
||||
public/kcl-samples/screenshots
|
||||
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --local user.name "github-actions[bot]"
|
||||
git remote set-url origin https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
|
||||
|
22
.github/workflows/e2e-tests.yml
vendored
@ -137,7 +137,7 @@ jobs:
|
||||
with:
|
||||
cache: false # Configured below.
|
||||
|
||||
- uses: taiki-e/install-action@955a6ff1416eae278c9f833008a9beb4b7f9afe3
|
||||
- uses: taiki-e/install-action@37bdc826eaedac215f638a96472df572feab0f9b
|
||||
if: ${{ needs.conditions.outputs.should-run == 'true' && steps.wasm.outputs.should-build-wasm == 'true' }}
|
||||
with:
|
||||
tool: wasm-pack
|
||||
@ -340,14 +340,22 @@ jobs:
|
||||
if: needs.conditions.outputs.should-run == 'true'
|
||||
run: yarn tronb:vite:dev
|
||||
|
||||
- name: Install good sed
|
||||
if: startsWith(matrix.os, 'macos')
|
||||
- name: Install vector
|
||||
if: contains(matrix.os, 'ubuntu')
|
||||
shell: bash
|
||||
run: |
|
||||
brew install gnu-sed
|
||||
echo "/opt/homebrew/opt/gnu-sed/libexec/gnubin" >> $GITHUB_PATH
|
||||
|
||||
# TODO: Add back axiom logs
|
||||
curl --proto '=https' --tlsv1.2 -sSfL https://sh.vector.dev > /tmp/vector.sh
|
||||
chmod +x /tmp/vector.sh
|
||||
/tmp/vector.sh -y -no-modify-path
|
||||
mkdir -p /tmp/vector
|
||||
cp .github/workflows/vector.toml /tmp/vector.toml
|
||||
sed -i "s#GITHUB_WORKFLOW#${GITHUB_WORKFLOW}#g" /tmp/vector.toml
|
||||
sed -i "s#GITHUB_REPOSITORY#${GITHUB_REPOSITORY}#g" /tmp/vector.toml
|
||||
sed -i "s#GITHUB_SHA#${GITHUB_SHA}#g" /tmp/vector.toml
|
||||
sed -i "s#GITHUB_REF_NAME#${GITHUB_REF_NAME}#g" /tmp/vector.toml
|
||||
sed -i "s#GH_ACTIONS_AXIOM_TOKEN#${{secrets.GH_ACTIONS_AXIOM_TOKEN}}#g" /tmp/vector.toml
|
||||
cat /tmp/vector.toml
|
||||
${HOME}/.vector/bin/vector --config /tmp/vector.toml &
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
if: ${{ needs.conditions.outputs.should-run == 'true' && !cancelled() && (success() || failure()) }}
|
||||
|
2
.github/workflows/kcl-language-server.yml
vendored
@ -376,7 +376,7 @@ jobs:
|
||||
with:
|
||||
credentials_json: "${{ secrets.GOOGLE_CLOUD_DL_SA }}"
|
||||
- name: Set up Cloud SDK
|
||||
uses: google-github-actions/setup-gcloud@v2.1.2
|
||||
uses: google-github-actions/setup-gcloud@v2.1.4
|
||||
with:
|
||||
project_id: kittycadapi
|
||||
- name: "upload files to gcp"
|
||||
|
8
.github/workflows/static-analysis.yml
vendored
@ -37,7 +37,7 @@ jobs:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'yarn'
|
||||
- run: yarn install
|
||||
- uses: taiki-e/install-action@955a6ff1416eae278c9f833008a9beb4b7f9afe3
|
||||
- uses: taiki-e/install-action@37bdc826eaedac215f638a96472df572feab0f9b
|
||||
with:
|
||||
tool: wasm-pack
|
||||
- run: yarn build:wasm
|
||||
@ -57,7 +57,7 @@ jobs:
|
||||
with:
|
||||
workspaces: './rust'
|
||||
|
||||
- uses: taiki-e/install-action@955a6ff1416eae278c9f833008a9beb4b7f9afe3
|
||||
- uses: taiki-e/install-action@37bdc826eaedac215f638a96472df572feab0f9b
|
||||
with:
|
||||
tool: wasm-pack
|
||||
- run: yarn build:wasm
|
||||
@ -100,7 +100,7 @@ jobs:
|
||||
cache: 'yarn'
|
||||
|
||||
- run: yarn install
|
||||
- uses: taiki-e/install-action@955a6ff1416eae278c9f833008a9beb4b7f9afe3
|
||||
- uses: taiki-e/install-action@37bdc826eaedac215f638a96472df572feab0f9b
|
||||
with:
|
||||
tool: wasm-pack
|
||||
- run: yarn build:wasm
|
||||
@ -129,7 +129,7 @@ jobs:
|
||||
cache: 'yarn'
|
||||
|
||||
- run: yarn install
|
||||
- uses: taiki-e/install-action@955a6ff1416eae278c9f833008a9beb4b7f9afe3
|
||||
- uses: taiki-e/install-action@37bdc826eaedac215f638a96472df572feab0f9b
|
||||
with:
|
||||
tool: wasm-pack
|
||||
- run: yarn build:wasm
|
||||
|
1
.gitignore
vendored
@ -50,6 +50,7 @@ e2e/playwright/**/*.png
|
||||
e2e/playwright/export-snapshots/*
|
||||
!e2e/playwright/export-snapshots/*.png
|
||||
!e2e/playwright/snapshot-tests.spec.ts-snapshots/*.png
|
||||
trace.zip
|
||||
|
||||
/public/kcl-samples.zip
|
||||
/public/kcl-samples/.github
|
||||
|
117
Makefile
@ -1,12 +1,110 @@
|
||||
.PHONY: dev
|
||||
.PHONY: all
|
||||
all: install build check
|
||||
|
||||
KCL_WASM_LIB_FILES := $(wildcard rust/**/*.rs)
|
||||
TS_SRC := $(wildcard src/**/*.tsx) $(wildcard src/**/*.ts)
|
||||
XSTATE_TYPEGENS := $(wildcard src/machines/*.typegen.ts)
|
||||
###############################################################################
|
||||
# INSTALL
|
||||
|
||||
dev: node_modules public/kcl_wasm_lib_bg.wasm $(XSTATE_TYPEGENS)
|
||||
WASM_PACK ?= ~/.cargo/bin/wasm-pack
|
||||
|
||||
.PHONY: install
|
||||
install: node_modules/.yarn-integrity $(WASM_PACK) ## Install dependencies
|
||||
|
||||
node_modules/.yarn-integrity: package.json yarn.lock
|
||||
yarn install
|
||||
@ touch $@
|
||||
|
||||
$(WASM_PACK):
|
||||
yarn install:rust
|
||||
yarn install:wasm-pack:sh
|
||||
|
||||
###############################################################################
|
||||
# BUILD
|
||||
|
||||
RUST_SOURCES := $(wildcard rust/*) $(wildcard rust/**/*)
|
||||
TYPESCRIPT_SOURCES := $(wildcard src/**/*.tsx) $(wildcard src/**/*.ts)
|
||||
|
||||
.PHONY: build
|
||||
build: build-web build-desktop
|
||||
|
||||
.PHONY: build-web
|
||||
build-web: public/kcl_wasm_lib_bg.wasm build/index.html
|
||||
|
||||
.PHONY: build-desktop
|
||||
build-desktop: public/kcl_wasm_lib_bg.wasm .vite/build/main.js
|
||||
|
||||
public/kcl_wasm_lib_bg.wasm: $(RUST_SOURCES)
|
||||
yarn build:wasm
|
||||
|
||||
build/index.html: $(TYPESCRIPT_SOURCES)
|
||||
yarn build:local
|
||||
|
||||
.vite/build/main.js: $(TYPESCRIPT_SOURCES)
|
||||
yarn tronb:vite:dev
|
||||
|
||||
###############################################################################
|
||||
# CHECK
|
||||
|
||||
.PHONY: check
|
||||
check: format lint
|
||||
|
||||
.PHONY: format
|
||||
format: install ## Format the code
|
||||
yarn fmt
|
||||
|
||||
.PHONY: lint
|
||||
lint: install ## Lint the code
|
||||
yarn lint
|
||||
|
||||
###############################################################################
|
||||
# RUN
|
||||
|
||||
.PHONY: run
|
||||
run: run-web
|
||||
|
||||
.PHONY: run-web
|
||||
run-web: install build-web ## Start the web app
|
||||
yarn start
|
||||
|
||||
.PHONY: run-desktop
|
||||
run-desktop: install build-desktop ## Start the desktop app
|
||||
yarn tron:start
|
||||
|
||||
###############################################################################
|
||||
# TEST
|
||||
|
||||
GREP ?= ""
|
||||
|
||||
.PHONY: test
|
||||
test: test-unit test-e2e
|
||||
|
||||
.PHONY: test-unit
|
||||
test-unit: install ## Run the unit tests
|
||||
@ nc -z localhost 3000 || ( echo "Error: localhost:3000 not available, 'make run-web' first" && exit 1 )
|
||||
yarn test:unit
|
||||
|
||||
.PHONY: test-e2e
|
||||
test-e2e: install build-desktop ## Run the e2e tests
|
||||
yarn test:playwright:electron --workers=1 --grep=$(GREP)
|
||||
|
||||
###############################################################################
|
||||
# CLEAN
|
||||
|
||||
.PHONY: clean
|
||||
clean: ## Delete all artifacts
|
||||
rm -rf .vite/ build/
|
||||
rm -rf trace.zip playwright-report/ test-results/
|
||||
rm -rf public/kcl_wasm_lib_bg.wasm
|
||||
rm -rf rust/*/bindings/ rust/*/pkg/ rust/target/
|
||||
rm -rf node_modules/ rust/*/node_modules/
|
||||
|
||||
.PHONY: help
|
||||
help: install
|
||||
@ grep -E '^[^[:space:]]+:.*## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
||||
|
||||
.DEFAULT_GOAL := help
|
||||
|
||||
###############################################################################
|
||||
|
||||
# I'm sorry this is so specific to my setup you may as well ignore this.
|
||||
# This is so you don't have to deal with electron windows popping up constantly.
|
||||
# It should work for you other Linux users.
|
||||
@ -14,12 +112,3 @@ lee-electron-test:
|
||||
Xephyr -br -ac -noreset -screen 1200x500 :2 &
|
||||
DISPLAY=:2 NODE_ENV=development PW_TEST_CONNECT_WS_ENDPOINT=ws://127.0.0.1:4444/ yarn tron:test -g "when using the file tree"
|
||||
killall Xephyr
|
||||
|
||||
$(XSTATE_TYPEGENS): $(TS_SRC)
|
||||
yarn xstate typegen 'src/**/*.ts?(x)'
|
||||
|
||||
public/kcl_wasm_lib_bg.wasm: $(KCL_WASM_LIB_FILES)
|
||||
yarn build:wasm
|
||||
|
||||
node_modules: package.json yarn.lock
|
||||
yarn install
|
||||
|
@ -184,7 +184,6 @@ example = extrude(exampleSketch, length = 1)
|
||||
```js
|
||||
// Color the result of a sweep.
|
||||
|
||||
|
||||
// Create a path for the sweep.
|
||||
sweepPath = startSketchOn('XZ')
|
||||
|> startProfileAt([0.05, 0.05], %)
|
||||
|
@ -22,8 +22,12 @@ layout: manual
|
||||
* [`string`](kcl/types/string)
|
||||
* [`tag`](kcl/types/tag)
|
||||
* **std**
|
||||
* [`Face`](kcl/types/Face)
|
||||
* [`HALF_TURN`](kcl/consts/std-HALF_TURN)
|
||||
* [`Helix`](kcl/types/Helix)
|
||||
* [`Plane`](kcl/types/Plane)
|
||||
* [`Point2d`](kcl/types/Point2d)
|
||||
* [`Point3d`](kcl/types/Point3d)
|
||||
* [`QUARTER_TURN`](kcl/consts/std-QUARTER_TURN)
|
||||
* [`Sketch`](kcl/types/Sketch)
|
||||
* [`Solid`](kcl/types/Solid)
|
||||
|
50
docs/kcl/intersect.md
Normal file
@ -52,7 +52,6 @@ fn sum(arr):
|
||||
sumSoFar = add(sumSoFar, i)
|
||||
return sumSoFar */
|
||||
|
||||
|
||||
// We use `assertEqual` to check that our `sum` function gives the
|
||||
// expected result. It's good to check your work!
|
||||
assertEqual(sum([1, 2, 3]), 6, 0.00001, "1 + 2 + 3 summed is 6")
|
||||
@ -114,7 +113,6 @@ fn decagon(radius):
|
||||
fullDecagon = partialDecagon // it's now full
|
||||
return fullDecagon */
|
||||
|
||||
|
||||
// Use the `decagon` function declared above, to sketch a decagon with radius 5.
|
||||
decagon(5.0)
|
||||
|> close()
|
||||
|
@ -57,7 +57,6 @@ rotate(
|
||||
```js
|
||||
// Rotate a pipe with roll, pitch, and yaw.
|
||||
|
||||
|
||||
// Create a path for the sweep.
|
||||
sweepPath = startSketchOn('XZ')
|
||||
|> startProfileAt([0.05, 0.05], %)
|
||||
@ -83,7 +82,6 @@ sweepSketch = startSketchOn('XY')
|
||||
```js
|
||||
// Rotate a pipe about an axis with an angle.
|
||||
|
||||
|
||||
// Create a path for the sweep.
|
||||
sweepPath = startSketchOn('XZ')
|
||||
|> startProfileAt([0.05, 0.05], %)
|
||||
|
@ -37,7 +37,6 @@ scale(
|
||||
```js
|
||||
// Scale a pipe.
|
||||
|
||||
|
||||
// Create a path for the sweep.
|
||||
sweepPath = startSketchOn('XZ')
|
||||
|> startProfileAt([0.05, 0.05], %)
|
||||
|
11250
docs/kcl/std.json
56
docs/kcl/subtract.md
Normal file
@ -43,7 +43,6 @@ sweep(
|
||||
```js
|
||||
// Create a pipe using a sweep.
|
||||
|
||||
|
||||
// Create a path for the sweep.
|
||||
sweepPath = startSketchOn('XZ')
|
||||
|> startProfileAt([0.05, 0.05], %)
|
||||
@ -68,7 +67,6 @@ sweepSketch = startSketchOn('XY')
|
||||
```js
|
||||
// Create a spring by sweeping around a helix path.
|
||||
|
||||
|
||||
// Create a helix around the Z axis.
|
||||
helixPath = helix(
|
||||
angleStart = 0,
|
||||
|
@ -35,7 +35,6 @@ translate(
|
||||
```js
|
||||
// Move a pipe.
|
||||
|
||||
|
||||
// Create a path for the sweep.
|
||||
sweepPath = startSketchOn('XZ')
|
||||
|> startProfileAt([0.05, 0.05], %)
|
||||
|
@ -1,28 +1,12 @@
|
||||
---
|
||||
title: "Face"
|
||||
title: "std::Face"
|
||||
excerpt: "A face."
|
||||
layout: manual
|
||||
---
|
||||
|
||||
A face.
|
||||
|
||||
**Type:** `object`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Properties
|
||||
|
||||
| Property | Type | Description | Required |
|
||||
|----------|------|-------------|----------|
|
||||
| `id` |[`string`](/docs/kcl/types/string)| The id of the face. | No |
|
||||
| `artifactId` |[`ArtifactId`](/docs/kcl/types/ArtifactId)| The artifact ID. | No |
|
||||
| `value` |[`string`](/docs/kcl/types/string)| The tag of the face. | No |
|
||||
| `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the face's X axis be? | No |
|
||||
| `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the face's Y axis be? | No |
|
||||
| `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No |
|
||||
| `solid` |[`Solid`](/docs/kcl/types/Solid)| The solid the face is on. | No |
|
||||
| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| A unit of length. | No |
|
||||
|
||||
|
||||
|
@ -1,26 +1,12 @@
|
||||
---
|
||||
title: "Helix"
|
||||
title: "std::Helix"
|
||||
excerpt: "A helix."
|
||||
layout: manual
|
||||
---
|
||||
|
||||
A helix.
|
||||
|
||||
**Type:** `object`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Properties
|
||||
|
||||
| Property | Type | Description | Required |
|
||||
|----------|------|-------------|----------|
|
||||
| `value` |[`string`](/docs/kcl/types/string)| The id of the helix. | No |
|
||||
| `artifactId` |[`ArtifactId`](/docs/kcl/types/ArtifactId)| The artifact ID. | No |
|
||||
| `revolutions` |[`number`](/docs/kcl/types/number)| Number of revolutions. | No |
|
||||
| `angleStart` |[`number`](/docs/kcl/types/number)| Start angle (in degrees). | No |
|
||||
| `ccw` |`boolean`| Is the helix rotation counter clockwise? | No |
|
||||
| `units` |[`UnitLen`](/docs/kcl/types/UnitLen)| A unit of length. | No |
|
||||
|
||||
|
||||
|
@ -188,7 +188,7 @@ Any KCL value.
|
||||
| Property | Type | Description | Required |
|
||||
|----------|------|-------------|----------|
|
||||
| `type` |enum: [`Face`](/docs/kcl/types/Face)| | No |
|
||||
| `value` |[`Face`](/docs/kcl/types/Face)| A face. | No |
|
||||
| `value` |[`Face`](/docs/kcl/types/Face)| | No |
|
||||
|
||||
|
||||
----
|
||||
@ -236,7 +236,7 @@ Any KCL value.
|
||||
| Property | Type | Description | Required |
|
||||
|----------|------|-------------|----------|
|
||||
| `type` |enum: [`Helix`](/docs/kcl/types/Helix)| | No |
|
||||
| `value` |[`Helix`](/docs/kcl/types/Helix)| A helix. | No |
|
||||
| `value` |[`Helix`](/docs/kcl/types/Helix)| | No |
|
||||
|
||||
|
||||
----
|
||||
|
17
docs/kcl/types/Point2d.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "std::Point2d"
|
||||
excerpt: "A point in two dimensional space."
|
||||
layout: manual
|
||||
---
|
||||
|
||||
A point in two dimensional space.
|
||||
|
||||
```kcl
|
||||
type Point2d = [number; 2]
|
||||
```
|
||||
|
||||
`Point2d` is an alias for a two-element array of [number](/docs/kcl/types/number)s. To write a value
|
||||
with type `Point2d`, use an array, e.g., `[0, 0]` or `[5.0, 3.14]`.
|
||||
|
||||
|
||||
|
@ -1,22 +1,17 @@
|
||||
---
|
||||
title: "Point3d"
|
||||
excerpt: ""
|
||||
title: "std::Point3d"
|
||||
excerpt: "A point in three dimensional space."
|
||||
layout: manual
|
||||
---
|
||||
|
||||
A point in three dimensional space.
|
||||
|
||||
**Type:** `object`
|
||||
```kcl
|
||||
type Point3d = [number; 3]
|
||||
```
|
||||
|
||||
`Point3d` is an alias for a three-element array of [number](/docs/kcl/types/number)s. To write a value
|
||||
with type `Point3d`, use an array, e.g., `[0, 0, 0]` or `[5.0, 3.14, 6.8]`.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Properties
|
||||
|
||||
| Property | Type | Description | Required |
|
||||
|----------|------|-------------|----------|
|
||||
| `x` |[`number`](/docs/kcl/types/number)| | No |
|
||||
| `y` |[`number`](/docs/kcl/types/number)| | No |
|
||||
| `z` |[`number`](/docs/kcl/types/number)| | No |
|
||||
|
||||
|
||||
|
@ -22,7 +22,6 @@ A path to sweep along.
|
||||
|
||||
|
||||
----
|
||||
A helix.
|
||||
|
||||
[`Helix`](/docs/kcl/types/Helix)
|
||||
|
||||
|
50
docs/kcl/union.md
Normal file
@ -153,7 +153,8 @@ async function doBasicSketch(
|
||||
}
|
||||
|
||||
test.describe('Basic sketch', { tag: ['@skipWin'] }, () => {
|
||||
test.fixme('code pane open at start', async ({ page, homePage }) => {
|
||||
test('code pane open at start', async ({ page, homePage }) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
await doBasicSketch(page, homePage, ['code'])
|
||||
})
|
||||
|
||||
|
@ -46,11 +46,12 @@ test.describe('Code pane and errors', { tag: ['@skipWin'] }, () => {
|
||||
await expect(codePaneButtonHolder).toContainText('notification')
|
||||
})
|
||||
|
||||
test.skip('Opening and closing the code pane will consistently show error diagnostics', async ({
|
||||
test('Opening and closing the code pane will consistently show error diagnostics', async ({
|
||||
page,
|
||||
homePage,
|
||||
editor,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const u = await getUtils(page)
|
||||
|
||||
// Load the app with the working starter code
|
||||
@ -119,9 +120,12 @@ test.describe('Code pane and errors', { tag: ['@skipWin'] }, () => {
|
||||
await expect(page.locator('.cm-tooltip').first()).toBeVisible()
|
||||
})
|
||||
|
||||
test.fixme(
|
||||
'When error is not in view you can click the badge to scroll to it',
|
||||
async ({ page, homePage, context }) => {
|
||||
test('When error is not in view you can click the badge to scroll to it', async ({
|
||||
page,
|
||||
homePage,
|
||||
context,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
// Load the app with the working starter code
|
||||
await context.addInitScript((code) => {
|
||||
localStorage.setItem('persistCode', code)
|
||||
@ -156,8 +160,7 @@ test.describe('Code pane and errors', { tag: ['@skipWin'] }, () => {
|
||||
)
|
||||
.first()
|
||||
).toBeVisible()
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
test('When error is not in view WITH LINTS you can click the badge to scroll to it', async ({
|
||||
context,
|
||||
|
@ -47,7 +47,8 @@ test.describe('Command bar tests', { tag: ['@skipWin'] }, () => {
|
||||
})
|
||||
|
||||
// TODO: fix this test after the electron migration
|
||||
test.fixme('Fillet from command bar', async ({ page, homePage }) => {
|
||||
test('Fillet from command bar', async ({ page, homePage }) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
await page.addInitScript(async () => {
|
||||
localStorage.setItem(
|
||||
'persistCode',
|
||||
@ -488,7 +489,7 @@ test.describe('Command bar tests', { tag: ['@skipWin'] }, () => {
|
||||
})
|
||||
})
|
||||
|
||||
test(`Can add a named parameter or constant`, async ({
|
||||
test(`Can add and edit a named parameter or constant`, async ({
|
||||
page,
|
||||
homePage,
|
||||
context,
|
||||
@ -510,7 +511,7 @@ c = 3 + a`
|
||||
// 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 test.step(`Create a parameter via command bar`, async () => {
|
||||
await cmdBar.cmdBarOpenBtn.click()
|
||||
await cmdBar.chooseCommand('create parameter')
|
||||
await cmdBar.expectState({
|
||||
@ -535,5 +536,57 @@ c = 3 + a`
|
||||
await editor.expectEditor.toContain(
|
||||
`a = 5b = a * amyParameter001 = b - 5c = 3 + a`
|
||||
)
|
||||
|
||||
const newValue = `2 * b + a`
|
||||
await test.step(`Edit the parameter via command bar`, async () => {
|
||||
await cmdBar.cmdBarOpenBtn.click()
|
||||
await cmdBar.chooseCommand('edit parameter')
|
||||
await cmdBar.expectState({
|
||||
stage: 'arguments',
|
||||
commandName: 'Edit parameter',
|
||||
currentArgKey: 'Name',
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Name: '',
|
||||
Value: '',
|
||||
},
|
||||
highlightedHeaderArg: 'Name',
|
||||
})
|
||||
await cmdBar
|
||||
.selectOption({
|
||||
name: 'myParameter001',
|
||||
})
|
||||
.click()
|
||||
await cmdBar.expectState({
|
||||
stage: 'arguments',
|
||||
commandName: 'Edit parameter',
|
||||
currentArgKey: 'value',
|
||||
currentArgValue: 'b - 5',
|
||||
headerArguments: {
|
||||
Name: 'myParameter001',
|
||||
Value: '',
|
||||
},
|
||||
highlightedHeaderArg: 'value',
|
||||
})
|
||||
await cmdBar.argumentInput.locator('[contenteditable]').fill(newValue)
|
||||
await cmdBar.progressCmdBar()
|
||||
await cmdBar.expectState({
|
||||
stage: 'review',
|
||||
commandName: 'Edit parameter',
|
||||
headerArguments: {
|
||||
Name: 'myParameter001',
|
||||
// KCL inputs show the *computed* value, not the input value, in the command palette header
|
||||
Value: '55',
|
||||
},
|
||||
})
|
||||
await cmdBar.progressCmdBar()
|
||||
await cmdBar.expectState({
|
||||
stage: 'commandBarClosed',
|
||||
})
|
||||
})
|
||||
|
||||
await editor.expectEditor.toContain(
|
||||
`a = 5b = a * amyParameter001 = ${newValue}c = 3 + a`
|
||||
)
|
||||
})
|
||||
})
|
||||
|
@ -635,9 +635,11 @@ test.describe('Editor tests', { tag: ['@skipWin'] }, () => {
|
||||
await expect(page.locator('.cm-lint-marker-error')).not.toBeVisible()
|
||||
})
|
||||
|
||||
test.fixme(
|
||||
'error with 2 source ranges gets 2 diagnostics',
|
||||
async ({ page, homePage }) => {
|
||||
test('error with 2 source ranges gets 2 diagnostics', async ({
|
||||
page,
|
||||
homePage,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const u = await getUtils(page)
|
||||
await page.addInitScript(async () => {
|
||||
localStorage.setItem(
|
||||
@ -702,8 +704,7 @@ test.describe('Editor tests', { tag: ['@skipWin'] }, () => {
|
||||
|
||||
// Make sure there are two diagnostics
|
||||
await expect(page.locator('.cm-lint-marker-error')).toHaveCount(2)
|
||||
}
|
||||
)
|
||||
})
|
||||
test('if your kcl gets an error from the engine it is inlined', async ({
|
||||
context,
|
||||
page,
|
||||
@ -1121,10 +1122,11 @@ test.describe('Editor tests', { tag: ['@skipWin'] }, () => {
|
||||
}
|
||||
)
|
||||
|
||||
test.fixme(
|
||||
test(
|
||||
`Can use the import stdlib function on a local OBJ file`,
|
||||
{ tag: '@electron' },
|
||||
async ({ page, context }, testInfo) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
await context.folderSetupFn(async (dir) => {
|
||||
const bracketDir = join(dir, 'cube')
|
||||
await fsp.mkdir(bracketDir, { recursive: true })
|
||||
|
@ -266,12 +266,13 @@ test.describe('when using the file tree to', () => {
|
||||
}
|
||||
)
|
||||
|
||||
test.fixme(
|
||||
test(
|
||||
'loading small file, then large, then back to small',
|
||||
{
|
||||
tag: '@electron',
|
||||
},
|
||||
async ({ page }, testInfo) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const {
|
||||
panesOpen,
|
||||
pasteCodeInEditor,
|
||||
|
@ -1,4 +1,4 @@
|
||||
import type { Page, Locator } from '@playwright/test'
|
||||
import { type Page, type Locator, test } from '@playwright/test'
|
||||
import { expect } from '../zoo-test'
|
||||
import {
|
||||
checkIfPaneIsOpen,
|
||||
@ -76,10 +76,6 @@ export class ToolbarFixture {
|
||||
this.gizmoDisabled = page.getByTestId('gizmo-disabled')
|
||||
}
|
||||
|
||||
get editSketchBtn() {
|
||||
return this.page.locator('[name="Edit Sketch"]')
|
||||
}
|
||||
|
||||
get logoLink() {
|
||||
return this.page.getByTestId('app-logo')
|
||||
}
|
||||
@ -115,11 +111,20 @@ export class ToolbarFixture {
|
||||
).not.toBeDisabled()
|
||||
}
|
||||
|
||||
editSketch = async () => {
|
||||
await this.editSketchBtn.first().click()
|
||||
editSketch = async (operationIndex = 0) => {
|
||||
await test.step(`Editing sketch`, async () => {
|
||||
await this.openFeatureTreePane()
|
||||
const operation = await this.getFeatureTreeOperation(
|
||||
'Sketch',
|
||||
operationIndex
|
||||
)
|
||||
await operation.dblclick()
|
||||
// One of the rare times we want to allow a arbitrary wait
|
||||
// this is for the engine animation, as it takes 500ms to complete
|
||||
await this.page.waitForTimeout(600)
|
||||
await expect(this.exitSketchBtn).toBeEnabled()
|
||||
await this.closeFeatureTreePane()
|
||||
})
|
||||
}
|
||||
private _getMode = () =>
|
||||
this.page.locator('[data-current-mode]').getAttribute('data-current-mode')
|
||||
|
@ -319,9 +319,13 @@ test.describe('Onboarding tests', () => {
|
||||
// (lee) The two avatar tests are weird because even on main, we don't have
|
||||
// anything to do with the avatar inside the onboarding test. Due to the
|
||||
// low impact of an avatar not showing I'm changing this to fixme.
|
||||
test.fixme(
|
||||
'Avatar text updates depending on image load success',
|
||||
async ({ context, page, homePage, tronApp }) => {
|
||||
test('Avatar text updates depending on image load success', async ({
|
||||
context,
|
||||
page,
|
||||
homePage,
|
||||
tronApp,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
if (!tronApp) {
|
||||
fail()
|
||||
}
|
||||
@ -349,9 +353,7 @@ test.describe('Onboarding tests', () => {
|
||||
await homePage.goToModelingScene()
|
||||
|
||||
// Test that the text in this step is correct
|
||||
const avatarLocator = page
|
||||
.getByTestId('user-sidebar-toggle')
|
||||
.locator('img')
|
||||
const avatarLocator = page.getByTestId('user-sidebar-toggle').locator('img')
|
||||
const onboardingOverlayLocator = page
|
||||
.getByTestId('onboarding-content')
|
||||
.locator('div')
|
||||
@ -374,16 +376,13 @@ test.describe('Onboarding tests', () => {
|
||||
})
|
||||
|
||||
// 404 the CI avatar image
|
||||
await page.route(
|
||||
'https://lh3.googleusercontent.com/**',
|
||||
async (route) => {
|
||||
await page.route('https://lh3.googleusercontent.com/**', async (route) => {
|
||||
await route.fulfill({
|
||||
status: 404,
|
||||
contentType: 'text/plain',
|
||||
body: 'Not Found!',
|
||||
})
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
await page.reload({ waitUntil: 'domcontentloaded' })
|
||||
|
||||
@ -391,12 +390,15 @@ test.describe('Onboarding tests', () => {
|
||||
await expect(avatarLocator).not.toBeVisible()
|
||||
await expect(onboardingOverlayLocator).toBeVisible()
|
||||
await expect(onboardingOverlayLocator).toContainText('the menu button')
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
test.fixme(
|
||||
"Avatar text doesn't mention avatar when no avatar",
|
||||
async ({ context, page, homePage, tronApp }) => {
|
||||
test("Avatar text doesn't mention avatar when no avatar", async ({
|
||||
context,
|
||||
page,
|
||||
homePage,
|
||||
tronApp,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
if (!tronApp) {
|
||||
fail()
|
||||
}
|
||||
@ -447,13 +449,15 @@ test.describe('Onboarding tests', () => {
|
||||
for (const feature of userMenuFeatures) {
|
||||
await expect(onboardingOverlayLocator).toContainText(feature)
|
||||
}
|
||||
}
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
test.fixme(
|
||||
'Restarting onboarding on desktop takes one attempt',
|
||||
async ({ context, page, tronApp }) => {
|
||||
test('Restarting onboarding on desktop takes one attempt', async ({
|
||||
context,
|
||||
page,
|
||||
tronApp,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
if (!tronApp) {
|
||||
fail()
|
||||
}
|
||||
@ -551,5 +555,4 @@ test.fixme(
|
||||
await expect(tutorialProjectIndicator).toBeVisible()
|
||||
await expect(tutorialModalText).toBeVisible()
|
||||
})
|
||||
}
|
||||
)
|
||||
})
|
||||
|
@ -850,9 +850,13 @@ openSketch = startSketchOn('XY')
|
||||
})
|
||||
})
|
||||
|
||||
test.fixme(
|
||||
`Shift-click to select and deselect sketch segments`,
|
||||
async ({ page, homePage, scene, editor }) => {
|
||||
test(`Shift-click to select and deselect sketch segments`, async ({
|
||||
page,
|
||||
homePage,
|
||||
scene,
|
||||
editor,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
// Locators
|
||||
const firstPointLocation = { x: 200, y: 100 }
|
||||
const secondPointLocation = { x: 800, y: 100 }
|
||||
@ -999,8 +1003,7 @@ openSketch = startSketchOn('XY')
|
||||
)
|
||||
})
|
||||
})
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
test(`Offset plane point-and-click`, async ({
|
||||
context,
|
||||
|
@ -1244,10 +1244,11 @@ test(
|
||||
}
|
||||
)
|
||||
|
||||
test.fixme(
|
||||
test(
|
||||
'Deleting projects, can delete individual project, can still create projects after deleting all',
|
||||
{ tag: '@electron' },
|
||||
async ({ context, page }, testInfo) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const projectData = [
|
||||
['router-template-slate', 'cylinder.kcl'],
|
||||
['bracket', 'focusrite_scarlett_mounting_braket.kcl'],
|
||||
@ -1466,10 +1467,11 @@ test(
|
||||
}
|
||||
)
|
||||
|
||||
test.fixme(
|
||||
test(
|
||||
'When the project folder is empty, user can create new project and open it.',
|
||||
{ tag: '@electron' },
|
||||
async ({ page }, testInfo) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const u = await getUtils(page)
|
||||
await page.setBodyDimensions({ width: 1200, height: 500 })
|
||||
|
||||
@ -2050,10 +2052,11 @@ test(
|
||||
)
|
||||
|
||||
// Flaky
|
||||
test.fixme(
|
||||
test(
|
||||
'Original project name persist after onboarding',
|
||||
{ tag: '@electron' },
|
||||
async ({ page }, testInfo) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
await page.setBodyDimensions({ width: 1200, height: 500 })
|
||||
|
||||
const getAllProjects = () => page.getByTestId('project-link').all()
|
||||
|
@ -196,9 +196,15 @@ test.describe('Prompt-to-edit tests', { tag: '@skipWin' }, () => {
|
||||
})
|
||||
})
|
||||
|
||||
test.fixme(
|
||||
`manual code selection rename`,
|
||||
async ({ context, homePage, cmdBar, editor, page, scene }) => {
|
||||
test(`manual code selection rename`, async ({
|
||||
context,
|
||||
homePage,
|
||||
cmdBar,
|
||||
editor,
|
||||
page,
|
||||
scene,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const body1CapCoords = { x: 571, y: 311 }
|
||||
|
||||
await context.addInitScript((file) => {
|
||||
@ -248,8 +254,7 @@ test.describe('Prompt-to-edit tests', { tag: '@skipWin' }, () => {
|
||||
await acceptBtn.click()
|
||||
await expect(successToast).not.toBeVisible()
|
||||
})
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
test('multiple body selections', async ({
|
||||
context,
|
||||
|
@ -483,10 +483,11 @@ extrude001 = extrude(sketch001, length = 50)
|
||||
}
|
||||
)
|
||||
|
||||
test.fixme(
|
||||
test(
|
||||
`Network health indicator only appears in modeling view`,
|
||||
{ tag: '@electron' },
|
||||
async ({ context, page }, testInfo) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
await context.folderSetupFn(async (dir) => {
|
||||
const bracketDir = path.join(dir, 'bracket')
|
||||
await fsp.mkdir(bracketDir, { recursive: true })
|
||||
|
@ -12,6 +12,7 @@ import {
|
||||
} from './test-utils'
|
||||
import { uuidv4, roundOff } from 'lib/utils'
|
||||
import { SceneFixture } from './fixtures/sceneFixture'
|
||||
import { ToolbarFixture } from './fixtures/toolbarFixture'
|
||||
import { CmdBarFixture } from './fixtures/cmdBarFixture'
|
||||
|
||||
test.describe('Sketch tests', { tag: ['@skipWin'] }, () => {
|
||||
@ -187,12 +188,14 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
||||
page.getByRole('button', { name: 'Start Sketch' })
|
||||
).toBeVisible()
|
||||
})
|
||||
test.fixme('Can edit segments by dragging their handles', () => {
|
||||
test('Can edit segments by dragging their handles', () => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const doEditSegmentsByDraggingHandle = async (
|
||||
page: Page,
|
||||
homePage: HomePageFixture,
|
||||
openPanes: string[],
|
||||
scene: SceneFixture,
|
||||
toolbar: ToolbarFixture,
|
||||
cmdBar: CmdBarFixture
|
||||
) => {
|
||||
// Load the app with the code panes
|
||||
@ -282,11 +285,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
||||
// Select the sketch
|
||||
await page.mouse.click(700, 370)
|
||||
}
|
||||
await expect(
|
||||
page.getByRole('button', { name: 'Edit Sketch' })
|
||||
).toBeVisible()
|
||||
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
||||
await page.waitForTimeout(400)
|
||||
await toolbar.editSketch()
|
||||
if (openPanes.includes('code')) {
|
||||
prevContent = await page.locator('.cm-content').innerText()
|
||||
}
|
||||
@ -417,7 +416,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
||||
test(
|
||||
'code pane open at start-handles',
|
||||
{ tag: ['@skipWin'] },
|
||||
async ({ page, homePage, scene, cmdBar }) => {
|
||||
async ({ page, homePage, scene, toolbar, cmdBar }) => {
|
||||
// Load the app with the code panes
|
||||
await page.addInitScript(async () => {
|
||||
localStorage.setItem(
|
||||
@ -435,6 +434,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
||||
homePage,
|
||||
['code'],
|
||||
scene,
|
||||
toolbar,
|
||||
cmdBar
|
||||
)
|
||||
}
|
||||
@ -443,7 +443,7 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
||||
test(
|
||||
'code pane closed at start-handles',
|
||||
{ tag: ['@skipWin'] },
|
||||
async ({ page, homePage, scene, cmdBar }) => {
|
||||
async ({ page, homePage, scene, toolbar, cmdBar }) => {
|
||||
// Load the app with the code panes
|
||||
await page.addInitScript(async (persistModelingContext) => {
|
||||
localStorage.setItem(
|
||||
@ -451,7 +451,14 @@ sketch001 = startProfileAt([12.34, -12.34], sketch002)
|
||||
JSON.stringify({ openPanes: [] })
|
||||
)
|
||||
}, PERSIST_MODELING_CONTEXT)
|
||||
await doEditSegmentsByDraggingHandle(page, homePage, [], scene, cmdBar)
|
||||
await doEditSegmentsByDraggingHandle(
|
||||
page,
|
||||
homePage,
|
||||
[],
|
||||
scene,
|
||||
toolbar,
|
||||
cmdBar
|
||||
)
|
||||
}
|
||||
)
|
||||
})
|
||||
@ -1080,9 +1087,11 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff(
|
||||
)
|
||||
})
|
||||
// TODO: fix after electron migration is merged
|
||||
test.fixme(
|
||||
'empty-scene default-planes act as expected',
|
||||
async ({ page, homePage }) => {
|
||||
test('empty-scene default-planes act as expected', async ({
|
||||
page,
|
||||
homePage,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
/**
|
||||
* Tests the following things
|
||||
* 1) The the planes are there on load because the scene is empty
|
||||
@ -1179,8 +1188,7 @@ profile001 = startProfileAt([${roundOff(scale * 69.6)}, ${roundOff(
|
||||
expect(
|
||||
await u.getGreatestPixDiff(XYPlanePoint, noPlanesColor)
|
||||
).toBeLessThan(3)
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
test('Can attempt to sketch on revolved face', async ({ page, homePage }) => {
|
||||
const u = await getUtils(page)
|
||||
@ -1454,10 +1462,11 @@ test.describe(`Sketching with offset planes`, () => {
|
||||
})
|
||||
|
||||
test.describe('multi-profile sketching', () => {
|
||||
test.fixme(
|
||||
test(
|
||||
`test it removes half-finished expressions when changing tools in sketch mode`,
|
||||
{ tag: ['@skipWin'] },
|
||||
async ({ context, page, scene, toolbar, editor, homePage, cmdBar }) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
// We seed the scene with a single offset plane
|
||||
await context.addInitScript(() => {
|
||||
localStorage.setItem(
|
||||
@ -2545,7 +2554,7 @@ profile002 = startProfileAt([85.81, 52.55], sketch002)
|
||||
const [startProfileAt] = scene.makeMouseHelpers(606, 184)
|
||||
const [nextPoint] = scene.makeMouseHelpers(763, 130)
|
||||
await page.getByText('startProfileAt([85.81, 52.55], sketch002)').click()
|
||||
await toolbar.editSketch()
|
||||
await toolbar.editSketch(1)
|
||||
// timeout wait for engine animation is unavoidable
|
||||
await page.waitForTimeout(600)
|
||||
|
||||
@ -2765,7 +2774,7 @@ extrude003 = extrude(profile011, length = 2.5)
|
||||
await test.step(title, async () => {
|
||||
await camPositionForSelectingSketchOnWallProfiles()
|
||||
await selectClick()
|
||||
await toolbar.editSketch()
|
||||
await toolbar.editSketch(1)
|
||||
await page.waitForTimeout(600)
|
||||
await verifyWallProfilesAreDrawn()
|
||||
await toolbar.exitSketchBtn.click()
|
||||
@ -2846,9 +2855,14 @@ loft([profile001, profile002])
|
||||
)
|
||||
}
|
||||
)
|
||||
test.fixme(
|
||||
'Can enter sketch loft edges offsetPlane and continue sketch',
|
||||
async ({ scene, toolbar, editor, page, homePage }) => {
|
||||
test('Can enter sketch loft edges offsetPlane and continue sketch', async ({
|
||||
scene,
|
||||
toolbar,
|
||||
editor,
|
||||
page,
|
||||
homePage,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
await page.addInitScript(async () => {
|
||||
localStorage.setItem(
|
||||
'persistCode',
|
||||
@ -2911,8 +2925,7 @@ loft([profile001, profile002])
|
||||
`angledLine([0, 106.42], %, $rectangleSegmentA001)`
|
||||
)
|
||||
await page.waitForTimeout(100)
|
||||
}
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
// Regression test for https://github.com/KittyCAD/modeling-app/issues/4891
|
||||
|
@ -36,10 +36,11 @@ test.setTimeout(60_000)
|
||||
// a snapshot of it feels weird. I'd rather our regular tests fail.
|
||||
// The primary failure is doExport now relies on the filesystem. We can follow
|
||||
// up with another PR if we want this back.
|
||||
test.skip(
|
||||
test(
|
||||
'exports of each format should work',
|
||||
{ tag: ['@snapshot', '@skipWin', '@skipMacos'] },
|
||||
async ({ page, context, scene, cmdBar, tronApp }) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
if (!tronApp) {
|
||||
fail()
|
||||
}
|
||||
@ -406,9 +407,6 @@ test(
|
||||
'Draft segments should look right',
|
||||
{ tag: '@snapshot' },
|
||||
async ({ page, scene, toolbar }) => {
|
||||
// FIXME: Skip on macos its being weird.
|
||||
// test.skip(process.platform === 'darwin', 'Skip on macos')
|
||||
|
||||
const u = await getUtils(page)
|
||||
await page.setViewportSize({ width: 1200, height: 500 })
|
||||
const PUR = 400 / 37.5 //pixeltoUnitRatio
|
||||
@ -585,9 +583,6 @@ test(
|
||||
'Draft circle should look right',
|
||||
{ tag: '@snapshot' },
|
||||
async ({ page, context, cmdBar, scene }) => {
|
||||
// FIXME: Skip on macos its being weird.
|
||||
// test.skip(process.platform === 'darwin', 'Skip on macos')
|
||||
|
||||
const u = await getUtils(page)
|
||||
await page.setViewportSize({ width: 1200, height: 500 })
|
||||
const PUR = 400 / 37.5 //pixeltoUnitRatio
|
||||
@ -952,9 +947,6 @@ test(
|
||||
)
|
||||
|
||||
test.describe('Grid visibility', { tag: '@snapshot' }, () => {
|
||||
// FIXME: Skip on macos its being weird.
|
||||
// test.skip(process.platform === 'darwin', 'Skip on macos')
|
||||
|
||||
test('Grid turned off to on via command bar', async ({
|
||||
page,
|
||||
cmdBar,
|
||||
@ -1097,7 +1089,8 @@ test.describe('Grid visibility', { tag: '@snapshot' }, () => {
|
||||
})
|
||||
})
|
||||
|
||||
test.fixme('theme persists', async ({ page, context }) => {
|
||||
test('theme persists', async ({ page, context }) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const u = await getUtils(page)
|
||||
await context.addInitScript(async () => {
|
||||
localStorage.setItem(
|
||||
|
@ -29,5 +29,5 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
"kcl_version": "0.2.51"
|
||||
"kcl_version": "0.2.52"
|
||||
}
|
@ -3,11 +3,12 @@ import { commonPoints, getUtils } from './test-utils'
|
||||
import { EngineCommand } from 'lang/std/artifactGraph'
|
||||
import { uuidv4 } from 'lib/utils'
|
||||
|
||||
test.fixme('Test network and connection issues', () => {
|
||||
test.describe('Test network and connection issues', () => {
|
||||
test(
|
||||
'simulate network down and network little widget',
|
||||
{ tag: '@skipLocalEngine' },
|
||||
async ({ page, homePage }) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const u = await getUtils(page)
|
||||
await page.setBodyDimensions({ width: 1200, height: 500 })
|
||||
|
||||
@ -83,7 +84,8 @@ test.fixme('Test network and connection issues', () => {
|
||||
test(
|
||||
'Engine disconnect & reconnect in sketch mode',
|
||||
{ tag: '@skipLocalEngine' },
|
||||
async ({ page, homePage }) => {
|
||||
async ({ page, homePage, toolbar }) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const networkToggle = page.getByTestId('network-toggle')
|
||||
|
||||
const u = await getUtils(page)
|
||||
@ -173,11 +175,7 @@ test.fixme('Test network and connection issues', () => {
|
||||
.click()
|
||||
|
||||
// enter sketch again
|
||||
await u.doAndWaitForCmd(
|
||||
() => page.getByRole('button', { name: 'Edit Sketch' }).click(),
|
||||
'default_camera_get_settings'
|
||||
)
|
||||
await page.waitForTimeout(150)
|
||||
await toolbar.editSketch()
|
||||
|
||||
// Click the line tool
|
||||
await page.getByRole('button', { name: 'line Line', exact: true }).click()
|
||||
@ -201,6 +199,7 @@ test.fixme('Test network and connection issues', () => {
|
||||
type: 'default_camera_get_settings',
|
||||
},
|
||||
}
|
||||
await toolbar.openPane('debug')
|
||||
await u.sendCustomCmd(camCommand)
|
||||
await page.waitForTimeout(100)
|
||||
await u.sendCustomCmd(updateCamCommand)
|
||||
|
@ -179,9 +179,11 @@ test.describe('Testing Camera Movement', { tag: ['@skipWin'] }, () => {
|
||||
})
|
||||
|
||||
// TODO: fix after electron migration is merged
|
||||
test.fixme(
|
||||
'Zoom should be consistent when exiting or entering sketches',
|
||||
async ({ page, homePage }) => {
|
||||
test('Zoom should be consistent when exiting or entering sketches', async ({
|
||||
page,
|
||||
homePage,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
// start new sketch pan and zoom before exiting, when exiting the sketch should stay in the same place
|
||||
// than zoom and pan outside of sketch mode and enter again and it should not change from where it is
|
||||
// than again for sketching
|
||||
@ -340,8 +342,7 @@ test.describe('Testing Camera Movement', { tag: ['@skipWin'] }, () => {
|
||||
await expect(page.getByTestId('hover-highlight').first()).toBeVisible({
|
||||
timeout: 10_000,
|
||||
})
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
test(`Zoom by scroll should not fire while orbiting`, async ({
|
||||
homePage,
|
||||
|
@ -1005,9 +1005,11 @@ part002 = startSketchOn('XZ')
|
||||
}
|
||||
})
|
||||
|
||||
test.fixme(
|
||||
'Horizontally constrained line remains selected after applying constraint',
|
||||
async ({ page, homePage }) => {
|
||||
test('Horizontally constrained line remains selected after applying constraint', async ({
|
||||
page,
|
||||
homePage,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
test.setTimeout(70_000)
|
||||
await page.addInitScript(async () => {
|
||||
localStorage.setItem(
|
||||
@ -1025,9 +1027,9 @@ part002 = startSketchOn('XZ')
|
||||
await u.waitForPageLoad()
|
||||
|
||||
await page.getByText('line(end = [3.79, 2.68], tag = $seg01)').click()
|
||||
await expect(
|
||||
page.getByRole('button', { name: 'Edit Sketch' })
|
||||
).toBeEnabled({ timeout: 10_000 })
|
||||
await expect(page.getByRole('button', { name: 'Edit Sketch' })).toBeEnabled(
|
||||
{ timeout: 10_000 }
|
||||
)
|
||||
await page.getByRole('button', { name: 'Edit Sketch' }).click()
|
||||
|
||||
// Wait for overlays to populate
|
||||
@ -1054,9 +1056,7 @@ part002 = startSketchOn('XZ')
|
||||
})
|
||||
.click()
|
||||
await page.waitForTimeout(500)
|
||||
await page
|
||||
.getByRole('button', { name: 'Horizontal', exact: true })
|
||||
.click()
|
||||
await page.getByRole('button', { name: 'Horizontal', exact: true }).click()
|
||||
await page.waitForTimeout(500)
|
||||
|
||||
await pollEditorLinesSelectedLength(page, 1)
|
||||
@ -1081,9 +1081,7 @@ part002 = startSketchOn('XZ')
|
||||
await page.mouse.click(linebb.x, linebb.y)
|
||||
|
||||
await expect
|
||||
.poll(
|
||||
async () => await u.getGreatestPixDiff(lineAfter, TEST_COLORS.BLUE)
|
||||
)
|
||||
.poll(async () => await u.getGreatestPixDiff(lineAfter, TEST_COLORS.BLUE))
|
||||
.toBeLessThan(3)
|
||||
|
||||
await page.waitForTimeout(500)
|
||||
@ -1093,10 +1091,7 @@ part002 = startSketchOn('XZ')
|
||||
// await page.getByRole('button', { name: 'length', exact: true }).click()
|
||||
await page.getByTestId('constraint-length').click()
|
||||
|
||||
await page
|
||||
.getByTestId('cmd-bar-arg-value')
|
||||
.getByRole('textbox')
|
||||
.fill('10')
|
||||
await page.getByTestId('cmd-bar-arg-value').getByRole('textbox').fill('10')
|
||||
await page
|
||||
.getByRole('button', {
|
||||
name: 'arrow right Continue',
|
||||
@ -1111,8 +1106,7 @@ part002 = startSketchOn('XZ')
|
||||
|
||||
// checking the count of the overlays is a good proxy check that the client sketch scene is in a good state
|
||||
await expect(page.getByTestId('segment-overlay')).toHaveCount(2)
|
||||
}
|
||||
)
|
||||
})
|
||||
})
|
||||
test.describe('Electron constraint tests', () => {
|
||||
test(
|
||||
|
@ -316,14 +316,11 @@ test.describe(`Testing gizmo, fixture-based`, () => {
|
||||
})
|
||||
|
||||
await test.step(`Gizmo should be disabled when in sketch mode`, async () => {
|
||||
const sketchModeButton = page.getByRole('button', {
|
||||
name: 'Edit sketch',
|
||||
})
|
||||
const exitSketchButton = page.getByRole('button', {
|
||||
name: 'Exit sketch',
|
||||
})
|
||||
|
||||
await sketchModeButton.click()
|
||||
await toolbar.editSketch()
|
||||
await expect(exitSketchButton).toBeVisible()
|
||||
const gizmoPopoverButton = page.getByRole('button', {
|
||||
name: 'view settings',
|
||||
|
@ -2,7 +2,8 @@ import { test, expect } from './zoo-test'
|
||||
import { getUtils } from './test-utils'
|
||||
|
||||
test.describe('Test toggling perspective', () => {
|
||||
test.fixme('via command palette and toggle', async ({ page, homePage }) => {
|
||||
test('via command palette and toggle', async ({ page, homePage }) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const u = await getUtils(page)
|
||||
|
||||
// Locators and constants
|
||||
|
@ -7,11 +7,9 @@ import { uuidv4 } from 'lib/utils'
|
||||
import { EditorFixture } from './fixtures/editorFixture'
|
||||
|
||||
test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
test.fixme(
|
||||
'Hover over a segment should show its overlay, hovering over the input overlays should show its popover, clicking the input overlay should constrain/unconstrain it:\nfor the following segments',
|
||||
() => {
|
||||
test('Hover over a segment should show its overlay, hovering over the input overlays should show its popover, clicking the input overlay should constrain/unconstrain it:\nfor the following segments', () => {
|
||||
// TODO: fix this test on mac after the electron migration
|
||||
test.skip(process.platform === 'darwin', 'Skip on mac')
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
/**
|
||||
* Clicks on an constrained element
|
||||
* @param {Page} page - The page to perform the action on
|
||||
@ -368,9 +366,12 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
})
|
||||
|
||||
// Broken on main at time of writing!
|
||||
test.fixme(
|
||||
'for segments [yLineTo, xLine]',
|
||||
async ({ page, editor, homePage }) => {
|
||||
test('for segments [yLineTo, xLine]', async ({
|
||||
page,
|
||||
editor,
|
||||
homePage,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
await page.addInitScript(async () => {
|
||||
localStorage.setItem(
|
||||
'persistCode',
|
||||
@ -444,8 +445,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
ang: ang + 180,
|
||||
locator: '[data-overlay-toolbar-index="5"]',
|
||||
})
|
||||
}
|
||||
)
|
||||
})
|
||||
test('for segments [yLine, angledLineOfXLength, angledLineOfYLength]', async ({
|
||||
page,
|
||||
editor,
|
||||
@ -557,8 +557,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
'angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)',
|
||||
expectAfterUnconstrained:
|
||||
'angledLineOfYLength({ angle = angle002, length = 19 + 0 }, %)',
|
||||
expectFinal:
|
||||
'angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)',
|
||||
expectFinal: 'angledLineOfYLength({ angle = -91, length = 19 + 0 }, %)',
|
||||
ang: ang + 180,
|
||||
steps: 6,
|
||||
locator: '[data-overlay-toolbar-index="8"]',
|
||||
@ -657,9 +656,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
locator: '[data-overlay-toolbar-index="9"]',
|
||||
})
|
||||
|
||||
const angledLineToY = await u.getBoundingBox(
|
||||
'[data-overlay-index="10"]'
|
||||
)
|
||||
const angledLineToY = await u.getBoundingBox('[data-overlay-index="10"]')
|
||||
ang = await u.getAngle('[data-overlay-index="10"]')
|
||||
console.log('angledLineToY')
|
||||
await clickUnconstrained({
|
||||
@ -680,8 +677,7 @@ test.describe('Testing segment overlays', { tag: ['@skipWin'] }, () => {
|
||||
constraintType: 'yAbsolute',
|
||||
expectBeforeUnconstrained:
|
||||
'angledLineToY({ angle = 89, to = 9.14 + 0 }, %)',
|
||||
expectAfterUnconstrained:
|
||||
'angledLineToY({ angle = 89, to = 9.14 }, %)',
|
||||
expectAfterUnconstrained: 'angledLineToY({ angle = 89, to = 9.14 }, %)',
|
||||
expectFinal: 'angledLineToY({ angle = 89, to = yAbs001 }, %)',
|
||||
ang: ang + 180,
|
||||
locator: '[data-overlay-toolbar-index="10"]',
|
||||
@ -1000,8 +996,7 @@ profile001 = startProfileAt([56.37, 120.33], sketch001)
|
||||
await clickUnconstrained({
|
||||
hoverPos,
|
||||
constraintType: 'yAbsolute',
|
||||
expectBeforeUnconstrained:
|
||||
'circle(center = [xAbs001, 0], radius = 8)',
|
||||
expectBeforeUnconstrained: 'circle(center = [xAbs001, 0], radius = 8)',
|
||||
expectAfterUnconstrained:
|
||||
'circle(center = [xAbs001, yAbs001], radius = 8)',
|
||||
expectFinal: 'circle(center = [xAbs001, 0], radius = 8)',
|
||||
@ -1013,8 +1008,7 @@ profile001 = startProfileAt([56.37, 120.33], sketch001)
|
||||
await clickUnconstrained({
|
||||
hoverPos,
|
||||
constraintType: 'radius',
|
||||
expectBeforeUnconstrained:
|
||||
'circle(center = [xAbs001, 0], radius = 8)',
|
||||
expectBeforeUnconstrained: 'circle(center = [xAbs001, 0], radius = 8)',
|
||||
expectAfterUnconstrained:
|
||||
'circle(center = [xAbs001, 0], radius = radius001)',
|
||||
expectFinal: 'circle(center = [xAbs001, 0], radius = 8)',
|
||||
@ -1023,8 +1017,7 @@ profile001 = startProfileAt([56.37, 120.33], sketch001)
|
||||
locator: '[data-overlay-toolbar-index="0"]',
|
||||
})
|
||||
})
|
||||
}
|
||||
)
|
||||
})
|
||||
test.describe('Testing deleting a segment', () => {
|
||||
const _deleteSegmentSequence =
|
||||
(page: Page, editor: EditorFixture) =>
|
||||
|
@ -10,6 +10,7 @@ test.describe('Testing selections', { tag: ['@skipWin'] }, () => {
|
||||
test('Selections work on fresh and edited sketch', async ({
|
||||
page,
|
||||
homePage,
|
||||
toolbar,
|
||||
}) => {
|
||||
// tests mapping works on fresh sketch and edited sketch
|
||||
// tests using hovers which is the same as selections, because if
|
||||
@ -216,12 +217,7 @@ test.describe('Testing selections', { tag: ['@skipWin'] }, () => {
|
||||
await emptySpaceHover()
|
||||
|
||||
// enter sketch again
|
||||
await u.doAndWaitForCmd(
|
||||
() => page.getByRole('button', { name: 'Edit Sketch' }).click(),
|
||||
'default_camera_get_settings'
|
||||
)
|
||||
|
||||
await page.waitForTimeout(450) // wait for animation
|
||||
await toolbar.editSketch()
|
||||
|
||||
await u.openAndClearDebugPanel()
|
||||
await u.sendCustomCmd({
|
||||
@ -452,9 +448,14 @@ profile003 = startProfileAt([40.16, -120.48], sketch006)
|
||||
await page.waitForTimeout(200)
|
||||
await expect(u.codeLocator).not.toContainText(codeToBeDeletedSnippet)
|
||||
})
|
||||
test.fixme(
|
||||
'parent Solid should be select and deletable and uses custom planes to position children',
|
||||
async ({ page, homePage, scene, cmdBar, editor }) => {
|
||||
test('parent Solid should be select and deletable and uses custom planes to position children', async ({
|
||||
page,
|
||||
homePage,
|
||||
scene,
|
||||
cmdBar,
|
||||
editor,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
test.setTimeout(90_000)
|
||||
const u = await getUtils(page)
|
||||
await page.addInitScript(async () => {
|
||||
@ -518,8 +519,7 @@ profile001 = startProfileAt([7.49, 9.96], sketch001)
|
||||
shouldNormalise: true,
|
||||
})
|
||||
await editor.snapshot()
|
||||
}
|
||||
)
|
||||
})
|
||||
test('Hovering over 3d features highlights code, clicking puts the cursor in the right place and sends selection id to engine', async ({
|
||||
page,
|
||||
homePage,
|
||||
|
@ -55,9 +55,11 @@ test.describe('Testing settings', () => {
|
||||
})
|
||||
|
||||
// The behavior is actually broken. Parent always takes precedence
|
||||
test.fixme(
|
||||
'Project settings can be set and override user settings',
|
||||
async ({ page, homePage }) => {
|
||||
test('Project settings can be set and override user settings', async ({
|
||||
page,
|
||||
homePage,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const u = await getUtils(page)
|
||||
await test.step(`Setup`, async () => {
|
||||
await page.setBodyDimensions({ width: 1200, height: 500 })
|
||||
@ -82,14 +84,11 @@ test.describe('Testing settings', () => {
|
||||
/** Test to close https://github.com/KittyCAD/modeling-app/issues/2713 */
|
||||
await test.step(`Confirm that this dialog has a solid background`, async () => {
|
||||
await expect
|
||||
.poll(
|
||||
() => u.getGreatestPixDiff({ x: 600, y: 250 }, [28, 28, 28]),
|
||||
{
|
||||
.poll(() => u.getGreatestPixDiff({ x: 600, y: 250 }, [28, 28, 28]), {
|
||||
timeout: 1000,
|
||||
message:
|
||||
'Checking for solid background, should not see default plane colors',
|
||||
}
|
||||
)
|
||||
})
|
||||
.toBeLessThan(15)
|
||||
})
|
||||
|
||||
@ -122,9 +121,7 @@ test.describe('Testing settings', () => {
|
||||
|
||||
// Roll back to default of "off"
|
||||
await await page
|
||||
.getByText(
|
||||
'show debug panelRoll back show debug panelRoll back to match'
|
||||
)
|
||||
.getByText('show debug panelRoll back show debug panelRoll back to match')
|
||||
.hover()
|
||||
await page
|
||||
.getByRole('button', {
|
||||
@ -138,8 +135,7 @@ test.describe('Testing settings', () => {
|
||||
await expect(
|
||||
page.locator('input[name="app-showDebugPanel"]')
|
||||
).not.toBeChecked()
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
test('Keybindings display the correct hotkey for Command Palette', async ({
|
||||
page,
|
||||
@ -175,9 +171,8 @@ test.describe('Testing settings', () => {
|
||||
await expect(hotkey).toHaveText(text)
|
||||
})
|
||||
|
||||
test.fixme(
|
||||
'Project and user settings can be reset',
|
||||
async ({ page, homePage }) => {
|
||||
test('Project and user settings can be reset', async ({ page, homePage }) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const u = await getUtils(page)
|
||||
await test.step(`Setup`, async () => {
|
||||
await page.setBodyDimensions({ width: 1200, height: 500 })
|
||||
@ -261,17 +256,13 @@ test.describe('Testing settings', () => {
|
||||
await expect(themeColorSetting).toHaveValue(settingValues.project)
|
||||
})
|
||||
})
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
test.fixme(
|
||||
test(
|
||||
`Project settings override user settings on desktop`,
|
||||
{ tag: ['@electron', '@skipWin'] },
|
||||
async ({ context, page }, testInfo) => {
|
||||
test.skip(
|
||||
process.platform === 'win32',
|
||||
'TODO: remove this skip https://github.com/KittyCAD/modeling-app/issues/3557'
|
||||
)
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const projectName = 'bracket'
|
||||
const { dir: projectDirName } = await context.folderSetupFn(
|
||||
async (dir) => {
|
||||
@ -407,12 +398,13 @@ test.describe('Testing settings', () => {
|
||||
)
|
||||
|
||||
// It was much easier to test the logo color than the background stream color.
|
||||
test.fixme(
|
||||
test(
|
||||
'user settings reload on external change, on project and modeling view',
|
||||
{
|
||||
tag: '@electron',
|
||||
},
|
||||
async ({ context, page, tronApp }, testInfo) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
if (!tronApp) {
|
||||
fail()
|
||||
}
|
||||
@ -466,10 +458,11 @@ test.describe('Testing settings', () => {
|
||||
}
|
||||
)
|
||||
|
||||
test.fixme(
|
||||
test(
|
||||
'project settings reload on external change',
|
||||
{ tag: '@electron' },
|
||||
async ({ context, page }, testInfo) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const { dir: projectDirName } = await context.folderSetupFn(
|
||||
async () => {}
|
||||
)
|
||||
@ -724,7 +717,14 @@ test.describe('Testing settings', () => {
|
||||
})
|
||||
})
|
||||
|
||||
test('Changing theme in sketch mode', async ({ context, page, homePage }) => {
|
||||
test('Changing theme in sketch mode', async ({
|
||||
context,
|
||||
page,
|
||||
homePage,
|
||||
toolbar,
|
||||
scene,
|
||||
cmdBar,
|
||||
}) => {
|
||||
// TODO: fix this test on windows after the electron migration
|
||||
test.skip(process.platform === 'win32', 'Skip on windows')
|
||||
const u = await getUtils(page)
|
||||
@ -744,11 +744,10 @@ test.describe('Testing settings', () => {
|
||||
})
|
||||
await page.setBodyDimensions({ width: 1200, height: 500 })
|
||||
await homePage.goToModelingScene()
|
||||
await u.waitForPageLoad()
|
||||
await scene.settled(cmdBar)
|
||||
await page.waitForTimeout(1000)
|
||||
|
||||
// Selectors and constants
|
||||
const editSketchButton = page.getByRole('button', { name: 'Edit Sketch' })
|
||||
const lineToolButton = page.getByTestId('line')
|
||||
const segmentOverlays = page.getByTestId('segment-overlay')
|
||||
const sketchOriginLocation = { x: 600, y: 250 }
|
||||
@ -757,8 +756,7 @@ test.describe('Testing settings', () => {
|
||||
|
||||
await test.step(`Get into sketch mode`, async () => {
|
||||
await page.mouse.click(700, 200)
|
||||
await expect(editSketchButton).toBeVisible()
|
||||
await editSketchButton.click()
|
||||
await toolbar.editSketch()
|
||||
|
||||
// We use the line tool as a proxy for sketch mode
|
||||
await expect(lineToolButton).toBeVisible()
|
||||
@ -977,9 +975,15 @@ fn cube`
|
||||
/**
|
||||
* This test assumes that the default value of the "highlight edges" setting is "on".
|
||||
*/
|
||||
test.fixme(
|
||||
`Toggle stream settings multiple times`,
|
||||
async ({ page, scene, homePage, context, toolbar, cmdBar }, testInfo) => {
|
||||
test(`Toggle stream settings multiple times`, async ({
|
||||
page,
|
||||
scene,
|
||||
homePage,
|
||||
context,
|
||||
toolbar,
|
||||
cmdBar,
|
||||
}, testInfo) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
await context.folderSetupFn(async (dir) => {
|
||||
const projectDir = join(dir, 'project-000')
|
||||
await fsp.mkdir(projectDir, { recursive: true })
|
||||
@ -1034,6 +1038,5 @@ fn cube`
|
||||
mask: [page.getByTestId('model-state-indicator')],
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
})
|
||||
})
|
||||
|
@ -431,10 +431,11 @@ test.describe('Text-to-CAD tests', { tag: ['@skipWin'] }, () => {
|
||||
})
|
||||
|
||||
// This will be fine once greg makes prompt at top of file deterministic
|
||||
test.fixme(
|
||||
test(
|
||||
'can do many at once and get many prompts back, and interact with many',
|
||||
{ tag: ['@skipWin'] },
|
||||
async ({ page, homePage }) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
// Let this test run longer since we've seen it timeout.
|
||||
test.setTimeout(180_000)
|
||||
|
||||
@ -619,10 +620,11 @@ async function sendPromptFromCommandBar(page: Page, promptStr: string) {
|
||||
})
|
||||
}
|
||||
|
||||
test.fixme(
|
||||
test(
|
||||
'Text-to-CAD functionality',
|
||||
{ tag: '@electron' },
|
||||
async ({ context, page }, testInfo) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const projectName = 'project-000'
|
||||
const prompt = 'lego 2x4'
|
||||
const textToCadFileName = 'lego-2x4.kcl'
|
||||
|
@ -2,7 +2,8 @@ import { test, expect } from './zoo-test'
|
||||
|
||||
import { doExport, getUtils, makeTemplate } from './test-utils'
|
||||
|
||||
test.fixme('Units menu', async ({ page, homePage }) => {
|
||||
test('Units menu', async ({ page, homePage }) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
await page.setBodyDimensions({ width: 1200, height: 500 })
|
||||
await homePage.goToModelingScene()
|
||||
|
||||
@ -263,9 +264,11 @@ test('First escape in tool pops you out of tool, second exits sketch mode', asyn
|
||||
).not.toBeVisible()
|
||||
})
|
||||
|
||||
test.fixme(
|
||||
'Basic default modeling and sketch hotkeys work',
|
||||
async ({ page, homePage }) => {
|
||||
test('Basic default modeling and sketch hotkeys work', async ({
|
||||
page,
|
||||
homePage,
|
||||
}) => {
|
||||
test.fixme(process.env.GITHUB_HEAD_REF !== 'all-e2e')
|
||||
const u = await getUtils(page)
|
||||
|
||||
// This test can run long if it takes a little too long to load
|
||||
@ -441,8 +444,7 @@ test.fixme(
|
||||
await page.keyboard.press('Escape')
|
||||
await page.waitForTimeout(100)
|
||||
}
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
test('Delete key does not navigate back', async ({ page, homePage }) => {
|
||||
await page.setBodyDimensions({ width: 1200, height: 500 })
|
||||
|
@ -20,7 +20,7 @@ statement[@isGroup=Statement] {
|
||||
ImportStatement { kw<"import"> ImportItems ImportFrom String } |
|
||||
FunctionDeclaration { kw<"export">? kw<"fn"> VariableDefinition Equals? ParamList Arrow? Body } |
|
||||
VariableDeclaration { kw<"export">? (kw<"var"> | kw<"let"> | kw<"const">)? VariableDefinition Equals expression } |
|
||||
TypeDeclaration { kw<"export">? kw<"type"> identifier } |
|
||||
TypeDeclaration { kw<"export">? kw<"type"> identifier ("=" type)? } |
|
||||
ReturnStatement { kw<"return"> expression } |
|
||||
ExpressionStatement { expression } |
|
||||
Annotation { AnnotationName AnnotationList? }
|
||||
@ -79,7 +79,7 @@ type[@isGroup=Type] {
|
||||
identifier,
|
||||
"bool" | "number" | "string" | "tag" | "Sketch" | "SketchSurface" | "Solid" | "Plane"
|
||||
> |
|
||||
ArrayType { type !member "[" "]" } |
|
||||
ArrayType { "[" type !member (";" Number "+"?)? "]" } |
|
||||
ObjectType { "{" commaSep<ObjectProperty { PropertyName ":" type }> "}" }
|
||||
}
|
||||
|
||||
@ -137,7 +137,7 @@ commaSep1NoTrailingComma<term> { term ("," term)* }
|
||||
"(" ")"
|
||||
"{" "}"
|
||||
"[" "]"
|
||||
"," "?" ":" "." ".."
|
||||
"," "?" ":" "." ".." ";"
|
||||
}
|
||||
|
||||
@external propSource kclHighlight from "./highlight"
|
||||
|
@ -21,7 +21,7 @@
|
||||
"@codemirror/autocomplete": "6.18.6",
|
||||
"@codemirror/language": "^6.11.0",
|
||||
"@codemirror/state": "^6.5.2",
|
||||
"@lezer/highlight": "^1.2.0",
|
||||
"@lezer/highlight": "^1.2.1",
|
||||
"@ts-stack/markdown": "^1.5.0",
|
||||
"json-rpc-2.0": "^1.7.0",
|
||||
"typescript": "^5.8.2",
|
||||
@ -29,7 +29,7 @@
|
||||
"vscode-uri": "^3.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.13.9",
|
||||
"@types/node": "^22.13.10",
|
||||
"ts-node": "^10.9.2"
|
||||
}
|
||||
}
|
||||
|
@ -70,10 +70,10 @@
|
||||
resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.2.1.tgz#198b278b7869668e1bebbe687586e12a42731049"
|
||||
integrity sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==
|
||||
|
||||
"@lezer/highlight@^1.0.0", "@lezer/highlight@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.2.0.tgz#e5898c3644208b4b589084089dceeea2966f7780"
|
||||
integrity sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==
|
||||
"@lezer/highlight@^1.0.0", "@lezer/highlight@^1.2.1":
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.2.1.tgz#596fa8f9aeb58a608be0a563e960c373cbf23f8b"
|
||||
integrity sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==
|
||||
dependencies:
|
||||
"@lezer/common" "^1.0.0"
|
||||
|
||||
@ -116,10 +116,10 @@
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
|
||||
integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
|
||||
|
||||
"@types/node@^22.13.9":
|
||||
version "22.13.9"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.13.9.tgz#5d9a8f7a975a5bd3ef267352deb96fb13ec02eca"
|
||||
integrity sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==
|
||||
"@types/node@^22.13.10":
|
||||
version "22.13.10"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.13.10.tgz#df9ea358c5ed991266becc3109dc2dc9125d77e4"
|
||||
integrity sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==
|
||||
dependencies:
|
||||
undici-types "~6.20.0"
|
||||
|
||||
|
@ -69,6 +69,8 @@ When you submit a PR to add or modify KCL samples, images and STEP files will be
|
||||
[](hex-nut/main.kcl)
|
||||
#### [i-beam](i-beam/main.kcl) ([screenshot](screenshots/i-beam.png))
|
||||
[](i-beam/main.kcl)
|
||||
#### [keyboard](keyboard/main.kcl) ([screenshot](screenshots/keyboard.png))
|
||||
[](keyboard/main.kcl)
|
||||
#### [kitt](kitt/main.kcl) ([screenshot](screenshots/kitt.png))
|
||||
[](kitt/main.kcl)
|
||||
#### [lego](lego/main.kcl) ([screenshot](screenshots/lego.png))
|
||||
|
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)
|
@ -5,8 +5,8 @@
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
// Define constants
|
||||
lbumps = 10 // number of bumps long
|
||||
wbumps = 5 // number of bumps wide
|
||||
lbumps = 4 // number of bumps long
|
||||
wbumps = 2 // number of bumps wide
|
||||
pitch = 8.0
|
||||
clearance = 0.1
|
||||
bumpDiam = 4.8
|
||||
|
@ -160,6 +160,13 @@
|
||||
"title": "I-beam",
|
||||
"description": "A structural metal beam with an I shaped cross section. Often used in construction"
|
||||
},
|
||||
{
|
||||
"file": "main.kcl",
|
||||
"pathFromProjectDirectoryToFirstFile": "keyboard/main.kcl",
|
||||
"multipleFiles": false,
|
||||
"title": "Zoo Keyboard",
|
||||
"description": "A custom keyboard with Zoo brand lettering"
|
||||
},
|
||||
{
|
||||
"file": "main.kcl",
|
||||
"pathFromProjectDirectoryToFirstFile": "kitt/main.kcl",
|
||||
@ -198,7 +205,7 @@
|
||||
{
|
||||
"file": "main.kcl",
|
||||
"pathFromProjectDirectoryToFirstFile": "pipe-flange-assembly/main.kcl",
|
||||
"multipleFiles": false,
|
||||
"multipleFiles": true,
|
||||
"title": "Pipe and Flange Assembly",
|
||||
"description": "A crucial component in various piping systems, designed to facilitate the connection, disconnection, and access to piping for inspection, cleaning, and modifications. This assembly combines pipes (long cylindrical conduits) with flanges (plate-like fittings) to create a secure yet detachable joint."
|
||||
},
|
||||
|
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
|
||||
// A crucial component in various piping systems, designed to facilitate the connection, disconnection, and access to piping for inspection, cleaning, and modifications. This assembly combines pipes (long cylindrical conduits) with flanges (plate-like fittings) to create a secure yet detachable joint.
|
||||
|
||||
|
||||
// Set units
|
||||
// set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
// import constants
|
||||
import * from 'globals.kcl'
|
||||
|
||||
// Define constants
|
||||
flangeThickness = .125
|
||||
flangeBaseDia = 2
|
||||
boreHeight = 1
|
||||
flangePipeDia = 1
|
||||
mountingHoleDia = 0.425
|
||||
screwDia = 0.375
|
||||
tol = 0.010
|
||||
hexNutScale = 0.90
|
||||
wallThickness = 0.5
|
||||
screwLength = 1.125
|
||||
washerThickness = 0.0625
|
||||
screwStart = [
|
||||
// import parts
|
||||
import flange from '68095k348-flange.kcl'
|
||||
import gasket from '9472k188-gasket.kcl'
|
||||
import washer from '98017a257-washer.kcl'
|
||||
import bolt from '91251a404-bolt.kcl'
|
||||
import hexNut from '95479a127-hex-nut.kcl'
|
||||
import pipe from '1120t74-pipe.kcl'
|
||||
|
||||
// place flanges
|
||||
flange()
|
||||
flange()
|
||||
|> rotate(axis = [0, 1, 0], angle = 180)
|
||||
|> translate(translate = [0, 0, flangeBackHeight*2 + gasketThickness])
|
||||
|
||||
// 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,
|
||||
flangeThickness + washerThickness,
|
||||
1.375
|
||||
]
|
||||
capRatio = .190 / .313 // Ratio grabbed from another screw
|
||||
hexRatio = 5 / 32 / .190 // Ratio grabbed from another screw
|
||||
hexStartingAngle = 210 // first angle of hex pattern (degrees)
|
||||
hexInteriorAngle = 120 // degrees
|
||||
hexChangeAngle = 180 - hexInteriorAngle // degrees
|
||||
flangeBaseThickness
|
||||
])
|
||||
|> patternCircular3d(%, instances = 4, axis = [0, 0, 1], center = [0, 0, 0], arcDegrees = 360, rotateDuplicates = false)
|
||||
|> patternLinear3d(%, instances = 2, distance = -(flangeBaseThickness*2 + flangeBackHeight * 2 + gasketThickness + washerThickness), axis = [0, 0, 1])
|
||||
|
||||
// place four bolts
|
||||
bolt()
|
||||
|> translate(translate = [
|
||||
mountingHolePlacementDiameter/2, 0, flangeBaseThickness + washerThickness
|
||||
])
|
||||
|> rotate(roll = 90, pitch = 0, yaw = 0)
|
||||
|> patternCircular3d(%, instances = 4, axis = [0, 0, 1], center = [0, 0, 0], arcDegrees = 360, rotateDuplicates = false)
|
||||
|
||||
screwPlane = {
|
||||
plane = {
|
||||
origin = {
|
||||
x = screwStart[0],
|
||||
y = screwStart[1],
|
||||
z = screwStart[2]
|
||||
},
|
||||
xAxis = { x = 1, y = 0, z = 0 },
|
||||
yAxis = { x = 0, y = 0, z = 1 },
|
||||
zAxis = { x = 0, y = 1, z = 0 }
|
||||
}
|
||||
}
|
||||
// place four hex nuts
|
||||
hexNut()
|
||||
|> translate(translate = [mountingHolePlacementDiameter/2, 0, -(flangeBackHeight * 2 + gasketThickness + flangeBaseThickness + washerThickness + hexNutThickness)])
|
||||
|> patternCircular3d(%, instances = 4, axis = [0, 0, 1], center = [0, 0, 0], arcDegrees = 360, rotateDuplicates = false)
|
||||
|
||||
fn capScrew(start, length, dia) {
|
||||
headLength = dia // inch
|
||||
wallToWallLength = hexRatio * dia
|
||||
headDia = dia / capRatio
|
||||
hexWallLength = wallToWallLength / 2 * 1 / cos(toRadians(30)) // inch
|
||||
// place both pieces of pipe
|
||||
pipe()
|
||||
|> rotate(%, roll = -90, pitch = 0, yaw = 0)
|
||||
|> translate(%, translate = [0, 0, flangeBaseThickness + flangeFrontHeight - 0.5], global = true)
|
||||
|
||||
|
||||
// Length of Cap Head is always equal to diameter
|
||||
capHeadLength = dia
|
||||
|
||||
// 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")
|
||||
pipe()
|
||||
|> rotate(%, roll = 90, pitch = 0, yaw = 0)
|
||||
|> translate(%, translate = [0, 0, -(flangeBackHeight * 2 + gasketThickness + flangeBaseThickness + flangeFrontHeight - 0.5)], global = true)
|
@ -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;
|
@ -1,6 +1,7 @@
|
||||
// Pipe with bend
|
||||
// A tubular section or hollow cylinder, usually but not necessarily of circular cross-section, used mainly to convey substances that can flow.
|
||||
|
||||
|
||||
// Set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
@ -14,22 +15,14 @@ bendAngle = 90
|
||||
sketch000 = startSketchOn("XZ")
|
||||
|
||||
// create a profile for the outer diameter
|
||||
outerProfile = circle(
|
||||
sketch000,
|
||||
center = [bendRadius, 0],
|
||||
radius = outerDiameter / 2
|
||||
)
|
||||
outerProfile = circle(sketch000, center = [bendRadius, 0], radius = outerDiameter / 2)
|
||||
|
||||
// create a profile for the inner diameter
|
||||
innerProfile = circle(
|
||||
sketch000,
|
||||
center = [bendRadius, 0],
|
||||
radius = innerDiameter / 2
|
||||
)
|
||||
innerProfile = circle(sketch000, center = [bendRadius, 0], radius = innerDiameter / 2)
|
||||
|
||||
// create the profile of the pipe
|
||||
pipeProfile = outerProfile
|
||||
|> hole(innerProfile, %)
|
||||
|
||||
// revolve the pipe profile at the desired angle
|
||||
pipe = revolve(pipeProfile, axis = "Y", angle = bendAngle)
|
||||
pipe = revolve(pipeProfile, axis = 'Y', angle = bendAngle)
|
||||
|
@ -1,9 +1,11 @@
|
||||
// Poopy Shoe
|
||||
// poop shute for bambu labs printer - optimized for printing.
|
||||
|
||||
|
||||
// Set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
|
||||
wallThickness = 0.125
|
||||
wallsWidth = 3
|
||||
height = 5.125
|
||||
@ -30,8 +32,7 @@ sketch001 = startSketchOn("-YZ")
|
||||
|> yLine(endAbsolute = segEndY(seg01))
|
||||
|> angledLineToY({ angle = 180 - 60, to = 0 }, %)
|
||||
|> close()
|
||||
part001 = revolve(
|
||||
sketch001,
|
||||
part001 = revolve(sketch001,
|
||||
angle = 90,
|
||||
axis = {
|
||||
custom = {
|
||||
|
BIN
public/kcl-samples/screenshots/keyboard.png
Normal file
After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
@ -1,68 +1,64 @@
|
||||
// Socket Head Cap Screw
|
||||
// This is for a #10-24 screw that is 1.00 inches long. A socket head cap screw is a type of fastener that is widely used in a variety of applications requiring a high strength fastening solution. It is characterized by its cylindrical head and internal hexagonal drive, which allows for tightening with an Allen wrench or hex key.
|
||||
|
||||
// Set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
// set units
|
||||
@settings(defaultLengthUnit = in, defaultAngleUnit = deg)
|
||||
|
||||
// Define constants
|
||||
screwLength = 1.0
|
||||
screwDiameter = .190
|
||||
headDiameter = .313
|
||||
headLength = screwDiameter
|
||||
hexWallToWall = 5 / 32
|
||||
capRatio = screwDiameter / headDiameter
|
||||
hexRatio = hexWallToWall / headDiameter
|
||||
hexWallLength = hexWallToWall / 2 * 1 / cos(toRadians(30))
|
||||
hexStartingAngle = 210 // first angle of hex pattern
|
||||
hexInteriorAngle = 120
|
||||
hexChangeAngle = 180 - hexInteriorAngle
|
||||
export boltDiameter = 0.190
|
||||
export boltLength = 1.00
|
||||
export boltHeadLength = boltDiameter
|
||||
export boltHeadDiameter = 0.313
|
||||
export boltHexDrive = 5/32
|
||||
export boltHexFlatLength = boltHexDrive / (2 * cos(toRadians(30)))
|
||||
|
||||
export fn bolt () {
|
||||
|
||||
// Write a function that defines the Socket Head Cap Screw
|
||||
fn capScrew(start, length, dia, capHeadLength) {
|
||||
// Create the head of the cap screw
|
||||
screwHeadSketch = startSketchOn('XZ')
|
||||
boltHead = startSketchOn('XZ')
|
||||
|> circle(
|
||||
center = [start[0], start[1]],
|
||||
radius = dia / capRatio / 2
|
||||
center = [0, 0],
|
||||
radius = boltHeadDiameter / 2,
|
||||
tag = $topEdge
|
||||
)
|
||||
|
||||
// Extrude the screw head sketch
|
||||
screwHead = extrude(screwHeadSketch, length = capHeadLength)
|
||||
|> extrude(length = -boltHeadLength)
|
||||
|> fillet(radius = 0.020, tags = [topEdge, getOppositeEdge(topEdge)])
|
||||
|
||||
// Define the sketch of the hex pattern on the screw head
|
||||
hexPatternSketch = startSketchOn(screwHead, 'end')
|
||||
|> startProfileAt([hexWallToWall / 2, 0], %)
|
||||
|> yLine(length = -hexWallLength / 2)
|
||||
hexPatternSketch = startSketchOn(boltHead, 'start')
|
||||
|> startProfileAt([
|
||||
boltHexDrive / 2,
|
||||
boltHexFlatLength / 2
|
||||
], %)
|
||||
|> angledLine({
|
||||
angle = hexStartingAngle,
|
||||
length = hexWallLength
|
||||
angle = 270,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = hexStartingAngle - hexChangeAngle,
|
||||
length = hexWallLength
|
||||
angle = 210,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = hexStartingAngle - (2 * hexChangeAngle),
|
||||
length = hexWallLength
|
||||
angle = 150,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = hexStartingAngle - (3 * hexChangeAngle),
|
||||
length = hexWallLength
|
||||
angle = 90,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> angledLine({
|
||||
angle = hexStartingAngle - (4 * hexChangeAngle),
|
||||
length = hexWallLength
|
||||
angle = 30,
|
||||
length = boltHexFlatLength
|
||||
}, %)
|
||||
|> close()
|
||||
hexPattern = extrude(hexPatternSketch, length = -headLength * 0.75)
|
||||
|> extrude(length = -boltHeadLength * 0.75)
|
||||
|
||||
screwBodySketch = startSketchOn(screwHead, "start")
|
||||
|> circle(
|
||||
center = [start[0], start[1]],
|
||||
radius = dia / 2
|
||||
)
|
||||
screwBody = extrude(screwBodySketch, length = length)
|
||||
return screwBody
|
||||
boltBody = startSketchOn(boltHead, 'end')
|
||||
|> circle(center = [0, 0], radius = boltDiameter / 2, tag = $filletEdge)
|
||||
|> extrude(length = boltLength)
|
||||
|> fillet(radius = .020, tags = [getOppositeEdge(filletEdge)])
|
||||
|> appearance(color = "#4dd043", metalness = 90, roughness = 90)
|
||||
|
||||
return boltBody
|
||||
}
|
||||
|
||||
capScrew([0, 0], screwLength, screwDiameter, screwDiameter)
|
||||
bolt()
|
||||
|
@ -1,44 +1,28 @@
|
||||
// Antenna
|
||||
|
||||
|
||||
// import constants
|
||||
import antennaLength, antennaBaseWidth, antennaBaseHeight, antennaTopWidth, antennaTopHeight from "globals.kcl"
|
||||
|
||||
// Set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
|
||||
// import constants
|
||||
import height, width, antennaBaseWidth, antennaBaseHeight, antennaTopWidth, antennaTopHeight from "globals.kcl"
|
||||
|
||||
// Calculate the origin
|
||||
origin = [-width / 2 + .45, -0.10]
|
||||
|
||||
// Create the antenna
|
||||
antennaX = origin[0]
|
||||
antennaY = origin[1]
|
||||
|
||||
antennaPlane = {
|
||||
plane = {
|
||||
origin = { x = 0, y = 0, z = height / 2 },
|
||||
xAxis = { x = 1, y = 0, z = 0 },
|
||||
yAxis = { x = 0, y = 1, z = 0 },
|
||||
zAxis = { x = 0, y = 0, z = 1 }
|
||||
}
|
||||
}
|
||||
|
||||
export fn antenna () {
|
||||
// Create the antenna base sketch
|
||||
sketch001 = startSketchOn(antennaPlane)
|
||||
|> startProfileAt([origin[0], origin[1]], %)
|
||||
sketch001 = startSketchOn('XY')
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> line(end = [antennaBaseWidth, 0])
|
||||
|> line(end = [0, -antennaBaseHeight])
|
||||
|> line(end = [-antennaBaseWidth, 0])
|
||||
|> close()
|
||||
|
||||
// Create the antenna top sketch
|
||||
loftPlane = offsetPlane('XY', offset = height / 2 + 3)
|
||||
loftPlane = offsetPlane('XY', offset = antennaLength)
|
||||
|
||||
sketch002 = startSketchOn(loftPlane)
|
||||
|> startProfileAt([
|
||||
origin[0] + (antennaBaseWidth - antennaTopWidth) / 2,
|
||||
origin[1] - ((antennaBaseHeight - antennaTopHeight) / 2)
|
||||
(antennaBaseWidth - antennaTopWidth) / 2,
|
||||
(antennaBaseHeight - antennaTopHeight) / 2
|
||||
], %)
|
||||
|> xLine(length = antennaTopWidth)
|
||||
|> yLine(length = -antennaTopHeight)
|
||||
@ -46,5 +30,8 @@ sketch002 = startSketchOn(loftPlane)
|
||||
|> close()
|
||||
|
||||
// Create the antenna using a loft
|
||||
loft([sketch001, sketch002])
|
||||
antenna = loft([sketch001, sketch002])
|
||||
|> appearance(color = "#000000")
|
||||
return antenna
|
||||
|
||||
}
|
||||
|
@ -1,13 +1,15 @@
|
||||
// Walkie talkie body
|
||||
|
||||
|
||||
// Set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
|
||||
// Import constants
|
||||
// import constants
|
||||
import height, width, thickness, chamferLength, offset, screenWidth, screenHeight, screenYPosition, screenDepth, speakerBoxWidth, speakerBoxHeight from "globals.kcl"
|
||||
|
||||
// set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
// create a function to define the body
|
||||
export fn body () {
|
||||
|
||||
// sketch and extrude the body of the walkie talkie
|
||||
bodySketch = startSketchOn('XZ')
|
||||
|> startProfileAt([-width / 2, height / 2], %)
|
||||
|> xLine(length = width, tag = $chamfer1)
|
||||
@ -25,7 +27,7 @@ bodyExtrude = extrude(bodySketch, length = thickness)
|
||||
]
|
||||
)
|
||||
|
||||
// Define the offset for the indentation
|
||||
// cut out the indentation for the case
|
||||
sketch002 = startSketchOn(bodyExtrude, 'END')
|
||||
|> startProfileAt([
|
||||
-width / 2 + offset,
|
||||
@ -73,8 +75,12 @@ sketch004 = startSketchOn(extrude002, 'start')
|
||||
|> yLine(length = -speakerBoxHeight)
|
||||
|> xLine(length = -speakerBoxWidth)
|
||||
|> close()
|
||||
extrude(sketch004, length = -.5)
|
||||
|
||||
body = extrude(sketch004, length = -.5)
|
||||
|> appearance(
|
||||
color = "#277bb0",
|
||||
)
|
||||
return body
|
||||
}
|
||||
|
||||
body()
|
||||
|
@ -1,26 +1,27 @@
|
||||
// Walkie Talkie button
|
||||
|
||||
// Set units
|
||||
// set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
// Import constants
|
||||
import screenHeight, buttonWidth, tolerance, buttonHeight, buttonThickness from 'globals.kcl'
|
||||
// import constants
|
||||
import buttonWidth, buttonHeight, buttonThickness from 'globals.kcl'
|
||||
|
||||
// create a function to define the button
|
||||
export fn button() {
|
||||
|
||||
// Create a function for the button
|
||||
export fn button(origin, rotation, plane) {
|
||||
buttonSketch = startSketchOn(plane)
|
||||
|> startProfileAt([origin[0], origin[1]], %)
|
||||
// sketch the button profile and extrude
|
||||
buttonSketch = startSketchOn('XZ')
|
||||
|> startProfileAt([0, 0], %)
|
||||
|> angledLine({
|
||||
angle = 180 + rotation,
|
||||
angle = 180,
|
||||
length = buttonWidth
|
||||
}, %, $tag1)
|
||||
|> angledLine({
|
||||
angle = 270 + rotation,
|
||||
angle = 270,
|
||||
length = buttonHeight
|
||||
}, %, $tag2)
|
||||
|> angledLine({
|
||||
angle = 0 + rotation,
|
||||
angle = 0,
|
||||
length = buttonWidth
|
||||
}, %)
|
||||
|> close()
|
||||
|
@ -1,45 +1,45 @@
|
||||
// Walkie talkie case
|
||||
|
||||
|
||||
// Set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
|
||||
// Import constants and Zoo logo
|
||||
// import constants and Zoo logo
|
||||
import width, height, chamferLength, offset, screenWidth, screenHeight, screenYPosition, screenDepth, speakerBoxWidth, speakerBoxHeight, squareHoleSideLength, caseTolerance from "globals.kcl"
|
||||
import zLogo, oLogo, oLogo2 from "zoo-logo.kcl"
|
||||
|
||||
plane = offsetPlane("XZ", offset = 1)
|
||||
// set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
fn screenHole(sketchStart) {
|
||||
sketch006 = startSketchOn(sketchStart)
|
||||
// create a function to define the case
|
||||
export fn case () {
|
||||
|
||||
// sketch the profile of the screen
|
||||
sketch006 = startSketchOn(startSketchOn('XZ'))
|
||||
|> startProfileAt([-screenWidth / 2, screenYPosition], %)
|
||||
|> xLine(length = screenWidth)
|
||||
|> yLine(length = -screenHeight)
|
||||
|> xLine(length = -screenWidth)
|
||||
|> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||
|> close()
|
||||
return sketch006
|
||||
}
|
||||
|
||||
fn squareHolePattern(plane, x, y) {
|
||||
// create transform functions for the speaker grid pattern
|
||||
fn transformX(i) {
|
||||
return { translate = [.125 * i, 0] }
|
||||
}
|
||||
fn transformY(i) {
|
||||
return { translate = [0, -.125 * i] }
|
||||
}
|
||||
squareHolePatternSketch = startSketchOn(plane)
|
||||
|> startProfileAt([-x, -y], %)
|
||||
|
||||
// sketch the square hole grid pattern
|
||||
squareHolePatternSketch = startSketchOn(startSketchOn('XZ'))
|
||||
|> startProfileAt([-screenWidth / 2 + .100, 0], %)
|
||||
|> line(end = [squareHoleSideLength / 2, 0])
|
||||
|> line(end = [0, -squareHoleSideLength / 2])
|
||||
|> line(end = [-squareHoleSideLength / 2, 0])
|
||||
|> close()
|
||||
|> patternTransform2d(instances = 13, transform = transformX)
|
||||
|> patternTransform2d(instances = 11, transform = transformY)
|
||||
return squareHolePatternSketch
|
||||
}
|
||||
sketch005 = startSketchOn(offsetPlane("XZ", offset = 1))
|
||||
|
||||
// sketch the outer profile of the case and extrude with holes using the previously made profiles
|
||||
sketch005 = startSketchOn(startSketchOn('XZ'))
|
||||
|> startProfileAt([
|
||||
-width / 2 + offset + caseTolerance,
|
||||
height / 2 - (chamferLength + (offset + caseTolerance) / 2 * cos(toRadians(45)))
|
||||
@ -73,13 +73,18 @@ sketch005 = startSketchOn(offsetPlane("XZ", offset = 1))
|
||||
to = -width / 2 + offset + caseTolerance
|
||||
}, %)
|
||||
|> close()
|
||||
|> hole(screenHole(plane), %)
|
||||
|> hole(squareHolePattern(plane, .75, .125), %)
|
||||
|> hole(zLogo(plane, [-.30, -1.825], .20), %)
|
||||
|> hole(oLogo(plane, [-.075, -1.825], .20), %)
|
||||
|> hole(oLogo2(plane, [-.075, -1.825], .20), %)
|
||||
|> hole(oLogo(plane, [.175, -1.825], .20), %)
|
||||
|> hole(oLogo2(plane, [.175, -1.825], .20), %)
|
||||
|> hole(sketch006, %)
|
||||
|> hole(squareHolePatternSketch, %)
|
||||
|
||||
extrude(sketch005, length = -0.0625)
|
||||
// create the Zoo logo
|
||||
|> hole(zLogo(startSketchOn('XZ'), [-.30, -1.825], .20), %)
|
||||
|> hole(oLogo(startSketchOn('XZ'), [-.075, -1.825], .20), %)
|
||||
|> hole(oLogo2(startSketchOn('XZ'), [-.075, -1.825], .20), %)
|
||||
|> hole(oLogo(startSketchOn('XZ'), [.175, -1.825], .20), %)
|
||||
|> hole(oLogo2(startSketchOn('XZ'), [.175, -1.825], .20), %)
|
||||
|
||||
case = extrude(sketch005, length = -0.0625)
|
||||
|> appearance(color = '#D0FF01', metalness = 0, roughness = 50)
|
||||
|
||||
return case
|
||||
}
|
@ -21,6 +21,7 @@ export antennaBaseWidth = .5
|
||||
export antennaBaseHeight = .25
|
||||
export antennaTopWidth = .30
|
||||
export antennaTopHeight = .05
|
||||
export antennaLength = 3
|
||||
|
||||
// button
|
||||
export buttonWidth = .15
|
||||
|
@ -1,29 +1,16 @@
|
||||
// Walkie talkie knob
|
||||
// Walkie Talkie Frequency Knob
|
||||
|
||||
|
||||
// Set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
|
||||
// Import constants
|
||||
// import constants
|
||||
import width, thickness, height, knobDiameter, knobHeight, knobRadius from "globals.kcl"
|
||||
|
||||
// Define the plane for the knob
|
||||
knobPlane = {
|
||||
plane = {
|
||||
origin = {
|
||||
x = width / 2 - 0.70,
|
||||
y = -thickness / 2,
|
||||
z = height / 2
|
||||
},
|
||||
xAxis = { x = 1, y = 0, z = 0 },
|
||||
yAxis = { x = 0, y = 0, z = 1 },
|
||||
zAxis = { x = 0, y = 1, z = 0 }
|
||||
}
|
||||
}
|
||||
// set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
// create a function to define the knob
|
||||
export fn knob () {
|
||||
|
||||
// Create the knob sketch and revolve
|
||||
startSketchOn(knobPlane)
|
||||
knob = startSketchOn('XZ')
|
||||
|> startProfileAt([0.0001, 0], %)
|
||||
|> xLine(length = knobDiameter / 2)
|
||||
|> yLine(length = knobHeight - 0.05)
|
||||
@ -34,5 +21,11 @@ startSketchOn(knobPlane)
|
||||
}, %)
|
||||
|> xLine(endAbsolute = 0.0001)
|
||||
|> close()
|
||||
|> revolve(axis = "Y")
|
||||
|> revolve(
|
||||
axis = "Y",
|
||||
)
|
||||
|> appearance(color = '#D0FF01', metalness = 90, roughness = 50)
|
||||
|
||||
return knob
|
||||
|
||||
}
|
@ -1,50 +1,47 @@
|
||||
// Walkie Talkie
|
||||
// A portable, handheld two-way radio device that allows users to communicate wirelessly over short to medium distances. It operates on specific radio frequencies and features a push-to-talk button for transmitting messages, making it ideal for quick and reliable communication in outdoor, work, or emergency settings.
|
||||
|
||||
// Set units
|
||||
// set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
// Import parts and constants
|
||||
import 'body.kcl'
|
||||
import 'antenna.kcl'
|
||||
import 'case.kcl'
|
||||
import 'talk-button.kcl' as talkButton
|
||||
import 'knob.kcl'
|
||||
// import constants
|
||||
import * from 'globals.kcl'
|
||||
|
||||
// import parts and constants
|
||||
import body from 'body.kcl'
|
||||
import case from 'case.kcl'
|
||||
import antenna from 'antenna.kcl'
|
||||
import talkButton from 'talk-button.kcl'
|
||||
import knob from 'knob.kcl'
|
||||
import button from "button.kcl"
|
||||
import width, height, thickness, screenWidth, screenHeight, screenYPosition, tolerance from "globals.kcl"
|
||||
|
||||
// Import the body
|
||||
body
|
||||
// import the body
|
||||
body()
|
||||
|
||||
// Import the case
|
||||
case
|
||||
// import the antenna
|
||||
antenna()
|
||||
|> translate(translate = [-width / 2 + .45, -0.10, height/2])
|
||||
|
||||
// Import the antenna
|
||||
antenna
|
||||
|
||||
// Import the buttons
|
||||
button([
|
||||
-(screenWidth / 2 + tolerance),
|
||||
screenYPosition
|
||||
], 0, offsetPlane("XZ", offset = thickness))
|
||||
button([
|
||||
-(screenWidth / 2 + tolerance),
|
||||
screenYPosition - (screenHeight / 2)
|
||||
], 0, offsetPlane("XZ", offset = thickness))
|
||||
button([
|
||||
screenWidth / 2 + tolerance,
|
||||
screenYPosition - screenHeight
|
||||
], 180, offsetPlane("XZ", offset = thickness))
|
||||
button([
|
||||
screenWidth / 2 + tolerance,
|
||||
screenYPosition - (screenHeight / 2)
|
||||
], 180, offsetPlane("XZ", offset = thickness))
|
||||
|
||||
// Import the talk button
|
||||
talkButton
|
||||
|
||||
// Import the frequency knob
|
||||
knob
|
||||
// import the case
|
||||
case()
|
||||
|> translate(translate = [0, -1, 0])
|
||||
|
||||
// import the talk button
|
||||
talkButton()
|
||||
|> translate(translate = [width / 2, -thickness / 2, .5])
|
||||
|
||||
// import the frequency knob
|
||||
knob()
|
||||
|> translate(translate = [width / 2 - 0.70, -thickness / 2, height / 2])
|
||||
|
||||
// import the buttons
|
||||
button()
|
||||
|> translate(translate = [-(screenWidth / 2 + tolerance), -1, screenYPosition])
|
||||
button()
|
||||
|> translate(translate = [-(screenWidth / 2 + tolerance), -1, screenYPosition - buttonHeight - tolerance*2])
|
||||
button()
|
||||
|> rotate(%, roll = 0, pitch = 180, yaw = 0)
|
||||
|> translate(translate = [screenWidth / 2 + tolerance, -1, screenYPosition - buttonHeight], global = true)
|
||||
button()
|
||||
|> rotate(%, roll = 0, pitch = 180, yaw = 0)
|
||||
|> translate(translate = [screenWidth / 2 + tolerance, -1, screenYPosition - buttonHeight*2 - tolerance * 2], global = true)
|
@ -1,28 +1,16 @@
|
||||
// Walkie talkie talk button
|
||||
|
||||
|
||||
// Set units
|
||||
// set units
|
||||
@settings(defaultLengthUnit = in)
|
||||
|
||||
|
||||
// Import constants
|
||||
// import constants
|
||||
import width, thickness, talkButtonSideLength, talkButtonHeight from "globals.kcl"
|
||||
|
||||
talkButtonPlane = {
|
||||
plane = {
|
||||
origin = {
|
||||
x = width / 2,
|
||||
y = -thickness / 2,
|
||||
z = .5
|
||||
},
|
||||
xAxis = { x = 0, y = 1, z = 0 },
|
||||
yAxis = { x = 0, y = 0, z = 1 },
|
||||
zAxis = { x = 1, y = 0, z = 0 }
|
||||
}
|
||||
}
|
||||
export fn talkButton() {
|
||||
|
||||
// Create the talk button sketch
|
||||
talkButtonSketch = startSketchOn(talkButtonPlane)
|
||||
// create the talk button sketch
|
||||
talkButtonSketch = startSketchOn('YZ')
|
||||
|> startProfileAt([
|
||||
-talkButtonSideLength / 2,
|
||||
talkButtonSideLength / 2
|
||||
@ -32,8 +20,8 @@ talkButtonSketch = startSketchOn(talkButtonPlane)
|
||||
|> xLine(length = -talkButtonSideLength, tag = $tag3)
|
||||
|> close(tag = $tag4)
|
||||
|
||||
// Create the talk button and apply fillets
|
||||
extrude(talkButtonSketch, length = talkButtonHeight)
|
||||
// create the talk button and apply fillets
|
||||
talkButton = extrude(talkButtonSketch, length = talkButtonHeight)
|
||||
|> fillet(
|
||||
radius = 0.050,
|
||||
tags = [
|
||||
@ -44,3 +32,6 @@ extrude(talkButtonSketch, length = talkButtonHeight)
|
||||
]
|
||||
)
|
||||
|> appearance(color = '#D0FF01', metalness = 90, roughness = 90)
|
||||
|
||||
return talkButton
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Zoo logo
|
||||
|
||||
// Define a function to draw the ZOO "Z"
|
||||
// define a function to draw the ZOO "Z"
|
||||
export fn zLogo(surface, origin, scale) {
|
||||
zSketch = surface
|
||||
|> startProfileAt([
|
||||
@ -39,7 +39,7 @@ export fn zLogo(surface, origin, scale) {
|
||||
return zSketch
|
||||
}
|
||||
|
||||
// Define a function to draw the ZOO "O"
|
||||
// define a function to draw the ZOO "O"
|
||||
export fn oLogo(surface, origin, scale) {
|
||||
oSketch001 = surface
|
||||
|> startProfileAt([
|
||||
|
20
rust/Cargo.lock
generated
@ -1780,7 +1780,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "kcl-bumper"
|
||||
version = "0.1.51"
|
||||
version = "0.1.52"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@ -1791,7 +1791,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "kcl-derive-docs"
|
||||
version = "0.1.51"
|
||||
version = "0.1.52"
|
||||
dependencies = [
|
||||
"Inflector",
|
||||
"anyhow",
|
||||
@ -1810,7 +1810,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "kcl-directory-test-macro"
|
||||
version = "0.1.51"
|
||||
version = "0.1.52"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -1819,7 +1819,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "kcl-language-server"
|
||||
version = "0.2.51"
|
||||
version = "0.2.52"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@ -1840,7 +1840,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "kcl-language-server-release"
|
||||
version = "0.1.51"
|
||||
version = "0.1.52"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@ -1860,7 +1860,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "kcl-lib"
|
||||
version = "0.2.51"
|
||||
version = "0.2.52"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"approx 0.5.1",
|
||||
@ -1928,7 +1928,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "kcl-python-bindings"
|
||||
version = "0.3.51"
|
||||
version = "0.3.52"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"kcl-lib",
|
||||
@ -1943,7 +1943,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "kcl-test-server"
|
||||
version = "0.1.51"
|
||||
version = "0.1.52"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"hyper 0.14.32",
|
||||
@ -1956,7 +1956,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "kcl-to-core"
|
||||
version = "0.1.51"
|
||||
version = "0.1.52"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@ -1970,7 +1970,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "kcl-wasm-lib"
|
||||
version = "0.1.51"
|
||||
version = "0.1.52"
|
||||
dependencies = [
|
||||
"bson",
|
||||
"console_error_panic_hook",
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
[package]
|
||||
name = "kcl-bumper"
|
||||
version = "0.1.51"
|
||||
version = "0.1.52"
|
||||
edition = "2021"
|
||||
repository = "https://github.com/KittyCAD/modeling-api"
|
||||
rust-version = "1.76"
|
||||
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "kcl-derive-docs"
|
||||
description = "A tool for generating documentation from Rust derive macros"
|
||||
version = "0.1.51"
|
||||
version = "0.1.52"
|
||||
edition = "2021"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/KittyCAD/modeling-app"
|
||||
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "kcl-directory-test-macro"
|
||||
description = "A tool for generating tests from a directory of kcl files"
|
||||
version = "0.1.51"
|
||||
version = "0.1.52"
|
||||
edition = "2021"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/KittyCAD/modeling-app"
|
||||
|
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "kcl-language-server-release"
|
||||
version = "0.1.51"
|
||||
version = "0.1.52"
|
||||
edition = "2021"
|
||||
authors = ["KittyCAD Inc <kcl@kittycad.io>"]
|
||||
publish = false
|
||||
|
@ -2,7 +2,7 @@
|
||||
name = "kcl-language-server"
|
||||
description = "A language server for KCL."
|
||||
authors = ["KittyCAD Inc <kcl@kittycad.io>"]
|
||||
version = "0.2.51"
|
||||
version = "0.2.52"
|
||||
edition = "2021"
|
||||
license = "MIT"
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
@ -133,14 +133,14 @@
|
||||
"@tsconfig/strictest": "^2.0.5",
|
||||
"@types/glob": "^8.1.0",
|
||||
"@types/mocha": "^10.0.10",
|
||||
"@types/node": "^22.13.9",
|
||||
"@types/node": "^22.13.10",
|
||||
"@types/vscode": "^1.97.0",
|
||||
"@typescript-eslint/eslint-plugin": "^6.6.0",
|
||||
"@typescript-eslint/parser": "^6.6.0",
|
||||
"@vscode/test-electron": "^2.4.1",
|
||||
"@vscode/vsce": "^2.30.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"esbuild": "^0.25.0",
|
||||
"esbuild": "^0.25.1",
|
||||
"glob": "^10.4.3",
|
||||
"mocha": "^11.1.0",
|
||||
"typescript": "^5.8.2"
|
||||
|
@ -120,130 +120,130 @@
|
||||
jsonwebtoken "^9.0.0"
|
||||
uuid "^8.3.0"
|
||||
|
||||
"@esbuild/aix-ppc64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz#499600c5e1757a524990d5d92601f0ac3ce87f64"
|
||||
integrity sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==
|
||||
"@esbuild/aix-ppc64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz#c33cf6bbee34975626b01b80451cbb72b4c6c91d"
|
||||
integrity sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==
|
||||
|
||||
"@esbuild/android-arm64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz#b9b8231561a1dfb94eb31f4ee056b92a985c324f"
|
||||
integrity sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==
|
||||
"@esbuild/android-arm64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz#ea766015c7d2655164f22100d33d7f0308a28d6d"
|
||||
integrity sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==
|
||||
|
||||
"@esbuild/android-arm@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.0.tgz#ca6e7888942505f13e88ac9f5f7d2a72f9facd2b"
|
||||
integrity sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==
|
||||
"@esbuild/android-arm@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.1.tgz#e84d2bf2fe2e6177a0facda3a575b2139fd3cb9c"
|
||||
integrity sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==
|
||||
|
||||
"@esbuild/android-x64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.0.tgz#e765ea753bac442dfc9cb53652ce8bd39d33e163"
|
||||
integrity sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==
|
||||
"@esbuild/android-x64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.1.tgz#58337bee3bc6d78d10425e5500bd11370cfdfbed"
|
||||
integrity sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==
|
||||
|
||||
"@esbuild/darwin-arm64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz#fa394164b0d89d4fdc3a8a21989af70ef579fa2c"
|
||||
integrity sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==
|
||||
"@esbuild/darwin-arm64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz#a46805c1c585d451aa83be72500bd6e8495dd591"
|
||||
integrity sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==
|
||||
|
||||
"@esbuild/darwin-x64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz#91979d98d30ba6e7d69b22c617cc82bdad60e47a"
|
||||
integrity sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==
|
||||
"@esbuild/darwin-x64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz#0643e003bb238c63fc93ddbee7d26a003be3cd98"
|
||||
integrity sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==
|
||||
|
||||
"@esbuild/freebsd-arm64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz#b97e97073310736b430a07b099d837084b85e9ce"
|
||||
integrity sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==
|
||||
"@esbuild/freebsd-arm64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz#cff18da5469c09986b93e87979de5d6872fe8f8e"
|
||||
integrity sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==
|
||||
|
||||
"@esbuild/freebsd-x64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz#f3b694d0da61d9910ec7deff794d444cfbf3b6e7"
|
||||
integrity sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==
|
||||
"@esbuild/freebsd-x64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz#362fc09c2de14987621c1878af19203c46365dde"
|
||||
integrity sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==
|
||||
|
||||
"@esbuild/linux-arm64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz#f921f699f162f332036d5657cad9036f7a993f73"
|
||||
integrity sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==
|
||||
"@esbuild/linux-arm64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz#aa90d5b02efc97a271e124e6d1cea490634f7498"
|
||||
integrity sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==
|
||||
|
||||
"@esbuild/linux-arm@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz#cc49305b3c6da317c900688995a4050e6cc91ca3"
|
||||
integrity sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==
|
||||
"@esbuild/linux-arm@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz#dfcefcbac60a20918b19569b4b657844d39db35a"
|
||||
integrity sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==
|
||||
|
||||
"@esbuild/linux-ia32@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz#3e0736fcfab16cff042dec806247e2c76e109e19"
|
||||
integrity sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==
|
||||
"@esbuild/linux-ia32@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz#6f9527077ccb7953ed2af02e013d4bac69f13754"
|
||||
integrity sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==
|
||||
|
||||
"@esbuild/linux-loong64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz#ea2bf730883cddb9dfb85124232b5a875b8020c7"
|
||||
integrity sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==
|
||||
"@esbuild/linux-loong64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz#287d2412a5456e5860c2839d42a4b51284d1697c"
|
||||
integrity sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==
|
||||
|
||||
"@esbuild/linux-mips64el@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz#4cababb14eede09248980a2d2d8b966464294ff1"
|
||||
integrity sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==
|
||||
"@esbuild/linux-mips64el@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz#530574b9e1bc5d20f7a4f44c5f045e26f3783d57"
|
||||
integrity sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==
|
||||
|
||||
"@esbuild/linux-ppc64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz#8860a4609914c065373a77242e985179658e1951"
|
||||
integrity sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==
|
||||
"@esbuild/linux-ppc64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz#5d7e6b283a0b321ea42c6bc0abeb9eb99c1f5589"
|
||||
integrity sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==
|
||||
|
||||
"@esbuild/linux-riscv64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz#baf26e20bb2d38cfb86ee282dff840c04f4ed987"
|
||||
integrity sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==
|
||||
"@esbuild/linux-riscv64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz#14fa0cd073c26b4ee2465d18cd1e18eea7859fa8"
|
||||
integrity sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==
|
||||
|
||||
"@esbuild/linux-s390x@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz#8323afc0d6cb1b6dc6e9fd21efd9e1542c3640a4"
|
||||
integrity sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==
|
||||
"@esbuild/linux-s390x@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz#e677b4b9d1b384098752266ccaa0d52a420dc1aa"
|
||||
integrity sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==
|
||||
|
||||
"@esbuild/linux-x64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz#08fcf60cb400ed2382e9f8e0f5590bac8810469a"
|
||||
integrity sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==
|
||||
"@esbuild/linux-x64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz#f1c796b78fff5ce393658313e8c58613198d9954"
|
||||
integrity sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==
|
||||
|
||||
"@esbuild/netbsd-arm64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz#935c6c74e20f7224918fbe2e6c6fe865b6c6ea5b"
|
||||
integrity sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==
|
||||
"@esbuild/netbsd-arm64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz#0d280b7dfe3973f111b02d5fe9f3063b92796d29"
|
||||
integrity sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==
|
||||
|
||||
"@esbuild/netbsd-x64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz#414677cef66d16c5a4d210751eb2881bb9c1b62b"
|
||||
integrity sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==
|
||||
"@esbuild/netbsd-x64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz#be663893931a4bb3f3a009c5cc24fa9681cc71c0"
|
||||
integrity sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==
|
||||
|
||||
"@esbuild/openbsd-arm64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz#8fd55a4d08d25cdc572844f13c88d678c84d13f7"
|
||||
integrity sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==
|
||||
"@esbuild/openbsd-arm64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz#d9021b884233673a05dc1cc26de0bf325d824217"
|
||||
integrity sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==
|
||||
|
||||
"@esbuild/openbsd-x64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz#0c48ddb1494bbc2d6bcbaa1429a7f465fa1dedde"
|
||||
integrity sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==
|
||||
"@esbuild/openbsd-x64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz#9f1dc1786ed2e2938c404b06bcc48be9a13250de"
|
||||
integrity sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==
|
||||
|
||||
"@esbuild/sunos-x64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz#86ff9075d77962b60dd26203d7352f92684c8c92"
|
||||
integrity sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==
|
||||
"@esbuild/sunos-x64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz#89aac24a4b4115959b3f790192cf130396696c27"
|
||||
integrity sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==
|
||||
|
||||
"@esbuild/win32-arm64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz#849c62327c3229467f5b5cd681bf50588442e96c"
|
||||
integrity sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==
|
||||
"@esbuild/win32-arm64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz#354358647a6ea98ea6d243bf48bdd7a434999582"
|
||||
integrity sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==
|
||||
|
||||
"@esbuild/win32-ia32@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz#f62eb480cd7cca088cb65bb46a6db25b725dc079"
|
||||
integrity sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==
|
||||
"@esbuild/win32-ia32@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz#8cea7340f2647eba951a041dc95651e3908cd4cb"
|
||||
integrity sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==
|
||||
|
||||
"@esbuild/win32-x64@0.25.0":
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz#c8e119a30a7c8d60b9d2e22d2073722dde3b710b"
|
||||
integrity sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==
|
||||
"@esbuild/win32-x64@0.25.1":
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz#7d79922cb2d88f9048f06393dbf62d2e4accb584"
|
||||
integrity sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==
|
||||
|
||||
"@eslint-community/eslint-utils@^4.4.0":
|
||||
version "4.4.1"
|
||||
@ -323,10 +323,10 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0"
|
||||
integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==
|
||||
|
||||
"@types/node@*", "@types/node@^22.13.9":
|
||||
version "22.13.9"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.13.9.tgz#5d9a8f7a975a5bd3ef267352deb96fb13ec02eca"
|
||||
integrity sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==
|
||||
"@types/node@*", "@types/node@^22.13.10":
|
||||
version "22.13.10"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.13.10.tgz#df9ea358c5ed991266becc3109dc2dc9125d77e4"
|
||||
integrity sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==
|
||||
dependencies:
|
||||
undici-types "~6.20.0"
|
||||
|
||||
@ -1025,36 +1025,36 @@ es-errors@^1.3.0:
|
||||
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
|
||||
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
|
||||
|
||||
esbuild@^0.25.0:
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.0.tgz#0de1787a77206c5a79eeb634a623d39b5006ce92"
|
||||
integrity sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==
|
||||
esbuild@^0.25.1:
|
||||
version "0.25.1"
|
||||
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.1.tgz#a16b8d070b6ad4871935277bda6ccfe852e3fa2f"
|
||||
integrity sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==
|
||||
optionalDependencies:
|
||||
"@esbuild/aix-ppc64" "0.25.0"
|
||||
"@esbuild/android-arm" "0.25.0"
|
||||
"@esbuild/android-arm64" "0.25.0"
|
||||
"@esbuild/android-x64" "0.25.0"
|
||||
"@esbuild/darwin-arm64" "0.25.0"
|
||||
"@esbuild/darwin-x64" "0.25.0"
|
||||
"@esbuild/freebsd-arm64" "0.25.0"
|
||||
"@esbuild/freebsd-x64" "0.25.0"
|
||||
"@esbuild/linux-arm" "0.25.0"
|
||||
"@esbuild/linux-arm64" "0.25.0"
|
||||
"@esbuild/linux-ia32" "0.25.0"
|
||||
"@esbuild/linux-loong64" "0.25.0"
|
||||
"@esbuild/linux-mips64el" "0.25.0"
|
||||
"@esbuild/linux-ppc64" "0.25.0"
|
||||
"@esbuild/linux-riscv64" "0.25.0"
|
||||
"@esbuild/linux-s390x" "0.25.0"
|
||||
"@esbuild/linux-x64" "0.25.0"
|
||||
"@esbuild/netbsd-arm64" "0.25.0"
|
||||
"@esbuild/netbsd-x64" "0.25.0"
|
||||
"@esbuild/openbsd-arm64" "0.25.0"
|
||||
"@esbuild/openbsd-x64" "0.25.0"
|
||||
"@esbuild/sunos-x64" "0.25.0"
|
||||
"@esbuild/win32-arm64" "0.25.0"
|
||||
"@esbuild/win32-ia32" "0.25.0"
|
||||
"@esbuild/win32-x64" "0.25.0"
|
||||
"@esbuild/aix-ppc64" "0.25.1"
|
||||
"@esbuild/android-arm" "0.25.1"
|
||||
"@esbuild/android-arm64" "0.25.1"
|
||||
"@esbuild/android-x64" "0.25.1"
|
||||
"@esbuild/darwin-arm64" "0.25.1"
|
||||
"@esbuild/darwin-x64" "0.25.1"
|
||||
"@esbuild/freebsd-arm64" "0.25.1"
|
||||
"@esbuild/freebsd-x64" "0.25.1"
|
||||
"@esbuild/linux-arm" "0.25.1"
|
||||
"@esbuild/linux-arm64" "0.25.1"
|
||||
"@esbuild/linux-ia32" "0.25.1"
|
||||
"@esbuild/linux-loong64" "0.25.1"
|
||||
"@esbuild/linux-mips64el" "0.25.1"
|
||||
"@esbuild/linux-ppc64" "0.25.1"
|
||||
"@esbuild/linux-riscv64" "0.25.1"
|
||||
"@esbuild/linux-s390x" "0.25.1"
|
||||
"@esbuild/linux-x64" "0.25.1"
|
||||
"@esbuild/netbsd-arm64" "0.25.1"
|
||||
"@esbuild/netbsd-x64" "0.25.1"
|
||||
"@esbuild/openbsd-arm64" "0.25.1"
|
||||
"@esbuild/openbsd-x64" "0.25.1"
|
||||
"@esbuild/sunos-x64" "0.25.1"
|
||||
"@esbuild/win32-arm64" "0.25.1"
|
||||
"@esbuild/win32-ia32" "0.25.1"
|
||||
"@esbuild/win32-x64" "0.25.1"
|
||||
|
||||
escalade@^3.1.1:
|
||||
version "3.1.2"
|
||||
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "kcl-lib"
|
||||
description = "KittyCAD Language implementation and tools"
|
||||
version = "0.2.51"
|
||||
version = "0.2.52"
|
||||
edition = "2021"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/KittyCAD/modeling-app"
|
||||
|
@ -23,7 +23,9 @@ use crate::{
|
||||
const TYPES_DIR: &str = "../../docs/kcl/types";
|
||||
const LANG_TOPICS: [&str; 5] = ["Types", "Modules", "Settings", "Known Issues", "Constants"];
|
||||
// These types are declared in std.
|
||||
const DECLARED_TYPES: [&str; 7] = ["number", "string", "tag", "bool", "Sketch", "Solid", "Plane"];
|
||||
const DECLARED_TYPES: [&str; 11] = [
|
||||
"number", "string", "tag", "bool", "Sketch", "Solid", "Plane", "Helix", "Face", "Point2d", "Point3d",
|
||||
];
|
||||
|
||||
fn init_handlebars() -> Result<handlebars::Handlebars<'static>> {
|
||||
let mut hbs = handlebars::Handlebars::new();
|
||||
@ -457,6 +459,7 @@ fn generate_type_from_kcl(ty: &TyData, file_name: String, example_name: String)
|
||||
|
||||
let data = json!({
|
||||
"name": ty.qual_name(),
|
||||
"definition": ty.alias.as_ref().map(|t| format!("type {} = {t}", ty.name)),
|
||||
"summary": ty.summary,
|
||||
"description": ty.description,
|
||||
"deprecated": ty.properties.deprecated,
|
||||
|