From 8eca18cf762c0519ca8f1895e043c104b321a7eb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 9 May 2026 07:57:34 +0000 Subject: [PATCH] Update KCL docs --- ...example_fn_std-gdt-annotation0_output.gltf | 1040 +++++++++++++++++ ...example_fn_std-gdt-annotation1_output.gltf | 1040 +++++++++++++++++ ...al_test_example_fn_std-gdt-annotation0.png | Bin 0 -> 37123 bytes ...al_test_example_fn_std-gdt-annotation1.png | Bin 0 -> 43241 bytes .../kcl-std/functions/std-gdt-annotation.md | 103 ++ content/pages/docs/kcl-std/index.md | 1 + content/pages/docs/kcl-std/modules/std-gdt.md | 1 + 7 files changed, 2185 insertions(+) create mode 100644 content/kcl-test-outputs/models/serial_test_example_fn_std-gdt-annotation0_output.gltf create mode 100644 content/kcl-test-outputs/models/serial_test_example_fn_std-gdt-annotation1_output.gltf create mode 100644 content/kcl-test-outputs/serial_test_example_fn_std-gdt-annotation0.png create mode 100644 content/kcl-test-outputs/serial_test_example_fn_std-gdt-annotation1.png create mode 100644 content/pages/docs/kcl-std/functions/std-gdt-annotation.md diff --git a/content/kcl-test-outputs/models/serial_test_example_fn_std-gdt-annotation0_output.gltf b/content/kcl-test-outputs/models/serial_test_example_fn_std-gdt-annotation0_output.gltf new file mode 100644 index 00000000..ac483198 --- /dev/null +++ b/content/kcl-test-outputs/models/serial_test_example_fn_std-gdt-annotation0_output.gltf @@ -0,0 +1,1040 @@ +{ + "accessors": [ + { + "bufferView": 0, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0, + 0, + -0 + ], + "max": [ + 0.009999999776482582, + 0.004999999888241291, + -0 + ] + }, + { + "bufferView": 0, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0.009999999776482582, + 0, + -0.009999999776482582 + ], + "max": [ + 0.009999999776482582, + 0.004999999888241291, + -0 + ] + }, + { + "bufferView": 1, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0, + 0, + -0.009999999776482582 + ], + "max": [ + 0.009999999776482582, + 0.004999999888241291, + -0.009999999776482582 + ] + }, + { + "bufferView": 2, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0, + 0, + -0.009999999776482582 + ], + "max": [ + 0, + 0.004999999888241291, + -0 + ] + }, + { + "bufferView": 3, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0, + 0, + -0.009999999776482582 + ], + "max": [ + 0.009999999776482582, + 0, + -0 + ] + }, + { + "bufferView": 4, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + }, + { + "bufferView": 5, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0, + 0.004999999888241291, + -0.009999999776482582 + ], + "max": [ + 0.009999999776482582, + 0.004999999888241291, + -0 + ] + }, + { + "bufferView": 5, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + } + ], + "asset": { + "generator": "zoo.dev", + "version": "2.0" + }, + "buffers": [ + { + "byteLength": 864, + "uri": "data:application/octet-stream;base64,AAAAAArXozsAAACAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAACAAAAAAAAAAAAAAIA/CtcjPArXozsAAACAAAAAAAAAAAAAAIA/CtcjPArXozsAAACAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAACAAAAAAAAAAAAAAIA/CtcjPAAAAAAAAACAAAAAAAAAAAAAAIA/CtcjPArXozsAAACAAACAPwAAAAAAAAAACtcjPAAAAAAAAACAAACAPwAAAAAAAAAACtcjPArXozsK1yO8AACAPwAAAAAAAAAACtcjPArXozsK1yO8AACAPwAAAAAAAAAACtcjPAAAAAAAAACAAACAPwAAAAAAAAAACtcjPAAAAAAK1yO8AACAPwAAAAAAAAAACtcjPArXozsK1yO8AAAAAAAAAAAAAIC/CtcjPAAAAAAK1yO8AAAAAAAAAAAAAIC/AAAAAArXozsK1yO8AAAAAAAAAAAAAIC/AAAAAArXozsK1yO8AAAAAAAAAAAAAIC/CtcjPAAAAAAK1yO8AAAAAAAAAAAAAIC/AAAAAAAAAAAK1yO8AAAAAAAAAAAAAIC/AAAAAArXozsK1yO8AACAvwAAAAAAAAAAAAAAAAAAAAAK1yO8AACAvwAAAAAAAAAAAAAAAArXozsAAACAAACAvwAAAAAAAAAAAAAAAArXozsAAACAAACAvwAAAAAAAAAAAAAAAAAAAAAK1yO8AACAvwAAAAAAAAAAAAAAAAAAAAAAAACAAACAvwAAAAAAAAAAAAAAAAAAAAAK1yO8AAAAgAAAgL8AAACACtcjPAAAAAAK1yO8AAAAgAAAgL8AAACAAAAAAAAAAAAAAACAAAAAgAAAgL8AAACACtcjPAAAAAAK1yO8AAAAgAAAgL8AAACACtcjPAAAAAAAAACAAAAAgAAAgL8AAACAAAAAAAAAAAAAAACAAAAAgAAAgL8AAACAAAAAAArXozsK1yO8AAAAAAAAgD8AAAAAAAAAAArXozsAAACAAAAAAAAAgD8AAAAACtcjPArXozsK1yO8AAAAAAAAgD8AAAAACtcjPArXozsK1yO8AAAAAAAAgD8AAAAAAAAAAArXozsAAACAAAAAAAAAgD8AAAAACtcjPArXozsAAACAAAAAAAAAgD8AAAAA" + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 0, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 144, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 288, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 432, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 720, + "byteStride": 24, + "target": 34962 + } + ], + "scene": 0, + "extensions": { + "KITTYCAD_boundary_representation": { + "solids": [ + { + "shells": [ + [ + 0, + 1 + ] + ], + "mesh": 0, + "extras": { + "KITTYCAD": { + "material": 0 + } + } + } + ], + "shells": [ + { + "faces": [ + [ + 0, + 1 + ], + [ + 1, + 1 + ], + [ + 2, + 1 + ], + [ + 3, + 1 + ], + [ + 4, + 1 + ], + [ + 5, + 1 + ] + ] + } + ], + "faces": [ + { + "surface": [ + 0, + 1 + ], + "loops": [ + [ + 0, + 1 + ] + ] + }, + { + "surface": [ + 1, + 1 + ], + "loops": [ + [ + 1, + 1 + ] + ] + }, + { + "surface": [ + 2, + 1 + ], + "loops": [ + [ + 2, + 1 + ] + ] + }, + { + "surface": [ + 3, + 1 + ], + "loops": [ + [ + 3, + 1 + ] + ] + }, + { + "surface": [ + 4, + -1 + ], + "loops": [ + [ + 4, + 1 + ] + ] + }, + { + "surface": [ + 5, + 1 + ], + "loops": [ + [ + 5, + 1 + ] + ] + } + ], + "loops": [ + { + "edges": [ + [ + 0, + 1 + ], + [ + 1, + 1 + ], + [ + 2, + -1 + ], + [ + 3, + -1 + ] + ] + }, + { + "edges": [ + [ + 4, + 1 + ], + [ + 5, + 1 + ], + [ + 6, + -1 + ], + [ + 1, + -1 + ] + ] + }, + { + "edges": [ + [ + 7, + 1 + ], + [ + 8, + 1 + ], + [ + 9, + -1 + ], + [ + 5, + -1 + ] + ] + }, + { + "edges": [ + [ + 10, + 1 + ], + [ + 3, + 1 + ], + [ + 11, + -1 + ], + [ + 8, + -1 + ] + ] + }, + { + "edges": [ + [ + 10, + -1 + ], + [ + 7, + -1 + ], + [ + 4, + -1 + ], + [ + 0, + -1 + ] + ] + }, + { + "edges": [ + [ + 2, + 1 + ], + [ + 6, + 1 + ], + [ + 9, + 1 + ], + [ + 11, + 1 + ] + ] + } + ], + "edges": [ + { + "curve": [ + 0, + 1 + ], + "start": 0, + "end": 1, + "t": [ + 0, + 0.01 + ] + }, + { + "curve": [ + 1, + 1 + ], + "start": 1, + "end": 2, + "t": [ + 0, + 0.005 + ] + }, + { + "curve": [ + 2, + 1 + ], + "start": 3, + "end": 2, + "t": [ + 0, + 0.01 + ] + }, + { + "curve": [ + 3, + 1 + ], + "start": 0, + "end": 3, + "t": [ + 0, + 0.005 + ] + }, + { + "curve": [ + 4, + 1 + ], + "start": 1, + "end": 4, + "t": [ + 0, + 0.01 + ] + }, + { + "curve": [ + 5, + 1 + ], + "start": 4, + "end": 5, + "t": [ + 0, + 0.005 + ] + }, + { + "curve": [ + 6, + 1 + ], + "start": 2, + "end": 5, + "t": [ + 0, + 0.01 + ] + }, + { + "curve": [ + 7, + 1 + ], + "start": 4, + "end": 6, + "t": [ + 0, + 0.01 + ] + }, + { + "curve": [ + 8, + 1 + ], + "start": 6, + "end": 7, + "t": [ + 0, + 0.005 + ] + }, + { + "curve": [ + 9, + 1 + ], + "start": 5, + "end": 7, + "t": [ + 0, + 0.01 + ] + }, + { + "curve": [ + 10, + 1 + ], + "start": 6, + "end": 0, + "t": [ + 0, + 0.01 + ] + }, + { + "curve": [ + 11, + 1 + ], + "start": 7, + "end": 3, + "t": [ + 0, + 0.01 + ] + } + ], + "vertices": [ + [ + 0, + 0, + -0 + ], + [ + 0.01, + 0, + -0 + ], + [ + 0.01, + 0.005, + -0 + ], + [ + 0, + 0.005, + -0 + ], + [ + 0.01, + 0, + -0.01 + ], + [ + 0.01, + 0.005, + -0.01 + ], + [ + 0, + 0, + -0.01 + ], + [ + 0, + 0.005, + -0.01 + ] + ], + "surfaces": [ + { + "type": "plane", + "plane": { + "xAxis": [ + 1, + 0, + -0 + ], + "yAxis": [ + -0, + 1, + 0 + ], + "origin": [ + 0.005, + 0.0025, + -0 + ] + } + }, + { + "type": "plane", + "plane": { + "xAxis": [ + -0, + 1, + 0 + ], + "yAxis": [ + 0, + -0, + 1 + ], + "origin": [ + 0.01, + 0.0025, + -0.005 + ] + } + }, + { + "type": "plane", + "plane": { + "xAxis": [ + 1, + 0, + 0 + ], + "yAxis": [ + 0, + -1, + 0 + ], + "origin": [ + 0.005, + 0.0025, + -0.01 + ] + } + }, + { + "type": "plane", + "plane": { + "xAxis": [ + 0, + 1, + 0 + ], + "yAxis": [ + 0, + 0, + -1 + ], + "origin": [ + 0, + 0.0025, + -0.005 + ] + } + }, + { + "type": "plane", + "plane": { + "xAxis": [ + 1, + 0, + 0 + ], + "yAxis": [ + 0, + 0, + -1 + ], + "origin": [ + 0, + 0, + -0 + ] + } + }, + { + "type": "plane", + "plane": { + "xAxis": [ + 1, + 0, + 0 + ], + "yAxis": [ + 0, + 0, + -1 + ], + "origin": [ + 0, + 0.005, + -0 + ] + } + } + ], + "curves3D": [ + { + "type": "line", + "line": { + "origin": [ + 0, + 0, + -0 + ], + "direction": [ + 1, + 0, + -0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0, + -0 + ], + "direction": [ + 0, + 1, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0, + 0.005, + -0 + ], + "direction": [ + 1, + 0, + -0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0, + 0, + -0 + ], + "direction": [ + 0, + 1, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0, + -0 + ], + "direction": [ + 0, + 0, + -1 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0, + -0.01 + ], + "direction": [ + 0, + 1, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0.005, + -0 + ], + "direction": [ + 0, + 0, + -1 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0, + -0.01 + ], + "direction": [ + -1, + 0, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0, + 0, + -0.01 + ], + "direction": [ + 0, + 1, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0.005, + -0.01 + ], + "direction": [ + -1, + 0, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0, + 0, + -0.01 + ], + "direction": [ + 0, + 0, + 1 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0, + 0.005, + -0.01 + ], + "direction": [ + 0, + 0, + 1 + ] + } + } + ] + } + }, + "extensionsUsed": [ + "KITTYCAD_boundary_representation" + ], + "materials": [ + { + "alphaMode": "OPAQUE", + "doubleSided": false, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0.9, + 0.9, + 0.9, + 1 + ], + "metallicFactor": 1, + "roughnessFactor": 1 + }, + "emissiveFactor": [ + 0, + 0, + 0 + ] + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 0, + "NORMAL": 1 + }, + "material": 0 + }, + { + "attributes": { + "POSITION": 2, + "NORMAL": 3 + }, + "material": 0 + }, + { + "attributes": { + "POSITION": 4, + "NORMAL": 5 + }, + "material": 0 + }, + { + "attributes": { + "POSITION": 6, + "NORMAL": 7 + }, + "material": 0 + }, + { + "attributes": { + "POSITION": 8, + "NORMAL": 9 + }, + "material": 0 + }, + { + "attributes": { + "POSITION": 10, + "NORMAL": 11 + }, + "material": 0 + } + ] + } + ], + "nodes": [ + { + "children": [ + 1 + ] + }, + { + "children": [ + 2 + ] + }, + { + "extensions": { + "KITTYCAD_boundary_representation": { + "solid": 0 + } + }, + "mesh": 0 + } + ], + "scenes": [ + { + "nodes": [ + 0 + ] + } + ] +} \ No newline at end of file diff --git a/content/kcl-test-outputs/models/serial_test_example_fn_std-gdt-annotation1_output.gltf b/content/kcl-test-outputs/models/serial_test_example_fn_std-gdt-annotation1_output.gltf new file mode 100644 index 00000000..a26696fd --- /dev/null +++ b/content/kcl-test-outputs/models/serial_test_example_fn_std-gdt-annotation1_output.gltf @@ -0,0 +1,1040 @@ +{ + "accessors": [ + { + "bufferView": 0, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0.009999999776482582, + 0, + -0.006000000052154064 + ], + "max": [ + 0.009999999776482582, + 0.004000000189989805, + -0 + ] + }, + { + "bufferView": 0, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0, + 0, + -0.006000000052154064 + ], + "max": [ + 0.009999999776482582, + 0.004000000189989805, + -0.006000000052154064 + ] + }, + { + "bufferView": 1, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0, + 0, + -0.006000000052154064 + ], + "max": [ + 0, + 0.004000000189989805, + -0 + ] + }, + { + "bufferView": 2, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0, + 0, + -0 + ], + "max": [ + 0.009999999776482582, + 0.004000000189989805, + -0 + ] + }, + { + "bufferView": 3, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0, + 0, + -0.006000000052154064 + ], + "max": [ + 0.009999999776482582, + 0, + -0 + ] + }, + { + "bufferView": 4, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + }, + { + "bufferView": 5, + "byteOffset": 0, + "count": 6, + "componentType": 5126, + "type": "VEC3", + "min": [ + 0, + 0.004000000189989805, + -0.006000000052154064 + ], + "max": [ + 0.009999999776482582, + 0.004000000189989805, + -0 + ] + }, + { + "bufferView": 5, + "byteOffset": 12, + "count": 6, + "componentType": 5126, + "type": "VEC3" + } + ], + "asset": { + "generator": "zoo.dev", + "version": "2.0" + }, + "buffers": [ + { + "byteLength": 864, + "uri": "data:application/octet-stream;base64,CtcjPG8SgzsAAACAAACAPwAAAAAAAAAACtcjPAAAAAAAAACAAACAPwAAAAAAAAAACtcjPG8Sgzumm8S7AACAPwAAAAAAAAAACtcjPG8Sgzumm8S7AACAPwAAAAAAAAAACtcjPAAAAAAAAACAAACAPwAAAAAAAAAACtcjPAAAAACmm8S7AACAPwAAAAAAAAAACtcjPG8Sgzumm8S7AAAAAAAAAAAAAIC/CtcjPAAAAACmm8S7AAAAAAAAAAAAAIC/AAAAAG8Sgzumm8S7AAAAAAAAAAAAAIC/AAAAAG8Sgzumm8S7AAAAAAAAAAAAAIC/CtcjPAAAAACmm8S7AAAAAAAAAAAAAIC/AAAAAAAAAACmm8S7AAAAAAAAAAAAAIC/AAAAAG8Sgzumm8S7AACAvwAAAAAAAAAAAAAAAAAAAACmm8S7AACAvwAAAAAAAAAAAAAAAG8SgzsAAACAAACAvwAAAAAAAAAAAAAAAG8SgzsAAACAAACAvwAAAAAAAAAAAAAAAAAAAACmm8S7AACAvwAAAAAAAAAAAAAAAAAAAAAAAACAAACAvwAAAAAAAAAAAAAAAG8SgzsAAACAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAACAAAAAAAAAAAAAAIA/CtcjPG8SgzsAAACAAAAAAAAAAAAAAIA/CtcjPG8SgzsAAACAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAACAAAAAAAAAAAAAAIA/CtcjPAAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAACAAAAAgAAAgL8AAACAAAAAAAAAAACmm8S7AAAAgAAAgL8AAACACtcjPAAAAAAAAACAAAAAgAAAgL8AAACAAAAAAAAAAACmm8S7AAAAgAAAgL8AAACACtcjPAAAAACmm8S7AAAAgAAAgL8AAACACtcjPAAAAAAAAACAAAAAgAAAgL8AAACAAAAAAG8SgzsAAACAAAAAAAAAgD8AAAAACtcjPG8SgzsAAACAAAAAAAAAgD8AAAAAAAAAAG8Sgzumm8S7AAAAAAAAgD8AAAAAAAAAAG8Sgzumm8S7AAAAAAAAgD8AAAAACtcjPG8SgzsAAACAAAAAAAAAgD8AAAAACtcjPG8Sgzumm8S7AAAAAAAAgD8AAAAA" + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 0, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 144, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 288, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 432, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 144, + "byteOffset": 720, + "byteStride": 24, + "target": 34962 + } + ], + "scene": 0, + "extensions": { + "KITTYCAD_boundary_representation": { + "solids": [ + { + "shells": [ + [ + 0, + 1 + ] + ], + "mesh": 0, + "extras": { + "KITTYCAD": { + "material": 0 + } + } + } + ], + "shells": [ + { + "faces": [ + [ + 0, + 1 + ], + [ + 1, + 1 + ], + [ + 2, + 1 + ], + [ + 3, + 1 + ], + [ + 4, + 1 + ], + [ + 5, + 1 + ] + ] + } + ], + "faces": [ + { + "surface": [ + 0, + 1 + ], + "loops": [ + [ + 0, + 1 + ] + ] + }, + { + "surface": [ + 1, + 1 + ], + "loops": [ + [ + 1, + 1 + ] + ] + }, + { + "surface": [ + 2, + 1 + ], + "loops": [ + [ + 2, + 1 + ] + ] + }, + { + "surface": [ + 3, + 1 + ], + "loops": [ + [ + 3, + 1 + ] + ] + }, + { + "surface": [ + 4, + -1 + ], + "loops": [ + [ + 4, + 1 + ] + ] + }, + { + "surface": [ + 5, + 1 + ], + "loops": [ + [ + 5, + 1 + ] + ] + } + ], + "loops": [ + { + "edges": [ + [ + 0, + 1 + ], + [ + 1, + 1 + ], + [ + 2, + -1 + ], + [ + 3, + -1 + ] + ] + }, + { + "edges": [ + [ + 4, + 1 + ], + [ + 5, + 1 + ], + [ + 6, + -1 + ], + [ + 1, + -1 + ] + ] + }, + { + "edges": [ + [ + 7, + 1 + ], + [ + 8, + 1 + ], + [ + 9, + -1 + ], + [ + 5, + -1 + ] + ] + }, + { + "edges": [ + [ + 10, + 1 + ], + [ + 3, + 1 + ], + [ + 11, + -1 + ], + [ + 8, + -1 + ] + ] + }, + { + "edges": [ + [ + 10, + -1 + ], + [ + 7, + -1 + ], + [ + 4, + -1 + ], + [ + 0, + -1 + ] + ] + }, + { + "edges": [ + [ + 2, + 1 + ], + [ + 6, + 1 + ], + [ + 9, + 1 + ], + [ + 11, + 1 + ] + ] + } + ], + "edges": [ + { + "curve": [ + 0, + 1 + ], + "start": 0, + "end": 1, + "t": [ + 0, + 0.006 + ] + }, + { + "curve": [ + 1, + 1 + ], + "start": 1, + "end": 2, + "t": [ + 0, + 0.004 + ] + }, + { + "curve": [ + 2, + 1 + ], + "start": 3, + "end": 2, + "t": [ + 0, + 0.006 + ] + }, + { + "curve": [ + 3, + 1 + ], + "start": 0, + "end": 3, + "t": [ + 0, + 0.004 + ] + }, + { + "curve": [ + 4, + 1 + ], + "start": 1, + "end": 4, + "t": [ + 0, + 0.01 + ] + }, + { + "curve": [ + 5, + 1 + ], + "start": 4, + "end": 5, + "t": [ + 0, + 0.004 + ] + }, + { + "curve": [ + 6, + 1 + ], + "start": 2, + "end": 5, + "t": [ + 0, + 0.01 + ] + }, + { + "curve": [ + 7, + 1 + ], + "start": 4, + "end": 6, + "t": [ + 0, + 0.006 + ] + }, + { + "curve": [ + 8, + 1 + ], + "start": 6, + "end": 7, + "t": [ + 0, + 0.004 + ] + }, + { + "curve": [ + 9, + 1 + ], + "start": 5, + "end": 7, + "t": [ + 0, + 0.006 + ] + }, + { + "curve": [ + 10, + 1 + ], + "start": 6, + "end": 0, + "t": [ + 0, + 0.01 + ] + }, + { + "curve": [ + 11, + 1 + ], + "start": 7, + "end": 3, + "t": [ + 0, + 0.01 + ] + } + ], + "vertices": [ + [ + 0.01, + 0, + -0 + ], + [ + 0.01, + 0, + -0.006 + ], + [ + 0.01, + 0.004, + -0.006 + ], + [ + 0.01, + 0.004, + -0 + ], + [ + 0, + 0, + -0.006 + ], + [ + 0, + 0.004, + -0.006 + ], + [ + 0, + 0, + -0 + ], + [ + 0, + 0.004, + -0 + ] + ], + "surfaces": [ + { + "type": "plane", + "plane": { + "xAxis": [ + -0, + 1, + 0 + ], + "yAxis": [ + 0, + -0, + 1 + ], + "origin": [ + 0.01, + 0.002, + -0.003 + ] + } + }, + { + "type": "plane", + "plane": { + "xAxis": [ + 1, + 0, + 0 + ], + "yAxis": [ + 0, + -1, + 0 + ], + "origin": [ + 0.005, + 0.002, + -0.006 + ] + } + }, + { + "type": "plane", + "plane": { + "xAxis": [ + 0, + 1, + 0 + ], + "yAxis": [ + 0, + 0, + -1 + ], + "origin": [ + 0, + 0.002, + -0.003 + ] + } + }, + { + "type": "plane", + "plane": { + "xAxis": [ + 1, + 0, + -0 + ], + "yAxis": [ + -0, + 1, + 0 + ], + "origin": [ + 0.005, + 0.002, + -0 + ] + } + }, + { + "type": "plane", + "plane": { + "xAxis": [ + 1, + 0, + 0 + ], + "yAxis": [ + 0, + 0, + -1 + ], + "origin": [ + 0, + 0, + -0 + ] + } + }, + { + "type": "plane", + "plane": { + "xAxis": [ + 1, + 0, + 0 + ], + "yAxis": [ + 0, + 0, + -1 + ], + "origin": [ + 0, + 0.004, + -0 + ] + } + } + ], + "curves3D": [ + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0, + -0 + ], + "direction": [ + 0, + 0, + -1 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0, + -0.006 + ], + "direction": [ + 0, + 1, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0.004, + -0 + ], + "direction": [ + 0, + 0, + -1 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0, + -0 + ], + "direction": [ + 0, + 1, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0, + -0.006 + ], + "direction": [ + -1, + 0, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0, + 0, + -0.006 + ], + "direction": [ + 0, + 1, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0.01, + 0.004, + -0.006 + ], + "direction": [ + -1, + 0, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0, + 0, + -0.006 + ], + "direction": [ + 0, + 0, + 1 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0, + 0, + -0 + ], + "direction": [ + 0, + 1, + 0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0, + 0.004, + -0.006 + ], + "direction": [ + 0, + 0, + 1 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0, + 0, + -0 + ], + "direction": [ + 1, + 0, + -0 + ] + } + }, + { + "type": "line", + "line": { + "origin": [ + 0, + 0.004, + -0 + ], + "direction": [ + 1, + 0, + -0 + ] + } + } + ] + } + }, + "extensionsUsed": [ + "KITTYCAD_boundary_representation" + ], + "materials": [ + { + "alphaMode": "OPAQUE", + "doubleSided": false, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0.9, + 0.9, + 0.9, + 1 + ], + "metallicFactor": 1, + "roughnessFactor": 1 + }, + "emissiveFactor": [ + 0, + 0, + 0 + ] + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 0, + "NORMAL": 1 + }, + "material": 0 + }, + { + "attributes": { + "POSITION": 2, + "NORMAL": 3 + }, + "material": 0 + }, + { + "attributes": { + "POSITION": 4, + "NORMAL": 5 + }, + "material": 0 + }, + { + "attributes": { + "POSITION": 6, + "NORMAL": 7 + }, + "material": 0 + }, + { + "attributes": { + "POSITION": 8, + "NORMAL": 9 + }, + "material": 0 + }, + { + "attributes": { + "POSITION": 10, + "NORMAL": 11 + }, + "material": 0 + } + ] + } + ], + "nodes": [ + { + "children": [ + 1 + ] + }, + { + "children": [ + 2 + ] + }, + { + "extensions": { + "KITTYCAD_boundary_representation": { + "solid": 0 + } + }, + "mesh": 0 + } + ], + "scenes": [ + { + "nodes": [ + 0 + ] + } + ] +} \ No newline at end of file diff --git a/content/kcl-test-outputs/serial_test_example_fn_std-gdt-annotation0.png b/content/kcl-test-outputs/serial_test_example_fn_std-gdt-annotation0.png new file mode 100644 index 0000000000000000000000000000000000000000..becb90d8607fb78388bdad93dbb4dec0a5e5db8c GIT binary patch literal 37123 zcmeHwYh09d+W#Obl^V;sMTIh@7He)!g^9^wYO^&pW3!SLl+i3%LmU;Ay3a+b| zSS%7uWyrez5y=2K41*$~0#1s8Fu-s|j&ov|^W6XIx^AC>winN<=hg6WiRCbJ-@n6k zeNVrcLw|l}<*Y}ZdW6H_%v$xp7fbH&(59{ry;%kxJLE z7yRYRt6C;z^vJck+}&%ooQqNxJ@~inpV?oo&d+|?ciyOZU-75$r<467@8$>Hf8D+7 zKWERC4*vHi3;)oK4?;HXz5Cyv43fvb`1L<39b}$={@4F#?_K7D_kZ=7;Mtk8|K9Lx z&jjCNLf$R;mCM6RcI1D%`&TXxAIL6vv-iL6iSE-P|A+I&CXA?a#wIO)=Te-oHk^BG z(%LwC&RIMr7k+2)n6yBg#lu-VoXBG$0CZx-iKF2J!IMYBiS8$}9w%*?#5SG9WAb)! zGU!R$#VHL;Qa_xe9XzmoPz1ZI^e8|6GvmC6H+-Ll~bj1s#H#uYGNI5R>g^< z;Z&(6kA_pFnnb&u=K3Vs?Sxd50H(8eIE%;sbu#B~lTGRWFk5z9>^vCeZM|1hv1eh< z&b!Q_<74NO1BY+9OH5VV`G?rw|9WD2i1GLG^2(H&Go+{F2$TyulJr&fwHQa+&zUGm9%~LAJh|1yHuaNSsJJjPl@+D0h zW7@9L9%O_Q6IK>U|CeDq;_mrZbo*BbS4`!7TNBXt63_fpzV<1hW>oDM<=T1$j$Wyw zfp2f%Z&KR0#-&32QuR3d8(+Hx-v35r$x~T+BNW-PWagB&t;3DqWp7v8gKjK^o8_5z zD`KzuW>3*<=8kWcT42<^&)*#zdy%Q)+p1KJp^-NC@oOuCbk#H;S9i_v^YbgdILLg_ zBpzuJcV}f~btfk$yJa+ABt$+bn8m2~Y;1aS1;?i2F}mQO&WD3d{^2Rj+m}l2Re6u! zZ;CzA6uaL`Sgw6tYWR!P@XF!pkMwR5jhp-c)4dd)rsR(eOV--B`*c0meUE=zxYT>@ z+_}29Yf`!VX*+lBJg>rwi?JJ;R5M?kS!KC=U`9V)7!A?1o#VsJ35z#e+UjTB^dC-7yq=zTfM>tWvmbTin=ZLCKf2q040g~+Tr@O> zNiQ>-VTpxtx|coLuw)i{Weps-NUPPF&iOQNZ$w1@vdYoX(P<9PWzl_gdpT7v{=dZ= zOZR+s)**(J?XO7C!at-A~QA5=*Y!YL+r)ZgF^ih+lhb z_x|>=wW_hXCjO4-=;+y-o;YY&vi1m5^-gv`-1JRzYC1bQHgPuvNqI}*gM)YdB{S`v ztmS*BZz|c~J$KHW;b>TV{{H?o`LgjAFHW}UijQM1TjgASGa&DOI_3 zv`m=(U3&bP^!PU&shRa#XC!TYqA{=V5L2~p-@c=+|Lk5i$J=|3KkqSEhlvFrZofC4SKMy-n2iulnY?#bc4chOlpNUn z#KAS`i$|u^ZN2cS`}q(5uv9RZ6F&GDU9i3Su&2Uh#flBl^{+Ik_B5<@Z*OgF^**>+ zq!Jn1M9Qe*z`b*7KKK0N@jkt|>lydBYx8k{jx4|d8660gSkh9D9(~jla_qa=KJR>0 z+WTdgchQ9l(E+}CSUV9gFO9i#V2N?wx_!#q@bC2B=UnObHeQq$j2t;~WNnfmUUs9d z=gs$5pK%x6e}fx`3oIrkMxhtHwT^DOEw=lJd&|9h_vZZKl03dXu`aytlkmPT)G}jx z*$%mVJlA!O|Gwd6mGQFh7t(9zC*eLSY`j@y93Nk-6TEf2sJJ+_ZD-Z2;yHY=t!Mkv z%(V?mMn*@&FOC!`vrFZ2d5wM-jKT)@^JQfTyPi1c@)~;$uvXY>cUL z-i=LE5d_Ue3+nsz)%&@&j+I|6-#hsBiYx8y?W4Zg+JEN4!p|SZFfy@`|jEo+~KzG?NV0k?7Un;TLG$v)#jJ>-N?wu7MQX(ymt-XD@e;L z92joCU~G*a$_sw-;O2Vy-xh347%B8?{b|~3b}dU79}cAI_43Rrj^-oY_(!~1J7Z&G zcj8jW@_c&UjkSJlV_y&D%N?i9i4_H~nT)N`in+xqu{AHR@Zqo3*5)L~V_Y zjpM1dYpJ&J7iSI`6BWk9?i#*BE4cuB)@A+KyU+Wk!A3mF<%@N%2=uS0?zgp%v<2ON zDK)Nc4PLHYP@%AvD>BcmKl?0m9XBlAyQ(Kpr4Qr}R|{;_f_+=IY&m;k-RW&lxj*{o z_~^y%qhXSsmEsr_tWM& zzGQ8~55>jBwUW>B^768pL~Tu?hT{0M#qq^d;ttf;*N?yk@bF-7n1?kZM%*7GHv7x< z{&LHcu+rX(%8YDs!*@)&Xx!>ylHnTh zu)oAsBe5lXS=;Nuy8?rEGqYkKv%=0!)qHPliYF{2FAooBE!a%5Eq8K*v{pG|m1{jE z@ULqNe|!tSA4iTq-XyU%Nk*wJZ3BFBD^)zU#-VX%G{U^~XL}RMYZA&kZ{51pSthrZ zNi>bcsoX;NVPEIv1JN8c<4`j%Ni`2kH3uZ7WQi%0 zYx#z28BdMBb1J+`);=T)vfUNf?+PRd3D(%Ay&EI*V0^1CL@3(zwQ^f6-@H*}*eHN) z*_>eFtzW$`RW!Us&_|h4xOaqf>3tav80<0;~BW=jC$AKm~NJ z!~MIVjLa5}ZxxOoRoiZ=ZDOk0GFYDT<^hZuHyU|?y$gfmY_xdo`HsPS$5?LSjoifR zIDm=wsT5vWDH&TSPl(LZa-d}_v-b%deQMLAYR#i+JHpYI0JFIKRTj?Ug_p-V;6_r# z)-bstOm15h9DiG-T&h@^SBP7yAYGhU9G7W~t#3-K_gjwOKyOZbH!`m%aAsA!P$)Fw zAMg`lZ#6YJa5?je8lR#T%`BgU37NX0`osS|v5qij8g{tne3f*IFS~09B5!Om(9IfN zmFiy=821T{`_vyq=5g{0w@D<-ZKwv)WxKlW9D-Vu6%eNzqkFG|)|B9*fc7S|774B1 zQqv)+=|IHIuSy=R+~*AtV%0xz<6xQQnm*&2b_sRQ33dAf+Q$UiC;7%`zOkyPK02d* ztDee2ol(LVnSVk3bh}np1k-W`itYILcmX|t#)Yfdm2WN0xAsYNJ`$aO&C$931)+Ig zB1Un6YA|I}Vd&iEce34A#rMqTnm-bnzZ9Am1GE+Dz5QBuR@HNgWYGD7eAAeZ5g@%F zHO5JeNAmT{^Yy2XPenX<|Ni|=uo?AN4$aOD{%YAS%e%0S*OWVkig>Uot?vj9~YIfbX zii>12(RSDh_h_G88>$!`s%R!UVG`OKh4v}03W{T&Z@H2t88ic=9Bs6gK&XI zyK$`|!hvPA%YqllwclSU?}?O;N6H5f14^#7#i&GXikdaDJ8NWJSlmSRH5EN;DyArY z*swSi3ZviBrA2tj^=ID8Jr{?SB3*PhM0B?)p(H(_BqXnJAFR*$zOytp@@+TrMYttA zJaF-9g4oXprXN0*5eHrKHy$kjr|^IAQ1$wa40MSvq_!-TIZNOY3t)f5Z?yEBKdxMY z>vw6LgcmkG^5WWti%?qqGwb`5N@WdV7ZDO4p9;%axy37SFjqY2#uj~zpr<7=U)D+0 z%m@WMN_AnV^if2#2qQi!xECO{nXY%&q)HRVPI2wOrJnN~k-E;9_PGA20B&mRmHFYr z(Lw#u72_X-_kIw*@;C=Njt(Y#C%|Kxa2(V@-=J>a@L{|Sfz<*i;NcFy6fuJGSZ#p2 z=F|M~PxFnN zq3(zmS)t2oAIxjdYYdG$efQJCfaS}V|32pq6ui91b0vKi--w$VjO%!Yb@?Wsa(ROB zBP!Do!JW`ZLhiErletX`4B|bQ#jXR#en(q{i@Qw=ML=lGK0XFzJy~w2+JD*g#JWc+ zVS8QkOrXIovP0J~9AfbVbpS6nH#h5r=IxGqK!bAxj6uNEGf3xB)d&w`PoEpIq?-Sg zYW~XI(c$j+d&=*L*3RZ@XRGXpt@v>W&Ocav2089psGdT{Q7CRgrrkaM$Nk>p!2A9p zh_;!uX^4P~M~dow>$hGo_e&i8k_M&Ru9SOLX2rCd|H-vo;@TRCI#;)~wH?MHM~^^+ z7azAzJw_Aho&fZ6*0GEzS$O_}Z9!6n3v}Jjqx782%uFRQ@IkfZoZ9jku;_g4LD(U# z9k6yZ`HUr>=}8vfPp%jVkr+ZG@lPClg*im@Ww@+js7&1X4b;_Bp^*&;Pi(h<9lDE@ z*bwd7C2Ol-+*!~jPBq4+x{KKDNcH~sf}~TYPE`Sa;?Rym`q~tl$zeGfEdEQEE>qW5EZ_QTUALw7x;vdUD}yEO782nU#2nM~GJR|l1~OncRfYlFi0rP>DNrcu4G zVXa@F2?UAvq-^@gAd_5-dUb5((|0s~VE|>73!tkLZ6@8HveQr=i#Jd4* zIRGHGDC}dw%$SjHz8)<8DhhsL>p3fHIV)>VkToTUuFQf(srN6h@-Giwn8RsB2J-P% z*Nc58BhR_wx{YU`b)5d|s`Ternqe;o7^wc{DAjJ8mo z_P0FkZh<97U>V_#z0MsgLYB~A4jzZ^|CVRO=i~3w*Zc85K6zRTP|IDSr_s~Xve^T3 z*w@$B2)w7Z;s#EcXpB%@LRM2;mY*HBjM|KPLa{tn+ZE^CL6xf?dxqGAqR}64u2HI~ zruyLU3DO>tq-T@>K^>;wHDdh_(w)xS5wFQCzn)pX5r!|o4!l<|Ss(5R$#A5>npaFKe)_x(&N`uafXh6K!H!Np%0{Q0X~ZgJT3S4C{r4_3GUy z$c&*}Cios2y4-YFZrT#?9`swG>7dYbDYZa(I2J{ElZJ9cvdbxRc~d;$knF_o^Z`;<|^R=Bkx zz5^GKluDz?QIoJGTs>Id}%*8RR5T{01lH5&6sR=ZXQ`u5)`!3k>ozWj4wJe|# z)sr3+`e0pCRR9G`VYfh^h)QY<^*XqDuE!@!Ghg5!$xr}MhFU<|q;IZDJ6EOlfX2Dy z+3Q8>lKyOeac_vYHMh?KbeN#Z8(t<)IWmZt738%W< z7@8TRg+3v|O7B=1mD#U@!L?tf|7#6SXlckETO}P^B_P@NUA7O)&6#qu9&lSggV8?o z>3Lo7uxdmCK^9@ym&P?x>#(r^7?#~Zq2WLImjC4Iz13Q8t_8%jwStem zlG0-jrN@@g8u<({M|ppC!YJLAk-^#_D5$p+@#He58m68uUk3vhB32xh-8(Fssn}C9 zH>UN5Z(E|i-rXf73vp=)U-*loViZ zga}({PaWSi$IZI~g{s*MG}8`0e&_6Wl~h zn?ec?T57l3*ANyip#9aBkr7b&UbgOpj}5q;BOjNpwz%SIWcgLEimpW!U1uegZi$sO zqULl_b8hp}N)~JSiM#zA_mCj8#r0Ly3cW#y`W$Pt*Q zAyG?g0x>BtJGFOr+?X$4@5|qV@|)B#Aay*3TFBCwRi!7^St_J1KQx{OPLZB)Hzqze zCSHz9M65)Sh%;n}H(Y^!r3S7n8S|HnM@Yt#Stav6tLK3B`APWoePRR=xrsF~i8Ue3 zOBK~ciY)&abx2}$NTLN5#bo*AMdg>zx()+LENTp0aRti$OG$wCW)#iZiPwcs1^Pv* zDR^u*&$v5(x`t{7-HvZj{fzV2aS$X$(zI76p&;(^jx!dv5Iwj<)N!}6ujJm=m>8ptgphWiLif`XiPVWe`>_{W zu&D9MQ3mPezYg7%XZeg;4purA!uaLym^m; zz6SzwM8IPmBomsjy{N7i5d~4=s?=BIZhI;&=qTv-lKTMB!&qNH)%8MqSC;oU$R2~A z2*y7V7-+brcVK~61^pD~L@~7mis1k^mIV1AurIVA7kKdYfqvh9Rq{7_ z>Qf{lPfG&0Ewz6`7)g$bHSDZl=VVJR_$6G3i3N-8Ovw2x zaQvi90my)9j?X+V7g6aBmSRtBV{Hl)D58qn#+M`!+rC1r0mt4->S-BH3M~c}RU=Db z#?WzSX={`1B$uq~%Axnv`XIIba}N&|WYH3csRCM7C-0ywtD)^zaAF-7HFPAcGM2g>5IF3r_+R!`?9s7P*IgWNQkNC%#UHVmCojREp(8q{?KvJrHlP zTlO*!t>V1hu*6Q{CxePru$GsSq9ae5d~THi+-s8utLMsfi{!fZfGkV&xdHDj%$d?E zwvH5|wGK5oU-M&f(Ac{k9z}NCpj-#xz8i-(0mYrMX=!GCKF~`qay1soZZDEO$AW9T zG~4{}sbytlo^0pjBHIM-`DpjDeH)w5=cHx5WNmkY)G_A6pnT3nr{!+hxQL&S9ut@D zjt^4HM@loq@08!8p3;f{v0y}MEsaQmK9jJ>}WU9*~}OW0FW#C;i!*Ji9O{P zf2#Os%5HE7E)e%{Eq@3I#;r7|t*1uT=~dAgmJjM1(!ps+--D>Kv5cJzKHH*zG0;tZ z_gZ8g2s|Q{-#ZOUwDV$H!CP(0Xx@6EIT7@UWM%=WG1ChhAMJpe{zALCzJ0j9{d3Pt zK&u~zi$oL4rMyikYfErtYdDdqVBNeA7pEtqiP=Ex{V}kAcqp94aKUQ4f|DSBwh|h% z!uBI|1O2>Z=;)yViCd!-TBvjv=rKl81QW1@P3=IrZ~$zZ8gZ&8bXVV1$G-!F#QAe% z9zLGq0*G-u!z1LUA~x;yq47nqte}!n3KKF~f%{>3%xJ3&G!9i8%9p<0L?nPy`^(02 zfTF{K--Tf`L;f2RUhd|3=sAGah{=i&R7L1Hc#C;pb#R#=@{%Cz@rknhAy7Gp-ivSc zC*E8s0kKi3_zG10IzV`5h;0!VEVDSPpy0Q33I^tR#BbEzpDWb=plwyQ$hRh|PyBEgXqno2*QYSOW4 zO6TZtQ>Y9q1fjK6E%^rJ8MITm2RD<-_;7g&pu2r*7CzR|ReiYMrKqTAA2>rU`(k2v znzzwx!H~yJc0NxAV-sW{5A(tE)tCwBuC0qh$45uN|9j^xQqiVAI7aI+FAsCm~WmNz5?v!`#smw zayfv*eC%&TM#UqN4oOMjdt2M{I`09Rrng_>p-O6A_x=|atP;oiQwj3MGh zfGlcd&nrMbhQ-jm>?nGfMnHZ2Vw19BL|O3>3_0sx2Tt&>8HEfBZX~e}p>_jl`xgj# zM_(NL%XTX(pW0(=j#vu@i>C^7qB?N)(1uY9T2-5%MPv7atn!txj@(4b;1Dv;B7q*Lp9#1a)xI7xaz}y*#O#LvwX$TuQDWB6n%v)dE7~1{jpI0xWjpT|R(Ke7$ zJUh@ed1>Aa7!QQyKFn%ARib{s%l3Y-O&0UMg{(k&+$SW#Kt%1y;9maqf-N=gOtF!M zMdGcGKL1#T`R}kC)#$wf-E!lX50!d%;FRg+VKs=uT-Fm5QMwLp7}o+#^mY-DM-uzv zJW%quS35jB{1u0--yBr+k8nVHkgI9Si3&qsFo#e|MU2e$x-XR$2?+>dRCfJj5V#my z6o_=I0B&mhAoiIc1huHZ3_=Y6XRWZX&<^psXQX>@vzahJ$GsPtNg*>!(>FiI{tV0= zOlz>fS zGG0lckwzqvs|XQYlYh3L4TC2{SJUO4K;KHnTOx&2*}DWg(XAk$G{`2w)`FAk;Za>g z;vvlFSR*u_b(v6o6#U zOJ1^DUb3|dbGB|B9U0j;Wf^#4tCAX9et_VQ+iyHR0m*hM#mtnph%<%z2oE{P2Bp4R zP0~+br4hDxUg6n704{q$+4HA%B|yIN0)UA2p(<~OCYk@hpNAO5g`j!9dXV8uyf;B5 z>UwdeEALyJq3M`?Y6S>+&uAY8$=&FJ$)A(xWse^s_LiV_VdQzcmevEf6tAuY!xQ(J@V=QlRrSxX}fOT5f;?g`Y>5hcOR=U4cU( zB-U^Wi=53&_jnhu#%|!Ll(^E*i%0kuL+G6odl^EU#T=-WZ~Yb?7u~hvp0BSsfd;=# zvu^cYV0S5Zl#Oh|`p8xyQl=82`77kNDDxGI{<}M+9Hb7&bnaJ~Fj}cf``yN-yP=U_ zKLB8%kY^Cm=rd>m*?W)=q>A?Y#qKY*px(kG$&Zz#9eW@8`8D$#Tnoj0ESTfSB?KF( ze|th_r>R^{->@-|=ZvJlQw6dU4n+{_Tvx1c`D@-Qm9|A_DA!A=bV7rw1{u#SaRY=z z|Gog!xSH}iY_B15bL@ZuK>cu%UxvtAQ zD3}6ar1Dxf4u~XRa(P!G^}*~Qnn+X7L@y~RnFed-zy+HRI>CIvD)|& zDK)DDV8R-Jr(q0XBiOgLkz$o&j9OeC>8D?jlsHR+f!9tC4-Uo_9;dZj?S;dOx5g4aQ)$# zyW$*QU?tDwUin_Q`Ma>S*k-U7iPe?AXx{3reUw$3 zg1%WXFTM8JO44|?toU8{L#x=`5KE@CE1_Hjw=NnIEjBA53N~^CWHX-eKeibl>B+RP zD3lf8vRn%L(+UlTxOW!T2SX>>#o+;IBM@d>27Yua7$AXYL$HnoIQqF2YLaeeKRxdw za2F3hfD99o+|0^wjG7gqWWo$k>1z(Cq&+u|=#<|>qJ1Xgwm{42dvgiEBWRf1@iS0Q zQ7o}z!Z}~V@pzXL8aeAl<`J^wz@HW0SI++<%piElAf|D(1JHbL&d`v;Z^T_I*J9sO znJ6MX?_rM8L6I|t%dJ9XV^5lEW3Mk^UG=?mDP>rzm*I2jor zIaZ_0Y9X0*00S67ap0hW_){I;M=FGoRCuj)7;6^msci2jgP@K@Cs(gteU4YjViZs# zs#3i{(^&vHlU9{V<+=`HC79g04N-);R(# zW``uKdULCYhRdJiqq*+C@o+hokrw561j$qy?voxdvu_WJM<| z*R2b4AiN(q4C~~MkLb3K=oSt3Fez7nNl=qJrTV_!epAYqs6bct6y1jW?}7Jn-`S{# zC{~<+K|?~|phQ|><2f=BWH`pPV$`9F6EArtUh-3Hz3`-B$;_(dzR^%bW<2d14XKS- zOl;hus--8zu?281H6Df)Junm2W%KzoZ!PO`k>>9Okq~g8g@zrJmYB~93b5p1)<4ZN z;EFa=w;Lp9sGr>ervVd!a~VhxY|QIpMx3fUh&@W;=sM~BGr^+4*?6l(jV&S+|7#?a zaB4?c=S*Say44GF0Byx!$;M#OcsxmPt`xvQe}u9yF6RN)%BbOCx4b03jPYF8O0*Q9 zQMs_XhKTh?#@SAbRGZ7{N?0c{=$X)VK~kq#Pa0=ogxEtz#yQOYlP4brayEY~O^C;ARxd0(u@19j;Ujm$M+_B^Uo=1v2!bTF zs}~wjYZP~*svoo+^7YJ$2`zv(uj`fY?pNA1$Q;EMQf{^ZJdMTSD5J9-6g1vU(veTT z?)iM(a%8g!Sb{g7JpFkDXbTpw!ao;Ebf76+gmX8n!9@CY5%tV!sE0Wx)<7elqGHM7?hHM#ycm$8l(; z?3fZW%V4#nMUNBhu(msGa!M`=Wc=yRqUxCs6`?8KEZ)QZ)kAm#U9#tKYpsch}# z9RFAukc2UIkYKc-k%c3Wy%t!T32oh}d)pfhEI`XWBH2&bUWlum;o7josI(-;>PS&A zvw|636!K=&J4jyu9L1qC1>(zKw^>op@8xPY;QjW*1odqR>IbsPGv>oTNpA zOym?oXTfnd-t#7DIzRAeH=Z@%AdZ^}X;sK-^?Fp^ym_-AB?XuosvFD-e9}N-egotT z>?Nm%YL-4oSpDXT=JxiWeLyW|V^i_)sCscG#eqIy#Xb&(9@>odI`T|; z%pU9uX=l6 zOU6G^hhQ8?ljrM;JU=0pqEyc%;ZPmjcJfb-$1up4Ie#8VjTkfIVVJ9Bh>p9kbS4fd zLTUw!864ngM3`wn2JpdZJm@5W6L)>dn9=Azg+`w#c;B8qdo&cmKykh2b4p;fuo+9z zaI;V*x`>WskW@&=eS~nBjxcWwp4PjXY)6`<&}{%ZR|GL7_~$0M3n5D*>%R5lj}RT{K!BivQ%2QqfXcD59raH*r!_D|F-DbX9K#Dz4eAbp zcsyvsfPr;MItKpPVs0#^SM%&5My+U3#1V%GZw~?dV zTnh&VR+itx>Q=6{0uX0IPikn)2-Ls$9j+mqf)Z#r8&{t}K@iJ*9!`{TEn7pBfByMp z*)9A*3YLLynJ#HUz$jnpt|0-1tt3^Y5@B9e#k~6_3I4p84CN4Q9HrYsl6{8$8e=0aIRqC(|3E_qA<8WZf zgGr;J+)O1sfSXr1PI;a&wAO_>*3p4v|5i1o0%qflPTQo+$S7{xr)&^Y2m#M*=+Dw% z`M?Rot8NrzX}$@uqtn|$^VY801H zAM{fhd*}p?vb2xvr-#K;o^(*_UQv`9)N)E(Nf}6apH#%*0xXV&nv&C0in0iFsf}!a zN(HlIr)YIMB+Vbf+yZG&%OK7{xaYd$TQqesD(oOnhg6L7l%BJrZ?POnL-zHesQyn2 zmt&mcEZ>aIS-yoH_D0=Q7+5@t_QERkQq$r*UO?4f=^zf&MM@<3)DZz>mf|Eju2Fn4 z4y9s%3@3-+y$70x3_8;AhfqO~{}tp^ILQ&-Uyl%tJTMmkicO*ZN(asnzh5wbDcSih zaKgff=I`JIc1BcSC#$!FgGoRB1=O;*zB^~$YvO#o6}Ju@kWEDIBE&}aU-MGtO;Uy> z)I-Wq|4+uuXq6TIRCnj2f{R+zEN&G+(E_IKF9B*j;8TI-%nVGG@DwYz_K~4_35AjJ zyRb{F;yMaWj$oRQk}E}786yPk(CLAUZ+}8X{}8eD;wUS$&U{Dg69+$w2t`egj=~_6 zKMKgjXuTg2dmtp%@IT_^lSy@T7;3a$;9KovAO8oZZ4}%yzj!YtWYVOzW!@c_#~q@a z%`jD|Ar5Oue{gZOE>vM38Rc{LfY76kQt26Aa7`}-kY27wOqVPd^EiK%o6<2s!&me0c6^p&5_{4>vzGRXGe2eF4FN@$Ue zDy4oE<&b9LAz2ifd%d6|Y<5cJ~-udhH(2AggS0fJV5o$ ziFJsW`iLy^iCI9U!{Zd?2)K0AiFczm4+mV(qYVZNpq?~$I^6@`=>w~J~7J!~@!eIDaqGB9TA z)*V72Hvz?n;tEuWv~Uc^N4`Z_*f>ghlpRl=-zVR+10xdo8bp**2D75leOQ6)Ak$gPQ*b1cZ$>3vp%<?|^Ogzj6T9A6gdTfX6v;Yr5LlQkzd7JWt^YNd}#bxdfS@;>2_s z5Ir2+D$2)f*#-l56lY$H;ac7fY=C%pvqeF!newNjW!6bNqT^RE07-N#28gDtEBiVH zf25M(Li&92<|i%=zPUbf1Z8`G@2a9WJj2yRM|4K7dI=MMghQf)d@h5%MOV*EpC}ae zvQ>vb`~V9F0~(Ob4pB(*Ci|J#Eqf$x#;PtX{}1C!ImG{I>(X=apF89jfLhVoJo0ZNPfz=YV3 zPJTxGu{B9)t3=->0W~}!o@(vP4rQA$?<$a9~=>7w}cP{Slm;n1XA6} zhhNL&7L!?7e;@v5rl_hBvUh)6B2)R zpLopV8K;|I5+cE&H5ZoxGR1@0f5juce{-{dUU35YO)=DjpTnd_ z7TI|l4Eb;z-9nLmHJgB>9e@YM8$cg~@XcHZf^zy_?KNXQf9tQ+=Tg9>L@ zkom~@l9KC^bmAOyCtrl$go~IsJimB-E{FTEE74YDbt*P>N&OWDNOJ1uiG~5fv6upE zRU;VqUtQi0aAA?M#z-yq_1`kb;qEzfPN?{2(Ewkl8L`mQKVP@Qw;YcPCeZ!FXa&Ov z)5TU4+=Ke*>&&0l1ze|vnFXk4;yc*!YpM1vWeO7kSVsK!dJXwzGEic-3d{iw5#uvq zA|}0%^#AoMTK(@P@8^-jubeOI>U>#O=gYcItaZ+pb)7gGzo`7q;^BP%kclY7`LeE) zM#K5Cu0N9p`pWs{L;nL4S*+-Mn~jMJ#Q8QG6Gy{YJSL5X6M0O=Va^wnpHxbn$is;| z2A%I*Hc4=DiaAa($0_DaY@1FoXX0o$A=Tv3a6&34q_W5-y@ABU1>!6o6Gy{YJSLBZ wvv@d*hqHK0wAM?Ve9Y;O{U7^d%tH&p{8oPR=Ybv$e5`u&ofYT)xan{IAKO1YN&o-= literal 0 HcmV?d00001 diff --git a/content/kcl-test-outputs/serial_test_example_fn_std-gdt-annotation1.png b/content/kcl-test-outputs/serial_test_example_fn_std-gdt-annotation1.png new file mode 100644 index 0000000000000000000000000000000000000000..a7c7b40c2f032ffeae7f4069d53f9efa8cce0ac3 GIT binary patch literal 43241 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 MY<|xBtH1q!06P~4#{d8T literal 0 HcmV?d00001 diff --git a/content/pages/docs/kcl-std/functions/std-gdt-annotation.md b/content/pages/docs/kcl-std/functions/std-gdt-annotation.md new file mode 100644 index 00000000..c343a8c1 --- /dev/null +++ b/content/pages/docs/kcl-std/functions/std-gdt-annotation.md @@ -0,0 +1,103 @@ +--- +title: "gdt::annotation" +subtitle: "Function in std::gdt" +excerpt: "GD&T annotation for attaching manufacturing text to faces or edges." +layout: manual +--- + +**WARNING:** This function is experimental and may change or be removed. + +GD&T annotation for attaching manufacturing text to faces or edges. + +```kcl +gdt::annotation( + annotation: string, + faces?: [TaggedFace; 1+], + edges?: [Edge; 1+], + framePosition?: Point2d, + framePlane?: Plane, + leaderScale?: number(_), + fontPointSize?: number(_), + fontScale?: number(_), +): [GdtAnnotation; 1+] +``` + +This is part of model-based definition (MBD). + +### Arguments + +| Name | Type | Description | Required | +|----------|------|-------------|----------| +| `annotation` | [`string`](/docs/kcl-std/types/std-types-string) | The annotation text to display. | Yes | +| `faces` | [[`TaggedFace`](/docs/kcl-std/types/std-types-TaggedFace); 1+] | The faces to be annotated. | No | +| `edges` | [[`Edge`](/docs/kcl-std/types/std-types-Edge); 1+] | The edges to be annotated. | No | +| `framePosition` | [`Point2d`](/docs/kcl-std/types/std-types-Point2d) | The position of the annotation relative to the leader arrow. The default is `[100mm, 100mm]`. | No | +| `framePlane` | [`Plane`](/docs/kcl-std/types/std-types-Plane) | The plane in which to display the annotation. The default is `XY`. Other standard planes like `XZ` and `YZ` can also be used. The annotation may be displayed in a plane parallel to the given plane. | No | +| `leaderScale` | [`number(_)`](/docs/kcl-std/types/std-types-number) | Scale of the leader. The default is `1.0`. Must be greater than `0`. | No | +| `fontPointSize` | [`number(_)`](/docs/kcl-std/types/std-types-number) | The font point size to use for the annotation text rendering. The default is `36`. | No | +| `fontScale` | [`number(_)`](/docs/kcl-std/types/std-types-number) | Scale to use for the annotation text after rendering with the point size. The default is `1.0`. Must be greater than `0`. | No | + +### Returns + +[[`GdtAnnotation`](/docs/kcl-std/types/std-types-GdtAnnotation); 1+] + + +### Examples + +```kcl +@settings(experimentalFeatures = allow) + +startSketchOn(XY) + |> startProfile(at = [0, 0]) + |> line(end = [10, 0], tag = $side) + |> line(end = [0, 10]) + |> line(end = [-10, 0]) + |> line(end = [0, -10]) + |> close() + |> extrude(length = 5, tagEnd = $top) + +gdt::annotation( + faces = [top], + annotation = "Break all sharp edges", + framePosition = [12mm, 8mm], + framePlane = XZ, +) + +``` + + +![Rendered example of gdt::annotation 0](/kcl-test-outputs/serial_test_example_fn_std-gdt-annotation0.png) + +```kcl +@settings(experimentalFeatures = allow) + +blockProfile = sketch(on = XY) { + edge1 = line(start = [var 0mm, var 0mm], end = [var 10mm, var 0mm]) + edge2 = line(start = [var 10mm, var 0mm], end = [var 10mm, var 6mm]) + edge3 = line(start = [var 10mm, var 6mm], end = [var 0mm, var 6mm]) + edge4 = line(start = [var 0mm, var 6mm], end = [var 0mm, var 0mm]) + coincident([edge1.end, edge2.start]) + coincident([edge2.end, edge3.start]) + coincident([edge3.end, edge4.start]) + coincident([edge4.end, edge1.start]) + horizontal(edge1) + vertical(edge2) + horizontal(edge3) + vertical(edge4) +} + +block = extrude(region(point = [5mm, 3mm], sketch = blockProfile), length = 4mm, tagEnd = $top) +sideEdge = getCommonEdge(faces = [block.sketch.tags.edge1, top]) +gdt::annotation( + edges = [sideEdge], + annotation = "Deburr edge", + framePosition = [12mm, 8mm], + framePlane = XZ, +) + +``` + + +![Rendered example of gdt::annotation 1](/kcl-test-outputs/serial_test_example_fn_std-gdt-annotation1.png) + + diff --git a/content/pages/docs/kcl-std/index.md b/content/pages/docs/kcl-std/index.md index 91280da7..86f3cbbb 100644 --- a/content/pages/docs/kcl-std/index.md +++ b/content/pages/docs/kcl-std/index.md @@ -28,6 +28,7 @@ layout: manual * [`reduce`](/docs/kcl-std/functions/std-array-reduce) * [`slice`](/docs/kcl-std/functions/std-array-slice) * [**std::gdt**](/docs/kcl-std/modules/std-gdt) + * [`gdt::annotation`](/docs/kcl-std/functions/std-gdt-annotation) * [`gdt::datum`](/docs/kcl-std/functions/std-gdt-datum) * [`gdt::flatness`](/docs/kcl-std/functions/std-gdt-flatness) * [`gdt::parallelism`](/docs/kcl-std/functions/std-gdt-parallelism) diff --git a/content/pages/docs/kcl-std/modules/std-gdt.md b/content/pages/docs/kcl-std/modules/std-gdt.md index d819c104..30047866 100644 --- a/content/pages/docs/kcl-std/modules/std-gdt.md +++ b/content/pages/docs/kcl-std/modules/std-gdt.md @@ -12,6 +12,7 @@ Functions for working with geometric dimensioning and tolerancing (GD&T). This c ## Functions and constants +* [`gdt::annotation`](/docs/kcl-std/functions/std-gdt-annotation) * [`gdt::datum`](/docs/kcl-std/functions/std-gdt-datum) * [`gdt::flatness`](/docs/kcl-std/functions/std-gdt-flatness) * [`gdt::parallelism`](/docs/kcl-std/functions/std-gdt-parallelism)