Compare commits
274 Commits
v0.15.0
...
derive-doc
Author | SHA1 | Date | |
---|---|---|---|
e758c6cab0 | |||
c63ea8e445 | |||
7e0e0e1ee1 | |||
db3e2879bd | |||
7804079d8c | |||
571406fca3 | |||
a9e41a616d | |||
9a0b086e07 | |||
358184c634 | |||
85ac8bf7a3 | |||
544a327ee9 | |||
868a560e1a | |||
32a2835d0e | |||
4c93346f48 | |||
bfa8b8aca4 | |||
b1fe2dddb6 | |||
6d3f6c784e | |||
4904785bbd | |||
ca30fd44bd | |||
5d69a62324 | |||
0e04e20b97 | |||
1dac62067a | |||
86de039dc4 | |||
dce5833d79 | |||
f714c19890 | |||
f52128c41a | |||
39566174e7 | |||
3688c8a05e | |||
0025349e9a | |||
d8cc57b843 | |||
e76db4a621 | |||
027e947bd5 | |||
0983dcca22 | |||
846fc99bbc | |||
c258ede25c | |||
4cc1b3d5ed | |||
be0dd1512d | |||
a5156c3f5d | |||
8038b5d7a3 | |||
54b234360e | |||
465d933d53 | |||
ccd0c619a6 | |||
7b570bf525 | |||
44d1c29801 | |||
0e916cfd5b | |||
e773e932b0 | |||
2d39fd32ce | |||
5a585a6c2d | |||
c09d6ee6bd | |||
09b55259ab | |||
68b61c9832 | |||
469ca94437 | |||
1d3850b46a | |||
0358343285 | |||
38b0603fa2 | |||
e48a8b6c5d | |||
73e573b251 | |||
793409d53d | |||
3e9ab16c4b | |||
ab226bc86f | |||
97677e4474 | |||
37fbc8c9ab | |||
29d61da552 | |||
ad2f669ec6 | |||
d66aad8b5d | |||
d8b8710a0d | |||
8f8ba2dca5 | |||
970b0abb54 | |||
06b464816f | |||
08f7bb2811 | |||
197df9f25d | |||
4d387dfaf7 | |||
912b97bea5 | |||
3e4ce44dc9 | |||
c2058a05fa | |||
7a57965690 | |||
c5b115ba97 | |||
90057c2dda | |||
f3e59690d6 | |||
9642a44a02 | |||
252c7651ac | |||
79edcf3826 | |||
b05ac3a05f | |||
1d01ba454b | |||
bf1d6963fe | |||
176ee63cb9 | |||
1ae8059c2b | |||
93f406d005 | |||
e97833f0ed | |||
35417dd8a6 | |||
cf0560dcfb | |||
3659946653 | |||
156c51484a | |||
dc8dd4bc72 | |||
335add67bd | |||
231794a69d | |||
8e5a6bc6fc | |||
4f82121105 | |||
46358b41a2 | |||
59274b76bf | |||
d11d363f19 | |||
f22ad7c4e7 | |||
1913519f68 | |||
4b9d4fd45b | |||
78e6816b06 | |||
6607ea1663 | |||
644a8ef3ca | |||
e3e132c0d5 | |||
be3fed8427 | |||
cefa6f85fe | |||
47ff4623bd | |||
69ff651201 | |||
788ae5dbab | |||
816870253e | |||
4987965731 | |||
042ceb42fd | |||
f40cdabfdf | |||
13cd3e179b | |||
a2176d9a1b | |||
fab5c47978 | |||
61d7950ca3 | |||
0579ccd53b | |||
cede44aacf | |||
e8149fca97 | |||
c571b15318 | |||
d3d2612a3b | |||
17b7c687d4 | |||
5d7d15a385 | |||
4be9f70965 | |||
a60bdd4cc3 | |||
6bab45a56a | |||
2d979b56f5 | |||
dfc51e6c30 | |||
7e40464d10 | |||
83fcdd52a2 | |||
8a30d5ec8f | |||
637c4a7d97 | |||
604446dba3 | |||
ed3952900b | |||
f934a17417 | |||
59fa7b13a5 | |||
8b2bf00641 | |||
73b7d3cc9d | |||
82fb227868 | |||
db5657a298 | |||
cd158f8db0 | |||
0342d1a5b4 | |||
cad64fb780 | |||
fbc458b6e6 | |||
dd852c2652 | |||
3395f34552 | |||
4ac40d5a78 | |||
8ccbb3a419 | |||
77e9a35c4d | |||
0d1852bbc3 | |||
ff9229f55a | |||
5a7f12a06d | |||
06f1257071 | |||
328e7faea9 | |||
5792d3eb2b | |||
15effddf6c | |||
5354ce140a | |||
a994338541 | |||
6c22154df1 | |||
4c18255b70 | |||
42b247bc99 | |||
7d7b176bb7 | |||
9aada41a0d | |||
23971465ce | |||
23e294930b | |||
22cc4c9a98 | |||
fe6478f568 | |||
1989734c3b | |||
f36984f52a | |||
5437538892 | |||
97bd60ae87 | |||
9116d79c50 | |||
b3b5dff60f | |||
55f842d3bd | |||
778478757e | |||
bc303fbaab | |||
d422f09045 | |||
adcf80331a | |||
4fbd7ace98 | |||
0df858b9ca | |||
c6f080c440 | |||
c1a14a107a | |||
3c721f2b29 | |||
61e2a1eddc | |||
6406e27794 | |||
1e382a76dd | |||
06cdaa9ae8 | |||
85c30be333 | |||
4d4a1d66e8 | |||
223b5952aa | |||
fedffbb384 | |||
ed4e3df3b2 | |||
18d200e790 | |||
0c50a5996d | |||
73bca2dcfc | |||
c6a50a3cdf | |||
b81c9d04cc | |||
9d8a7064da | |||
b0e6140e9f | |||
f9df7ff885 | |||
aec9637d7a | |||
e4c5fad8c7 | |||
cc0d601294 | |||
69cefafc19 | |||
b187ca3422 | |||
1edadcaa0f | |||
95c0ded8cf | |||
0ebb4e2cad | |||
f3e0939057 | |||
f5e233d8a0 | |||
1cab3e628f | |||
2ca6ba52b6 | |||
f741ea2e09 | |||
9f2a7781fc | |||
990f2b4154 | |||
0af0f15281 | |||
b558548b94 | |||
29e0f9a270 | |||
9385c32cfb | |||
ce3fb5c353 | |||
f920490518 | |||
d681e667ee | |||
5c6515a60e | |||
eb8a33312d | |||
d351b3bbe4 | |||
47d40eb801 | |||
adc4b6148d | |||
27d0d4a28b | |||
fb609c19ef | |||
8666989c85 | |||
bdf49c2084 | |||
a06b9d560a | |||
b81ff66f2b | |||
c0e6947170 | |||
65ebde0b34 | |||
0d6618b60a | |||
f0c44d11b3 | |||
44e71cd4bc | |||
a9f716dad8 | |||
a2455832e7 | |||
8f5034f997 | |||
af1c2c7ae1 | |||
ff38ae091e | |||
1dd7c95b8c | |||
20042ec87c | |||
fccf3508a7 | |||
8dab5527b8 | |||
f72eb0e8a7 | |||
40479d177f | |||
b88359dee2 | |||
f4c0347104 | |||
ad36b5f5fa | |||
b798cf19d3 | |||
7cfa897561 | |||
0d8804005a | |||
cbd26d29fa | |||
e501a542ac | |||
7cb4f4d101 | |||
1162f5f4c4 | |||
3975e6d8f5 | |||
d68d7a7e00 | |||
b135b97de6 | |||
de5885ce0b | |||
ad7c544754 | |||
4d77875bdc | |||
3377923dcb | |||
c6005660c8 | |||
66e62c6037 | |||
0a4a517bb4 |
@ -1,3 +1,3 @@
|
|||||||
[codespell]
|
[codespell]
|
||||||
ignore-words-list: crate,everytime,inout,co-ordinate,ot,nwo
|
ignore-words-list: crate,everytime,inout,co-ordinate,ot,nwo,absolutey
|
||||||
skip: **/target,node_modules,build,**/Cargo.lock
|
skip: **/target,node_modules,build,**/Cargo.lock,./docs/kcl/*.md
|
||||||
|
@ -3,4 +3,3 @@ VITE_KC_API_BASE_URL=https://api.dev.zoo.dev
|
|||||||
VITE_KC_SITE_BASE_URL=https://dev.zoo.dev
|
VITE_KC_SITE_BASE_URL=https://dev.zoo.dev
|
||||||
VITE_KC_SKIP_AUTH=false
|
VITE_KC_SKIP_AUTH=false
|
||||||
VITE_KC_CONNECTION_TIMEOUT_MS=5000
|
VITE_KC_CONNECTION_TIMEOUT_MS=5000
|
||||||
VITE_KC_SENTRY_DSN=
|
|
||||||
|
@ -3,4 +3,3 @@ VITE_KC_API_BASE_URL=https://api.zoo.dev
|
|||||||
VITE_KC_SITE_BASE_URL=https://zoo.dev
|
VITE_KC_SITE_BASE_URL=https://zoo.dev
|
||||||
VITE_KC_SKIP_AUTH=false
|
VITE_KC_SKIP_AUTH=false
|
||||||
VITE_KC_CONNECTION_TIMEOUT_MS=15000
|
VITE_KC_CONNECTION_TIMEOUT_MS=15000
|
||||||
VITE_KC_SENTRY_DSN=https://a814f2f66734989a90367f48feee28ca@o1042111.ingest.sentry.io/4505789425844224
|
|
||||||
|
85
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
name: Bug Report
|
||||||
|
description: File a bug report for the Zoo Modeling App
|
||||||
|
title: "[BUG]: "
|
||||||
|
labels: ["bug"]
|
||||||
|
assignees: []
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: "Thank you for taking the time to report a bug. Please provide as much information as possible to help us resolve it."
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: describe-bug
|
||||||
|
attributes:
|
||||||
|
label: Describe the bug
|
||||||
|
description: A clear and concise description of what the bug is.
|
||||||
|
placeholder: "Explain the bug..."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: reproduce-bug
|
||||||
|
attributes:
|
||||||
|
label: Steps to Reproduce
|
||||||
|
description: Steps to reproduce the behavior.
|
||||||
|
placeholder: |
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: expected-behavior
|
||||||
|
attributes:
|
||||||
|
label: Expected Behavior
|
||||||
|
description: Description of what you expected to happen.
|
||||||
|
placeholder: "I expected that..."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: screenshots
|
||||||
|
attributes:
|
||||||
|
label: Screenshots and Recordings
|
||||||
|
description: If applicable, add screenshots to help explain your problem. Maximum upload size is 10MB.
|
||||||
|
placeholder: "You can attach images or video recordings here."
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: desktop-os
|
||||||
|
attributes:
|
||||||
|
label: Desktop OS
|
||||||
|
description: "Your operating system"
|
||||||
|
placeholder: "example: Windows 10, MacOS Big Sur"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: browser
|
||||||
|
attributes:
|
||||||
|
label: Browser
|
||||||
|
description: "If you are using the web version, please specify the browser you are using."
|
||||||
|
placeholder: "example: Chrome, Safari"
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: version
|
||||||
|
attributes:
|
||||||
|
label: Version
|
||||||
|
description: "The version of the Zoo Modeling App you're using."
|
||||||
|
placeholder: "example: v0.15.0. You can find this in the settings."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: Additional Context
|
||||||
|
description: Add any other context about the problem here.
|
||||||
|
placeholder: "Anything else you want to add..."
|
||||||
|
validations:
|
||||||
|
required: false
|
29
.github/workflows/announce_release.yml
vendored
@ -1,29 +0,0 @@
|
|||||||
name: Announce Release
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [published]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
announce_release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Check out code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: '3.x'
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
python -m pip install --upgrade pip
|
|
||||||
pip install requests
|
|
||||||
|
|
||||||
- name: Announce Release
|
|
||||||
env:
|
|
||||||
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
|
|
||||||
RELEASE_VERSION: ${{ github.event.release.tag_name }}
|
|
||||||
RELEASE_BODY: ${{ github.event.release.body}}
|
|
||||||
run: python public/announce_release.py
|
|
50
.github/workflows/cargo-build.yml
vendored
@ -1,50 +0,0 @@
|
|||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- '**.rs'
|
|
||||||
- '**/Cargo.toml'
|
|
||||||
- '**/Cargo.lock'
|
|
||||||
- '**/rust-toolchain.toml'
|
|
||||||
- .github/workflows/cargo-build.yml
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- '**.rs'
|
|
||||||
- '**/Cargo.toml'
|
|
||||||
- '**/Cargo.lock'
|
|
||||||
- '**/rust-toolchain.toml'
|
|
||||||
- .github/workflows/cargo-build.yml
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
name: cargo build
|
|
||||||
jobs:
|
|
||||||
cargobuild:
|
|
||||||
name: cargo build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
dir: ['src/wasm-lib']
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Install latest rust
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: install dependencies
|
|
||||||
if: matrix.dir == 'src-tauri'
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
|
|
||||||
- name: Rust Cache
|
|
||||||
uses: Swatinem/rust-cache@v2.6.1
|
|
||||||
|
|
||||||
- name: Run cargo build
|
|
||||||
run: |
|
|
||||||
cd "${{ matrix.dir }}"
|
|
||||||
cargo build --all
|
|
||||||
shell: bash
|
|
6
.github/workflows/cargo-clippy.yml
vendored
@ -9,12 +9,6 @@ on:
|
|||||||
- '**.rs'
|
- '**.rs'
|
||||||
- .github/workflows/cargo-clippy.yml
|
- .github/workflows/cargo-clippy.yml
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
|
||||||
- '**/Cargo.toml'
|
|
||||||
- '**/Cargo.lock'
|
|
||||||
- '**/rust-toolchain.toml'
|
|
||||||
- '**.rs'
|
|
||||||
- .github/workflows/cargo-build.yml
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
31
.github/workflows/cargo-test.yml
vendored
@ -3,14 +3,15 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths:
|
paths:
|
||||||
- '**.rs'
|
- 'src/wasm-lib/**.rs'
|
||||||
- '**/Cargo.toml'
|
- '**/Cargo.toml'
|
||||||
- '**/Cargo.lock'
|
- '**/Cargo.lock'
|
||||||
- '**/rust-toolchain.toml'
|
- '**/rust-toolchain.toml'
|
||||||
- .github/workflows/cargo-test.yml
|
- .github/workflows/cargo-test.yml
|
||||||
|
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- '**.rs'
|
- 'src/wasm-lib/**.rs'
|
||||||
- '**/Cargo.toml'
|
- '**/Cargo.toml'
|
||||||
- '**/Cargo.lock'
|
- '**/Cargo.lock'
|
||||||
- '**/rust-toolchain.toml'
|
- '**/rust-toolchain.toml'
|
||||||
@ -20,7 +21,7 @@ permissions: read-all
|
|||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
name: cargo test
|
name: cargo test of wasm-lib
|
||||||
jobs:
|
jobs:
|
||||||
cargotest:
|
cargotest:
|
||||||
name: cargo test
|
name: cargo test
|
||||||
@ -40,6 +41,20 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
|
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
|
||||||
|
- name: Install vector
|
||||||
|
run: |
|
||||||
|
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: taiki-e/install-action@cargo-llvm-cov
|
- uses: taiki-e/install-action@cargo-llvm-cov
|
||||||
- uses: taiki-e/install-action@nextest
|
- uses: taiki-e/install-action@nextest
|
||||||
- name: Rust Cache
|
- name: Rust Cache
|
||||||
@ -48,8 +63,16 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |-
|
run: |-
|
||||||
cd "${{ matrix.dir }}"
|
cd "${{ matrix.dir }}"
|
||||||
cargo nextest run --workspace --no-fail-fast -P ci
|
cargo llvm-cov nextest --all --lcov --output-path lcov.info --test-threads=1 --no-fail-fast -P ci 2>&1 | tee /tmp/github-actions.log
|
||||||
env:
|
env:
|
||||||
KITTYCAD_API_TOKEN: ${{secrets.KITTYCAD_API_TOKEN}}
|
KITTYCAD_API_TOKEN: ${{secrets.KITTYCAD_API_TOKEN}}
|
||||||
RUST_MIN_STACK: 10485760000
|
RUST_MIN_STACK: 10485760000
|
||||||
|
- name: Upload to codecov.io
|
||||||
|
uses: codecov/codecov-action@v4
|
||||||
|
with:
|
||||||
|
token: ${{secrets.CODECOV_TOKEN}}
|
||||||
|
fail_ci_if_error: true
|
||||||
|
flags: wasm-lib
|
||||||
|
verbose: true
|
||||||
|
files: lcov.info
|
||||||
|
|
||||||
|
36
.github/workflows/check-exampleKcl.yml
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
name: Check Onboarding KCL
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize]
|
||||||
|
paths:
|
||||||
|
- 'src/lib/exampleKcl.ts'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
comment:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Comment on PR
|
||||||
|
uses: actions/github-script@v7
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const message = '`src/lib/exampleKcl.ts` has been updated in this PR, please review and update the `src/routes/onboarding`, if needed.';
|
||||||
|
const issue_number = context.payload.pull_request.number;
|
||||||
|
const owner = context.repo.owner;
|
||||||
|
const repo = context.repo.repo;
|
||||||
|
|
||||||
|
// Post a comment on the PR
|
||||||
|
await github.rest.issues.createComment({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
issue_number,
|
||||||
|
body: message,
|
||||||
|
});
|
31
.github/workflows/ci.yml
vendored
@ -86,8 +86,6 @@ jobs:
|
|||||||
|
|
||||||
- run: yarn test:nowatch
|
- run: yarn test:nowatch
|
||||||
|
|
||||||
- run: yarn test:cov
|
|
||||||
|
|
||||||
|
|
||||||
prepare-json-files:
|
prepare-json-files:
|
||||||
runs-on: ubuntu-latest # seperate job on Ubuntu for easy string manipulations (compared to Windows)
|
runs-on: ubuntu-latest # seperate job on Ubuntu for easy string manipulations (compared to Windows)
|
||||||
@ -338,7 +336,7 @@ jobs:
|
|||||||
cat last_download.json
|
cat last_download.json
|
||||||
|
|
||||||
- name: Authenticate to Google Cloud
|
- name: Authenticate to Google Cloud
|
||||||
uses: 'google-github-actions/auth@v2.1.1'
|
uses: 'google-github-actions/auth@v2.1.2'
|
||||||
with:
|
with:
|
||||||
credentials_json: '${{ secrets.GOOGLE_CLOUD_DL_SA }}'
|
credentials_json: '${{ secrets.GOOGLE_CLOUD_DL_SA }}'
|
||||||
|
|
||||||
@ -369,6 +367,31 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload release files to Github
|
- name: Upload release files to Github
|
||||||
if: ${{ github.event_name == 'release' }}
|
if: ${{ github.event_name == 'release' }}
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
files: 'artifact/*/Zoo*'
|
files: 'artifact/*/Zoo*'
|
||||||
|
|
||||||
|
announce_release:
|
||||||
|
needs: [publish-apps-release]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.x'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install requests
|
||||||
|
|
||||||
|
- name: Announce Release
|
||||||
|
env:
|
||||||
|
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
|
||||||
|
RELEASE_VERSION: ${{ github.event.release.tag_name }}
|
||||||
|
RELEASE_BODY: ${{ github.event.release.body}}
|
||||||
|
run: python public/announce_release.py
|
||||||
|
62
.github/workflows/generate-website-docs.yml
vendored
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- .github/workflows/generate-website-docs.yml
|
||||||
|
- 'docs/**'
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- .github/workflows/generate-website-docs.yml
|
||||||
|
workflow_dispatch:
|
||||||
|
name: generate-website-docs
|
||||||
|
concurrency:
|
||||||
|
group: docs-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
jobs:
|
||||||
|
generate-website-docs:
|
||||||
|
name: generate-website-docs
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: actions/create-github-app-token@v1
|
||||||
|
id: app-token
|
||||||
|
with:
|
||||||
|
# required
|
||||||
|
app-id: ${{ secrets.GH_ORG_APP_ID }}
|
||||||
|
private-key: ${{ secrets.GH_ORG_APP_PRIVATE_KEY }}
|
||||||
|
owner: ${{ github.repository_owner }}
|
||||||
|
# Checkout the docs repo since we will want to update the files there.
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: 'kittycad/documentation'
|
||||||
|
path: 'documentation'
|
||||||
|
token: ${{ steps.app-token.outputs.token }}
|
||||||
|
- name: move docs to docs
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p documentation/content/pages/docs/kcl/
|
||||||
|
# cleanup old
|
||||||
|
rm -rf documentation/content/pages/docs/kcl/*.md
|
||||||
|
# move new
|
||||||
|
mv -f docs/kcl/*.md documentation/content/pages/docs/kcl/
|
||||||
|
- name: commit the changes in the docs repo
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd documentation
|
||||||
|
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
||||||
|
git config --local user.name "github-actions[bot]"
|
||||||
|
git add .
|
||||||
|
git commit -am "YOYO NEW KCL DOCS!!" || exit 0
|
||||||
|
git fetch origin
|
||||||
|
git rebase origin/main || exit 0
|
||||||
|
export NEW_BRANCH="update-kcl-docs"
|
||||||
|
git checkout -b "$NEW_BRANCH"
|
||||||
|
git push -f origin "$NEW_BRANCH"
|
||||||
|
gh pr create --title "Update KCL docs" \
|
||||||
|
--body "Updating the generated kcl docs cc @jessfraz @franknoirot merge this" \
|
||||||
|
--head "$NEW_BRANCH" \
|
||||||
|
--base main || true
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
|
||||||
|
|
16
.github/workflows/playwright.yml
vendored
@ -4,17 +4,26 @@ on:
|
|||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
playwright-ubuntu:
|
playwright-ubuntu:
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest-8-cores
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version-file: '.nvmrc'
|
node-version-file: '.nvmrc'
|
||||||
cache: 'yarn'
|
cache: 'yarn'
|
||||||
- uses: KittyCAD/action-install-cli@v0.2.16
|
- uses: KittyCAD/action-install-cli@main
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn
|
run: yarn
|
||||||
- name: Install Playwright Browsers
|
- name: Install Playwright Browsers
|
||||||
@ -79,8 +88,7 @@ jobs:
|
|||||||
|
|
||||||
playwright-macos:
|
playwright-macos:
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
runs-on: macos-latest
|
runs-on: macos-14
|
||||||
needs: playwright-ubuntu
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
|
21
.github/workflows/vector.toml
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[sources.github-actions-file]
|
||||||
|
type = "file"
|
||||||
|
data_dir = "/tmp/vector"
|
||||||
|
include = ["/tmp/github-actions.log"]
|
||||||
|
|
||||||
|
# Modify the logs to include the action name.
|
||||||
|
[transforms.add-action-name]
|
||||||
|
type = "remap"
|
||||||
|
inputs = [ "github-actions-file" ]
|
||||||
|
source = '''
|
||||||
|
.action = "GITHUB_WORKFLOW"
|
||||||
|
.repo = "GITHUB_REPOSITORY"
|
||||||
|
.sha = "GITHUB_SHA"
|
||||||
|
.ref = "GITHUB_REF_NAME"
|
||||||
|
'''
|
||||||
|
|
||||||
|
[sinks.axiom]
|
||||||
|
type = "axiom"
|
||||||
|
inputs = ["add-action-name"]
|
||||||
|
token = "GH_ACTIONS_AXIOM_TOKEN"
|
||||||
|
dataset = "github-actions"
|
13
.gitignore
vendored
@ -33,17 +33,14 @@ src/wasm-lib/bindings
|
|||||||
src/wasm-lib/kcl/bindings
|
src/wasm-lib/kcl/bindings
|
||||||
public/wasm_lib_bg.wasm
|
public/wasm_lib_bg.wasm
|
||||||
src/wasm-lib/lcov.info
|
src/wasm-lib/lcov.info
|
||||||
|
src/wasm-lib/grackle/test_json_output
|
||||||
|
|
||||||
e2e/playwright/playwright-secrets.env
|
e2e/playwright/playwright-secrets.env
|
||||||
e2e/playwright/temp1.png
|
e2e/playwright/temp1.png
|
||||||
e2e/playwright/temp2.png
|
e2e/playwright/temp2.png
|
||||||
# exports from snapshot-tests.spec.ts
|
# exports from snapshot-tests.spec.ts "exports of each format should work"
|
||||||
e2e/playwright/export-snapshots/*.ply
|
e2e/playwright/export-snapshots/*
|
||||||
e2e/playwright/export-snapshots/*.obj
|
!e2e/playwright/export-snapshots/*.png
|
||||||
e2e/playwright/export-snapshots/*.step
|
|
||||||
e2e/playwright/export-snapshots/*.stl
|
|
||||||
e2e/playwright/export-snapshots/*binary.gltf
|
|
||||||
e2e/playwright/export-snapshots/*embedded.gltf
|
|
||||||
|
|
||||||
|
|
||||||
/test-results/
|
/test-results/
|
||||||
@ -54,3 +51,5 @@ e2e/playwright/export-snapshots/*embedded.gltf
|
|||||||
|
|
||||||
## generated files
|
## generated files
|
||||||
src/**/*.typegen.ts
|
src/**/*.typegen.ts
|
||||||
|
|
||||||
|
src/wasm-lib/grackle/stdlib_cube_partial.json
|
||||||
|
@ -136,7 +136,12 @@ Before you submit a contribution PR to this repo, please ensure that:
|
|||||||
VERSION=x.y.z yarn run bump-jsons
|
VERSION=x.y.z yarn run bump-jsons
|
||||||
```
|
```
|
||||||
|
|
||||||
The PR may serve as a place to discuss the human-readable changelog and extra QA. A quick way of getting PR's merged since the last bump is to [use this PR filter](https://github.com/KittyCAD/modeling-app/pulls?q=is%3Apr+sort%3Aupdated-desc+is%3Amerged+), open up the browser console and past in the following
|
Alternatively you can try the experimental `make-release.sh` bash script that will create the branch with the updated json files for you.
|
||||||
|
run `./make-release.sh` for a patch update
|
||||||
|
run `./make-release.sh "minor"` for minor
|
||||||
|
run `./make-release.sh "major"` for major
|
||||||
|
|
||||||
|
The PR may serve as a place to discuss the human-readable changelog and extra QA. A quick way of getting PR's merged since the last bump is to [use this PR filter](https://github.com/KittyCAD/modeling-app/pulls?q=is%3Apr+sort%3Aupdated-desc+is%3Amerged+), open up the browser console and paste in the following
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
console.log(
|
console.log(
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
# Known Issues
|
---
|
||||||
|
title: "KCL Known Issues"
|
||||||
|
excerpt: "Known issues with the KCL standard library for the Zoo Modeling App."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
The following are bugs that are not in modeling-app or kcl itself. These bugs
|
The following are bugs that are not in modeling-app or kcl itself. These bugs
|
||||||
once fixed in engine will just start working here with no language changes.
|
once fixed in engine will just start working here with no language changes.
|
||||||
@ -6,11 +10,11 @@ once fixed in engine will just start working here with no language changes.
|
|||||||
- **Sketch on Face**: If your sketch is outside the edges of the face (on which you
|
- **Sketch on Face**: If your sketch is outside the edges of the face (on which you
|
||||||
are sketching) you will get multiple models returned instead of one single
|
are sketching) you will get multiple models returned instead of one single
|
||||||
model for that sketch and its underlying 3D object.
|
model for that sketch and its underlying 3D object.
|
||||||
|
If you see a red line around your model, it means this is happening.
|
||||||
|
|
||||||
- **Patterns**: If you try and pass a pattern to `hole` currently only the first
|
|
||||||
item in the pattern is being subtracted. This is an engine bug that is being
|
|
||||||
worked on.
|
|
||||||
|
|
||||||
- **Import**: Right now you can import a file, even if that file has brep data
|
- **Import**: Right now you can import a file, even if that file has brep data
|
||||||
you cannot edit it. You also cannot move or transform the imported objects at
|
you cannot edit it, after v1, the engine will account for this. You also cannot
|
||||||
all. In the future, after v1, the engine will account for this.
|
currently move or transform the imported objects at all, once we have assemblies
|
||||||
|
this will work.
|
||||||
|
|
||||||
|
- **Fillets**: Fillets cannot intersect, you will get an error. Only simple fillet cases work currently.
|
||||||
|
34
docs/kcl/abs.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "abs"
|
||||||
|
excerpt: "Computes the absolute value of a number."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the absolute value of a number.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
abs(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = abs(-4)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
34
docs/kcl/acos.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "acos"
|
||||||
|
excerpt: "Computes the arccosine of a number (in radians)."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the arccosine of a number (in radians).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
acos(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = acos(0.5)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
206
docs/kcl/angleToMatchLengthX.md
Normal file
206
docs/kcl/angleToMatchLengthY.md
Normal file
379
docs/kcl/angledLine.md
Normal file
379
docs/kcl/angledLineOfXLength.md
Normal file
380
docs/kcl/angledLineOfYLength.md
Normal file
385
docs/kcl/angledLineThatIntersects.md
Normal file
379
docs/kcl/angledLineToX.md
Normal file
378
docs/kcl/angledLineToY.md
Normal file
389
docs/kcl/arc.md
Normal file
34
docs/kcl/asin.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "asin"
|
||||||
|
excerpt: "Computes the arcsine of a number (in radians)."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the arcsine of a number (in radians).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
asin(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = asin(0.5)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
34
docs/kcl/atan.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "atan"
|
||||||
|
excerpt: "Computes the arctangent of a number (in radians)."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the arctangent of a number (in radians).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
atan(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = atan(1.0)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
382
docs/kcl/bezierCurve.md
Normal file
34
docs/kcl/ceil.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "ceil"
|
||||||
|
excerpt: "Computes the smallest integer greater than or equal to a number."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the smallest integer greater than or equal to a number.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
ceil(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = ceil(4.5)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
439
docs/kcl/circle.md
Normal file
377
docs/kcl/close.md
Normal file
34
docs/kcl/cos.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "cos"
|
||||||
|
excerpt: "Computes the cosine of a number (in radians)."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the cosine of a number (in radians).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
cos(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const anotherVar = cos(2 * pi())
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
33
docs/kcl/e.md
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
title: "e"
|
||||||
|
excerpt: "Return the value of Euler’s number `e`."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Return the value of Euler’s number `e`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
e() -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = e()
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
334
docs/kcl/extrude.md
Normal file
309
docs/kcl/fillet.md
Normal file
34
docs/kcl/floor.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "floor"
|
||||||
|
excerpt: "Computes the largest integer less than or equal to a number."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the largest integer less than or equal to a number.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
floor(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = floor(4.5)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
180
docs/kcl/getEdge.md
Normal file
177
docs/kcl/getExtrudeWallTransform.md
Normal file
173
docs/kcl/getNextAdjacentEdge.md
Normal file
173
docs/kcl/getOppositeEdge.md
Normal file
173
docs/kcl/getPreviousAdjacentEdge.md
Normal file
308
docs/kcl/helix.md
Normal file
540
docs/kcl/hole.md
Normal file
136
docs/kcl/import.md
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
---
|
||||||
|
title: "import"
|
||||||
|
excerpt: "Import a CAD file."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Import a CAD file.
|
||||||
|
|
||||||
|
For formats lacking unit data (STL, OBJ, PLY), the default import unit is millimeters. Otherwise you can specify the unit by passing in the options parameter. If you import a gltf file, we will try to find the bin file and import it as well.
|
||||||
|
Import paths are relative to the current project directory. This only works in the desktop app not in browser.
|
||||||
|
|
||||||
|
```js
|
||||||
|
import(file_path: String, options?: ImportFormat) -> ImportedGeometry
|
||||||
|
```
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const model = import("thing.obj")
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
const model = import("cube.obj", { type: "obj", units: "m" })
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
const model = import("my_model.gltf")
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
const model = import("my_model.sldprt")
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
const model = import("my_model.step")
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `file_path`: `String` (REQUIRED)
|
||||||
|
* `options`: `ImportFormat` - Import format specifier (OPTIONAL)
|
||||||
|
```js
|
||||||
|
{
|
||||||
|
type: "fbx",
|
||||||
|
} |
|
||||||
|
{
|
||||||
|
type: "gltf",
|
||||||
|
} |
|
||||||
|
{
|
||||||
|
// Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system.
|
||||||
|
coords: {
|
||||||
|
// Axis the front face of a model looks along.
|
||||||
|
forward: {
|
||||||
|
// Axis specifier.
|
||||||
|
axis: "y" | "z",
|
||||||
|
// Specifies which direction the axis is pointing.
|
||||||
|
direction: "positive" | "negative",
|
||||||
|
},
|
||||||
|
// Axis pointing up and away from a model.
|
||||||
|
up: {
|
||||||
|
// Axis specifier.
|
||||||
|
axis: "y" | "z",
|
||||||
|
// Specifies which direction the axis is pointing.
|
||||||
|
direction: "positive" | "negative",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
type: "obj",
|
||||||
|
// The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters.
|
||||||
|
units: "cm" | "ft" | "in" | "m" | "mm" | "yd",
|
||||||
|
} |
|
||||||
|
{
|
||||||
|
// Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system.
|
||||||
|
coords: {
|
||||||
|
// Axis the front face of a model looks along.
|
||||||
|
forward: {
|
||||||
|
// Axis specifier.
|
||||||
|
axis: "y" | "z",
|
||||||
|
// Specifies which direction the axis is pointing.
|
||||||
|
direction: "positive" | "negative",
|
||||||
|
},
|
||||||
|
// Axis pointing up and away from a model.
|
||||||
|
up: {
|
||||||
|
// Axis specifier.
|
||||||
|
axis: "y" | "z",
|
||||||
|
// Specifies which direction the axis is pointing.
|
||||||
|
direction: "positive" | "negative",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
type: "ply",
|
||||||
|
// The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters.
|
||||||
|
units: "cm" | "ft" | "in" | "m" | "mm" | "yd",
|
||||||
|
} |
|
||||||
|
{
|
||||||
|
type: "sldprt",
|
||||||
|
} |
|
||||||
|
{
|
||||||
|
type: "step",
|
||||||
|
} |
|
||||||
|
{
|
||||||
|
// Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system.
|
||||||
|
coords: {
|
||||||
|
// Axis the front face of a model looks along.
|
||||||
|
forward: {
|
||||||
|
// Axis specifier.
|
||||||
|
axis: "y" | "z",
|
||||||
|
// Specifies which direction the axis is pointing.
|
||||||
|
direction: "positive" | "negative",
|
||||||
|
},
|
||||||
|
// Axis pointing up and away from a model.
|
||||||
|
up: {
|
||||||
|
// Axis specifier.
|
||||||
|
axis: "y" | "z",
|
||||||
|
// Specifies which direction the axis is pointing.
|
||||||
|
direction: "positive" | "negative",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
type: "stl",
|
||||||
|
// The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters.
|
||||||
|
units: "cm" | "ft" | "in" | "m" | "mm" | "yd",
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`ImportedGeometry` - Data for an imported geometry.
|
||||||
|
```js
|
||||||
|
{
|
||||||
|
// The ID of the imported geometry.
|
||||||
|
id: uuid,
|
||||||
|
// The original file paths.
|
||||||
|
value: [string],
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
79
docs/kcl/index.md
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
---
|
||||||
|
title: "KCL Standard Library"
|
||||||
|
excerpt: "Documentation for the KCL standard library for the Zoo Modeling App."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
* [Types](kcl/types)
|
||||||
|
* [Known Issues](kcl/KNOWN-ISSUES)
|
||||||
|
* [`abs`](kcl/abs)
|
||||||
|
* [`acos`](kcl/acos)
|
||||||
|
* [`angleToMatchLengthX`](kcl/angleToMatchLengthX)
|
||||||
|
* [`angleToMatchLengthY`](kcl/angleToMatchLengthY)
|
||||||
|
* [`angledLine`](kcl/angledLine)
|
||||||
|
* [`angledLineOfXLength`](kcl/angledLineOfXLength)
|
||||||
|
* [`angledLineOfYLength`](kcl/angledLineOfYLength)
|
||||||
|
* [`angledLineThatIntersects`](kcl/angledLineThatIntersects)
|
||||||
|
* [`angledLineToX`](kcl/angledLineToX)
|
||||||
|
* [`angledLineToY`](kcl/angledLineToY)
|
||||||
|
* [`arc`](kcl/arc)
|
||||||
|
* [`asin`](kcl/asin)
|
||||||
|
* [`atan`](kcl/atan)
|
||||||
|
* [`bezierCurve`](kcl/bezierCurve)
|
||||||
|
* [`ceil`](kcl/ceil)
|
||||||
|
* [`circle`](kcl/circle)
|
||||||
|
* [`close`](kcl/close)
|
||||||
|
* [`cos`](kcl/cos)
|
||||||
|
* [`e`](kcl/e)
|
||||||
|
* [`extrude`](kcl/extrude)
|
||||||
|
* [`fillet`](kcl/fillet)
|
||||||
|
* [`floor`](kcl/floor)
|
||||||
|
* [`getEdge`](kcl/getEdge)
|
||||||
|
* [`getExtrudeWallTransform`](kcl/getExtrudeWallTransform)
|
||||||
|
* [`getNextAdjacentEdge`](kcl/getNextAdjacentEdge)
|
||||||
|
* [`getOppositeEdge`](kcl/getOppositeEdge)
|
||||||
|
* [`getPreviousAdjacentEdge`](kcl/getPreviousAdjacentEdge)
|
||||||
|
* [`helix`](kcl/helix)
|
||||||
|
* [`hole`](kcl/hole)
|
||||||
|
* [`import`](kcl/import)
|
||||||
|
* [`lastSegX`](kcl/lastSegX)
|
||||||
|
* [`lastSegY`](kcl/lastSegY)
|
||||||
|
* [`legAngX`](kcl/legAngX)
|
||||||
|
* [`legAngY`](kcl/legAngY)
|
||||||
|
* [`legLen`](kcl/legLen)
|
||||||
|
* [`line`](kcl/line)
|
||||||
|
* [`lineTo`](kcl/lineTo)
|
||||||
|
* [`ln`](kcl/ln)
|
||||||
|
* [`log`](kcl/log)
|
||||||
|
* [`log10`](kcl/log10)
|
||||||
|
* [`log2`](kcl/log2)
|
||||||
|
* [`max`](kcl/max)
|
||||||
|
* [`min`](kcl/min)
|
||||||
|
* [`patternCircular2d`](kcl/patternCircular2d)
|
||||||
|
* [`patternCircular3d`](kcl/patternCircular3d)
|
||||||
|
* [`patternLinear2d`](kcl/patternLinear2d)
|
||||||
|
* [`patternLinear3d`](kcl/patternLinear3d)
|
||||||
|
* [`pi`](kcl/pi)
|
||||||
|
* [`pow`](kcl/pow)
|
||||||
|
* [`revolve`](kcl/revolve)
|
||||||
|
* [`segAng`](kcl/segAng)
|
||||||
|
* [`segEndX`](kcl/segEndX)
|
||||||
|
* [`segEndY`](kcl/segEndY)
|
||||||
|
* [`segLen`](kcl/segLen)
|
||||||
|
* [`sin`](kcl/sin)
|
||||||
|
* [`sqrt`](kcl/sqrt)
|
||||||
|
* [`startProfileAt`](kcl/startProfileAt)
|
||||||
|
* [`startSketchAt`](kcl/startSketchAt)
|
||||||
|
* [`startSketchOn`](kcl/startSketchOn)
|
||||||
|
* [`tan`](kcl/tan)
|
||||||
|
* [`tangentialArc`](kcl/tangentialArc)
|
||||||
|
* [`tangentialArcTo`](kcl/tangentialArcTo)
|
||||||
|
* [`tau`](kcl/tau)
|
||||||
|
* [`toDegrees`](kcl/toDegrees)
|
||||||
|
* [`toRadians`](kcl/toRadians)
|
||||||
|
* [`xLine`](kcl/xLine)
|
||||||
|
* [`xLineTo`](kcl/xLineTo)
|
||||||
|
* [`yLine`](kcl/yLine)
|
||||||
|
* [`yLineTo`](kcl/yLineTo)
|
203
docs/kcl/lastSegX.md
Normal file
203
docs/kcl/lastSegY.md
Normal file
35
docs/kcl/legAngX.md
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
title: "legAngX"
|
||||||
|
excerpt: "Returns the angle of the given leg for x."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Returns the angle of the given leg for x.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
legAngX(hypotenuse: number, leg: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `utilities`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
legAngX(5, 3)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `hypotenuse`: `number` (REQUIRED)
|
||||||
|
* `leg`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
35
docs/kcl/legAngY.md
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
title: "legAngY"
|
||||||
|
excerpt: "Returns the angle of the given leg for y."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Returns the angle of the given leg for y.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
legAngY(hypotenuse: number, leg: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `utilities`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
legAngY(5, 3)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `hypotenuse`: `number` (REQUIRED)
|
||||||
|
* `leg`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
35
docs/kcl/legLen.md
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
title: "legLen"
|
||||||
|
excerpt: "Returns the length of the given leg."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Returns the length of the given leg.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
legLen(hypotenuse: number, leg: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `utilities`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
legLen(5, 3)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `hypotenuse`: `number` (REQUIRED)
|
||||||
|
* `leg`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
369
docs/kcl/line.md
Normal file
375
docs/kcl/lineTo.md
Normal file
34
docs/kcl/ln.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "ln"
|
||||||
|
excerpt: "Computes the natural logarithm of the number."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the natural logarithm of the number.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
ln(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = ln(4)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
35
docs/kcl/log.md
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
title: "log"
|
||||||
|
excerpt: "Computes the logarithm of the number with respect to an arbitrary base."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the logarithm of the number with respect to an arbitrary base.
|
||||||
|
|
||||||
|
The result might not be correctly rounded owing to implementation details; `log2()` can produce more accurate results for base 2, and `log10()` can produce more accurate results for base 10.
|
||||||
|
|
||||||
|
```js
|
||||||
|
log(num: number, base: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = log(4, 2)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
* `base`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
34
docs/kcl/log10.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "log10"
|
||||||
|
excerpt: "Computes the base 10 logarithm of the number."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the base 10 logarithm of the number.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
log10(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = log10(4)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
34
docs/kcl/log2.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "log2"
|
||||||
|
excerpt: "Computes the base 2 logarithm of the number."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the base 2 logarithm of the number.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
log2(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = log2(4)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
34
docs/kcl/max.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "max"
|
||||||
|
excerpt: "Computes the maximum of the given arguments."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the maximum of the given arguments.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
max(args: [number]) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = max(4, 5, 6)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `args`: `[number]` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
34
docs/kcl/min.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "min"
|
||||||
|
excerpt: "Computes the minimum of the given arguments."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the minimum of the given arguments.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
min(args: [number]) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = min(4, 5, 6)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `args`: `[number]` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
217
docs/kcl/patternCircular2d.md
Normal file
190
docs/kcl/patternCircular3d.md
Normal file
214
docs/kcl/patternLinear2d.md
Normal file
184
docs/kcl/patternLinear3d.md
Normal file
33
docs/kcl/pi.md
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
title: "pi"
|
||||||
|
excerpt: "Return the value of `pi`. Archimedes’ constant (π)."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Return the value of `pi`. Archimedes’ constant (π).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
pi() -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = pi() * 3.0
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
35
docs/kcl/pow.md
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
title: "pow"
|
||||||
|
excerpt: "Computes the number to a power."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the number to a power.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
pow(num: number, pow: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = pow(4, 2)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
* `pow`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
444
docs/kcl/revolve.md
Normal file
206
docs/kcl/segAng.md
Normal file
204
docs/kcl/segEndX.md
Normal file
204
docs/kcl/segEndY.md
Normal file
204
docs/kcl/segLen.md
Normal file
34
docs/kcl/sin.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "sin"
|
||||||
|
excerpt: "Computes the sine of a number (in radians)."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the sine of a number (in radians).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
sin(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = sin(2 * pi())
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
34
docs/kcl/sqrt.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "sqrt"
|
||||||
|
excerpt: "Computes the square root of a number."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the square root of a number.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
sqrt(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = sqrt(4)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
263
docs/kcl/startProfileAt.md
Normal file
198
docs/kcl/startSketchAt.md
Normal file
292
docs/kcl/startSketchOn.md
Normal file
54373
docs/kcl/std.json
9766
docs/kcl/std.md
34
docs/kcl/tan.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "tan"
|
||||||
|
excerpt: "Computes the tangent of a number (in radians)."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Computes the tangent of a number (in radians).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
tan(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = tan(2 * pi())
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
378
docs/kcl/tangentialArc.md
Normal file
368
docs/kcl/tangentialArcTo.md
Normal file
33
docs/kcl/tau.md
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
title: "tau"
|
||||||
|
excerpt: "Return the value of `tau`. The full circle constant (τ). Equal to 2π."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Return the value of `tau`. The full circle constant (τ). Equal to 2π.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
tau() -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = tau()
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
34
docs/kcl/toDegrees.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "toDegrees"
|
||||||
|
excerpt: "Converts a number from radians to degrees."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Converts a number from radians to degrees.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
toDegrees(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = toDegrees(2 * pi())
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
34
docs/kcl/toRadians.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: "toRadians"
|
||||||
|
excerpt: "Converts a number from degrees to radians."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
|
Converts a number from degrees to radians.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
toRadians(num: number) -> number
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tags
|
||||||
|
|
||||||
|
* `math`
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```js
|
||||||
|
const myVar = toRadians(180)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
* `num`: `number` (REQUIRED)
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
|
||||||
|
`number`
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,4 +1,8 @@
|
|||||||
# Types
|
---
|
||||||
|
title: "KCL Types"
|
||||||
|
excerpt: "Documentation of types for the KCL standard library for the Zoo Modeling App."
|
||||||
|
layout: manual
|
||||||
|
---
|
||||||
|
|
||||||
`KCL` defines the following types and keywords the language.
|
`KCL` defines the following types and keywords the language.
|
||||||
|
|
||||||
|
369
docs/kcl/xLine.md
Normal file
369
docs/kcl/xLineTo.md
Normal file
369
docs/kcl/yLine.md
Normal file
370
docs/kcl/yLineTo.md
Normal file
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 221 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 221 KiB |
BIN
e2e/playwright/export-snapshots/gltf-standard.png
Normal file
After Width: | Height: | Size: 221 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 163 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 163 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 163 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 163 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 221 KiB |
@ -1,494 +0,0 @@
|
|||||||
ISO-10303-21;
|
|
||||||
HEADER;
|
|
||||||
FILE_DESCRIPTION((('zoo.dev export')), '2;1');
|
|
||||||
FILE_NAME('dump.step', '1970-01-01T00:00:00.0+00:00', ('Author unknown'), ('Organization unknown'), 'zoo.dev beta', 'zoo.dev', 'Authorization unknown');
|
|
||||||
FILE_SCHEMA(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF'));
|
|
||||||
ENDSEC;
|
|
||||||
DATA;
|
|
||||||
#1 = (
|
|
||||||
LENGTH_UNIT()
|
|
||||||
NAMED_UNIT(*)
|
|
||||||
SI_UNIT($, .METRE.)
|
|
||||||
);
|
|
||||||
#2 = UNCERTAINTY_MEASURE_WITH_UNIT(0.00001, #1, 'DISTANCE_ACCURACY_VALUE', $);
|
|
||||||
#3 = (
|
|
||||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)
|
|
||||||
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2))
|
|
||||||
GLOBAL_UNIT_ASSIGNED_CONTEXT((#1))
|
|
||||||
REPRESENTATION_CONTEXT('', '3D')
|
|
||||||
);
|
|
||||||
#4 = CARTESIAN_POINT('NONE', (0, 0, -0));
|
|
||||||
#5 = VERTEX_POINT('NONE', #4);
|
|
||||||
#6 = CARTESIAN_POINT('NONE', (0, -0.0254, -0));
|
|
||||||
#7 = VERTEX_POINT('NONE', #6);
|
|
||||||
#8 = CARTESIAN_POINT('NONE', (0, -0.0254, 0.1016));
|
|
||||||
#9 = VERTEX_POINT('NONE', #8);
|
|
||||||
#10 = CARTESIAN_POINT('NONE', (0, 0, 0.1016));
|
|
||||||
#11 = VERTEX_POINT('NONE', #10);
|
|
||||||
#12 = CARTESIAN_POINT('NONE', (0.07861346939195568, -0.0254, -0));
|
|
||||||
#13 = VERTEX_POINT('NONE', #12);
|
|
||||||
#14 = CARTESIAN_POINT('NONE', (0.07861346939195568, -0.0254, 0.1016));
|
|
||||||
#15 = VERTEX_POINT('NONE', #14);
|
|
||||||
#16 = CARTESIAN_POINT('NONE', (0.1511633881344551, -0.07619999999999998, -0));
|
|
||||||
#17 = VERTEX_POINT('NONE', #16);
|
|
||||||
#18 = CARTESIAN_POINT('NONE', (0.1511633881344551, -0.07619999999999998, 0.1016));
|
|
||||||
#19 = VERTEX_POINT('NONE', #18);
|
|
||||||
#20 = CARTESIAN_POINT('NONE', (0.2413, -0.0762, -0));
|
|
||||||
#21 = VERTEX_POINT('NONE', #20);
|
|
||||||
#22 = CARTESIAN_POINT('NONE', (0.2413, -0.0762, 0.1016));
|
|
||||||
#23 = VERTEX_POINT('NONE', #22);
|
|
||||||
#24 = CARTESIAN_POINT('NONE', (0.2413, -0.0635, -0));
|
|
||||||
#25 = VERTEX_POINT('NONE', #24);
|
|
||||||
#26 = CARTESIAN_POINT('NONE', (0.2413, -0.0635, 0.1016));
|
|
||||||
#27 = VERTEX_POINT('NONE', #26);
|
|
||||||
#28 = CARTESIAN_POINT('NONE', (0.1551676827532182, -0.0635, -0));
|
|
||||||
#29 = VERTEX_POINT('NONE', #28);
|
|
||||||
#30 = CARTESIAN_POINT('NONE', (0.1551676827532182, -0.0635, 0.1016));
|
|
||||||
#31 = VERTEX_POINT('NONE', #30);
|
|
||||||
#32 = CARTESIAN_POINT('NONE', (0.06448028432509392, 0, -0));
|
|
||||||
#33 = VERTEX_POINT('NONE', #32);
|
|
||||||
#34 = CARTESIAN_POINT('NONE', (0.06448028432509392, 0, 0.1016));
|
|
||||||
#35 = VERTEX_POINT('NONE', #34);
|
|
||||||
#36 = CARTESIAN_POINT('NONE', (0.14618599799650817, 0.03810000000000001, -0));
|
|
||||||
#37 = VERTEX_POINT('NONE', #36);
|
|
||||||
#38 = CARTESIAN_POINT('NONE', (0.14618599799650817, 0.03810000000000001, 0.1016));
|
|
||||||
#39 = VERTEX_POINT('NONE', #38);
|
|
||||||
#40 = CARTESIAN_POINT('NONE', (0.2413, 0.0381, -0));
|
|
||||||
#41 = VERTEX_POINT('NONE', #40);
|
|
||||||
#42 = CARTESIAN_POINT('NONE', (0.2413, 0.0381, 0.1016));
|
|
||||||
#43 = VERTEX_POINT('NONE', #42);
|
|
||||||
#44 = CARTESIAN_POINT('NONE', (0.2413, 0.0508, -0));
|
|
||||||
#45 = VERTEX_POINT('NONE', #44);
|
|
||||||
#46 = CARTESIAN_POINT('NONE', (0.2413, 0.0508, 0.1016));
|
|
||||||
#47 = VERTEX_POINT('NONE', #46);
|
|
||||||
#48 = CARTESIAN_POINT('NONE', (0.14337047578094278, 0.0508, -0));
|
|
||||||
#49 = VERTEX_POINT('NONE', #48);
|
|
||||||
#50 = CARTESIAN_POINT('NONE', (0.14337047578094278, 0.0508, 0.1016));
|
|
||||||
#51 = VERTEX_POINT('NONE', #50);
|
|
||||||
#52 = CARTESIAN_POINT('NONE', (0.08889999999999999, 0.0254, -0));
|
|
||||||
#53 = VERTEX_POINT('NONE', #52);
|
|
||||||
#54 = CARTESIAN_POINT('NONE', (0.08889999999999999, 0.0254, 0.1016));
|
|
||||||
#55 = VERTEX_POINT('NONE', #54);
|
|
||||||
#56 = CARTESIAN_POINT('NONE', (0, 0.0254, -0));
|
|
||||||
#57 = VERTEX_POINT('NONE', #56);
|
|
||||||
#58 = CARTESIAN_POINT('NONE', (0, 0.0254, 0.1016));
|
|
||||||
#59 = VERTEX_POINT('NONE', #58);
|
|
||||||
#60 = DIRECTION('NONE', (0, -1, 0));
|
|
||||||
#61 = VECTOR('NONE', #60, 1);
|
|
||||||
#62 = CARTESIAN_POINT('NONE', (0, 0, -0));
|
|
||||||
#63 = LINE('NONE', #62, #61);
|
|
||||||
#64 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#65 = VECTOR('NONE', #64, 1);
|
|
||||||
#66 = CARTESIAN_POINT('NONE', (0, -0.0254, -0));
|
|
||||||
#67 = LINE('NONE', #66, #65);
|
|
||||||
#68 = DIRECTION('NONE', (0, -1, 0));
|
|
||||||
#69 = VECTOR('NONE', #68, 1);
|
|
||||||
#70 = CARTESIAN_POINT('NONE', (0, 0, 0.1016));
|
|
||||||
#71 = LINE('NONE', #70, #69);
|
|
||||||
#72 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#73 = VECTOR('NONE', #72, 1);
|
|
||||||
#74 = CARTESIAN_POINT('NONE', (0, 0, -0));
|
|
||||||
#75 = LINE('NONE', #74, #73);
|
|
||||||
#76 = DIRECTION('NONE', (1, 0, 0));
|
|
||||||
#77 = VECTOR('NONE', #76, 1);
|
|
||||||
#78 = CARTESIAN_POINT('NONE', (0, -0.0254, -0));
|
|
||||||
#79 = LINE('NONE', #78, #77);
|
|
||||||
#80 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#81 = VECTOR('NONE', #80, 1);
|
|
||||||
#82 = CARTESIAN_POINT('NONE', (0.07861346939195568, -0.0254, -0));
|
|
||||||
#83 = LINE('NONE', #82, #81);
|
|
||||||
#84 = DIRECTION('NONE', (1, 0, 0));
|
|
||||||
#85 = VECTOR('NONE', #84, 1);
|
|
||||||
#86 = CARTESIAN_POINT('NONE', (0, -0.0254, 0.1016));
|
|
||||||
#87 = LINE('NONE', #86, #85);
|
|
||||||
#88 = DIRECTION('NONE', (0.8191520442889919, -0.5735764363510459, 0));
|
|
||||||
#89 = VECTOR('NONE', #88, 1);
|
|
||||||
#90 = CARTESIAN_POINT('NONE', (0.07861346939195568, -0.0254, -0));
|
|
||||||
#91 = LINE('NONE', #90, #89);
|
|
||||||
#92 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#93 = VECTOR('NONE', #92, 1);
|
|
||||||
#94 = CARTESIAN_POINT('NONE', (0.1511633881344551, -0.07619999999999998, -0));
|
|
||||||
#95 = LINE('NONE', #94, #93);
|
|
||||||
#96 = DIRECTION('NONE', (0.8191520442889919, -0.5735764363510459, 0));
|
|
||||||
#97 = VECTOR('NONE', #96, 1);
|
|
||||||
#98 = CARTESIAN_POINT('NONE', (0.07861346939195568, -0.0254, 0.1016));
|
|
||||||
#99 = LINE('NONE', #98, #97);
|
|
||||||
#100 = DIRECTION('NONE', (1, -0.0000000000000003079278779307945, 0));
|
|
||||||
#101 = VECTOR('NONE', #100, 1);
|
|
||||||
#102 = CARTESIAN_POINT('NONE', (0.1511633881344551, -0.07619999999999998, -0));
|
|
||||||
#103 = LINE('NONE', #102, #101);
|
|
||||||
#104 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#105 = VECTOR('NONE', #104, 1);
|
|
||||||
#106 = CARTESIAN_POINT('NONE', (0.2413, -0.0762, -0));
|
|
||||||
#107 = LINE('NONE', #106, #105);
|
|
||||||
#108 = DIRECTION('NONE', (1, -0.0000000000000003079278779307945, 0));
|
|
||||||
#109 = VECTOR('NONE', #108, 1);
|
|
||||||
#110 = CARTESIAN_POINT('NONE', (0.1511633881344551, -0.07619999999999998, 0.1016));
|
|
||||||
#111 = LINE('NONE', #110, #109);
|
|
||||||
#112 = DIRECTION('NONE', (0, 1, 0));
|
|
||||||
#113 = VECTOR('NONE', #112, 1);
|
|
||||||
#114 = CARTESIAN_POINT('NONE', (0.2413, -0.0762, -0));
|
|
||||||
#115 = LINE('NONE', #114, #113);
|
|
||||||
#116 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#117 = VECTOR('NONE', #116, 1);
|
|
||||||
#118 = CARTESIAN_POINT('NONE', (0.2413, -0.0635, -0));
|
|
||||||
#119 = LINE('NONE', #118, #117);
|
|
||||||
#120 = DIRECTION('NONE', (0, 1, 0));
|
|
||||||
#121 = VECTOR('NONE', #120, 1);
|
|
||||||
#122 = CARTESIAN_POINT('NONE', (0.2413, -0.0762, 0.1016));
|
|
||||||
#123 = LINE('NONE', #122, #121);
|
|
||||||
#124 = DIRECTION('NONE', (-1, 0, 0));
|
|
||||||
#125 = VECTOR('NONE', #124, 1);
|
|
||||||
#126 = CARTESIAN_POINT('NONE', (0.2413, -0.0635, -0));
|
|
||||||
#127 = LINE('NONE', #126, #125);
|
|
||||||
#128 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#129 = VECTOR('NONE', #128, 1);
|
|
||||||
#130 = CARTESIAN_POINT('NONE', (0.1551676827532182, -0.0635, -0));
|
|
||||||
#131 = LINE('NONE', #130, #129);
|
|
||||||
#132 = DIRECTION('NONE', (-1, 0, 0));
|
|
||||||
#133 = VECTOR('NONE', #132, 1);
|
|
||||||
#134 = CARTESIAN_POINT('NONE', (0.2413, -0.0635, 0.1016));
|
|
||||||
#135 = LINE('NONE', #134, #133);
|
|
||||||
#136 = DIRECTION('NONE', (-0.8191520442889919, 0.573576436351046, 0));
|
|
||||||
#137 = VECTOR('NONE', #136, 1);
|
|
||||||
#138 = CARTESIAN_POINT('NONE', (0.1551676827532182, -0.0635, -0));
|
|
||||||
#139 = LINE('NONE', #138, #137);
|
|
||||||
#140 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#141 = VECTOR('NONE', #140, 1);
|
|
||||||
#142 = CARTESIAN_POINT('NONE', (0.06448028432509392, 0, -0));
|
|
||||||
#143 = LINE('NONE', #142, #141);
|
|
||||||
#144 = DIRECTION('NONE', (-0.8191520442889919, 0.573576436351046, 0));
|
|
||||||
#145 = VECTOR('NONE', #144, 1);
|
|
||||||
#146 = CARTESIAN_POINT('NONE', (0.1551676827532182, -0.0635, 0.1016));
|
|
||||||
#147 = LINE('NONE', #146, #145);
|
|
||||||
#148 = DIRECTION('NONE', (0.90630778703665, 0.4226182617406993, 0));
|
|
||||||
#149 = VECTOR('NONE', #148, 1);
|
|
||||||
#150 = CARTESIAN_POINT('NONE', (0.06448028432509392, 0, -0));
|
|
||||||
#151 = LINE('NONE', #150, #149);
|
|
||||||
#152 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#153 = VECTOR('NONE', #152, 1);
|
|
||||||
#154 = CARTESIAN_POINT('NONE', (0.14618599799650817, 0.03810000000000001, -0));
|
|
||||||
#155 = LINE('NONE', #154, #153);
|
|
||||||
#156 = DIRECTION('NONE', (0.90630778703665, 0.4226182617406993, 0));
|
|
||||||
#157 = VECTOR('NONE', #156, 1);
|
|
||||||
#158 = CARTESIAN_POINT('NONE', (0.06448028432509392, 0, 0.1016));
|
|
||||||
#159 = LINE('NONE', #158, #157);
|
|
||||||
#160 = DIRECTION('NONE', (1, -0.00000000000000007295344279228718, 0));
|
|
||||||
#161 = VECTOR('NONE', #160, 1);
|
|
||||||
#162 = CARTESIAN_POINT('NONE', (0.14618599799650817, 0.03810000000000001, -0));
|
|
||||||
#163 = LINE('NONE', #162, #161);
|
|
||||||
#164 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#165 = VECTOR('NONE', #164, 1);
|
|
||||||
#166 = CARTESIAN_POINT('NONE', (0.2413, 0.0381, -0));
|
|
||||||
#167 = LINE('NONE', #166, #165);
|
|
||||||
#168 = DIRECTION('NONE', (1, -0.00000000000000007295344279228718, 0));
|
|
||||||
#169 = VECTOR('NONE', #168, 1);
|
|
||||||
#170 = CARTESIAN_POINT('NONE', (0.14618599799650817, 0.03810000000000001, 0.1016));
|
|
||||||
#171 = LINE('NONE', #170, #169);
|
|
||||||
#172 = DIRECTION('NONE', (0, 1, 0));
|
|
||||||
#173 = VECTOR('NONE', #172, 1);
|
|
||||||
#174 = CARTESIAN_POINT('NONE', (0.2413, 0.0381, -0));
|
|
||||||
#175 = LINE('NONE', #174, #173);
|
|
||||||
#176 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#177 = VECTOR('NONE', #176, 1);
|
|
||||||
#178 = CARTESIAN_POINT('NONE', (0.2413, 0.0508, -0));
|
|
||||||
#179 = LINE('NONE', #178, #177);
|
|
||||||
#180 = DIRECTION('NONE', (0, 1, 0));
|
|
||||||
#181 = VECTOR('NONE', #180, 1);
|
|
||||||
#182 = CARTESIAN_POINT('NONE', (0.2413, 0.0381, 0.1016));
|
|
||||||
#183 = LINE('NONE', #182, #181);
|
|
||||||
#184 = DIRECTION('NONE', (-1, 0, 0));
|
|
||||||
#185 = VECTOR('NONE', #184, 1);
|
|
||||||
#186 = CARTESIAN_POINT('NONE', (0.2413, 0.0508, -0));
|
|
||||||
#187 = LINE('NONE', #186, #185);
|
|
||||||
#188 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#189 = VECTOR('NONE', #188, 1);
|
|
||||||
#190 = CARTESIAN_POINT('NONE', (0.14337047578094278, 0.0508, -0));
|
|
||||||
#191 = LINE('NONE', #190, #189);
|
|
||||||
#192 = DIRECTION('NONE', (-1, 0, 0));
|
|
||||||
#193 = VECTOR('NONE', #192, 1);
|
|
||||||
#194 = CARTESIAN_POINT('NONE', (0.2413, 0.0508, 0.1016));
|
|
||||||
#195 = LINE('NONE', #194, #193);
|
|
||||||
#196 = DIRECTION('NONE', (-0.90630778703665, -0.42261826174069944, 0));
|
|
||||||
#197 = VECTOR('NONE', #196, 1);
|
|
||||||
#198 = CARTESIAN_POINT('NONE', (0.14337047578094278, 0.0508, -0));
|
|
||||||
#199 = LINE('NONE', #198, #197);
|
|
||||||
#200 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#201 = VECTOR('NONE', #200, 1);
|
|
||||||
#202 = CARTESIAN_POINT('NONE', (0.08889999999999999, 0.0254, -0));
|
|
||||||
#203 = LINE('NONE', #202, #201);
|
|
||||||
#204 = DIRECTION('NONE', (-0.90630778703665, -0.42261826174069944, 0));
|
|
||||||
#205 = VECTOR('NONE', #204, 1);
|
|
||||||
#206 = CARTESIAN_POINT('NONE', (0.14337047578094278, 0.0508, 0.1016));
|
|
||||||
#207 = LINE('NONE', #206, #205);
|
|
||||||
#208 = DIRECTION('NONE', (-1, 0, 0));
|
|
||||||
#209 = VECTOR('NONE', #208, 1);
|
|
||||||
#210 = CARTESIAN_POINT('NONE', (0.08889999999999999, 0.0254, -0));
|
|
||||||
#211 = LINE('NONE', #210, #209);
|
|
||||||
#212 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#213 = VECTOR('NONE', #212, 1);
|
|
||||||
#214 = CARTESIAN_POINT('NONE', (0, 0.0254, -0));
|
|
||||||
#215 = LINE('NONE', #214, #213);
|
|
||||||
#216 = DIRECTION('NONE', (-1, 0, 0));
|
|
||||||
#217 = VECTOR('NONE', #216, 1);
|
|
||||||
#218 = CARTESIAN_POINT('NONE', (0.08889999999999999, 0.0254, 0.1016));
|
|
||||||
#219 = LINE('NONE', #218, #217);
|
|
||||||
#220 = DIRECTION('NONE', (0, -1, 0));
|
|
||||||
#221 = VECTOR('NONE', #220, 1);
|
|
||||||
#222 = CARTESIAN_POINT('NONE', (0, 0.0254, -0));
|
|
||||||
#223 = LINE('NONE', #222, #221);
|
|
||||||
#224 = DIRECTION('NONE', (0, -1, 0));
|
|
||||||
#225 = VECTOR('NONE', #224, 1);
|
|
||||||
#226 = CARTESIAN_POINT('NONE', (0, 0.0254, 0.1016));
|
|
||||||
#227 = LINE('NONE', #226, #225);
|
|
||||||
#228 = EDGE_CURVE('NONE', #5, #7, #63, .T.);
|
|
||||||
#229 = EDGE_CURVE('NONE', #7, #9, #67, .T.);
|
|
||||||
#230 = EDGE_CURVE('NONE', #11, #9, #71, .T.);
|
|
||||||
#231 = EDGE_CURVE('NONE', #5, #11, #75, .T.);
|
|
||||||
#232 = EDGE_CURVE('NONE', #7, #13, #79, .T.);
|
|
||||||
#233 = EDGE_CURVE('NONE', #13, #15, #83, .T.);
|
|
||||||
#234 = EDGE_CURVE('NONE', #9, #15, #87, .T.);
|
|
||||||
#235 = EDGE_CURVE('NONE', #13, #17, #91, .T.);
|
|
||||||
#236 = EDGE_CURVE('NONE', #17, #19, #95, .T.);
|
|
||||||
#237 = EDGE_CURVE('NONE', #15, #19, #99, .T.);
|
|
||||||
#238 = EDGE_CURVE('NONE', #17, #21, #103, .T.);
|
|
||||||
#239 = EDGE_CURVE('NONE', #21, #23, #107, .T.);
|
|
||||||
#240 = EDGE_CURVE('NONE', #19, #23, #111, .T.);
|
|
||||||
#241 = EDGE_CURVE('NONE', #21, #25, #115, .T.);
|
|
||||||
#242 = EDGE_CURVE('NONE', #25, #27, #119, .T.);
|
|
||||||
#243 = EDGE_CURVE('NONE', #23, #27, #123, .T.);
|
|
||||||
#244 = EDGE_CURVE('NONE', #25, #29, #127, .T.);
|
|
||||||
#245 = EDGE_CURVE('NONE', #29, #31, #131, .T.);
|
|
||||||
#246 = EDGE_CURVE('NONE', #27, #31, #135, .T.);
|
|
||||||
#247 = EDGE_CURVE('NONE', #29, #33, #139, .T.);
|
|
||||||
#248 = EDGE_CURVE('NONE', #33, #35, #143, .T.);
|
|
||||||
#249 = EDGE_CURVE('NONE', #31, #35, #147, .T.);
|
|
||||||
#250 = EDGE_CURVE('NONE', #33, #37, #151, .T.);
|
|
||||||
#251 = EDGE_CURVE('NONE', #37, #39, #155, .T.);
|
|
||||||
#252 = EDGE_CURVE('NONE', #35, #39, #159, .T.);
|
|
||||||
#253 = EDGE_CURVE('NONE', #37, #41, #163, .T.);
|
|
||||||
#254 = EDGE_CURVE('NONE', #41, #43, #167, .T.);
|
|
||||||
#255 = EDGE_CURVE('NONE', #39, #43, #171, .T.);
|
|
||||||
#256 = EDGE_CURVE('NONE', #41, #45, #175, .T.);
|
|
||||||
#257 = EDGE_CURVE('NONE', #45, #47, #179, .T.);
|
|
||||||
#258 = EDGE_CURVE('NONE', #43, #47, #183, .T.);
|
|
||||||
#259 = EDGE_CURVE('NONE', #45, #49, #187, .T.);
|
|
||||||
#260 = EDGE_CURVE('NONE', #49, #51, #191, .T.);
|
|
||||||
#261 = EDGE_CURVE('NONE', #47, #51, #195, .T.);
|
|
||||||
#262 = EDGE_CURVE('NONE', #49, #53, #199, .T.);
|
|
||||||
#263 = EDGE_CURVE('NONE', #53, #55, #203, .T.);
|
|
||||||
#264 = EDGE_CURVE('NONE', #51, #55, #207, .T.);
|
|
||||||
#265 = EDGE_CURVE('NONE', #53, #57, #211, .T.);
|
|
||||||
#266 = EDGE_CURVE('NONE', #57, #59, #215, .T.);
|
|
||||||
#267 = EDGE_CURVE('NONE', #55, #59, #219, .T.);
|
|
||||||
#268 = EDGE_CURVE('NONE', #57, #5, #223, .T.);
|
|
||||||
#269 = EDGE_CURVE('NONE', #59, #11, #227, .T.);
|
|
||||||
#270 = ORIENTED_EDGE('NONE', *, *, #228, .T.);
|
|
||||||
#271 = ORIENTED_EDGE('NONE', *, *, #229, .T.);
|
|
||||||
#272 = ORIENTED_EDGE('NONE', *, *, #230, .F.);
|
|
||||||
#273 = ORIENTED_EDGE('NONE', *, *, #231, .F.);
|
|
||||||
#274 = EDGE_LOOP('NONE', (#270, #271, #272, #273));
|
|
||||||
#275 = ORIENTED_EDGE('NONE', *, *, #232, .T.);
|
|
||||||
#276 = ORIENTED_EDGE('NONE', *, *, #233, .T.);
|
|
||||||
#277 = ORIENTED_EDGE('NONE', *, *, #234, .F.);
|
|
||||||
#278 = ORIENTED_EDGE('NONE', *, *, #229, .F.);
|
|
||||||
#279 = EDGE_LOOP('NONE', (#275, #276, #277, #278));
|
|
||||||
#280 = ORIENTED_EDGE('NONE', *, *, #235, .T.);
|
|
||||||
#281 = ORIENTED_EDGE('NONE', *, *, #236, .T.);
|
|
||||||
#282 = ORIENTED_EDGE('NONE', *, *, #237, .F.);
|
|
||||||
#283 = ORIENTED_EDGE('NONE', *, *, #233, .F.);
|
|
||||||
#284 = EDGE_LOOP('NONE', (#280, #281, #282, #283));
|
|
||||||
#285 = ORIENTED_EDGE('NONE', *, *, #238, .T.);
|
|
||||||
#286 = ORIENTED_EDGE('NONE', *, *, #239, .T.);
|
|
||||||
#287 = ORIENTED_EDGE('NONE', *, *, #240, .F.);
|
|
||||||
#288 = ORIENTED_EDGE('NONE', *, *, #236, .F.);
|
|
||||||
#289 = EDGE_LOOP('NONE', (#285, #286, #287, #288));
|
|
||||||
#290 = ORIENTED_EDGE('NONE', *, *, #241, .T.);
|
|
||||||
#291 = ORIENTED_EDGE('NONE', *, *, #242, .T.);
|
|
||||||
#292 = ORIENTED_EDGE('NONE', *, *, #243, .F.);
|
|
||||||
#293 = ORIENTED_EDGE('NONE', *, *, #239, .F.);
|
|
||||||
#294 = EDGE_LOOP('NONE', (#290, #291, #292, #293));
|
|
||||||
#295 = ORIENTED_EDGE('NONE', *, *, #244, .T.);
|
|
||||||
#296 = ORIENTED_EDGE('NONE', *, *, #245, .T.);
|
|
||||||
#297 = ORIENTED_EDGE('NONE', *, *, #246, .F.);
|
|
||||||
#298 = ORIENTED_EDGE('NONE', *, *, #242, .F.);
|
|
||||||
#299 = EDGE_LOOP('NONE', (#295, #296, #297, #298));
|
|
||||||
#300 = ORIENTED_EDGE('NONE', *, *, #247, .T.);
|
|
||||||
#301 = ORIENTED_EDGE('NONE', *, *, #248, .T.);
|
|
||||||
#302 = ORIENTED_EDGE('NONE', *, *, #249, .F.);
|
|
||||||
#303 = ORIENTED_EDGE('NONE', *, *, #245, .F.);
|
|
||||||
#304 = EDGE_LOOP('NONE', (#300, #301, #302, #303));
|
|
||||||
#305 = ORIENTED_EDGE('NONE', *, *, #250, .T.);
|
|
||||||
#306 = ORIENTED_EDGE('NONE', *, *, #251, .T.);
|
|
||||||
#307 = ORIENTED_EDGE('NONE', *, *, #252, .F.);
|
|
||||||
#308 = ORIENTED_EDGE('NONE', *, *, #248, .F.);
|
|
||||||
#309 = EDGE_LOOP('NONE', (#305, #306, #307, #308));
|
|
||||||
#310 = ORIENTED_EDGE('NONE', *, *, #253, .T.);
|
|
||||||
#311 = ORIENTED_EDGE('NONE', *, *, #254, .T.);
|
|
||||||
#312 = ORIENTED_EDGE('NONE', *, *, #255, .F.);
|
|
||||||
#313 = ORIENTED_EDGE('NONE', *, *, #251, .F.);
|
|
||||||
#314 = EDGE_LOOP('NONE', (#310, #311, #312, #313));
|
|
||||||
#315 = ORIENTED_EDGE('NONE', *, *, #256, .T.);
|
|
||||||
#316 = ORIENTED_EDGE('NONE', *, *, #257, .T.);
|
|
||||||
#317 = ORIENTED_EDGE('NONE', *, *, #258, .F.);
|
|
||||||
#318 = ORIENTED_EDGE('NONE', *, *, #254, .F.);
|
|
||||||
#319 = EDGE_LOOP('NONE', (#315, #316, #317, #318));
|
|
||||||
#320 = ORIENTED_EDGE('NONE', *, *, #259, .T.);
|
|
||||||
#321 = ORIENTED_EDGE('NONE', *, *, #260, .T.);
|
|
||||||
#322 = ORIENTED_EDGE('NONE', *, *, #261, .F.);
|
|
||||||
#323 = ORIENTED_EDGE('NONE', *, *, #257, .F.);
|
|
||||||
#324 = EDGE_LOOP('NONE', (#320, #321, #322, #323));
|
|
||||||
#325 = ORIENTED_EDGE('NONE', *, *, #262, .T.);
|
|
||||||
#326 = ORIENTED_EDGE('NONE', *, *, #263, .T.);
|
|
||||||
#327 = ORIENTED_EDGE('NONE', *, *, #264, .F.);
|
|
||||||
#328 = ORIENTED_EDGE('NONE', *, *, #260, .F.);
|
|
||||||
#329 = EDGE_LOOP('NONE', (#325, #326, #327, #328));
|
|
||||||
#330 = ORIENTED_EDGE('NONE', *, *, #265, .T.);
|
|
||||||
#331 = ORIENTED_EDGE('NONE', *, *, #266, .T.);
|
|
||||||
#332 = ORIENTED_EDGE('NONE', *, *, #267, .F.);
|
|
||||||
#333 = ORIENTED_EDGE('NONE', *, *, #263, .F.);
|
|
||||||
#334 = EDGE_LOOP('NONE', (#330, #331, #332, #333));
|
|
||||||
#335 = ORIENTED_EDGE('NONE', *, *, #268, .T.);
|
|
||||||
#336 = ORIENTED_EDGE('NONE', *, *, #231, .T.);
|
|
||||||
#337 = ORIENTED_EDGE('NONE', *, *, #269, .F.);
|
|
||||||
#338 = ORIENTED_EDGE('NONE', *, *, #266, .F.);
|
|
||||||
#339 = EDGE_LOOP('NONE', (#335, #336, #337, #338));
|
|
||||||
#340 = ORIENTED_EDGE('NONE', *, *, #228, .T.);
|
|
||||||
#341 = ORIENTED_EDGE('NONE', *, *, #232, .T.);
|
|
||||||
#342 = ORIENTED_EDGE('NONE', *, *, #235, .T.);
|
|
||||||
#343 = ORIENTED_EDGE('NONE', *, *, #238, .T.);
|
|
||||||
#344 = ORIENTED_EDGE('NONE', *, *, #241, .T.);
|
|
||||||
#345 = ORIENTED_EDGE('NONE', *, *, #244, .T.);
|
|
||||||
#346 = ORIENTED_EDGE('NONE', *, *, #247, .T.);
|
|
||||||
#347 = ORIENTED_EDGE('NONE', *, *, #250, .T.);
|
|
||||||
#348 = ORIENTED_EDGE('NONE', *, *, #253, .T.);
|
|
||||||
#349 = ORIENTED_EDGE('NONE', *, *, #256, .T.);
|
|
||||||
#350 = ORIENTED_EDGE('NONE', *, *, #259, .T.);
|
|
||||||
#351 = ORIENTED_EDGE('NONE', *, *, #262, .T.);
|
|
||||||
#352 = ORIENTED_EDGE('NONE', *, *, #265, .T.);
|
|
||||||
#353 = ORIENTED_EDGE('NONE', *, *, #268, .T.);
|
|
||||||
#354 = EDGE_LOOP('NONE', (#340, #341, #342, #343, #344, #345, #346, #347, #348, #349, #350, #351, #352, #353));
|
|
||||||
#355 = ORIENTED_EDGE('NONE', *, *, #230, .T.);
|
|
||||||
#356 = ORIENTED_EDGE('NONE', *, *, #234, .T.);
|
|
||||||
#357 = ORIENTED_EDGE('NONE', *, *, #237, .T.);
|
|
||||||
#358 = ORIENTED_EDGE('NONE', *, *, #240, .T.);
|
|
||||||
#359 = ORIENTED_EDGE('NONE', *, *, #243, .T.);
|
|
||||||
#360 = ORIENTED_EDGE('NONE', *, *, #246, .T.);
|
|
||||||
#361 = ORIENTED_EDGE('NONE', *, *, #249, .T.);
|
|
||||||
#362 = ORIENTED_EDGE('NONE', *, *, #252, .T.);
|
|
||||||
#363 = ORIENTED_EDGE('NONE', *, *, #255, .T.);
|
|
||||||
#364 = ORIENTED_EDGE('NONE', *, *, #258, .T.);
|
|
||||||
#365 = ORIENTED_EDGE('NONE', *, *, #261, .T.);
|
|
||||||
#366 = ORIENTED_EDGE('NONE', *, *, #264, .T.);
|
|
||||||
#367 = ORIENTED_EDGE('NONE', *, *, #267, .T.);
|
|
||||||
#368 = ORIENTED_EDGE('NONE', *, *, #269, .T.);
|
|
||||||
#369 = EDGE_LOOP('NONE', (#355, #356, #357, #358, #359, #360, #361, #362, #363, #364, #365, #366, #367, #368));
|
|
||||||
#370 = CARTESIAN_POINT('NONE', (0, -0.0127, 0.0508));
|
|
||||||
#371 = DIRECTION('NONE', (-1, -0, 0));
|
|
||||||
#372 = AXIS2_PLACEMENT_3D('NONE', #370, #371, $);
|
|
||||||
#373 = PLANE('NONE', #372);
|
|
||||||
#374 = CARTESIAN_POINT('NONE', (0.039306734695977924, -0.025399999999999995, 0.0508));
|
|
||||||
#375 = DIRECTION('NONE', (0, -1, 0));
|
|
||||||
#376 = AXIS2_PLACEMENT_3D('NONE', #374, #375, $);
|
|
||||||
#377 = PLANE('NONE', #376);
|
|
||||||
#378 = CARTESIAN_POINT('NONE', (0.11488842876320533, -0.05079999999999996, 0.05079999999999999));
|
|
||||||
#379 = DIRECTION('NONE', (-0.5735764363510459, -0.8191520442889919, 0));
|
|
||||||
#380 = AXIS2_PLACEMENT_3D('NONE', #378, #379, $);
|
|
||||||
#381 = PLANE('NONE', #380);
|
|
||||||
#382 = CARTESIAN_POINT('NONE', (0.19623169406722757, -0.07619999999999999, 0.0508));
|
|
||||||
#383 = DIRECTION('NONE', (0, -1, 0));
|
|
||||||
#384 = AXIS2_PLACEMENT_3D('NONE', #382, #383, $);
|
|
||||||
#385 = PLANE('NONE', #384);
|
|
||||||
#386 = CARTESIAN_POINT('NONE', (0.2413, -0.06985, 0.0508));
|
|
||||||
#387 = DIRECTION('NONE', (1, -0, 0));
|
|
||||||
#388 = AXIS2_PLACEMENT_3D('NONE', #386, #387, $);
|
|
||||||
#389 = PLANE('NONE', #388);
|
|
||||||
#390 = CARTESIAN_POINT('NONE', (0.19823384137660915, -0.0635, 0.0508));
|
|
||||||
#391 = DIRECTION('NONE', (0, 1, -0));
|
|
||||||
#392 = AXIS2_PLACEMENT_3D('NONE', #390, #391, $);
|
|
||||||
#393 = PLANE('NONE', #392);
|
|
||||||
#394 = CARTESIAN_POINT('NONE', (0.10982398353915601, -0.03174999999999997, 0.0508));
|
|
||||||
#395 = DIRECTION('NONE', (0.5735764363510459, 0.8191520442889917, -0));
|
|
||||||
#396 = AXIS2_PLACEMENT_3D('NONE', #394, #395, $);
|
|
||||||
#397 = PLANE('NONE', #396);
|
|
||||||
#398 = CARTESIAN_POINT('NONE', (0.105333141160801, 0.019049999999999987, 0.0508));
|
|
||||||
#399 = DIRECTION('NONE', (0.4226182617406993, -0.90630778703665, 0));
|
|
||||||
#400 = AXIS2_PLACEMENT_3D('NONE', #398, #399, $);
|
|
||||||
#401 = PLANE('NONE', #400);
|
|
||||||
#402 = CARTESIAN_POINT('NONE', (0.19374299899825406, 0.0381, 0.0508));
|
|
||||||
#403 = DIRECTION('NONE', (0, -1, 0));
|
|
||||||
#404 = AXIS2_PLACEMENT_3D('NONE', #402, #403, $);
|
|
||||||
#405 = PLANE('NONE', #404);
|
|
||||||
#406 = CARTESIAN_POINT('NONE', (0.2413, 0.044449999999999996, 0.0508));
|
|
||||||
#407 = DIRECTION('NONE', (1, -0, 0));
|
|
||||||
#408 = AXIS2_PLACEMENT_3D('NONE', #406, #407, $);
|
|
||||||
#409 = PLANE('NONE', #408);
|
|
||||||
#410 = CARTESIAN_POINT('NONE', (0.19233523789047138, 0.0508, 0.0508));
|
|
||||||
#411 = DIRECTION('NONE', (0, 1, -0));
|
|
||||||
#412 = AXIS2_PLACEMENT_3D('NONE', #410, #411, $);
|
|
||||||
#413 = PLANE('NONE', #412);
|
|
||||||
#414 = CARTESIAN_POINT('NONE', (0.11613523789047137, 0.0381, 0.05079999999999999));
|
|
||||||
#415 = DIRECTION('NONE', (-0.42261826174069966, 0.90630778703665, -0));
|
|
||||||
#416 = AXIS2_PLACEMENT_3D('NONE', #414, #415, $);
|
|
||||||
#417 = PLANE('NONE', #416);
|
|
||||||
#418 = CARTESIAN_POINT('NONE', (0.044449999999999996, 0.0254, 0.0508));
|
|
||||||
#419 = DIRECTION('NONE', (0, 1, -0));
|
|
||||||
#420 = AXIS2_PLACEMENT_3D('NONE', #418, #419, $);
|
|
||||||
#421 = PLANE('NONE', #420);
|
|
||||||
#422 = CARTESIAN_POINT('NONE', (0, 0.0127, 0.0508));
|
|
||||||
#423 = DIRECTION('NONE', (-1, -0, 0));
|
|
||||||
#424 = AXIS2_PLACEMENT_3D('NONE', #422, #423, $);
|
|
||||||
#425 = PLANE('NONE', #424);
|
|
||||||
#426 = CARTESIAN_POINT('NONE', (0, 0, -0));
|
|
||||||
#427 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#428 = AXIS2_PLACEMENT_3D('NONE', #426, #427, $);
|
|
||||||
#429 = PLANE('NONE', #428);
|
|
||||||
#430 = CARTESIAN_POINT('NONE', (0, 0, 0.1016));
|
|
||||||
#431 = DIRECTION('NONE', (0, 0, 1));
|
|
||||||
#432 = AXIS2_PLACEMENT_3D('NONE', #430, #431, $);
|
|
||||||
#433 = PLANE('NONE', #432);
|
|
||||||
#434 = FACE_OUTER_BOUND('NONE', #274, .T.);
|
|
||||||
#435 = ADVANCED_FACE('NONE', (#434), #373, .T.);
|
|
||||||
#436 = FACE_OUTER_BOUND('NONE', #279, .T.);
|
|
||||||
#437 = ADVANCED_FACE('NONE', (#436), #377, .T.);
|
|
||||||
#438 = FACE_OUTER_BOUND('NONE', #284, .T.);
|
|
||||||
#439 = ADVANCED_FACE('NONE', (#438), #381, .T.);
|
|
||||||
#440 = FACE_OUTER_BOUND('NONE', #289, .T.);
|
|
||||||
#441 = ADVANCED_FACE('NONE', (#440), #385, .T.);
|
|
||||||
#442 = FACE_OUTER_BOUND('NONE', #294, .T.);
|
|
||||||
#443 = ADVANCED_FACE('NONE', (#442), #389, .T.);
|
|
||||||
#444 = FACE_OUTER_BOUND('NONE', #299, .T.);
|
|
||||||
#445 = ADVANCED_FACE('NONE', (#444), #393, .T.);
|
|
||||||
#446 = FACE_OUTER_BOUND('NONE', #304, .T.);
|
|
||||||
#447 = ADVANCED_FACE('NONE', (#446), #397, .T.);
|
|
||||||
#448 = FACE_OUTER_BOUND('NONE', #309, .T.);
|
|
||||||
#449 = ADVANCED_FACE('NONE', (#448), #401, .T.);
|
|
||||||
#450 = FACE_OUTER_BOUND('NONE', #314, .T.);
|
|
||||||
#451 = ADVANCED_FACE('NONE', (#450), #405, .T.);
|
|
||||||
#452 = FACE_OUTER_BOUND('NONE', #319, .T.);
|
|
||||||
#453 = ADVANCED_FACE('NONE', (#452), #409, .T.);
|
|
||||||
#454 = FACE_OUTER_BOUND('NONE', #324, .T.);
|
|
||||||
#455 = ADVANCED_FACE('NONE', (#454), #413, .T.);
|
|
||||||
#456 = FACE_OUTER_BOUND('NONE', #329, .T.);
|
|
||||||
#457 = ADVANCED_FACE('NONE', (#456), #417, .T.);
|
|
||||||
#458 = FACE_OUTER_BOUND('NONE', #334, .T.);
|
|
||||||
#459 = ADVANCED_FACE('NONE', (#458), #421, .T.);
|
|
||||||
#460 = FACE_OUTER_BOUND('NONE', #339, .T.);
|
|
||||||
#461 = ADVANCED_FACE('NONE', (#460), #425, .T.);
|
|
||||||
#462 = FACE_OUTER_BOUND('NONE', #354, .F.);
|
|
||||||
#463 = ADVANCED_FACE('NONE', (#462), #429, .F.);
|
|
||||||
#464 = FACE_OUTER_BOUND('NONE', #369, .T.);
|
|
||||||
#465 = ADVANCED_FACE('NONE', (#464), #433, .T.);
|
|
||||||
#466 = CLOSED_SHELL('NONE', (#435, #437, #439, #441, #443, #445, #447, #449, #451, #453, #455, #457, #459, #461, #463, #465));
|
|
||||||
#467 = ORIENTED_CLOSED_SHELL('NONE', *, #466, .T.);
|
|
||||||
#468 = MANIFOLD_SOLID_BREP('NONE', #467);
|
|
||||||
#469 = APPLICATION_CONTEXT('configuration controlled 3D design of mechanical parts and assemblies');
|
|
||||||
#470 = PRODUCT_DEFINITION_CONTEXT('part definition', #469, 'design');
|
|
||||||
#471 = PRODUCT('UNIDENTIFIED_PRODUCT', 'NONE', $, ());
|
|
||||||
#472 = PRODUCT_DEFINITION_FORMATION('', $, #471);
|
|
||||||
#473 = PRODUCT_DEFINITION('design', $, #472, #470);
|
|
||||||
#474 = PRODUCT_DEFINITION_SHAPE('NONE', $, #473);
|
|
||||||
#475 = ADVANCED_BREP_SHAPE_REPRESENTATION('NONE', (#468), #3);
|
|
||||||
#476 = SHAPE_DEFINITION_REPRESENTATION(#474, #475);
|
|
||||||
ENDSEC;
|
|
||||||
END-ISO-10303-21;
|
|