From d06a7506f6df323d91800b87d43694289d6c4a63 Mon Sep 17 00:00:00 2001 From: Persis Randolph Date: Fri, 9 Oct 2026 12:05:20 -0500 Subject: [PATCH 1/2] add 'new' tag for adam blog post --- content/posts/kcl-3.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/posts/kcl-3.mdx b/content/posts/kcl-3.mdx index 01bec090..e668afe2 100644 --- a/content/posts/kcl-3.mdx +++ b/content/posts/kcl-3.mdx @@ -7,7 +7,7 @@ author: picture: '/documentation-assets/adamchalmers.jpg' ogImage: url: '/documentation-assets/meta-images/kcl3.png' -tags: ['Zoo Design Studio', 'KCL'] +tags: ['Zoo Design Studio', 'KCL', 'New'] --- Over the last few months, Zoo has been working hard to improve both the Zoo engine and our CAD programming language, KCL (the "KittyCAD language"). Today we're announcing KCL 3, the newest version of our Zoo programming language and file format. It improves our core 3D operations, like subtraction and fillet, enabling parts like this: From 697ad569c65fa72b63f147f9e0b7a310485d5d85 Mon Sep 17 00:00:00 2001 From: Persis Randolph Date: Sat, 10 Oct 2026 17:52:34 -0500 Subject: [PATCH 2/2] remove unused kcl-samples and remove no longer relevant instructional information --- AGENTS.md | 4 +- README.md | 1 - content/pages/docs/kcl-samples/README.md | 292 --- .../docs/kcl-samples/angle-gauge/.gitignore | 1 - .../docs/kcl-samples/angle-gauge/main.kcl | 113 -- .../docs/kcl-samples/angle-gauge/project.toml | 5 - .../kcl-samples/artificial-heart/.gitignore | 1 - .../kcl-samples/artificial-heart/housing.kcl | 233 --- .../kcl-samples/artificial-heart/impeller.kcl | 123 -- .../kcl-samples/artificial-heart/main.kcl | 12 - .../kcl-samples/artificial-heart/plumbing.kcl | 114 -- .../kcl-samples/artificial-heart/project.toml | 5 - .../kcl-samples/artificial-heart/stator.kcl | 111 - .../docs/kcl-samples/axial-fan/.gitignore | 1 - .../kcl-samples/axial-fan/fan-housing.kcl | 233 --- .../pages/docs/kcl-samples/axial-fan/fan.kcl | 103 - .../pages/docs/kcl-samples/axial-fan/main.kcl | 16 - .../docs/kcl-samples/axial-fan/motor.kcl | 44 - .../docs/kcl-samples/axial-fan/parameters.kcl | 10 - .../docs/kcl-samples/axial-fan/project.toml | 5 - .../docs/kcl-samples/ball-bearing/.gitignore | 1 - .../docs/kcl-samples/ball-bearing/main.kcl | 133 -- .../kcl-samples/ball-bearing/project.toml | 5 - .../kcl-samples/bench-for-kids/.gitignore | 1 - .../docs/kcl-samples/bench-for-kids/main.kcl | 165 -- .../kcl-samples/bench-for-kids/project.toml | 5 - .../pages/docs/kcl-samples/bench/.gitignore | 1 - content/pages/docs/kcl-samples/bench/main.kcl | 448 ---- .../pages/docs/kcl-samples/bench/project.toml | 5 - .../kcl-samples/bike-hub-washer/.gitignore | 1 - .../docs/kcl-samples/bike-hub-washer/main.kcl | 69 - .../kcl-samples/bike-hub-washer/project.toml | 5 - .../kcl-samples/blend-tutorial/.gitignore | 1 - .../docs/kcl-samples/blend-tutorial/main.kcl | 53 - .../kcl-samples/blend-tutorial/project.toml | 5 - .../docs/kcl-samples/bone-plate/.gitignore | 1 - .../docs/kcl-samples/bone-plate/main.kcl | 135 -- .../docs/kcl-samples/bone-plate/project.toml | 5 - .../pages/docs/kcl-samples/bottle/.gitignore | 1 - .../pages/docs/kcl-samples/bottle/main.kcl | 99 - .../docs/kcl-samples/bottle/project.toml | 5 - content/pages/docs/kcl-samples/box/.gitignore | 1 - content/pages/docs/kcl-samples/box/main.kcl | 48 - .../pages/docs/kcl-samples/box/project.toml | 5 - .../kcl-samples/bracket-with-slot/.gitignore | 1 - .../kcl-samples/bracket-with-slot/main.kcl | 301 --- .../bracket-with-slot/project.toml | 5 - .../pages/docs/kcl-samples/bracket/.gitignore | 1 - .../pages/docs/kcl-samples/bracket/main.kcl | 199 -- .../docs/kcl-samples/bracket/project.toml | 5 - .../docs/kcl-samples/c-shape-solid/.gitignore | 1 - .../docs/kcl-samples/c-shape-solid/main.kcl | 57 - .../kcl-samples/c-shape-solid/project.toml | 5 - .../pages/docs/kcl-samples/camshaft/main.kcl | 214 -- .../kcl-samples/car-wheel-assembly/.gitignore | 1 - .../car-wheel-assembly/brake-rotor.kcl | 120 -- .../car-wheel-assembly/car-tire.kcl | 55 - .../car-wheel-assembly/car-wheel.kcl | 187 -- .../car-wheel-assembly/lug-nut.kcl | 40 - .../kcl-samples/car-wheel-assembly/main.kcl | 18 - .../car-wheel-assembly/parameters.kcl | 45 - .../car-wheel-assembly/project.toml | 5 - .../pages/docs/kcl-samples/cassette/main.kcl | 159 -- .../docs/kcl-samples/ceiling-fan/.gitignore | 1 - .../docs/kcl-samples/ceiling-fan/main.kcl | 240 --- .../docs/kcl-samples/ceiling-fan/project.toml | 5 - content/pages/docs/kcl-samples/clock/main.kcl | 491 ----- .../kcl-samples/coilover-assembly/.gitignore | 1 - .../coilover-assembly/coilover-bottom.kcl | 242 --- .../coilover-assembly/coilover-top.kcl | 199 -- .../kcl-samples/coilover-assembly/main.kcl | 10 - .../coilover-assembly/parameters.kcl | 46 - .../coilover-assembly/project.toml | 5 - .../kcl-samples/coilover-assembly/spring.kcl | 33 - .../docs/kcl-samples/cold-plate/.gitignore | 1 - .../docs/kcl-samples/cold-plate/main.kcl | 469 ----- .../docs/kcl-samples/cold-plate/project.toml | 5 - .../docs/kcl-samples/color-cube/.gitignore | 1 - .../docs/kcl-samples/color-cube/main.kcl | 111 - .../docs/kcl-samples/color-cube/project.toml | 5 - .../pages/docs/kcl-samples/cone/.gitignore | 1 - content/pages/docs/kcl-samples/cone/main.kcl | 31 - .../pages/docs/kcl-samples/cone/project.toml | 5 - .../counterdrilled-weldment/.gitignore | 1 - .../counterdrilled-weldment/main.kcl | 404 ---- .../counterdrilled-weldment/project.toml | 5 - .../kcl-samples/countersunk-plate/.gitignore | 1 - .../kcl-samples/countersunk-plate/main.kcl | 153 -- .../countersunk-plate/project.toml | 5 - .../kcl-samples/cpu-cooler/fan-housing.kcl | 183 -- .../pages/docs/kcl-samples/cpu-cooler/fan.kcl | 73 - .../docs/kcl-samples/cpu-cooler/heat-sink.kcl | 392 ---- .../docs/kcl-samples/cpu-cooler/main.kcl | 55 - .../docs/kcl-samples/cpu-cooler/motor.kcl | 43 - .../kcl-samples/cpu-cooler/mounting-wire.kcl | 126 -- .../kcl-samples/cpu-cooler/parameters.kcl | 13 - .../cpu-cooler/removable-sticker.kcl | 51 - .../docs/kcl-samples/crash-box/.gitignore | 1 - .../pages/docs/kcl-samples/crash-box/main.kcl | 219 -- .../docs/kcl-samples/crash-box/project.toml | 5 - .../curtain-wall-anchor-plate/.gitignore | 1 - .../curtain-wall-anchor-plate/main.kcl | 342 ---- .../curtain-wall-anchor-plate/project.toml | 5 - .../kcl-samples/cycloidal-gear/.gitignore | 1 - .../docs/kcl-samples/cycloidal-gear/main.kcl | 120 -- .../kcl-samples/cycloidal-gear/project.toml | 5 - .../docs/kcl-samples/cylinder/.gitignore | 1 - .../pages/docs/kcl-samples/cylinder/main.kcl | 21 - .../docs/kcl-samples/cylinder/project.toml | 5 - .../kcl-samples/desk-edge-stopper/.gitignore | 1 - .../kcl-samples/desk-edge-stopper/main.kcl | 137 -- .../desk-edge-stopper/project.toml | 5 - .../docs/kcl-samples/dining-table/.gitignore | 1 - .../docs/kcl-samples/dining-table/main.kcl | 202 -- .../kcl-samples/dining-table/project.toml | 5 - .../docs/kcl-samples/dodecahedron/.gitignore | 1 - .../docs/kcl-samples/dodecahedron/main.kcl | 153 -- .../kcl-samples/dodecahedron/project.toml | 5 - .../docs/kcl-samples/double-hook/.gitignore | 1 - .../docs/kcl-samples/double-hook/main.kcl | 128 -- .../docs/kcl-samples/double-hook/project.toml | 5 - .../docs/kcl-samples/enclosure/.gitignore | 1 - .../pages/docs/kcl-samples/enclosure/main.kcl | 454 ----- .../docs/kcl-samples/enclosure/project.toml | 5 - .../end-effector-gripper-fingers/main.kcl | 889 -------- .../docs/kcl-samples/engine-valve/.gitignore | 1 - .../docs/kcl-samples/engine-valve/main.kcl | 125 -- .../kcl-samples/engine-valve/project.toml | 5 - .../kcl-samples/exhaust-manifold/.gitignore | 1 - .../kcl-samples/exhaust-manifold/main.kcl | 326 --- .../kcl-samples/exhaust-manifold/project.toml | 5 - .../field-monitor-stand/.gitignore | 1 - .../kcl-samples/field-monitor-stand/main.kcl | 162 -- .../field-monitor-stand/project.toml | 5 - .../pages/docs/kcl-samples/flange/.gitignore | 1 - .../pages/docs/kcl-samples/flange/main.kcl | 192 -- .../docs/kcl-samples/flange/project.toml | 5 - .../flat-bladed-impeller/.gitignore | 1 - .../kcl-samples/flat-bladed-impeller/main.kcl | 123 -- .../flat-bladed-impeller/project.toml | 5 - .../main.kcl | 193 -- .../kcl-samples/food-service-spatula/main.kcl | 283 --- .../kcl-samples/fun-stacker-toy/.gitignore | 1 - .../docs/kcl-samples/fun-stacker-toy/main.kcl | 135 -- .../kcl-samples/fun-stacker-toy/project.toml | 5 - .../kcl-samples/gallows-bracket/.gitignore | 1 - .../docs/kcl-samples/gallows-bracket/main.kcl | 723 ------- .../kcl-samples/gallows-bracket/project.toml | 5 - .../docs/kcl-samples/gas-impeller/.gitignore | 1 - .../docs/kcl-samples/gas-impeller/main.kcl | 265 --- .../kcl-samples/gas-impeller/project.toml | 5 - .../docs/kcl-samples/gdt-tutorial/.gitignore | 1 - .../docs/kcl-samples/gdt-tutorial/main.kcl | 81 - .../kcl-samples/gdt-tutorial/project.toml | 5 - .../docs/kcl-samples/gear-rack/.gitignore | 1 - .../pages/docs/kcl-samples/gear-rack/main.kcl | 90 - .../docs/kcl-samples/gear-rack/project.toml | 5 - .../gingerbread-man-cookie-cutter/.gitignore | 1 - .../gingerbread-man-cookie-cutter/main.kcl | 47 - .../project.toml | 5 - .../kcl-samples/gingerbread-man/.gitignore | 1 - .../docs/kcl-samples/gingerbread-man/main.kcl | 390 ---- .../kcl-samples/gingerbread-man/project.toml | 5 - .../docs/kcl-samples/golf-tee/.gitignore | 1 - .../pages/docs/kcl-samples/golf-tee/main.kcl | 55 - .../docs/kcl-samples/golf-tee/project.toml | 5 - .../gridfinity-baseplate-magnets/main.kcl | 298 --- .../gridfinity-baseplate/.gitignore | 1 - .../kcl-samples/gridfinity-baseplate/main.kcl | 99 - .../gridfinity-baseplate/project.toml | 5 - .../gridfinity-bins-stacking-lip/.gitignore | 1 - .../gridfinity-bins-stacking-lip/main.kcl | 492 ----- .../gridfinity-bins-stacking-lip/project.toml | 5 - .../kcl-samples/gridfinity-bins/.gitignore | 1 - .../docs/kcl-samples/gridfinity-bins/main.kcl | 245 --- .../kcl-samples/gridfinity-bins/project.toml | 5 - .../pages/docs/kcl-samples/hammer/.gitignore | 1 - .../pages/docs/kcl-samples/hammer/main.kcl | 162 -- .../docs/kcl-samples/hammer/project.toml | 5 - .../docs/kcl-samples/hand-trolley/axle.kcl | 454 ----- .../docs/kcl-samples/hand-trolley/main.kcl | 15 - .../kcl-samples/hand-trolley/parameters.kcl | 19 - .../kcl-samples/hand-trolley/weldment.kcl | 187 -- .../docs/kcl-samples/hand-trolley/wheel.kcl | 261 --- .../docs/kcl-samples/helium-tank/.gitignore | 1 - .../docs/kcl-samples/helium-tank/main.kcl | 244 --- .../docs/kcl-samples/helium-tank/project.toml | 5 - .../kcl-samples/herringbone-gear/main.kcl | 23 - .../hex-nut-with-chamfer/.gitignore | 1 - .../kcl-samples/hex-nut-with-chamfer/main.kcl | 116 -- .../hex-nut-with-chamfer/project.toml | 5 - .../pages/docs/kcl-samples/hex-nut/.gitignore | 1 - .../pages/docs/kcl-samples/hex-nut/main.kcl | 65 - .../docs/kcl-samples/hex-nut/project.toml | 5 - .../pages/docs/kcl-samples/i-beam/.gitignore | 1 - .../pages/docs/kcl-samples/i-beam/main.kcl | 128 -- .../docs/kcl-samples/i-beam/project.toml | 5 - .../docs/kcl-samples/inner-thread/.gitignore | 1 - .../docs/kcl-samples/inner-thread/main.kcl | 69 - .../kcl-samples/inner-thread/project.toml | 5 - .../docs/kcl-samples/lattice-cubic/.gitignore | 1 - .../docs/kcl-samples/lattice-cubic/main.kcl | 119 -- .../kcl-samples/lattice-cubic/project.toml | 5 - .../pages/docs/kcl-samples/lego/.gitignore | 1 - content/pages/docs/kcl-samples/lego/main.kcl | 114 -- .../pages/docs/kcl-samples/lego/project.toml | 5 - .../linear-shelf-system/.gitignore | 1 - .../kcl-samples/linear-shelf-system/main.kcl | 180 -- .../linear-shelf-system/project.toml | 5 - .../kcl-samples/liquid-impeller/.gitignore | 1 - .../docs/kcl-samples/liquid-impeller/main.kcl | 99 - .../kcl-samples/liquid-impeller/project.toml | 5 - .../.gitignore | 1 - .../main.kcl | 121 -- .../project.toml | 5 - .../docs/kcl-samples/m4-insert/.gitignore | 1 - .../pages/docs/kcl-samples/m4-insert/main.kcl | 88 - .../docs/kcl-samples/m4-insert/project.toml | 5 - .../docs/kcl-samples/manhole-cover/main.kcl | 433 ---- content/pages/docs/kcl-samples/manifest.json | 1807 ----------------- .../kcl-samples/modular-shelf-grid/.gitignore | 1 - .../kcl-samples/modular-shelf-grid/main.kcl | 131 -- .../modular-shelf-grid/project.toml | 5 - .../docs/kcl-samples/mounting-plate/main.kcl | 94 - .../kcl-samples/multi-axis-robot/.gitignore | 1 - .../kcl-samples/multi-axis-robot/globals.kcl | 61 - .../kcl-samples/multi-axis-robot/main.kcl | 12 - .../kcl-samples/multi-axis-robot/project.toml | 5 - .../multi-axis-robot/robot-arm-base.kcl | 143 -- .../multi-axis-robot/robot-arm-j2.kcl | 42 - .../multi-axis-robot/robot-arm-j3.kcl | 103 - .../multi-axis-robot/robot-rotating-base.kcl | 63 - .../parametric-shelf-unit/.gitignore | 1 - .../parametric-shelf-unit/main.kcl | 126 -- .../parametric-shelf-unit/project.toml | 5 - .../pillow-block-bearing/ball-bearing.kcl | 111 - .../pillow-block-bearing/block.kcl | 93 - .../kcl-samples/pillow-block-bearing/main.kcl | 15 - .../pillow-block-bearing/parameters.kcl | 18 - .../kcl-samples/pipe-elbow-90deg/.gitignore | 1 - .../kcl-samples/pipe-elbow-90deg/main.kcl | 113 -- .../kcl-samples/pipe-elbow-90deg/project.toml | 5 - .../pipe-flange-assembly/1120t74-pipe.kcl | 19 - .../pipe-flange-assembly/68095k348-flange.kcl | 54 - .../pipe-flange-assembly/91251a404-bolt.kcl | 61 - .../pipe-flange-assembly/9472k188-gasket.kcl | 14 - .../95479a127-hex-nut.kcl | 30 - .../pipe-flange-assembly/98017a257-washer.kcl | 19 - .../kcl-samples/pipe-flange-assembly/main.kcl | 72 - .../pipe-flange-assembly/parameters.kcl | 47 - .../docs/kcl-samples/pipe-straight/.gitignore | 1 - .../docs/kcl-samples/pipe-straight/main.kcl | 63 - .../kcl-samples/pipe-straight/project.toml | 5 - .../docs/kcl-samples/pipe-with-bend/main.kcl | 25 - .../pages/docs/kcl-samples/pipe/.gitignore | 1 - content/pages/docs/kcl-samples/pipe/main.kcl | 26 - .../pages/docs/kcl-samples/pipe/project.toml | 5 - .../kcl-samples/planetary-gearset/.gitignore | 1 - .../kcl-samples/planetary-gearset/main.kcl | 44 - .../planetary-gearset/project.toml | 5 - .../pages/docs/kcl-samples/propeller/main.kcl | 341 ---- .../rack-blanking-panel/.gitignore | 1 - .../kcl-samples/rack-blanking-panel/main.kcl | 116 -- .../rack-blanking-panel/project.toml | 5 - .../.gitignore | 1 - .../radial-flow-centrifugal-impeller/main.kcl | 101 - .../project.toml | 5 - .../kcl-samples/rectangle-table/.gitignore | 1 - .../docs/kcl-samples/rectangle-table/main.kcl | 57 - .../kcl-samples/rectangle-table/project.toml | 5 - .../docs/kcl-samples/round-table/.gitignore | 1 - .../docs/kcl-samples/round-table/main.kcl | 41 - .../docs/kcl-samples/round-table/project.toml | 5 - .../router-template-cross-bar/.gitignore | 1 - .../router-template-cross-bar/main.kcl | 178 -- .../router-template-cross-bar/project.toml | 5 - .../router-template-slate/.gitignore | 1 - .../router-template-slate/main.kcl | 94 - .../router-template-slate/project.toml | 5 - .../docs/kcl-samples/saturn-v/.gitignore | 1 - .../pages/docs/kcl-samples/saturn-v/main.kcl | 459 ----- .../docs/kcl-samples/saturn-v/project.toml | 5 - .../kcl-samples/screenshots/angle-gauge.png | Bin 42753 -> 0 bytes .../screenshots/artificial-heart.png | Bin 129971 -> 0 bytes .../kcl-samples/screenshots/axial-fan.png | Bin 85981 -> 0 bytes .../kcl-samples/screenshots/ball-bearing.png | Bin 100514 -> 0 bytes .../screenshots/bench-for-kids.png | Bin 84422 -> 0 bytes .../docs/kcl-samples/screenshots/bench.png | Bin 82188 -> 0 bytes .../screenshots/bike-hub-washer.png | Bin 120274 -> 0 bytes .../screenshots/blend-tutorial.png | Bin 85294 -> 0 bytes .../kcl-samples/screenshots/bone-plate.png | Bin 129303 -> 0 bytes .../docs/kcl-samples/screenshots/bottle.png | Bin 72270 -> 0 bytes .../docs/kcl-samples/screenshots/box.png | Bin 75293 -> 0 bytes .../screenshots/bracket-with-slot.png | Bin 55962 -> 0 bytes .../docs/kcl-samples/screenshots/bracket.png | Bin 67035 -> 0 bytes .../kcl-samples/screenshots/c-shape-solid.png | Bin 58298 -> 0 bytes .../docs/kcl-samples/screenshots/camshaft.png | Bin 64661 -> 0 bytes .../screenshots/car-wheel-assembly.png | Bin 255236 -> 0 bytes .../docs/kcl-samples/screenshots/cassette.png | Bin 162014 -> 0 bytes .../kcl-samples/screenshots/ceiling-fan.png | Bin 44365 -> 0 bytes .../docs/kcl-samples/screenshots/clock.png | Bin 111785 -> 0 bytes .../screenshots/coilover-assembly.png | Bin 68046 -> 0 bytes .../kcl-samples/screenshots/cold-plate.png | Bin 51140 -> 0 bytes .../kcl-samples/screenshots/color-cube.png | Bin 92554 -> 0 bytes .../docs/kcl-samples/screenshots/cone.png | Bin 84431 -> 0 bytes .../screenshots/counterdrilled-weldment.png | Bin 94941 -> 0 bytes .../screenshots/countersunk-plate.png | Bin 58116 -> 0 bytes .../kcl-samples/screenshots/cpu-cooler.png | Bin 117075 -> 0 bytes .../kcl-samples/screenshots/crash-box.png | Bin 56409 -> 0 bytes .../screenshots/curtain-wall-anchor-plate.png | Bin 69598 -> 0 bytes .../screenshots/cycloidal-gear.png | Bin 128236 -> 0 bytes .../docs/kcl-samples/screenshots/cylinder.png | Bin 80657 -> 0 bytes .../screenshots/desk-edge-stopper.png | Bin 57392 -> 0 bytes .../kcl-samples/screenshots/dining-table.png | Bin 46941 -> 0 bytes .../kcl-samples/screenshots/dodecahedron.png | Bin 69304 -> 0 bytes .../kcl-samples/screenshots/double-hook.png | Bin 55338 -> 0 bytes .../kcl-samples/screenshots/enclosure.png | Bin 88871 -> 0 bytes .../end-effector-gripper-fingers.png | Bin 83581 -> 0 bytes .../kcl-samples/screenshots/engine-valve.png | Bin 62798 -> 0 bytes .../screenshots/exhaust-manifold.png | Bin 120518 -> 0 bytes .../screenshots/field-monitor-stand.png | Bin 52821 -> 0 bytes .../docs/kcl-samples/screenshots/flange.png | Bin 73449 -> 0 bytes .../screenshots/flat-bladed-impeller.png | Bin 46611 -> 0 bytes .../focusrite-scarlett-mounting-bracket.png | Bin 77357 -> 0 bytes .../screenshots/food-service-spatula.png | Bin 53902 -> 0 bytes .../screenshots/fun-stacker-toy.png | Bin 127821 -> 0 bytes .../screenshots/gallows-bracket.png | Bin 59837 -> 0 bytes .../kcl-samples/screenshots/gas-impeller.png | Bin 105120 -> 0 bytes .../kcl-samples/screenshots/gdt-tutorial.png | Bin 50472 -> 0 bytes .../kcl-samples/screenshots/gear-rack.png | Bin 43737 -> 0 bytes .../gingerbread-man-cookie-cutter.png | Bin 85108 -> 0 bytes .../screenshots/gingerbread-man.png | Bin 88219 -> 0 bytes .../docs/kcl-samples/screenshots/golf-tee.png | Bin 44071 -> 0 bytes .../gridfinity-baseplate-magnets.png | Bin 119561 -> 0 bytes .../screenshots/gridfinity-baseplate.png | Bin 72961 -> 0 bytes .../gridfinity-bins-stacking-lip.png | Bin 68375 -> 0 bytes .../screenshots/gridfinity-bins.png | Bin 57362 -> 0 bytes .../docs/kcl-samples/screenshots/hammer.png | Bin 55271 -> 0 bytes .../kcl-samples/screenshots/hand-trolley.png | Bin 69094 -> 0 bytes .../kcl-samples/screenshots/helium-tank.png | Bin 79249 -> 0 bytes .../screenshots/herringbone-gear.png | Bin 151218 -> 0 bytes .../screenshots/hex-nut-with-chamfer.png | Bin 85574 -> 0 bytes .../docs/kcl-samples/screenshots/hex-nut.png | Bin 78988 -> 0 bytes .../docs/kcl-samples/screenshots/i-beam.png | Bin 22842 -> 0 bytes .../kcl-samples/screenshots/inner-thread.png | Bin 101139 -> 0 bytes .../kcl-samples/screenshots/lattice-cubic.png | Bin 178982 -> 0 bytes .../docs/kcl-samples/screenshots/lego.png | Bin 89420 -> 0 bytes .../screenshots/linear-shelf-system.png | Bin 110249 -> 0 bytes .../screenshots/liquid-impeller.png | Bin 102377 -> 0 bytes .../m4-hex-socket-countersunk-head-screw.png | Bin 73217 -> 0 bytes .../kcl-samples/screenshots/m4-insert.png | Bin 136869 -> 0 bytes .../kcl-samples/screenshots/manhole-cover.png | Bin 107026 -> 0 bytes .../screenshots/modular-shelf-grid.png | Bin 103341 -> 0 bytes .../screenshots/mounting-plate.png | Bin 59232 -> 0 bytes .../screenshots/multi-axis-robot.png | Bin 74044 -> 0 bytes .../screenshots/parametric-shelf-unit.png | Bin 59675 -> 0 bytes .../screenshots/pillow-block-bearing.png | Bin 78677 -> 0 bytes .../screenshots/pipe-elbow-90deg.png | Bin 136309 -> 0 bytes .../screenshots/pipe-flange-assembly.png | Bin 79203 -> 0 bytes .../kcl-samples/screenshots/pipe-straight.png | Bin 104165 -> 0 bytes .../screenshots/pipe-with-bend.png | Bin 98570 -> 0 bytes .../docs/kcl-samples/screenshots/pipe.png | Bin 106037 -> 0 bytes .../screenshots/planetary-gearset.png | Bin 124572 -> 0 bytes .../kcl-samples/screenshots/propeller.png | Bin 39783 -> 0 bytes .../screenshots/rack-blanking-panel.png | Bin 37795 -> 0 bytes .../radial-flow-centrifugal-impeller.png | Bin 85458 -> 0 bytes .../screenshots/rectangle-table.png | Bin 50527 -> 0 bytes .../kcl-samples/screenshots/round-table.png | Bin 46801 -> 0 bytes .../screenshots/router-template-cross-bar.png | Bin 37864 -> 0 bytes .../screenshots/router-template-slate.png | Bin 53193 -> 0 bytes .../docs/kcl-samples/screenshots/saturn-v.png | Bin 45808 -> 0 bytes .../screenshots/scrub-daddy-holder.png | Bin 95505 -> 0 bytes .../kcl-samples/screenshots/shaft-grommet.png | Bin 94520 -> 0 bytes .../screenshots/sheet-metal-bracket.png | Bin 71933 -> 0 bytes .../screenshots/single-impeller-blade.png | Bin 28448 -> 0 bytes .../docs/kcl-samples/screenshots/snowman.png | Bin 79601 -> 0 bytes .../screenshots/socket-head-cap-screw.png | Bin 58570 -> 0 bytes .../docs/kcl-samples/screenshots/sphere.png | Bin 110811 -> 0 bytes .../screenshots/spinning-highrise-tower.png | Bin 182312 -> 0 bytes .../screenshots/split-washer-flat-version.png | Bin 70766 -> 0 bytes .../split-washer-spring-version.png | Bin 86499 -> 0 bytes .../docs/kcl-samples/screenshots/sprocket.png | Bin 89741 -> 0 bytes .../kcl-samples/screenshots/stylized-car.png | Bin 89647 -> 0 bytes .../screenshots/stylized-cybertruck.png | Bin 91355 -> 0 bytes .../screenshots/stylized-dump-truck.png | Bin 81472 -> 0 bytes .../screenshots/stylized-firetruck.png | Bin 74510 -> 0 bytes .../screenshots/stylized-mini-bus.png | Bin 83566 -> 0 bytes .../screenshots/stylized-pickup-truck.png | Bin 76959 -> 0 bytes .../screenshots/surgical-drill-guide.png | Bin 35721 -> 0 bytes .../kcl-samples/screenshots/t-slot-frame.png | Bin 35057 -> 0 bytes .../kcl-samples/screenshots/t-slot-rail.png | Bin 34103 -> 0 bytes .../screenshots/t-slot-rectangle.png | Bin 40205 -> 0 bytes .../kcl-samples/screenshots/t-slot-shelf.png | Bin 35205 -> 0 bytes .../docs/kcl-samples/screenshots/teapot.png | Bin 131017 -> 0 bytes .../screenshots/thermal-block-insert.png | Bin 79898 -> 0 bytes .../docs/kcl-samples/screenshots/torus.png | Bin 153207 -> 0 bytes .../screenshots/truss-structure.png | Bin 69509 -> 0 bytes .../kcl-samples/screenshots/tube-manifold.png | Bin 101051 -> 0 bytes .../docs/kcl-samples/screenshots/usb-c.png | Bin 44203 -> 0 bytes .../kcl-samples/screenshots/utility-sink.png | Bin 74143 -> 0 bytes .../docs/kcl-samples/screenshots/v-block.png | Bin 45247 -> 0 bytes .../kcl-samples/screenshots/walkie-talkie.png | Bin 69456 -> 0 bytes .../docs/kcl-samples/screenshots/washer.png | Bin 58284 -> 0 bytes .../docs/kcl-samples/screenshots/wedge.png | Bin 65599 -> 0 bytes .../kcl-samples/screenshots/wheel-hub.png | Bin 117225 -> 0 bytes .../wind-turbine-blade-root-inserts.png | Bin 31081 -> 0 bytes .../kcl-samples/screenshots/wing-spar.png | Bin 105175 -> 0 bytes .../docs/kcl-samples/screenshots/zoo-logo.png | Bin 61308 -> 0 bytes .../kcl-samples/scrub-daddy-holder/.gitignore | 1 - .../kcl-samples/scrub-daddy-holder/main.kcl | 95 - .../scrub-daddy-holder/project.toml | 5 - .../docs/kcl-samples/shaft-grommet/.gitignore | 1 - .../docs/kcl-samples/shaft-grommet/main.kcl | 47 - .../kcl-samples/shaft-grommet/project.toml | 5 - .../sheet-metal-bracket/.gitignore | 1 - .../kcl-samples/sheet-metal-bracket/main.kcl | 251 --- .../sheet-metal-bracket/project.toml | 5 - .../single-impeller-blade/.gitignore | 1 - .../single-impeller-blade/main.kcl | 45 - .../single-impeller-blade/project.toml | 5 - .../pages/docs/kcl-samples/snowman/.gitignore | 1 - .../pages/docs/kcl-samples/snowman/main.kcl | 243 --- .../docs/kcl-samples/snowman/project.toml | 5 - .../socket-head-cap-screw/.gitignore | 1 - .../socket-head-cap-screw/main.kcl | 52 - .../socket-head-cap-screw/project.toml | 5 - .../pages/docs/kcl-samples/sphere/.gitignore | 1 - .../pages/docs/kcl-samples/sphere/main.kcl | 21 - .../docs/kcl-samples/sphere/project.toml | 5 - .../spinning-highrise-tower/.gitignore | 1 - .../spinning-highrise-tower/main.kcl | 216 -- .../spinning-highrise-tower/project.toml | 5 - .../split-washer-flat-version/main.kcl | 53 - .../split-washer-spring-version/.gitignore | 1 - .../split-washer-spring-version/main.kcl | 91 - .../split-washer-spring-version/project.toml | 5 - .../pages/docs/kcl-samples/sprocket/main.kcl | 1567 -------------- .../docs/kcl-samples/stylized-car/.gitignore | 1 - .../docs/kcl-samples/stylized-car/main.kcl | 416 ---- .../kcl-samples/stylized-car/project.toml | 5 - .../stylized-cybertruck/.gitignore | 1 - .../kcl-samples/stylized-cybertruck/main.kcl | 412 ---- .../stylized-cybertruck/project.toml | 5 - .../stylized-dump-truck/.gitignore | 1 - .../kcl-samples/stylized-dump-truck/main.kcl | 444 ---- .../stylized-dump-truck/project.toml | 5 - .../kcl-samples/stylized-firetruck/.gitignore | 1 - .../kcl-samples/stylized-firetruck/main.kcl | 461 ----- .../stylized-firetruck/project.toml | 5 - .../kcl-samples/stylized-mini-bus/.gitignore | 1 - .../kcl-samples/stylized-mini-bus/main.kcl | 414 ---- .../stylized-mini-bus/project.toml | 5 - .../stylized-pickup-truck/.gitignore | 1 - .../stylized-pickup-truck/main.kcl | 449 ---- .../stylized-pickup-truck/project.toml | 5 - .../surgical-drill-guide/.gitignore | 1 - .../kcl-samples/surgical-drill-guide/main.kcl | 373 ---- .../surgical-drill-guide/project.toml | 5 - .../docs/kcl-samples/t-slot-frame/main.kcl | 121 -- .../docs/kcl-samples/t-slot-rail/main.kcl | 103 - .../kcl-samples/t-slot-rectangle/main.kcl | 113 -- .../docs/kcl-samples/t-slot-shelf/main.kcl | 132 -- .../pages/docs/kcl-samples/teapot/.gitignore | 1 - .../pages/docs/kcl-samples/teapot/main.kcl | 121 -- .../docs/kcl-samples/teapot/project.toml | 5 - .../thermal-block-insert/.gitignore | 1 - .../kcl-samples/thermal-block-insert/main.kcl | 262 --- .../thermal-block-insert/project.toml | 5 - .../pages/docs/kcl-samples/torus/.gitignore | 1 - content/pages/docs/kcl-samples/torus/main.kcl | 18 - .../pages/docs/kcl-samples/torus/project.toml | 5 - .../docs/kcl-samples/truss-structure/main.kcl | 196 -- .../docs/kcl-samples/tube-manifold/.gitignore | 1 - .../docs/kcl-samples/tube-manifold/main.kcl | 260 --- .../kcl-samples/tube-manifold/project.toml | 5 - .../pages/docs/kcl-samples/usb-c/.gitignore | 1 - content/pages/docs/kcl-samples/usb-c/main.kcl | 169 -- .../pages/docs/kcl-samples/usb-c/project.toml | 5 - .../docs/kcl-samples/utility-sink/.gitignore | 1 - .../docs/kcl-samples/utility-sink/main.kcl | 781 ------- .../kcl-samples/utility-sink/project.toml | 5 - .../pages/docs/kcl-samples/v-block/.gitignore | 1 - .../pages/docs/kcl-samples/v-block/main.kcl | 88 - .../docs/kcl-samples/v-block/project.toml | 5 - .../kcl-samples/walkie-talkie/antenna.kcl | 51 - .../docs/kcl-samples/walkie-talkie/body.kcl | 132 -- .../docs/kcl-samples/walkie-talkie/button.kcl | 49 - .../docs/kcl-samples/walkie-talkie/case.kcl | 194 -- .../docs/kcl-samples/walkie-talkie/knob.kcl | 26 - .../docs/kcl-samples/walkie-talkie/main.kcl | 58 - .../kcl-samples/walkie-talkie/parameters.kcl | 43 - .../kcl-samples/walkie-talkie/talk-button.kcl | 60 - .../pages/docs/kcl-samples/washer/.gitignore | 1 - .../pages/docs/kcl-samples/washer/main.kcl | 25 - .../docs/kcl-samples/washer/project.toml | 5 - .../pages/docs/kcl-samples/wedge/.gitignore | 1 - content/pages/docs/kcl-samples/wedge/main.kcl | 25 - .../pages/docs/kcl-samples/wedge/project.toml | 5 - .../docs/kcl-samples/wheel-hub/.gitignore | 1 - .../pages/docs/kcl-samples/wheel-hub/main.kcl | 375 ---- .../docs/kcl-samples/wheel-hub/project.toml | 5 - .../wind-turbine-blade-root-inserts/main.kcl | 222 -- .../pages/docs/kcl-samples/wing-spar/main.kcl | 211 -- .../docs/kcl-samples/zoo-logo/.gitignore | 1 - .../pages/docs/kcl-samples/zoo-logo/main.kcl | 480 ----- .../docs/kcl-samples/zoo-logo/project.toml | 5 - .../why-ai-must-generate-parametric-cad.mdx | 2 +- 507 files changed, 2 insertions(+), 32563 deletions(-) delete mode 100644 content/pages/docs/kcl-samples/README.md delete mode 100644 content/pages/docs/kcl-samples/angle-gauge/.gitignore delete mode 100644 content/pages/docs/kcl-samples/angle-gauge/main.kcl delete mode 100644 content/pages/docs/kcl-samples/angle-gauge/project.toml delete mode 100644 content/pages/docs/kcl-samples/artificial-heart/.gitignore delete mode 100644 content/pages/docs/kcl-samples/artificial-heart/housing.kcl delete mode 100644 content/pages/docs/kcl-samples/artificial-heart/impeller.kcl delete mode 100644 content/pages/docs/kcl-samples/artificial-heart/main.kcl delete mode 100644 content/pages/docs/kcl-samples/artificial-heart/plumbing.kcl delete mode 100644 content/pages/docs/kcl-samples/artificial-heart/project.toml delete mode 100644 content/pages/docs/kcl-samples/artificial-heart/stator.kcl delete mode 100644 content/pages/docs/kcl-samples/axial-fan/.gitignore delete mode 100644 content/pages/docs/kcl-samples/axial-fan/fan-housing.kcl delete mode 100644 content/pages/docs/kcl-samples/axial-fan/fan.kcl delete mode 100644 content/pages/docs/kcl-samples/axial-fan/main.kcl delete mode 100644 content/pages/docs/kcl-samples/axial-fan/motor.kcl delete mode 100644 content/pages/docs/kcl-samples/axial-fan/parameters.kcl delete mode 100644 content/pages/docs/kcl-samples/axial-fan/project.toml delete mode 100644 content/pages/docs/kcl-samples/ball-bearing/.gitignore delete mode 100644 content/pages/docs/kcl-samples/ball-bearing/main.kcl delete mode 100644 content/pages/docs/kcl-samples/ball-bearing/project.toml delete mode 100644 content/pages/docs/kcl-samples/bench-for-kids/.gitignore delete mode 100644 content/pages/docs/kcl-samples/bench-for-kids/main.kcl delete mode 100644 content/pages/docs/kcl-samples/bench-for-kids/project.toml delete mode 100644 content/pages/docs/kcl-samples/bench/.gitignore delete mode 100644 content/pages/docs/kcl-samples/bench/main.kcl delete mode 100644 content/pages/docs/kcl-samples/bench/project.toml delete mode 100644 content/pages/docs/kcl-samples/bike-hub-washer/.gitignore delete mode 100644 content/pages/docs/kcl-samples/bike-hub-washer/main.kcl delete mode 100644 content/pages/docs/kcl-samples/bike-hub-washer/project.toml delete mode 100644 content/pages/docs/kcl-samples/blend-tutorial/.gitignore delete mode 100644 content/pages/docs/kcl-samples/blend-tutorial/main.kcl delete mode 100644 content/pages/docs/kcl-samples/blend-tutorial/project.toml delete mode 100644 content/pages/docs/kcl-samples/bone-plate/.gitignore delete mode 100644 content/pages/docs/kcl-samples/bone-plate/main.kcl delete mode 100644 content/pages/docs/kcl-samples/bone-plate/project.toml delete mode 100644 content/pages/docs/kcl-samples/bottle/.gitignore delete mode 100644 content/pages/docs/kcl-samples/bottle/main.kcl delete mode 100644 content/pages/docs/kcl-samples/bottle/project.toml delete mode 100644 content/pages/docs/kcl-samples/box/.gitignore delete mode 100644 content/pages/docs/kcl-samples/box/main.kcl delete mode 100644 content/pages/docs/kcl-samples/box/project.toml delete mode 100644 content/pages/docs/kcl-samples/bracket-with-slot/.gitignore delete mode 100644 content/pages/docs/kcl-samples/bracket-with-slot/main.kcl delete mode 100644 content/pages/docs/kcl-samples/bracket-with-slot/project.toml delete mode 100644 content/pages/docs/kcl-samples/bracket/.gitignore delete mode 100644 content/pages/docs/kcl-samples/bracket/main.kcl delete mode 100644 content/pages/docs/kcl-samples/bracket/project.toml delete mode 100644 content/pages/docs/kcl-samples/c-shape-solid/.gitignore delete mode 100644 content/pages/docs/kcl-samples/c-shape-solid/main.kcl delete mode 100644 content/pages/docs/kcl-samples/c-shape-solid/project.toml delete mode 100644 content/pages/docs/kcl-samples/camshaft/main.kcl delete mode 100644 content/pages/docs/kcl-samples/car-wheel-assembly/.gitignore delete mode 100644 content/pages/docs/kcl-samples/car-wheel-assembly/brake-rotor.kcl delete mode 100644 content/pages/docs/kcl-samples/car-wheel-assembly/car-tire.kcl delete mode 100644 content/pages/docs/kcl-samples/car-wheel-assembly/car-wheel.kcl delete mode 100644 content/pages/docs/kcl-samples/car-wheel-assembly/lug-nut.kcl delete mode 100644 content/pages/docs/kcl-samples/car-wheel-assembly/main.kcl delete mode 100644 content/pages/docs/kcl-samples/car-wheel-assembly/parameters.kcl delete mode 100644 content/pages/docs/kcl-samples/car-wheel-assembly/project.toml delete mode 100644 content/pages/docs/kcl-samples/cassette/main.kcl delete mode 100644 content/pages/docs/kcl-samples/ceiling-fan/.gitignore delete mode 100644 content/pages/docs/kcl-samples/ceiling-fan/main.kcl delete mode 100644 content/pages/docs/kcl-samples/ceiling-fan/project.toml delete mode 100644 content/pages/docs/kcl-samples/clock/main.kcl delete mode 100644 content/pages/docs/kcl-samples/coilover-assembly/.gitignore delete mode 100644 content/pages/docs/kcl-samples/coilover-assembly/coilover-bottom.kcl delete mode 100644 content/pages/docs/kcl-samples/coilover-assembly/coilover-top.kcl delete mode 100644 content/pages/docs/kcl-samples/coilover-assembly/main.kcl delete mode 100644 content/pages/docs/kcl-samples/coilover-assembly/parameters.kcl delete mode 100644 content/pages/docs/kcl-samples/coilover-assembly/project.toml delete mode 100644 content/pages/docs/kcl-samples/coilover-assembly/spring.kcl delete mode 100644 content/pages/docs/kcl-samples/cold-plate/.gitignore delete mode 100644 content/pages/docs/kcl-samples/cold-plate/main.kcl delete mode 100644 content/pages/docs/kcl-samples/cold-plate/project.toml delete mode 100644 content/pages/docs/kcl-samples/color-cube/.gitignore delete mode 100644 content/pages/docs/kcl-samples/color-cube/main.kcl delete mode 100644 content/pages/docs/kcl-samples/color-cube/project.toml delete mode 100644 content/pages/docs/kcl-samples/cone/.gitignore delete mode 100644 content/pages/docs/kcl-samples/cone/main.kcl delete mode 100644 content/pages/docs/kcl-samples/cone/project.toml delete mode 100644 content/pages/docs/kcl-samples/counterdrilled-weldment/.gitignore delete mode 100644 content/pages/docs/kcl-samples/counterdrilled-weldment/main.kcl delete mode 100644 content/pages/docs/kcl-samples/counterdrilled-weldment/project.toml delete mode 100644 content/pages/docs/kcl-samples/countersunk-plate/.gitignore delete mode 100644 content/pages/docs/kcl-samples/countersunk-plate/main.kcl delete mode 100644 content/pages/docs/kcl-samples/countersunk-plate/project.toml delete mode 100644 content/pages/docs/kcl-samples/cpu-cooler/fan-housing.kcl delete mode 100644 content/pages/docs/kcl-samples/cpu-cooler/fan.kcl delete mode 100644 content/pages/docs/kcl-samples/cpu-cooler/heat-sink.kcl delete mode 100644 content/pages/docs/kcl-samples/cpu-cooler/main.kcl delete mode 100644 content/pages/docs/kcl-samples/cpu-cooler/motor.kcl delete mode 100644 content/pages/docs/kcl-samples/cpu-cooler/mounting-wire.kcl delete mode 100644 content/pages/docs/kcl-samples/cpu-cooler/parameters.kcl delete mode 100644 content/pages/docs/kcl-samples/cpu-cooler/removable-sticker.kcl delete mode 100644 content/pages/docs/kcl-samples/crash-box/.gitignore delete mode 100644 content/pages/docs/kcl-samples/crash-box/main.kcl delete mode 100644 content/pages/docs/kcl-samples/crash-box/project.toml delete mode 100644 content/pages/docs/kcl-samples/curtain-wall-anchor-plate/.gitignore delete mode 100644 content/pages/docs/kcl-samples/curtain-wall-anchor-plate/main.kcl delete mode 100644 content/pages/docs/kcl-samples/curtain-wall-anchor-plate/project.toml delete mode 100644 content/pages/docs/kcl-samples/cycloidal-gear/.gitignore delete mode 100644 content/pages/docs/kcl-samples/cycloidal-gear/main.kcl delete mode 100644 content/pages/docs/kcl-samples/cycloidal-gear/project.toml delete mode 100644 content/pages/docs/kcl-samples/cylinder/.gitignore delete mode 100644 content/pages/docs/kcl-samples/cylinder/main.kcl delete mode 100644 content/pages/docs/kcl-samples/cylinder/project.toml delete mode 100644 content/pages/docs/kcl-samples/desk-edge-stopper/.gitignore delete mode 100644 content/pages/docs/kcl-samples/desk-edge-stopper/main.kcl delete mode 100644 content/pages/docs/kcl-samples/desk-edge-stopper/project.toml delete mode 100644 content/pages/docs/kcl-samples/dining-table/.gitignore delete mode 100644 content/pages/docs/kcl-samples/dining-table/main.kcl delete mode 100644 content/pages/docs/kcl-samples/dining-table/project.toml delete mode 100644 content/pages/docs/kcl-samples/dodecahedron/.gitignore delete mode 100644 content/pages/docs/kcl-samples/dodecahedron/main.kcl delete mode 100644 content/pages/docs/kcl-samples/dodecahedron/project.toml delete mode 100644 content/pages/docs/kcl-samples/double-hook/.gitignore delete mode 100644 content/pages/docs/kcl-samples/double-hook/main.kcl delete mode 100644 content/pages/docs/kcl-samples/double-hook/project.toml delete mode 100644 content/pages/docs/kcl-samples/enclosure/.gitignore delete mode 100644 content/pages/docs/kcl-samples/enclosure/main.kcl delete mode 100644 content/pages/docs/kcl-samples/enclosure/project.toml delete mode 100644 content/pages/docs/kcl-samples/end-effector-gripper-fingers/main.kcl delete mode 100644 content/pages/docs/kcl-samples/engine-valve/.gitignore delete mode 100644 content/pages/docs/kcl-samples/engine-valve/main.kcl delete mode 100644 content/pages/docs/kcl-samples/engine-valve/project.toml delete mode 100644 content/pages/docs/kcl-samples/exhaust-manifold/.gitignore delete mode 100644 content/pages/docs/kcl-samples/exhaust-manifold/main.kcl delete mode 100644 content/pages/docs/kcl-samples/exhaust-manifold/project.toml delete mode 100644 content/pages/docs/kcl-samples/field-monitor-stand/.gitignore delete mode 100644 content/pages/docs/kcl-samples/field-monitor-stand/main.kcl delete mode 100644 content/pages/docs/kcl-samples/field-monitor-stand/project.toml delete mode 100644 content/pages/docs/kcl-samples/flange/.gitignore delete mode 100644 content/pages/docs/kcl-samples/flange/main.kcl delete mode 100644 content/pages/docs/kcl-samples/flange/project.toml delete mode 100644 content/pages/docs/kcl-samples/flat-bladed-impeller/.gitignore delete mode 100644 content/pages/docs/kcl-samples/flat-bladed-impeller/main.kcl delete mode 100644 content/pages/docs/kcl-samples/flat-bladed-impeller/project.toml delete mode 100644 content/pages/docs/kcl-samples/focusrite-scarlett-mounting-bracket/main.kcl delete mode 100644 content/pages/docs/kcl-samples/food-service-spatula/main.kcl delete mode 100644 content/pages/docs/kcl-samples/fun-stacker-toy/.gitignore delete mode 100644 content/pages/docs/kcl-samples/fun-stacker-toy/main.kcl delete mode 100644 content/pages/docs/kcl-samples/fun-stacker-toy/project.toml delete mode 100644 content/pages/docs/kcl-samples/gallows-bracket/.gitignore delete mode 100644 content/pages/docs/kcl-samples/gallows-bracket/main.kcl delete mode 100644 content/pages/docs/kcl-samples/gallows-bracket/project.toml delete mode 100644 content/pages/docs/kcl-samples/gas-impeller/.gitignore delete mode 100644 content/pages/docs/kcl-samples/gas-impeller/main.kcl delete mode 100644 content/pages/docs/kcl-samples/gas-impeller/project.toml delete mode 100644 content/pages/docs/kcl-samples/gdt-tutorial/.gitignore delete mode 100644 content/pages/docs/kcl-samples/gdt-tutorial/main.kcl delete mode 100644 content/pages/docs/kcl-samples/gdt-tutorial/project.toml delete mode 100644 content/pages/docs/kcl-samples/gear-rack/.gitignore delete mode 100644 content/pages/docs/kcl-samples/gear-rack/main.kcl delete mode 100644 content/pages/docs/kcl-samples/gear-rack/project.toml delete mode 100644 content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/.gitignore delete mode 100644 content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/main.kcl delete mode 100644 content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/project.toml delete mode 100644 content/pages/docs/kcl-samples/gingerbread-man/.gitignore delete mode 100644 content/pages/docs/kcl-samples/gingerbread-man/main.kcl delete mode 100644 content/pages/docs/kcl-samples/gingerbread-man/project.toml delete mode 100644 content/pages/docs/kcl-samples/golf-tee/.gitignore delete mode 100644 content/pages/docs/kcl-samples/golf-tee/main.kcl delete mode 100644 content/pages/docs/kcl-samples/golf-tee/project.toml delete mode 100644 content/pages/docs/kcl-samples/gridfinity-baseplate-magnets/main.kcl delete mode 100644 content/pages/docs/kcl-samples/gridfinity-baseplate/.gitignore delete mode 100644 content/pages/docs/kcl-samples/gridfinity-baseplate/main.kcl delete mode 100644 content/pages/docs/kcl-samples/gridfinity-baseplate/project.toml delete mode 100644 content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/.gitignore delete mode 100644 content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/main.kcl delete mode 100644 content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/project.toml delete mode 100644 content/pages/docs/kcl-samples/gridfinity-bins/.gitignore delete mode 100644 content/pages/docs/kcl-samples/gridfinity-bins/main.kcl delete mode 100644 content/pages/docs/kcl-samples/gridfinity-bins/project.toml delete mode 100644 content/pages/docs/kcl-samples/hammer/.gitignore delete mode 100644 content/pages/docs/kcl-samples/hammer/main.kcl delete mode 100644 content/pages/docs/kcl-samples/hammer/project.toml delete mode 100644 content/pages/docs/kcl-samples/hand-trolley/axle.kcl delete mode 100644 content/pages/docs/kcl-samples/hand-trolley/main.kcl delete mode 100644 content/pages/docs/kcl-samples/hand-trolley/parameters.kcl delete mode 100644 content/pages/docs/kcl-samples/hand-trolley/weldment.kcl delete mode 100644 content/pages/docs/kcl-samples/hand-trolley/wheel.kcl delete mode 100644 content/pages/docs/kcl-samples/helium-tank/.gitignore delete mode 100644 content/pages/docs/kcl-samples/helium-tank/main.kcl delete mode 100644 content/pages/docs/kcl-samples/helium-tank/project.toml delete mode 100644 content/pages/docs/kcl-samples/herringbone-gear/main.kcl delete mode 100644 content/pages/docs/kcl-samples/hex-nut-with-chamfer/.gitignore delete mode 100644 content/pages/docs/kcl-samples/hex-nut-with-chamfer/main.kcl delete mode 100644 content/pages/docs/kcl-samples/hex-nut-with-chamfer/project.toml delete mode 100644 content/pages/docs/kcl-samples/hex-nut/.gitignore delete mode 100644 content/pages/docs/kcl-samples/hex-nut/main.kcl delete mode 100644 content/pages/docs/kcl-samples/hex-nut/project.toml delete mode 100644 content/pages/docs/kcl-samples/i-beam/.gitignore delete mode 100644 content/pages/docs/kcl-samples/i-beam/main.kcl delete mode 100644 content/pages/docs/kcl-samples/i-beam/project.toml delete mode 100644 content/pages/docs/kcl-samples/inner-thread/.gitignore delete mode 100644 content/pages/docs/kcl-samples/inner-thread/main.kcl delete mode 100644 content/pages/docs/kcl-samples/inner-thread/project.toml delete mode 100644 content/pages/docs/kcl-samples/lattice-cubic/.gitignore delete mode 100644 content/pages/docs/kcl-samples/lattice-cubic/main.kcl delete mode 100644 content/pages/docs/kcl-samples/lattice-cubic/project.toml delete mode 100644 content/pages/docs/kcl-samples/lego/.gitignore delete mode 100644 content/pages/docs/kcl-samples/lego/main.kcl delete mode 100644 content/pages/docs/kcl-samples/lego/project.toml delete mode 100644 content/pages/docs/kcl-samples/linear-shelf-system/.gitignore delete mode 100644 content/pages/docs/kcl-samples/linear-shelf-system/main.kcl delete mode 100644 content/pages/docs/kcl-samples/linear-shelf-system/project.toml delete mode 100644 content/pages/docs/kcl-samples/liquid-impeller/.gitignore delete mode 100644 content/pages/docs/kcl-samples/liquid-impeller/main.kcl delete mode 100644 content/pages/docs/kcl-samples/liquid-impeller/project.toml delete mode 100644 content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/.gitignore delete mode 100644 content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/main.kcl delete mode 100644 content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/project.toml delete mode 100644 content/pages/docs/kcl-samples/m4-insert/.gitignore delete mode 100644 content/pages/docs/kcl-samples/m4-insert/main.kcl delete mode 100644 content/pages/docs/kcl-samples/m4-insert/project.toml delete mode 100644 content/pages/docs/kcl-samples/manhole-cover/main.kcl delete mode 100644 content/pages/docs/kcl-samples/manifest.json delete mode 100644 content/pages/docs/kcl-samples/modular-shelf-grid/.gitignore delete mode 100644 content/pages/docs/kcl-samples/modular-shelf-grid/main.kcl delete mode 100644 content/pages/docs/kcl-samples/modular-shelf-grid/project.toml delete mode 100644 content/pages/docs/kcl-samples/mounting-plate/main.kcl delete mode 100644 content/pages/docs/kcl-samples/multi-axis-robot/.gitignore delete mode 100644 content/pages/docs/kcl-samples/multi-axis-robot/globals.kcl delete mode 100644 content/pages/docs/kcl-samples/multi-axis-robot/main.kcl delete mode 100644 content/pages/docs/kcl-samples/multi-axis-robot/project.toml delete mode 100644 content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-base.kcl delete mode 100644 content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-j2.kcl delete mode 100644 content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-j3.kcl delete mode 100644 content/pages/docs/kcl-samples/multi-axis-robot/robot-rotating-base.kcl delete mode 100644 content/pages/docs/kcl-samples/parametric-shelf-unit/.gitignore delete mode 100644 content/pages/docs/kcl-samples/parametric-shelf-unit/main.kcl delete mode 100644 content/pages/docs/kcl-samples/parametric-shelf-unit/project.toml delete mode 100644 content/pages/docs/kcl-samples/pillow-block-bearing/ball-bearing.kcl delete mode 100644 content/pages/docs/kcl-samples/pillow-block-bearing/block.kcl delete mode 100644 content/pages/docs/kcl-samples/pillow-block-bearing/main.kcl delete mode 100644 content/pages/docs/kcl-samples/pillow-block-bearing/parameters.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe-elbow-90deg/.gitignore delete mode 100644 content/pages/docs/kcl-samples/pipe-elbow-90deg/main.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe-elbow-90deg/project.toml delete mode 100644 content/pages/docs/kcl-samples/pipe-flange-assembly/1120t74-pipe.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe-flange-assembly/68095k348-flange.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe-flange-assembly/91251a404-bolt.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe-flange-assembly/9472k188-gasket.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe-flange-assembly/95479a127-hex-nut.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe-flange-assembly/98017a257-washer.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe-flange-assembly/main.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe-flange-assembly/parameters.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe-straight/.gitignore delete mode 100644 content/pages/docs/kcl-samples/pipe-straight/main.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe-straight/project.toml delete mode 100644 content/pages/docs/kcl-samples/pipe-with-bend/main.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe/.gitignore delete mode 100644 content/pages/docs/kcl-samples/pipe/main.kcl delete mode 100644 content/pages/docs/kcl-samples/pipe/project.toml delete mode 100644 content/pages/docs/kcl-samples/planetary-gearset/.gitignore delete mode 100644 content/pages/docs/kcl-samples/planetary-gearset/main.kcl delete mode 100644 content/pages/docs/kcl-samples/planetary-gearset/project.toml delete mode 100644 content/pages/docs/kcl-samples/propeller/main.kcl delete mode 100644 content/pages/docs/kcl-samples/rack-blanking-panel/.gitignore delete mode 100644 content/pages/docs/kcl-samples/rack-blanking-panel/main.kcl delete mode 100644 content/pages/docs/kcl-samples/rack-blanking-panel/project.toml delete mode 100644 content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/.gitignore delete mode 100644 content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/main.kcl delete mode 100644 content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/project.toml delete mode 100644 content/pages/docs/kcl-samples/rectangle-table/.gitignore delete mode 100644 content/pages/docs/kcl-samples/rectangle-table/main.kcl delete mode 100644 content/pages/docs/kcl-samples/rectangle-table/project.toml delete mode 100644 content/pages/docs/kcl-samples/round-table/.gitignore delete mode 100644 content/pages/docs/kcl-samples/round-table/main.kcl delete mode 100644 content/pages/docs/kcl-samples/round-table/project.toml delete mode 100644 content/pages/docs/kcl-samples/router-template-cross-bar/.gitignore delete mode 100644 content/pages/docs/kcl-samples/router-template-cross-bar/main.kcl delete mode 100644 content/pages/docs/kcl-samples/router-template-cross-bar/project.toml delete mode 100644 content/pages/docs/kcl-samples/router-template-slate/.gitignore delete mode 100644 content/pages/docs/kcl-samples/router-template-slate/main.kcl delete mode 100644 content/pages/docs/kcl-samples/router-template-slate/project.toml delete mode 100644 content/pages/docs/kcl-samples/saturn-v/.gitignore delete mode 100644 content/pages/docs/kcl-samples/saturn-v/main.kcl delete mode 100644 content/pages/docs/kcl-samples/saturn-v/project.toml delete mode 100644 content/pages/docs/kcl-samples/screenshots/angle-gauge.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/artificial-heart.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/axial-fan.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/ball-bearing.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/bench-for-kids.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/bench.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/bike-hub-washer.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/blend-tutorial.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/bone-plate.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/bottle.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/box.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/bracket-with-slot.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/bracket.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/c-shape-solid.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/camshaft.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/car-wheel-assembly.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/cassette.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/ceiling-fan.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/clock.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/coilover-assembly.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/cold-plate.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/color-cube.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/cone.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/counterdrilled-weldment.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/countersunk-plate.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/cpu-cooler.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/crash-box.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/curtain-wall-anchor-plate.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/cycloidal-gear.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/cylinder.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/desk-edge-stopper.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/dining-table.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/dodecahedron.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/double-hook.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/enclosure.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/end-effector-gripper-fingers.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/engine-valve.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/exhaust-manifold.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/field-monitor-stand.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/flange.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/flat-bladed-impeller.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/focusrite-scarlett-mounting-bracket.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/food-service-spatula.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/fun-stacker-toy.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/gallows-bracket.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/gas-impeller.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/gdt-tutorial.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/gear-rack.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/gingerbread-man-cookie-cutter.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/gingerbread-man.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/golf-tee.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/gridfinity-baseplate-magnets.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/gridfinity-baseplate.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/gridfinity-bins-stacking-lip.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/gridfinity-bins.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/hammer.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/hand-trolley.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/helium-tank.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/herringbone-gear.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/hex-nut-with-chamfer.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/hex-nut.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/i-beam.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/inner-thread.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/lattice-cubic.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/lego.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/linear-shelf-system.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/liquid-impeller.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/m4-hex-socket-countersunk-head-screw.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/m4-insert.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/manhole-cover.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/modular-shelf-grid.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/mounting-plate.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/multi-axis-robot.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/parametric-shelf-unit.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/pillow-block-bearing.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/pipe-elbow-90deg.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/pipe-flange-assembly.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/pipe-straight.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/pipe-with-bend.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/pipe.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/planetary-gearset.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/propeller.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/rack-blanking-panel.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/radial-flow-centrifugal-impeller.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/rectangle-table.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/round-table.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/router-template-cross-bar.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/router-template-slate.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/saturn-v.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/scrub-daddy-holder.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/shaft-grommet.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/sheet-metal-bracket.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/single-impeller-blade.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/snowman.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/socket-head-cap-screw.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/sphere.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/spinning-highrise-tower.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/split-washer-flat-version.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/split-washer-spring-version.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/sprocket.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/stylized-car.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/stylized-cybertruck.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/stylized-dump-truck.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/stylized-firetruck.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/stylized-mini-bus.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/stylized-pickup-truck.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/surgical-drill-guide.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/t-slot-frame.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/t-slot-rail.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/t-slot-rectangle.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/t-slot-shelf.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/teapot.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/thermal-block-insert.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/torus.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/truss-structure.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/tube-manifold.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/usb-c.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/utility-sink.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/v-block.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/walkie-talkie.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/washer.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/wedge.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/wheel-hub.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/wind-turbine-blade-root-inserts.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/wing-spar.png delete mode 100644 content/pages/docs/kcl-samples/screenshots/zoo-logo.png delete mode 100644 content/pages/docs/kcl-samples/scrub-daddy-holder/.gitignore delete mode 100644 content/pages/docs/kcl-samples/scrub-daddy-holder/main.kcl delete mode 100644 content/pages/docs/kcl-samples/scrub-daddy-holder/project.toml delete mode 100644 content/pages/docs/kcl-samples/shaft-grommet/.gitignore delete mode 100644 content/pages/docs/kcl-samples/shaft-grommet/main.kcl delete mode 100644 content/pages/docs/kcl-samples/shaft-grommet/project.toml delete mode 100644 content/pages/docs/kcl-samples/sheet-metal-bracket/.gitignore delete mode 100644 content/pages/docs/kcl-samples/sheet-metal-bracket/main.kcl delete mode 100644 content/pages/docs/kcl-samples/sheet-metal-bracket/project.toml delete mode 100644 content/pages/docs/kcl-samples/single-impeller-blade/.gitignore delete mode 100644 content/pages/docs/kcl-samples/single-impeller-blade/main.kcl delete mode 100644 content/pages/docs/kcl-samples/single-impeller-blade/project.toml delete mode 100644 content/pages/docs/kcl-samples/snowman/.gitignore delete mode 100644 content/pages/docs/kcl-samples/snowman/main.kcl delete mode 100644 content/pages/docs/kcl-samples/snowman/project.toml delete mode 100644 content/pages/docs/kcl-samples/socket-head-cap-screw/.gitignore delete mode 100644 content/pages/docs/kcl-samples/socket-head-cap-screw/main.kcl delete mode 100644 content/pages/docs/kcl-samples/socket-head-cap-screw/project.toml delete mode 100644 content/pages/docs/kcl-samples/sphere/.gitignore delete mode 100644 content/pages/docs/kcl-samples/sphere/main.kcl delete mode 100644 content/pages/docs/kcl-samples/sphere/project.toml delete mode 100644 content/pages/docs/kcl-samples/spinning-highrise-tower/.gitignore delete mode 100644 content/pages/docs/kcl-samples/spinning-highrise-tower/main.kcl delete mode 100644 content/pages/docs/kcl-samples/spinning-highrise-tower/project.toml delete mode 100644 content/pages/docs/kcl-samples/split-washer-flat-version/main.kcl delete mode 100644 content/pages/docs/kcl-samples/split-washer-spring-version/.gitignore delete mode 100644 content/pages/docs/kcl-samples/split-washer-spring-version/main.kcl delete mode 100644 content/pages/docs/kcl-samples/split-washer-spring-version/project.toml delete mode 100644 content/pages/docs/kcl-samples/sprocket/main.kcl delete mode 100644 content/pages/docs/kcl-samples/stylized-car/.gitignore delete mode 100644 content/pages/docs/kcl-samples/stylized-car/main.kcl delete mode 100644 content/pages/docs/kcl-samples/stylized-car/project.toml delete mode 100644 content/pages/docs/kcl-samples/stylized-cybertruck/.gitignore delete mode 100644 content/pages/docs/kcl-samples/stylized-cybertruck/main.kcl delete mode 100644 content/pages/docs/kcl-samples/stylized-cybertruck/project.toml delete mode 100644 content/pages/docs/kcl-samples/stylized-dump-truck/.gitignore delete mode 100644 content/pages/docs/kcl-samples/stylized-dump-truck/main.kcl delete mode 100644 content/pages/docs/kcl-samples/stylized-dump-truck/project.toml delete mode 100644 content/pages/docs/kcl-samples/stylized-firetruck/.gitignore delete mode 100644 content/pages/docs/kcl-samples/stylized-firetruck/main.kcl delete mode 100644 content/pages/docs/kcl-samples/stylized-firetruck/project.toml delete mode 100644 content/pages/docs/kcl-samples/stylized-mini-bus/.gitignore delete mode 100644 content/pages/docs/kcl-samples/stylized-mini-bus/main.kcl delete mode 100644 content/pages/docs/kcl-samples/stylized-mini-bus/project.toml delete mode 100644 content/pages/docs/kcl-samples/stylized-pickup-truck/.gitignore delete mode 100644 content/pages/docs/kcl-samples/stylized-pickup-truck/main.kcl delete mode 100644 content/pages/docs/kcl-samples/stylized-pickup-truck/project.toml delete mode 100644 content/pages/docs/kcl-samples/surgical-drill-guide/.gitignore delete mode 100644 content/pages/docs/kcl-samples/surgical-drill-guide/main.kcl delete mode 100644 content/pages/docs/kcl-samples/surgical-drill-guide/project.toml delete mode 100644 content/pages/docs/kcl-samples/t-slot-frame/main.kcl delete mode 100644 content/pages/docs/kcl-samples/t-slot-rail/main.kcl delete mode 100644 content/pages/docs/kcl-samples/t-slot-rectangle/main.kcl delete mode 100644 content/pages/docs/kcl-samples/t-slot-shelf/main.kcl delete mode 100644 content/pages/docs/kcl-samples/teapot/.gitignore delete mode 100644 content/pages/docs/kcl-samples/teapot/main.kcl delete mode 100644 content/pages/docs/kcl-samples/teapot/project.toml delete mode 100644 content/pages/docs/kcl-samples/thermal-block-insert/.gitignore delete mode 100644 content/pages/docs/kcl-samples/thermal-block-insert/main.kcl delete mode 100644 content/pages/docs/kcl-samples/thermal-block-insert/project.toml delete mode 100644 content/pages/docs/kcl-samples/torus/.gitignore delete mode 100644 content/pages/docs/kcl-samples/torus/main.kcl delete mode 100644 content/pages/docs/kcl-samples/torus/project.toml delete mode 100644 content/pages/docs/kcl-samples/truss-structure/main.kcl delete mode 100644 content/pages/docs/kcl-samples/tube-manifold/.gitignore delete mode 100644 content/pages/docs/kcl-samples/tube-manifold/main.kcl delete mode 100644 content/pages/docs/kcl-samples/tube-manifold/project.toml delete mode 100644 content/pages/docs/kcl-samples/usb-c/.gitignore delete mode 100644 content/pages/docs/kcl-samples/usb-c/main.kcl delete mode 100644 content/pages/docs/kcl-samples/usb-c/project.toml delete mode 100644 content/pages/docs/kcl-samples/utility-sink/.gitignore delete mode 100644 content/pages/docs/kcl-samples/utility-sink/main.kcl delete mode 100644 content/pages/docs/kcl-samples/utility-sink/project.toml delete mode 100644 content/pages/docs/kcl-samples/v-block/.gitignore delete mode 100644 content/pages/docs/kcl-samples/v-block/main.kcl delete mode 100644 content/pages/docs/kcl-samples/v-block/project.toml delete mode 100644 content/pages/docs/kcl-samples/walkie-talkie/antenna.kcl delete mode 100644 content/pages/docs/kcl-samples/walkie-talkie/body.kcl delete mode 100644 content/pages/docs/kcl-samples/walkie-talkie/button.kcl delete mode 100644 content/pages/docs/kcl-samples/walkie-talkie/case.kcl delete mode 100644 content/pages/docs/kcl-samples/walkie-talkie/knob.kcl delete mode 100644 content/pages/docs/kcl-samples/walkie-talkie/main.kcl delete mode 100644 content/pages/docs/kcl-samples/walkie-talkie/parameters.kcl delete mode 100644 content/pages/docs/kcl-samples/walkie-talkie/talk-button.kcl delete mode 100644 content/pages/docs/kcl-samples/washer/.gitignore delete mode 100644 content/pages/docs/kcl-samples/washer/main.kcl delete mode 100644 content/pages/docs/kcl-samples/washer/project.toml delete mode 100644 content/pages/docs/kcl-samples/wedge/.gitignore delete mode 100644 content/pages/docs/kcl-samples/wedge/main.kcl delete mode 100644 content/pages/docs/kcl-samples/wedge/project.toml delete mode 100644 content/pages/docs/kcl-samples/wheel-hub/.gitignore delete mode 100644 content/pages/docs/kcl-samples/wheel-hub/main.kcl delete mode 100644 content/pages/docs/kcl-samples/wheel-hub/project.toml delete mode 100644 content/pages/docs/kcl-samples/wind-turbine-blade-root-inserts/main.kcl delete mode 100644 content/pages/docs/kcl-samples/wing-spar/main.kcl delete mode 100644 content/pages/docs/kcl-samples/zoo-logo/.gitignore delete mode 100644 content/pages/docs/kcl-samples/zoo-logo/main.kcl delete mode 100644 content/pages/docs/kcl-samples/zoo-logo/project.toml diff --git a/AGENTS.md b/AGENTS.md index e47ff563..5c2fcf16 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,8 +9,6 @@ Never edit these paths here: - `content/pages/docs/kcl-lang/**` mirrors `KittyCAD/modeling-app/docs/kcl-lang/**`. - `content/pages/docs/kcl-std/**` mirrors generated `KittyCAD/modeling-app/docs/kcl-std/**`. -- `content/pages/docs/kcl-samples/**` mirrors - `KittyCAD/modeling-app/public/kcl-samples/**`. - `content/kcl-test-outputs/**` mirrors `KittyCAD/modeling-app/rust/kcl-lib/tests/outputs/**`. - `content/pages/docs/cli/manual/zoo*.md` mirrors Markdown generated by @@ -27,7 +25,7 @@ For KCL standard library reference pages, edit the doc comments in just redo-kcl-stdlib-docs ``` -The modeling-app `generate-website-docs` workflow copies KCL docs, samples, and +The modeling-app `generate-website-docs` workflow copies KCL docs and test outputs into this repository and opens or updates the downstream pull request. For CLI reference pages, edit `KittyCAD/cli`, run `make gen-md`, and let its `generate-website-docs` workflow update this repository. diff --git a/README.md b/README.md index bc6ab41b..81039ce1 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,6 @@ the downstream mirrors in this repository will be overwritten. | --- | --- | | `content/pages/docs/kcl-lang/**` | [`KittyCAD/modeling-app`](https://github.com/KittyCAD/modeling-app) `docs/kcl-lang/**` | | `content/pages/docs/kcl-std/**` | `modeling-app/rust/kcl-lib/std/**` doc comments, rendered into `modeling-app/docs/kcl-std/**` | -| `content/pages/docs/kcl-samples/**` | `modeling-app/public/kcl-samples/**` | | `content/kcl-test-outputs/**` | `modeling-app/rust/kcl-lib/tests/outputs/**` | | `content/pages/docs/cli/manual/zoo*.md` | [`KittyCAD/cli`](https://github.com/KittyCAD/cli), generated with `make gen-md` | diff --git a/content/pages/docs/kcl-samples/README.md b/content/pages/docs/kcl-samples/README.md deleted file mode 100644 index 4b4f4a05..00000000 --- a/content/pages/docs/kcl-samples/README.md +++ /dev/null @@ -1,292 +0,0 @@ -# kcl-samples - -KittyCAD Language (KCL) is our language for defining geometry and working with our Geometry Engine efficiently. - -This repository includes a mixture of simple and complex models demonstrating the features and syntax of KCL. - -The samples can be browsed in our documentation at . - -## Guidelines for adding samples - -KCL samples conform to a set of style guidelines to ensure consistency and readability. - -1. **File Naming:** Name your KCL files descriptively and concisely, using hyphens to separate words (e.g., flange.kcl, ball-bearing.kcl). - -2. **File Header:** The first comment line should be the file's title. The second - a brief description explaining what the model is and its typical use cases. The third comment line in each sample's `main.kcl` must be "Categories:" followed by a category value or semicolon-separated category values. Semicolons are used because category names may contain commas. - -3. **Inline Comments:** Use inline comments to explain non-obvious parts of the code. Each major section should have a comment describing its purpose. - -4. **Constants:** Define constants at the beginning of your KCL files for any values that might change or need to be reused (e.g., dimensions, angles). - -## Snapshot and export - -When you submit a PR to add or modify KCL samples, you need to run a few commands to generate the required artifacts. Note: You must have a ZOO_API_TOKEN set in your env for this to work. - -``` -cd rust -just generate-sample-preview samplename -just overwrite-sim-test-sample samplename -``` - -ex. `just overwrite-sim-test-sample angle-gauge` - -Public previews use GPU engine rendering through the Zoo CLI and are published -to the documentation and Aquarium. Generate the preview before updating the -simulation snapshots for a new sample. CPU regression images stay in -`rust/kcl-lib/tests/kcl_samples` and are never copied to the public screenshots -directory. - ---- -#### [angle-gauge](angle-gauge/main.kcl) ([screenshot](screenshots/angle-gauge.png)) -[![angle-gauge](screenshots/angle-gauge.png)](angle-gauge/main.kcl) -#### [artificial-heart](artificial-heart/main.kcl) ([screenshot](screenshots/artificial-heart.png)) -[![artificial-heart](screenshots/artificial-heart.png)](artificial-heart/main.kcl) -#### [axial-fan](axial-fan/main.kcl) ([screenshot](screenshots/axial-fan.png)) -[![axial-fan](screenshots/axial-fan.png)](axial-fan/main.kcl) -#### [ball-bearing](ball-bearing/main.kcl) ([screenshot](screenshots/ball-bearing.png)) -[![ball-bearing](screenshots/ball-bearing.png)](ball-bearing/main.kcl) -#### [bench](bench/main.kcl) ([screenshot](screenshots/bench.png)) -[![bench](screenshots/bench.png)](bench/main.kcl) -#### [bench-for-kids](bench-for-kids/main.kcl) ([screenshot](screenshots/bench-for-kids.png)) -[![bench-for-kids](screenshots/bench-for-kids.png)](bench-for-kids/main.kcl) -#### [bike-hub-washer](bike-hub-washer/main.kcl) ([screenshot](screenshots/bike-hub-washer.png)) -[![bike-hub-washer](screenshots/bike-hub-washer.png)](bike-hub-washer/main.kcl) -#### [blend-tutorial](blend-tutorial/main.kcl) ([screenshot](screenshots/blend-tutorial.png)) -[![blend-tutorial](screenshots/blend-tutorial.png)](blend-tutorial/main.kcl) -#### [bone-plate](bone-plate/main.kcl) ([screenshot](screenshots/bone-plate.png)) -[![bone-plate](screenshots/bone-plate.png)](bone-plate/main.kcl) -#### [bottle](bottle/main.kcl) ([screenshot](screenshots/bottle.png)) -[![bottle](screenshots/bottle.png)](bottle/main.kcl) -#### [box](box/main.kcl) ([screenshot](screenshots/box.png)) -[![box](screenshots/box.png)](box/main.kcl) -#### [bracket](bracket/main.kcl) ([screenshot](screenshots/bracket.png)) -[![bracket](screenshots/bracket.png)](bracket/main.kcl) -#### [bracket-with-slot](bracket-with-slot/main.kcl) ([screenshot](screenshots/bracket-with-slot.png)) -[![bracket-with-slot](screenshots/bracket-with-slot.png)](bracket-with-slot/main.kcl) -#### [c-shape-solid](c-shape-solid/main.kcl) ([screenshot](screenshots/c-shape-solid.png)) -[![c-shape-solid](screenshots/c-shape-solid.png)](c-shape-solid/main.kcl) -#### [camshaft](camshaft/main.kcl) ([screenshot](screenshots/camshaft.png)) -[![camshaft](screenshots/camshaft.png)](camshaft/main.kcl) -#### [car-wheel-assembly](car-wheel-assembly/main.kcl) ([screenshot](screenshots/car-wheel-assembly.png)) -[![car-wheel-assembly](screenshots/car-wheel-assembly.png)](car-wheel-assembly/main.kcl) -#### [cassette](cassette/main.kcl) ([screenshot](screenshots/cassette.png)) -[![cassette](screenshots/cassette.png)](cassette/main.kcl) -#### [ceiling-fan](ceiling-fan/main.kcl) ([screenshot](screenshots/ceiling-fan.png)) -[![ceiling-fan](screenshots/ceiling-fan.png)](ceiling-fan/main.kcl) -#### [clock](clock/main.kcl) ([screenshot](screenshots/clock.png)) -[![clock](screenshots/clock.png)](clock/main.kcl) -#### [coilover-assembly](coilover-assembly/main.kcl) ([screenshot](screenshots/coilover-assembly.png)) -[![coilover-assembly](screenshots/coilover-assembly.png)](coilover-assembly/main.kcl) -#### [cold-plate](cold-plate/main.kcl) ([screenshot](screenshots/cold-plate.png)) -[![cold-plate](screenshots/cold-plate.png)](cold-plate/main.kcl) -#### [color-cube](color-cube/main.kcl) ([screenshot](screenshots/color-cube.png)) -[![color-cube](screenshots/color-cube.png)](color-cube/main.kcl) -#### [cone](cone/main.kcl) ([screenshot](screenshots/cone.png)) -[![cone](screenshots/cone.png)](cone/main.kcl) -#### [counterdrilled-weldment](counterdrilled-weldment/main.kcl) ([screenshot](screenshots/counterdrilled-weldment.png)) -[![counterdrilled-weldment](screenshots/counterdrilled-weldment.png)](counterdrilled-weldment/main.kcl) -#### [countersunk-plate](countersunk-plate/main.kcl) ([screenshot](screenshots/countersunk-plate.png)) -[![countersunk-plate](screenshots/countersunk-plate.png)](countersunk-plate/main.kcl) -#### [cpu-cooler](cpu-cooler/main.kcl) ([screenshot](screenshots/cpu-cooler.png)) -[![cpu-cooler](screenshots/cpu-cooler.png)](cpu-cooler/main.kcl) -#### [crash-box](crash-box/main.kcl) ([screenshot](screenshots/crash-box.png)) -[![crash-box](screenshots/crash-box.png)](crash-box/main.kcl) -#### [curtain-wall-anchor-plate](curtain-wall-anchor-plate/main.kcl) ([screenshot](screenshots/curtain-wall-anchor-plate.png)) -[![curtain-wall-anchor-plate](screenshots/curtain-wall-anchor-plate.png)](curtain-wall-anchor-plate/main.kcl) -#### [cycloidal-gear](cycloidal-gear/main.kcl) ([screenshot](screenshots/cycloidal-gear.png)) -[![cycloidal-gear](screenshots/cycloidal-gear.png)](cycloidal-gear/main.kcl) -#### [cylinder](cylinder/main.kcl) ([screenshot](screenshots/cylinder.png)) -[![cylinder](screenshots/cylinder.png)](cylinder/main.kcl) -#### [desk-edge-stopper](desk-edge-stopper/main.kcl) ([screenshot](screenshots/desk-edge-stopper.png)) -[![desk-edge-stopper](screenshots/desk-edge-stopper.png)](desk-edge-stopper/main.kcl) -#### [dining-table](dining-table/main.kcl) ([screenshot](screenshots/dining-table.png)) -[![dining-table](screenshots/dining-table.png)](dining-table/main.kcl) -#### [dodecahedron](dodecahedron/main.kcl) ([screenshot](screenshots/dodecahedron.png)) -[![dodecahedron](screenshots/dodecahedron.png)](dodecahedron/main.kcl) -#### [double-hook](double-hook/main.kcl) ([screenshot](screenshots/double-hook.png)) -[![double-hook](screenshots/double-hook.png)](double-hook/main.kcl) -#### [enclosure](enclosure/main.kcl) ([screenshot](screenshots/enclosure.png)) -[![enclosure](screenshots/enclosure.png)](enclosure/main.kcl) -#### [end-effector-gripper-fingers](end-effector-gripper-fingers/main.kcl) ([screenshot](screenshots/end-effector-gripper-fingers.png)) -[![end-effector-gripper-fingers](screenshots/end-effector-gripper-fingers.png)](end-effector-gripper-fingers/main.kcl) -#### [engine-valve](engine-valve/main.kcl) ([screenshot](screenshots/engine-valve.png)) -[![engine-valve](screenshots/engine-valve.png)](engine-valve/main.kcl) -#### [exhaust-manifold](exhaust-manifold/main.kcl) ([screenshot](screenshots/exhaust-manifold.png)) -[![exhaust-manifold](screenshots/exhaust-manifold.png)](exhaust-manifold/main.kcl) -#### [field-monitor-stand](field-monitor-stand/main.kcl) ([screenshot](screenshots/field-monitor-stand.png)) -[![field-monitor-stand](screenshots/field-monitor-stand.png)](field-monitor-stand/main.kcl) -#### [flange](flange/main.kcl) ([screenshot](screenshots/flange.png)) -[![flange](screenshots/flange.png)](flange/main.kcl) -#### [flat-bladed-impeller](flat-bladed-impeller/main.kcl) ([screenshot](screenshots/flat-bladed-impeller.png)) -[![flat-bladed-impeller](screenshots/flat-bladed-impeller.png)](flat-bladed-impeller/main.kcl) -#### [focusrite-scarlett-mounting-bracket](focusrite-scarlett-mounting-bracket/main.kcl) ([screenshot](screenshots/focusrite-scarlett-mounting-bracket.png)) -[![focusrite-scarlett-mounting-bracket](screenshots/focusrite-scarlett-mounting-bracket.png)](focusrite-scarlett-mounting-bracket/main.kcl) -#### [food-service-spatula](food-service-spatula/main.kcl) ([screenshot](screenshots/food-service-spatula.png)) -[![food-service-spatula](screenshots/food-service-spatula.png)](food-service-spatula/main.kcl) -#### [fun-stacker-toy](fun-stacker-toy/main.kcl) ([screenshot](screenshots/fun-stacker-toy.png)) -[![fun-stacker-toy](screenshots/fun-stacker-toy.png)](fun-stacker-toy/main.kcl) -#### [gallows-bracket](gallows-bracket/main.kcl) ([screenshot](screenshots/gallows-bracket.png)) -[![gallows-bracket](screenshots/gallows-bracket.png)](gallows-bracket/main.kcl) -#### [gas-impeller](gas-impeller/main.kcl) ([screenshot](screenshots/gas-impeller.png)) -[![gas-impeller](screenshots/gas-impeller.png)](gas-impeller/main.kcl) -#### [gdt-tutorial](gdt-tutorial/main.kcl) ([screenshot](screenshots/gdt-tutorial.png)) -[![gdt-tutorial](screenshots/gdt-tutorial.png)](gdt-tutorial/main.kcl) -#### [gear-rack](gear-rack/main.kcl) ([screenshot](screenshots/gear-rack.png)) -[![gear-rack](screenshots/gear-rack.png)](gear-rack/main.kcl) -#### [gingerbread-man](gingerbread-man/main.kcl) ([screenshot](screenshots/gingerbread-man.png)) -[![gingerbread-man](screenshots/gingerbread-man.png)](gingerbread-man/main.kcl) -#### [gingerbread-man-cookie-cutter](gingerbread-man-cookie-cutter/main.kcl) ([screenshot](screenshots/gingerbread-man-cookie-cutter.png)) -[![gingerbread-man-cookie-cutter](screenshots/gingerbread-man-cookie-cutter.png)](gingerbread-man-cookie-cutter/main.kcl) -#### [golf-tee](golf-tee/main.kcl) ([screenshot](screenshots/golf-tee.png)) -[![golf-tee](screenshots/golf-tee.png)](golf-tee/main.kcl) -#### [gridfinity-baseplate](gridfinity-baseplate/main.kcl) ([screenshot](screenshots/gridfinity-baseplate.png)) -[![gridfinity-baseplate](screenshots/gridfinity-baseplate.png)](gridfinity-baseplate/main.kcl) -#### [gridfinity-baseplate-magnets](gridfinity-baseplate-magnets/main.kcl) ([screenshot](screenshots/gridfinity-baseplate-magnets.png)) -[![gridfinity-baseplate-magnets](screenshots/gridfinity-baseplate-magnets.png)](gridfinity-baseplate-magnets/main.kcl) -#### [gridfinity-bins](gridfinity-bins/main.kcl) ([screenshot](screenshots/gridfinity-bins.png)) -[![gridfinity-bins](screenshots/gridfinity-bins.png)](gridfinity-bins/main.kcl) -#### [gridfinity-bins-stacking-lip](gridfinity-bins-stacking-lip/main.kcl) ([screenshot](screenshots/gridfinity-bins-stacking-lip.png)) -[![gridfinity-bins-stacking-lip](screenshots/gridfinity-bins-stacking-lip.png)](gridfinity-bins-stacking-lip/main.kcl) -#### [hammer](hammer/main.kcl) ([screenshot](screenshots/hammer.png)) -[![hammer](screenshots/hammer.png)](hammer/main.kcl) -#### [hand-trolley](hand-trolley/main.kcl) ([screenshot](screenshots/hand-trolley.png)) -[![hand-trolley](screenshots/hand-trolley.png)](hand-trolley/main.kcl) -#### [helium-tank](helium-tank/main.kcl) ([screenshot](screenshots/helium-tank.png)) -[![helium-tank](screenshots/helium-tank.png)](helium-tank/main.kcl) -#### [herringbone-gear](herringbone-gear/main.kcl) ([screenshot](screenshots/herringbone-gear.png)) -[![herringbone-gear](screenshots/herringbone-gear.png)](herringbone-gear/main.kcl) -#### [hex-nut](hex-nut/main.kcl) ([screenshot](screenshots/hex-nut.png)) -[![hex-nut](screenshots/hex-nut.png)](hex-nut/main.kcl) -#### [hex-nut-with-chamfer](hex-nut-with-chamfer/main.kcl) ([screenshot](screenshots/hex-nut-with-chamfer.png)) -[![hex-nut-with-chamfer](screenshots/hex-nut-with-chamfer.png)](hex-nut-with-chamfer/main.kcl) -#### [i-beam](i-beam/main.kcl) ([screenshot](screenshots/i-beam.png)) -[![i-beam](screenshots/i-beam.png)](i-beam/main.kcl) -#### [inner-thread](inner-thread/main.kcl) ([screenshot](screenshots/inner-thread.png)) -[![inner-thread](screenshots/inner-thread.png)](inner-thread/main.kcl) -#### [lattice-cubic](lattice-cubic/main.kcl) ([screenshot](screenshots/lattice-cubic.png)) -[![lattice-cubic](screenshots/lattice-cubic.png)](lattice-cubic/main.kcl) -#### [lego](lego/main.kcl) ([screenshot](screenshots/lego.png)) -[![lego](screenshots/lego.png)](lego/main.kcl) -#### [linear-shelf-system](linear-shelf-system/main.kcl) ([screenshot](screenshots/linear-shelf-system.png)) -[![linear-shelf-system](screenshots/linear-shelf-system.png)](linear-shelf-system/main.kcl) -#### [liquid-impeller](liquid-impeller/main.kcl) ([screenshot](screenshots/liquid-impeller.png)) -[![liquid-impeller](screenshots/liquid-impeller.png)](liquid-impeller/main.kcl) -#### [m4-hex-socket-countersunk-head-screw](m4-hex-socket-countersunk-head-screw/main.kcl) ([screenshot](screenshots/m4-hex-socket-countersunk-head-screw.png)) -[![m4-hex-socket-countersunk-head-screw](screenshots/m4-hex-socket-countersunk-head-screw.png)](m4-hex-socket-countersunk-head-screw/main.kcl) -#### [m4-insert](m4-insert/main.kcl) ([screenshot](screenshots/m4-insert.png)) -[![m4-insert](screenshots/m4-insert.png)](m4-insert/main.kcl) -#### [manhole-cover](manhole-cover/main.kcl) ([screenshot](screenshots/manhole-cover.png)) -[![manhole-cover](screenshots/manhole-cover.png)](manhole-cover/main.kcl) -#### [modular-shelf-grid](modular-shelf-grid/main.kcl) ([screenshot](screenshots/modular-shelf-grid.png)) -[![modular-shelf-grid](screenshots/modular-shelf-grid.png)](modular-shelf-grid/main.kcl) -#### [mounting-plate](mounting-plate/main.kcl) ([screenshot](screenshots/mounting-plate.png)) -[![mounting-plate](screenshots/mounting-plate.png)](mounting-plate/main.kcl) -#### [multi-axis-robot](multi-axis-robot/main.kcl) ([screenshot](screenshots/multi-axis-robot.png)) -[![multi-axis-robot](screenshots/multi-axis-robot.png)](multi-axis-robot/main.kcl) -#### [parametric-shelf-unit](parametric-shelf-unit/main.kcl) ([screenshot](screenshots/parametric-shelf-unit.png)) -[![parametric-shelf-unit](screenshots/parametric-shelf-unit.png)](parametric-shelf-unit/main.kcl) -#### [pillow-block-bearing](pillow-block-bearing/main.kcl) ([screenshot](screenshots/pillow-block-bearing.png)) -[![pillow-block-bearing](screenshots/pillow-block-bearing.png)](pillow-block-bearing/main.kcl) -#### [pipe](pipe/main.kcl) ([screenshot](screenshots/pipe.png)) -[![pipe](screenshots/pipe.png)](pipe/main.kcl) -#### [pipe-elbow-90deg](pipe-elbow-90deg/main.kcl) ([screenshot](screenshots/pipe-elbow-90deg.png)) -[![pipe-elbow-90deg](screenshots/pipe-elbow-90deg.png)](pipe-elbow-90deg/main.kcl) -#### [pipe-flange-assembly](pipe-flange-assembly/main.kcl) ([screenshot](screenshots/pipe-flange-assembly.png)) -[![pipe-flange-assembly](screenshots/pipe-flange-assembly.png)](pipe-flange-assembly/main.kcl) -#### [pipe-straight](pipe-straight/main.kcl) ([screenshot](screenshots/pipe-straight.png)) -[![pipe-straight](screenshots/pipe-straight.png)](pipe-straight/main.kcl) -#### [pipe-with-bend](pipe-with-bend/main.kcl) ([screenshot](screenshots/pipe-with-bend.png)) -[![pipe-with-bend](screenshots/pipe-with-bend.png)](pipe-with-bend/main.kcl) -#### [planetary-gearset](planetary-gearset/main.kcl) ([screenshot](screenshots/planetary-gearset.png)) -[![planetary-gearset](screenshots/planetary-gearset.png)](planetary-gearset/main.kcl) -#### [propeller](propeller/main.kcl) ([screenshot](screenshots/propeller.png)) -[![propeller](screenshots/propeller.png)](propeller/main.kcl) -#### [rack-blanking-panel](rack-blanking-panel/main.kcl) ([screenshot](screenshots/rack-blanking-panel.png)) -[![rack-blanking-panel](screenshots/rack-blanking-panel.png)](rack-blanking-panel/main.kcl) -#### [radial-flow-centrifugal-impeller](radial-flow-centrifugal-impeller/main.kcl) ([screenshot](screenshots/radial-flow-centrifugal-impeller.png)) -[![radial-flow-centrifugal-impeller](screenshots/radial-flow-centrifugal-impeller.png)](radial-flow-centrifugal-impeller/main.kcl) -#### [rectangle-table](rectangle-table/main.kcl) ([screenshot](screenshots/rectangle-table.png)) -[![rectangle-table](screenshots/rectangle-table.png)](rectangle-table/main.kcl) -#### [round-table](round-table/main.kcl) ([screenshot](screenshots/round-table.png)) -[![round-table](screenshots/round-table.png)](round-table/main.kcl) -#### [router-template-cross-bar](router-template-cross-bar/main.kcl) ([screenshot](screenshots/router-template-cross-bar.png)) -[![router-template-cross-bar](screenshots/router-template-cross-bar.png)](router-template-cross-bar/main.kcl) -#### [router-template-slate](router-template-slate/main.kcl) ([screenshot](screenshots/router-template-slate.png)) -[![router-template-slate](screenshots/router-template-slate.png)](router-template-slate/main.kcl) -#### [saturn-v](saturn-v/main.kcl) ([screenshot](screenshots/saturn-v.png)) -[![saturn-v](screenshots/saturn-v.png)](saturn-v/main.kcl) -#### [scrub-daddy-holder](scrub-daddy-holder/main.kcl) ([screenshot](screenshots/scrub-daddy-holder.png)) -[![scrub-daddy-holder](screenshots/scrub-daddy-holder.png)](scrub-daddy-holder/main.kcl) -#### [shaft-grommet](shaft-grommet/main.kcl) ([screenshot](screenshots/shaft-grommet.png)) -[![shaft-grommet](screenshots/shaft-grommet.png)](shaft-grommet/main.kcl) -#### [sheet-metal-bracket](sheet-metal-bracket/main.kcl) ([screenshot](screenshots/sheet-metal-bracket.png)) -[![sheet-metal-bracket](screenshots/sheet-metal-bracket.png)](sheet-metal-bracket/main.kcl) -#### [single-impeller-blade](single-impeller-blade/main.kcl) ([screenshot](screenshots/single-impeller-blade.png)) -[![single-impeller-blade](screenshots/single-impeller-blade.png)](single-impeller-blade/main.kcl) -#### [snowman](snowman/main.kcl) ([screenshot](screenshots/snowman.png)) -[![snowman](screenshots/snowman.png)](snowman/main.kcl) -#### [socket-head-cap-screw](socket-head-cap-screw/main.kcl) ([screenshot](screenshots/socket-head-cap-screw.png)) -[![socket-head-cap-screw](screenshots/socket-head-cap-screw.png)](socket-head-cap-screw/main.kcl) -#### [sphere](sphere/main.kcl) ([screenshot](screenshots/sphere.png)) -[![sphere](screenshots/sphere.png)](sphere/main.kcl) -#### [spinning-highrise-tower](spinning-highrise-tower/main.kcl) ([screenshot](screenshots/spinning-highrise-tower.png)) -[![spinning-highrise-tower](screenshots/spinning-highrise-tower.png)](spinning-highrise-tower/main.kcl) -#### [split-washer-flat-version](split-washer-flat-version/main.kcl) ([screenshot](screenshots/split-washer-flat-version.png)) -[![split-washer-flat-version](screenshots/split-washer-flat-version.png)](split-washer-flat-version/main.kcl) -#### [split-washer-spring-version](split-washer-spring-version/main.kcl) ([screenshot](screenshots/split-washer-spring-version.png)) -[![split-washer-spring-version](screenshots/split-washer-spring-version.png)](split-washer-spring-version/main.kcl) -#### [sprocket](sprocket/main.kcl) ([screenshot](screenshots/sprocket.png)) -[![sprocket](screenshots/sprocket.png)](sprocket/main.kcl) -#### [stylized-car](stylized-car/main.kcl) ([screenshot](screenshots/stylized-car.png)) -[![stylized-car](screenshots/stylized-car.png)](stylized-car/main.kcl) -#### [stylized-cybertruck](stylized-cybertruck/main.kcl) ([screenshot](screenshots/stylized-cybertruck.png)) -[![stylized-cybertruck](screenshots/stylized-cybertruck.png)](stylized-cybertruck/main.kcl) -#### [stylized-dump-truck](stylized-dump-truck/main.kcl) ([screenshot](screenshots/stylized-dump-truck.png)) -[![stylized-dump-truck](screenshots/stylized-dump-truck.png)](stylized-dump-truck/main.kcl) -#### [stylized-firetruck](stylized-firetruck/main.kcl) ([screenshot](screenshots/stylized-firetruck.png)) -[![stylized-firetruck](screenshots/stylized-firetruck.png)](stylized-firetruck/main.kcl) -#### [stylized-mini-bus](stylized-mini-bus/main.kcl) ([screenshot](screenshots/stylized-mini-bus.png)) -[![stylized-mini-bus](screenshots/stylized-mini-bus.png)](stylized-mini-bus/main.kcl) -#### [stylized-pickup-truck](stylized-pickup-truck/main.kcl) ([screenshot](screenshots/stylized-pickup-truck.png)) -[![stylized-pickup-truck](screenshots/stylized-pickup-truck.png)](stylized-pickup-truck/main.kcl) -#### [surgical-drill-guide](surgical-drill-guide/main.kcl) ([screenshot](screenshots/surgical-drill-guide.png)) -[![surgical-drill-guide](screenshots/surgical-drill-guide.png)](surgical-drill-guide/main.kcl) -#### [t-slot-frame](t-slot-frame/main.kcl) ([screenshot](screenshots/t-slot-frame.png)) -[![t-slot-frame](screenshots/t-slot-frame.png)](t-slot-frame/main.kcl) -#### [t-slot-rail](t-slot-rail/main.kcl) ([screenshot](screenshots/t-slot-rail.png)) -[![t-slot-rail](screenshots/t-slot-rail.png)](t-slot-rail/main.kcl) -#### [t-slot-rectangle](t-slot-rectangle/main.kcl) ([screenshot](screenshots/t-slot-rectangle.png)) -[![t-slot-rectangle](screenshots/t-slot-rectangle.png)](t-slot-rectangle/main.kcl) -#### [t-slot-shelf](t-slot-shelf/main.kcl) ([screenshot](screenshots/t-slot-shelf.png)) -[![t-slot-shelf](screenshots/t-slot-shelf.png)](t-slot-shelf/main.kcl) -#### [teapot](teapot/main.kcl) ([screenshot](screenshots/teapot.png)) -[![teapot](screenshots/teapot.png)](teapot/main.kcl) -#### [thermal-block-insert](thermal-block-insert/main.kcl) ([screenshot](screenshots/thermal-block-insert.png)) -[![thermal-block-insert](screenshots/thermal-block-insert.png)](thermal-block-insert/main.kcl) -#### [torus](torus/main.kcl) ([screenshot](screenshots/torus.png)) -[![torus](screenshots/torus.png)](torus/main.kcl) -#### [truss-structure](truss-structure/main.kcl) ([screenshot](screenshots/truss-structure.png)) -[![truss-structure](screenshots/truss-structure.png)](truss-structure/main.kcl) -#### [tube-manifold](tube-manifold/main.kcl) ([screenshot](screenshots/tube-manifold.png)) -[![tube-manifold](screenshots/tube-manifold.png)](tube-manifold/main.kcl) -#### [usb-c](usb-c/main.kcl) ([screenshot](screenshots/usb-c.png)) -[![usb-c](screenshots/usb-c.png)](usb-c/main.kcl) -#### [utility-sink](utility-sink/main.kcl) ([screenshot](screenshots/utility-sink.png)) -[![utility-sink](screenshots/utility-sink.png)](utility-sink/main.kcl) -#### [v-block](v-block/main.kcl) ([screenshot](screenshots/v-block.png)) -[![v-block](screenshots/v-block.png)](v-block/main.kcl) -#### [walkie-talkie](walkie-talkie/main.kcl) ([screenshot](screenshots/walkie-talkie.png)) -[![walkie-talkie](screenshots/walkie-talkie.png)](walkie-talkie/main.kcl) -#### [washer](washer/main.kcl) ([screenshot](screenshots/washer.png)) -[![washer](screenshots/washer.png)](washer/main.kcl) -#### [wedge](wedge/main.kcl) ([screenshot](screenshots/wedge.png)) -[![wedge](screenshots/wedge.png)](wedge/main.kcl) -#### [wheel-hub](wheel-hub/main.kcl) ([screenshot](screenshots/wheel-hub.png)) -[![wheel-hub](screenshots/wheel-hub.png)](wheel-hub/main.kcl) -#### [wind-turbine-blade-root-inserts](wind-turbine-blade-root-inserts/main.kcl) ([screenshot](screenshots/wind-turbine-blade-root-inserts.png)) -[![wind-turbine-blade-root-inserts](screenshots/wind-turbine-blade-root-inserts.png)](wind-turbine-blade-root-inserts/main.kcl) -#### [wing-spar](wing-spar/main.kcl) ([screenshot](screenshots/wing-spar.png)) -[![wing-spar](screenshots/wing-spar.png)](wing-spar/main.kcl) -#### [zoo-logo](zoo-logo/main.kcl) ([screenshot](screenshots/zoo-logo.png)) -[![zoo-logo](screenshots/zoo-logo.png)](zoo-logo/main.kcl) - diff --git a/content/pages/docs/kcl-samples/angle-gauge/.gitignore b/content/pages/docs/kcl-samples/angle-gauge/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/angle-gauge/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/angle-gauge/main.kcl b/content/pages/docs/kcl-samples/angle-gauge/main.kcl deleted file mode 100644 index 31d14b95..00000000 --- a/content/pages/docs/kcl-samples/angle-gauge/main.kcl +++ /dev/null @@ -1,113 +0,0 @@ -// Angle Gauge -// Simple angle gauge function to generate a gauge given an angle -// Categories: Tools; Parametric - -// Set units in inches (in) -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define parameters -gaugeWidth = 1.25 -gaugeThickness = 0.05 -gaugeDepth = 1.5 -cutoutWidth = 0.52 -cutoutAngle = 180deg - 10deg -cutoutDepth = 1 -lowerCutoutStartY = 0.3 - -gaugeProfileSketch = sketch(on = XY) { - // Outer boundary. - leftOuterEdge = line(start = [var 0in, var 0in], end = [var 0in, var 1.25in]) - topOuterEdge = line(start = [var 0in, var 1.25in], end = [var 1.5in, var 1.25in]) - upperRightOuterEdge = line(start = [var 1.5in, var 1.25in], end = [var 1.5in, var 0.71in]) - rightCutoutConstructionEdge = line(start = [var 1.5in, var 0.71in], end = [var 1.5in, var 0.19in], construction = true) - lowerRightOuterEdge = line(start = [var 1.5in, var 0.19in], end = [var 1.5in, var 0in]) - bottomOuterEdge = line(start = [var 1.5in, var 0in], end = [var 0in, var 0in]) - - coincident([leftOuterEdge.start, ORIGIN]) - coincident([leftOuterEdge.end, topOuterEdge.start]) - coincident([ - topOuterEdge.end, - upperRightOuterEdge.start - ]) - coincident([ - lowerRightOuterEdge.end, - bottomOuterEdge.start - ]) - coincident([ - bottomOuterEdge.end, - leftOuterEdge.start - ]) - - horizontal(topOuterEdge) - horizontal(bottomOuterEdge) - vertical(leftOuterEdge) - vertical(upperRightOuterEdge) - vertical(rightCutoutConstructionEdge) - vertical(lowerRightOuterEdge) - - horizontalDistance([ - bottomOuterEdge.end, - bottomOuterEdge.start - ]) == gaugeDepth - verticalDistance([ - lowerRightOuterEdge.end, - lowerRightOuterEdge.start - ]) == lowerCutoutStartY - - // Angled cutout profile. - cutoutAngledEdge = line(start = [var 1.5in, var 0.19in], end = [var 0.5in, var 0.37in]) - cutoutLeftVerticalEdge = line(start = [var 0.5in, var 0.37in], end = [var 0.32in, var 0.83in]) - cutoutTopEdge = line(start = [var -1.14in, var 1.32in], end = [var 1.5in, var 0.71in]) - cutoutAngleReferenceEdge = line(start = [var 1.5in, var 0.19in], end = [var 2.24in, var 0.19in], construction = true) - - coincident([ - cutoutAngledEdge.start, - lowerRightOuterEdge.start - ]) - coincident([ - cutoutAngledEdge.end, - cutoutLeftVerticalEdge.start - ]) - coincident([ - cutoutLeftVerticalEdge.end, - cutoutTopEdge.start - ]) - coincident([ - cutoutTopEdge.end, - rightCutoutConstructionEdge.start - ]) - coincident([ - cutoutTopEdge.end, - upperRightOuterEdge.end - ]) - coincident([ - cutoutAngleReferenceEdge.start, - lowerRightOuterEdge.start - ]) - - horizontal(cutoutTopEdge) - horizontal(cutoutAngleReferenceEdge) - vertical(cutoutLeftVerticalEdge) - angleDimension( - lines = [ - cutoutAngleReferenceEdge, - cutoutAngledEdge - ], - sector = 1, - ) == cutoutAngle - - horizontalDistance([cutoutTopEdge.start, cutoutTopEdge.end]) == cutoutDepth - verticalDistance([ - rightCutoutConstructionEdge.end, - rightCutoutConstructionEdge.start - ]) == cutoutWidth - verticalDistance([leftOuterEdge.start, leftOuterEdge.end]) == gaugeWidth - coincident([ - rightCutoutConstructionEdge.end, - cutoutAngleReferenceEdge.start - ]) -} - -gaugeRegion = region(segments = [gaugeProfileSketch.leftOuterEdge]) -hide(gaugeProfileSketch) -gaugeBody = extrude(gaugeRegion, length = gaugeThickness) diff --git a/content/pages/docs/kcl-samples/angle-gauge/project.toml b/content/pages/docs/kcl-samples/angle-gauge/project.toml deleted file mode 100644 index f7a28222..00000000 --- a/content/pages/docs/kcl-samples/angle-gauge/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "151d741b-42ea-4e8d-916d-e5ec3dc80ed4" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/artificial-heart/.gitignore b/content/pages/docs/kcl-samples/artificial-heart/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/artificial-heart/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/artificial-heart/housing.kcl b/content/pages/docs/kcl-samples/artificial-heart/housing.kcl deleted file mode 100644 index ce4840b0..00000000 --- a/content/pages/docs/kcl-samples/artificial-heart/housing.kcl +++ /dev/null @@ -1,233 +0,0 @@ -// Housing - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Sketch the primary housing for the pump, to be revolved -sketch001 = sketch(on = XY) { - line1 = line(start = [var 0.47in, var -0.19in], end = [var 0.47in, var -0.23in]) - line2 = line(start = [var 0.47in, var -0.23in], end = [var 1.5in, var -0.23in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 1.5in, var -0.23in], end = [var 1.5in, var -0.63in]) - coincident([line2.end, line3.start]) - arc1 = arc(start = [var 1.43in, var -0.7in], end = [var 1.5in, var -0.63in], center = [var 1.43in, var -0.63in]) - coincident([line3.end, arc1.end]) - tangent([line3, arc1]) - line4 = line(start = [var 1.43in, var -0.7in], end = [var 0.2in, var -0.7in]) - coincident([line4.start, arc1.start]) - line5 = line(start = [var 0.2in, var -0.7in], end = [var 0.2in, var -0.73in]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 0.2in, var -0.73in], end = [var 1.43in, var -0.73in]) - coincident([line5.end, line6.start]) - arc2 = arc(start = [var 1.43in, var -0.73in], end = [var 1.53in, var -0.63in], center = [var 1.43in, var -0.63in]) - coincident([line6.end, arc2.start]) - tangent([line6, arc2]) - line7 = line(start = [var 1.53in, var -0.63in], end = [var 1.53in, var 0.67in]) - coincident([line7.start, arc2.end]) - arc3 = arc(start = [var 1.53in, var 0.67in], end = [var 1.43in, var 0.77in], center = [var 1.43in, var 0.67in]) - coincident([line7.end, arc3.start]) - tangent([line7, arc3]) - line8 = line(start = [var 1.43in, var 0.77in], end = [var 0.2in, var 0.77in]) - coincident([line8.start, arc3.end]) - line9 = line(start = [var 0.2in, var 0.77in], end = [var 0.2in, var 0.74in]) - coincident([line8.end, line9.start]) - line10 = line(start = [var 0.2in, var 0.74in], end = [var 1.43in, var 0.74in]) - coincident([line9.end, line10.start]) - arc4 = arc(start = [var 1.5in, var 0.67in], end = [var 1.43in, var 0.74in], center = [var 1.43in, var 0.67in]) - coincident([line10.end, arc4.end]) - tangent([line10, arc4]) - line11 = line(start = [var 1.5in, var 0.67in], end = [var 1.5in, var -0.19in]) - coincident([line11.start, arc4.start]) - line12 = line(start = [var 1.5in, var -0.19in], end = [var 0.47in, var -0.19in]) - coincident([line11.end, line12.start]) - coincident([line12.end, line1.start]) - horizontal(line6) - horizontal(line4) - horizontal(line2) - horizontal(line12) - horizontal(line10) - horizontal(line8) - vertical(line9) - vertical(line1) - vertical(line5) - vertical(line3) - vertical(line11) - vertical(line7) - tangent([line4, arc1]) - tangent([line7, arc2]) - coincident([arc2.center, arc1.center]) - coincident([arc4.center, arc3.center]) - tangent([line11, arc4]) - tangent([line8, arc3]) - radius(arc2) == .1 - radius(arc1) == .07 - equalRadius([arc2, arc3]) - equalRadius([arc1, arc4]) - horizontalDistance([ORIGIN, line3.start]) == 1.5 - verticalDistance([line5.start, ORIGIN]) == .7 - - verticalDistance([arc2.start, ORIGIN]) == 0.73in - horizontalDistance([ORIGIN, line5.start]) == .2 - coincident([line5, line9]) - verticalDistance([line12.end, ORIGIN]) == 0.19 - distance([line1.start, line1.end]) == 0.04 -} -region001 = region(segments = [sketch001.line1, sketch001.line2]) -hide(sketch001) -revolve001 = revolve(region001, angle = 360deg, axis = Y) - |> appearance(color = "#ededed", opacity = 30) - -// Model a bore with the same outer diameter as the housing, which will be used for cutting the exterior ports to shape -sketch002 = sketch(on = XZ) { - circle1 = circle(start = [var -1.18in, var 0.92in], center = [var 0in, var 0in]) - coincident([circle1.center, ORIGIN]) - radius(circle1) == 3 / 2 -} -hide(sketch002) -region002 = region(segments = [sketch002.circle1]) - -extrude002 = extrude(region002, length = 2, symmetric = true) - -// Model the two exterior bungs -sketch003 = sketch(on = -YZ) { - line1 = line(start = [var 0in, var 0in], end = [var -0.3in, var -0.1in], construction = true) - coincident([line1.start, ORIGIN]) - line2 = line(start = [var 0in, var 0in], end = [var 0.3in, var 0.1in], construction = true) - coincident([line2.start, line1.start]) - coincident([line2, line1]) - equalLength([line2, line1]) - circle1 = circle(start = [var 0.44in, var 0.03in], center = [var 0.3in, var 0.1in]) - coincident([circle1.center, line2.end]) - circle2 = circle(start = [var -0.15in, var -0.15in], center = [var -0.3in, var -0.1in]) - coincident([circle2.center, line1.end]) - circle3 = circle(start = [var -0.17in, var -0.14in], center = [var -0.3in, var -0.1in]) - coincident([circle3.center, line1.end]) - circle4 = circle(start = [var 0.3in, var -0.04in], center = [var 0.3in, var 0.1in]) - coincident([circle4.center, line2.end]) - equalRadius([circle2, circle1]) - equalRadius([circle4, circle3]) - radius(circle1) == .2 - radius(circle4) == .17 - horizontalDistance([circle3.center, circle4.center]) == .75 - verticalDistance([circle3.center, circle4.center]) == .2 -} -hide(sketch003) - -region003 = region(segments = [sketch003.circle2]) -region004 = region(segments = [sketch003.circle1]) - -extrude001 = extrude([region003, region004], length = 1.8) - |> appearance(color = "#ededed", opacity = 30) - - // Rotate the outlet bungs into position, then cut so they fit the housing - |> rotate(pitch = 45, global = true) - |> subtract(tools = extrude002) - -// Model a pocket on the front face of the housing -sketch004 = sketch(on = offsetPlane(XZ, offset = 0.73)) { - arc1 = arc(start = [var -0.13in, var 1.27in], end = [var -1.27in, var -0.18in], center = [var 0in, var 0in]) - coincident([arc1.center, ORIGIN]) - arc2 = arc(start = [var 0.91in, var -1.04in], end = [var 1.28in, var -0.5in], center = [var 0in, var 0in]) - coincident([arc2.center, arc1.center]) - coincident([arc2.start, arc2.start]) - arc3 = arc(start = [var 0.05in, var 1.2in], end = [var -0.13in, var 1.27in], center = [var -0.11in, var 1.07in]) - coincident([arc1.start, arc3.end]) - tangent([arc1, arc3]) - arc4 = arc(start = [var 1.28in, var -0.5in], end = [var 1.25in, var -0.31in], center = [var 1.1in, var -0.43in]) - coincident([arc2.end, arc4.start]) - tangent([arc2, arc4]) - arc5 = arc(start = [var 0.7in, var -1.07in], end = [var 0.91in, var -1.04in], center = [var 0.78in, var -0.89in]) - coincident([arc2.start, arc5.end]) - tangent([arc2, arc5]) - arc6 = arc(start = [var -1.27in, var -0.18in], end = [var -1.14in, var -0.34in], center = [var -1.07in, var -0.15in]) - coincident([arc1.end, arc6.start]) - tangent([arc1, arc6]) - line1 = line(start = [var -1.14in, var -0.34in], end = [var 0.7in, var -1.07in]) - coincident([line1.start, arc6.end]) - coincident([line1.end, arc5.start]) - line2 = line(start = [var 1.25in, var -0.31in], end = [var 0.05in, var 1.2in]) - coincident([line2.start, arc4.end]) - coincident([line2.end, arc3.start]) - tangent([line1, arc6]) - tangent([line1, arc5]) - tangent([line2, arc4]) - tangent([line2, arc3]) - equalRadius([arc5, arc4, arc3, arc6]) - radius(arc6) == .2 - radius(arc1) == 1.28in - radius(arc2) == 1.38in - circle1 = circle(start = [var 0.59in, var -0.15in], center = [var 0in, var 0in]) - coincident([circle1.center, arc1.center]) - diameter(circle1) == 1.22in -} -hide(sketch004) -region006 = region(segments = [sketch004.arc1]) - -extrude004 = extrude(region006, length = .02) - |> appearance(color = "#ededed", opacity = 30) - -// Sketch the path for the front face inlet bung -sketch005 = sketch(on = XY) { - line1 = line(start = [var 0in, var -0.7in], end = [var 0in, var -0.75in]) - vertical([line1.start, ORIGIN]) - vertical([line1.end, ORIGIN]) - verticalDistance([line1.start, ORIGIN]) == 0.7 - verticalDistance([line1.end, line1.start]) == .05 - arc1 = arc(start = [var 0in, var -0.75in], end = [var 0.6in, var -1.16in], center = [var 0.47in, var -0.75in]) - coincident([line1.end, arc1.start]) - tangent([line1, arc1]) - arc2 = arc(start = [var 0.91in, var -1.09in], end = [var 0.6in, var -1.16in], center = [var 0.98in, var -2.13in]) - coincident([arc1.end, arc2.end]) - tangent([arc1, arc2]) -} - -// Model the profile of the front inlet bung, then sweep -sketch006 = sketch(on = offsetPlane(XZ, offset = 0.7)) { - circle1 = circle(start = [var 0.17in, var 0.15in], center = [var 0in, var 0in]) - coincident([circle1.center, ORIGIN]) - circle2 = circle(start = [var 0.12in, var 0.09in], center = [var 0in, var 0in]) - coincident([circle2.center, circle1.center]) - radius(circle1) == 0.2 - radius(circle2) == 0.17 -} -hide(sketch006) -region005 = region(segments = [sketch006.circle1]) - -sweep001 = sweep(region005, path = sketch005) - |> appearance(color = "#ededed", opacity = 30) - |> rotate(pitch = 80) - -// Sketch the path for the rear face inlet bung -sketch007 = sketch(on = XY) { - line1 = line(start = [var 0in, var 0.7in], end = [var 0in, var 0.75in]) - vertical([line1.start, ORIGIN]) - vertical([line1.end, ORIGIN]) - arc1 = arc(start = [var 0.53in, var 1.23in], end = [var 0in, var 0.75in], center = [var 0.48in, var 0.75in]) - coincident([line1.end, arc1.end]) - tangent([line1, arc1]) - arc2 = arc(start = [var 0.53in, var 1.23in], end = [var 0.81in, var 1.2in], center = [var 1.32in, var 8.66in]) - coincident([arc1.start, arc2.start]) - tangent([arc1, arc2]) - verticalDistance([ORIGIN, line1.start]) == .7 - verticalDistance([line1.start, line1.end]) == .05 - line2 = line(start = [var 0.48in, var 0.75in], end = [var 0.53in, var 1.23in], construction = true) - coincident([line2.start, arc1.center]) - coincident([line2.end, arc2.start]) - angleDimension(lines = [line2, line1], sector = 1, labelPosition = [0.28in, 1.38in]) == 6 -} - -// Model the profile of the rear inlet bung, then sweep -sketch008 = sketch(on = offsetPlane(XZ, offset = -0.7)) { - circle1 = circle(start = [var 0.17in, var 0.15in], center = [var 0in, var 0in]) - coincident([circle1.center, ORIGIN]) - circle2 = circle(start = [var 0.12in, var 0.09in], center = [var 0in, var 0in]) - coincident([circle2.center, circle1.center]) - radius(circle1) == 0.2 - radius(circle2) == 0.17 -} -hide(sketch008) -region008 = region(segments = [sketch008.circle1]) - -sweep002 = sweep(region008, path = sketch007) - |> appearance(color = "#ededed", opacity = 30) - |> rotate(pitch = 75) diff --git a/content/pages/docs/kcl-samples/artificial-heart/impeller.kcl b/content/pages/docs/kcl-samples/artificial-heart/impeller.kcl deleted file mode 100644 index d5ec8de5..00000000 --- a/content/pages/docs/kcl-samples/artificial-heart/impeller.kcl +++ /dev/null @@ -1,123 +0,0 @@ -// Impeller - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -// Define parameters -impellerDiameter = 3 -plateHeight = 0.1 -vaneCount = 7 -vaneHeight = 0.1 -vaneThickness = 0.14 -mountDiameter = 0.25 - -// Revolve the base plate of the impeller -sketch002 = sketch(on = XY) { - line2 = line(start = [var 1.5in, var 0.25in], end = [var 1.5in, var 0.35in]) - line3 = line(start = [var 1.5in, var 0.35in], end = [var 0.49in, var 0.35in]) - coincident([line2.end, line3.start]) - arc4 = arc(start = [var 0.33in, var 0.46in], end = [var 0.49in, var 0.35in], center = [var 0.49in, var 0.52in]) - coincident([line3.end, arc4.end]) - line5 = line(start = [var 0.33in, var 0.46in], end = [var 0.24in, var 0.69in]) - coincident([arc4.start, line5.start]) - line6 = line(start = [var 0.24in, var 0.69in], end = [var 0in, var 0.69in]) - coincident([line5.end, line6.start]) - distance([line2.start, line2.end]) == plateHeight - horizontal(line3) - horizontal(line6) - line8 = line(start = [var 0in, var 0in], end = [var 2.31in, var 0in], construction = true) - horizontal([line8.end, ORIGIN]) - line10 = line(start = [var 1.5in, var -0.25in], end = [var 1.5in, var -0.35in]) - line11 = line(start = [var 1.5in, var -0.35in], end = [var 0.49in, var -0.35in]) - coincident([line10.end, line11.start]) - arc1 = arc(start = [var 0.49in, var -0.35in], end = [var 0.33in, var -0.46in], center = [var 0.49in, var -0.52in]) - coincident([line11.end, arc1.start]) - tangent([line11, arc1]) - line12 = line(start = [var 0.33in, var -0.46in], end = [var 0.24in, var -0.69in]) - coincident([line12.start, arc1.end]) - line13 = line(start = [var 0.24in, var -0.69in], end = [var 0in, var -0.69in]) - coincident([line12.end, line13.start]) - symmetric([line2, line10], axis = line8) - vertical(line2) - symmetric([line11, line3], axis = line8) - symmetric([arc1, arc4], axis = line8) - symmetric([line12, line5], axis = line8) - symmetric([line13, line6], axis = line8) - coincident([line8.start, ORIGIN]) - tangent([line5, arc4]) - line1 = line(start = [var 0.4in, var 0in], end = [var 0.4in, var 0.25in]) - horizontal([line1.start, ORIGIN]) - line4 = line(start = [var 0.4in, var 0.25in], end = [var 1.5in, var 0.25in]) - coincident([line1.end, line4.start]) - coincident([line4.end, line2.start]) - line7 = line(start = [var 0in, var 0.69in], end = [var 0in, var -0.69in]) - coincident([line7.start, line6.end]) - coincident([line7.end, line13.end]) - line9 = line(start = [var 0.4in, var 0in], end = [var 0.4in, var -0.25in]) - coincident([line9.start, line1.start]) - line14 = line(start = [var 0.4in, var -0.25in], end = [var 1.5in, var -0.25in]) - coincident([line9.end, line14.start]) - coincident([line14.end, line10.start]) - vertical(line1) - distance([line1.start, line1.end]) == 0.25 - horizontal(line4) - horizontalDistance([line8.start, line4.end]) == impellerDiameter / 2 - horizontalDistance([line8.start, line9.start]) == .4 - symmetric([line1, line9], axis = line8) - symmetric([line14, line4], axis = line8) - vertical(line7) - coincident([line7, line8.start]) -} -hide(sketch002) -region002 = region(segments = [sketch002.line1, sketch002.line2]) -basePlate = revolve(region002, axis = Y) - -// Model a vane of the impeller -sketch003 = sketch(on = offsetPlane(XZ, offset = 0.4)) { - arc1 = arc(start = [var -0.04in, var -0.71in], end = [var 1.46in, var 0.12in], center = [var 0.47in, var 0.14in]) - arc2 = arc(start = [var 0.04in, var -0.59in], end = [var -0.04in, var -0.71in], center = [var 0in, var -0.65in]) - coincident([arc1.start, arc2.end]) - arc3 = arc(start = [var 0.04in, var -0.59in], end = [var 1.32in, var 0.12in], center = [var 0.47in, var 0.14in]) - coincident([arc2.start, arc3.start]) - arc4 = arc(start = [var 1.46in, var 0.12in], end = [var 1.32in, var 0.12in], center = [var 1.39in, var 0.12in]) - coincident([arc3.end, arc4.end]) - coincident([arc1.end, arc4.start]) - radius(arc2) == 0.07in - diameter(arc3) == 1.7 - radius(arc4) == 0.07in - line2 = line(start = [var 1.39in, var 0.12in], end = [var 0in, var 0in], construction = true) - coincident([line2.end, ORIGIN]) - line3 = line(start = [var 0in, var 0in], end = [var 0in, var -0.65in], construction = true) - coincident([line2.end, line3.start]) - coincident([line3.end, arc2.center]) - line4 = line(start = [var -0.04in, var -0.71in], end = [var 0.04in, var -0.59in], construction = true) - coincident([line4.start, arc1.start]) - coincident([line4.end, arc2.start]) - coincident([line3.end, line4]) - line5 = line(start = [var 1.32in, var 0.12in], end = [var 1.46in, var 0.12in], construction = true) - coincident([line5.start, arc4.end]) - coincident([line5.end, arc1.end]) - coincident([line2.start, line5]) - equalLength([line4, line5]) - distance([line5.start, line5.end]) == vaneThickness - vertical(line3) - distance([line3.start, line3.end]) == 0.65 - coincident([arc3.center, arc1.center]) - tangent([arc1, arc2]) - tangent([arc3, arc4]) - angleDimension(lines = [line2, line3], labelPosition = [0.12in, 0.16in], sector = 3) == 85 - distance([line2.start, line2.end]) == 1.4 - coincident([line2.start, arc4.center]) -} -hide(sketch003) -region003 = region(segments = [sketch003.arc1, sketch003.arc2]) - -vane = extrude(region003, length = vaneHeight) - // Pattern the vane around the Z axis - |> patternCircular3d( - useOriginal = true, - instances = vaneCount, - axis = Y, - center = [0, 0, 0], - ) - |> patternLinear3d(instances = 2, distance = 1, axis = Y) diff --git a/content/pages/docs/kcl-samples/artificial-heart/main.kcl b/content/pages/docs/kcl-samples/artificial-heart/main.kcl deleted file mode 100644 index 0ab7eb6a..00000000 --- a/content/pages/docs/kcl-samples/artificial-heart/main.kcl +++ /dev/null @@ -1,12 +0,0 @@ -// Artificial Heart -// A model of a permanent electromagnetic blood pump -// Categories: Medical & Assistive - -// Define units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Import all components -import "housing.kcl" as housing -import "stator.kcl" as stator -import "impeller.kcl" as impeller -import "plumbing.kcl" as plumbing diff --git a/content/pages/docs/kcl-samples/artificial-heart/plumbing.kcl b/content/pages/docs/kcl-samples/artificial-heart/plumbing.kcl deleted file mode 100644 index f400a559..00000000 --- a/content/pages/docs/kcl-samples/artificial-heart/plumbing.kcl +++ /dev/null @@ -1,114 +0,0 @@ -// Plumbing - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Draw the sweep path for the aorta and pulmonary artery -sketch002 = sketch(on = XZ) { - line1 = line(start = [var 0in, var 0in], end = [var -1.17in, var 1.17in], construction = true) - coincident([line1.start, ORIGIN]) - arc1 = arc(start = [var -1.17in, var 1.17in], end = [var -3.68in, var -0.77in], center = [var -2.3in, var 0.04in]) - coincident([line1.end, arc1.start]) - tangent([line1, arc1]) - line2 = line(start = [var -3.68in, var -0.77in], end = [var -2.09in, var -3.51in]) - coincident([line2.start, arc1.end]) - tangent([line2, arc1]) - line3 = line(start = [var 0in, var 0in], end = [var -1.72in, var 0in], construction = true) - coincident([line3.start, line1.start]) - horizontal([line3.end, ORIGIN]) - horizontal(line3) - angleDimension(lines = [line1, line3], sector = 1) == 45 - distance([line1.start, line1.end]) == 1.65in - radius(arc1) == 3.2 / 2 - circle1 = circle(start = [var 1.18in, var 0.93in], center = [var 0in, var 0in], construction = true) - coincident([circle1.center, line3.start]) - radius(circle1) == 3 / 2 -} - -// Draw the tube profiles for the aorta and pulmonary artery -sketch003 = sketch(on = offsetPlane(-YZ, offset = 1.65)) { - line1 = line(start = [var 0in, var 0in], end = [var -0.3in, var -0.1in], construction = true) - coincident([line1.start, ORIGIN]) - line2 = line(start = [var 0in, var 0in], end = [var 0.3in, var 0.1in], construction = true) - coincident([line2.start, line1.start]) - coincident([line2, line1]) - equalLength([line2, line1]) - circle1 = circle(start = [var 0.44in, var 0.03in], center = [var 0.3in, var 0.1in]) - coincident([circle1.center, line2.end]) - circle2 = circle(start = [var -0.15in, var -0.15in], center = [var -0.3in, var -0.1in]) - coincident([circle2.center, line1.end]) - circle3 = circle(start = [var -0.17in, var -0.14in], center = [var -0.3in, var -0.1in]) - coincident([circle3.center, line1.end]) - circle4 = circle(start = [var 0.3in, var -0.04in], center = [var 0.3in, var 0.1in]) - coincident([circle4.center, line2.end]) - equalRadius([circle2, circle1]) - equalRadius([circle4, circle3]) - radius(circle1) == .25 - radius(circle4) == .17 - horizontalDistance([circle3.center, circle4.center]) == .75 - verticalDistance([circle3.center, circle4.center]) == .2 -} -hide(sketch003) - -// Sweep the pulmonary artery -region003 = region(segments = [sketch003.circle2]) - |> rotate(pitch = 45, global = true) - |> sweep(path = clone(sketch002)) - |> appearance(color = "#0e23be") - -// Sweep the aorta -region004 = region(segments = [sketch003.circle1]) - |> rotate(pitch = 45, global = true) - |> sweep(path = sketch002) - |> appearance(color = "#a60c0c") - -// Model the sweep path for the pulmonary vein and the superior vena cava -sketch009 = sketch(on = XZ) { - line1 = line(start = [var 0.8in, var 0in], end = [var 0.85in, var 0in]) - horizontal([line1.start, ORIGIN]) - horizontal([line1.end, ORIGIN]) - arc1 = arc(start = [var 1.77in, var -0.57in], end = [var 0.85in, var 0in], center = [var 0.85in, var -1.02in]) - coincident([line1.end, arc1.end]) - tangent([line1, arc1]) - arc2 = arc(start = [var 1.77in, var -0.57in], end = [var 2.72in, var -2.27in], center = [var 18.45in, var 7.67in]) - coincident([arc1.start, arc2.start]) - tangent([arc1, arc2]) - distance([line1.start, line1.end]) == .05 - horizontalDistance([ORIGIN, line1.start]) == .8 -} - -// Sketch the tube profile for the pulmonary vein, then sweep -sketch010 = sketch(on = offsetPlane(YZ, offset = 0.8)) { - circle1 = circle(start = [var -0.92in, var -0.08in], center = [var -1.1in, var 0in]) - horizontal([circle1.center, ORIGIN]) - circle2 = circle(start = [var -0.9in, var -0.15in], center = [var -1.1in, var 0in]) - coincident([circle2.center, circle1.center]) - radius(circle2) == .25 - radius(circle1) == 0.2in -} -hide(sketch010) -region007 = region(segments = [sketch010.circle2]) -sweep003 = sweep(region007, path = clone(sketch009)) - // Move the vein into position at the inlet bung - |> rotate(pitch = 80) - |> rotate(roll = 4, yaw = 2) - |> translate(y = -.027, z = .08) - |> appearance(color = "#a60c0c") - -// Sketch the tube profile of the superior vena cava, then sweep -sketch011 = sketch(on = offsetPlane(YZ, offset = 0.8)) { - circle1 = circle(start = [var 0.92in, var -0.08in], center = [var 1.1in, var 0in]) - horizontal([circle1.center, ORIGIN]) - circle2 = circle(start = [var 0.9in, var -0.15in], center = [var 1.1in, var 0in]) - coincident([circle2.center, circle1.center]) - radius(circle2) == .25 - radius(circle1) == 0.2in -} -hide(sketch011) -region0011 = region(segments = [sketch011.circle2]) -sweep004 = sweep(region0011, path = sketch009) - // Move it into position at the inlet bung - |> rotate(pitch = 75) - |> rotate(roll = -4, yaw = -4) - |> translate(x = -.11, y = 0.17, z = .1) - |> appearance(color = "#0e23be") diff --git a/content/pages/docs/kcl-samples/artificial-heart/project.toml b/content/pages/docs/kcl-samples/artificial-heart/project.toml deleted file mode 100644 index 5ccd8180..00000000 --- a/content/pages/docs/kcl-samples/artificial-heart/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "a12436b4-73eb-4c78-8c49-27164629b06b" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/artificial-heart/stator.kcl b/content/pages/docs/kcl-samples/artificial-heart/stator.kcl deleted file mode 100644 index 87c8a4d6..00000000 --- a/content/pages/docs/kcl-samples/artificial-heart/stator.kcl +++ /dev/null @@ -1,111 +0,0 @@ -// Stator - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Sketch the PCB profile -sketch001 = sketch(on = offsetPlane(XZ, offset = -.26)) { - circle1 = circle(start = [var 1.17in, var 0.8in], center = [var 0mm, var 0mm]) - coincident([circle1.center, ORIGIN]) - circle2 = circle(start = [var 0.36in, var 0.44in], center = [var 0in, var 0in]) - coincident([circle2.center, circle1.center]) -} - -// Sketch the profile of the stator windings -sketch002 = sketch(on = XZ) { - line1 = line(start = [var -0.21in, var 1.22in], end = [var -0.15in, var 0.97in]) - line2 = line(start = [var 0.15in, var 0.97in], end = [var 0.21in, var 1.22in]) - line3 = line(start = [var 0in, var 0in], end = [var 0in, var 0.51in], construction = true) - coincident([line3.start, ORIGIN]) - vertical([line3.end, ORIGIN]) - arc1 = arc(start = [var -0.15in, var 0.97in], end = [var -0.05in, var 0.9in], center = [var -0.05in, var 1in]) - coincident([line1.end, arc1.start]) - tangent([line1, arc1]) - arc2 = arc(start = [var 0.05in, var 0.9in], end = [var 0.15in, var 0.97in], center = [var 0.05in, var 1in]) - coincident([line2.start, arc2.end]) - tangent([line2, arc2]) - arc3 = arc(start = [var -0.05in, var 0.9in], end = [var 0.05in, var 0.9in], center = [var 0in, var 2.85in]) - coincident([arc3.start, arc1.end]) - coincident([arc2.start, arc3.end]) - tangent([arc2, arc3]) - arc4 = arc(start = [var -0.12in, var 1.35in], end = [var -0.21in, var 1.22in], center = [var -0.12in, var 1.25in]) - coincident([line1.start, arc4.end]) - tangent([line1, arc4]) - arc5 = arc(start = [var 0.21in, var 1.22in], end = [var 0.12in, var 1.35in], center = [var 0.12in, var 1.25in]) - coincident([line2.end, arc5.start]) - tangent([line2, arc5]) - arc6 = arc(start = [var 0.12in, var 1.35in], end = [var -0.12in, var 1.35in], center = [var 0in, var -1.7in]) - coincident([arc6.start, arc5.end]) - coincident([arc4.start, arc6.end]) - tangent([arc4, arc6]) - symmetric([arc5, arc4], axis = line3) - symmetric([line2, line1], axis = line3) - symmetric([arc2, arc1], axis = line3) - tangent([arc3, arc1]) - angleDimension(lines = [line1, line2], sector = 2, labelPosition = [0in, 1.16in]) == 30 - tangent([arc5, arc6]) - verticalDistance([line3.start, arc2.center]) == 1 - horizontalDistance([arc1.center, arc2.center]) == .1 - verticalDistance([line3.start, arc5.center]) == 1.25 - radius(arc1) == .1 - equalRadius([arc4, arc1]) - arc7 = arc(start = [var -0.12in, var 1.45in], end = [var -0.31in, var 1.2in], center = [var -0.12in, var 1.25in]) - coincident([arc7.center, arc4.center]) - arc8 = arc(start = [var -0.24in, var 0.95in], end = [var -0.05in, var 0.8in], center = [var -0.05in, var 1in]) - coincident([arc8.center, arc1.center]) - arc9 = arc(start = [var 0.05in, var 0.8in], end = [var 0.24in, var 0.95in], center = [var 0.05in, var 1in]) - coincident([arc9.center, arc2.center]) - arc10 = arc(start = [var 0.31in, var 1.2in], end = [var 0.12in, var 1.45in], center = [var 0.12in, var 1.25in]) - coincident([arc10.center, arc5.center]) - line4 = line(start = [var -0.31in, var 1.2in], end = [var -0.24in, var 0.95in]) - coincident([line4.start, arc7.end]) - coincident([line4.end, arc8.start]) - line5 = line(start = [var 0.24in, var 0.95in], end = [var 0.31in, var 1.2in]) - coincident([line5.start, arc9.end]) - coincident([line5.end, arc10.start]) - line6 = line(start = [var -0.05in, var 0.8in], end = [var 0.05in, var 0.8in]) - coincident([line6.start, arc8.end]) - coincident([line6.end, arc9.start]) - line7 = line(start = [var -0.12in, var 1.45in], end = [var 0.12in, var 1.45in]) - coincident([line7.start, arc7.start]) - coincident([line7.end, arc10.end]) - symmetric([arc7, arc10], axis = line3) - symmetric([line4, line5], axis = line3) - symmetric([arc8, arc9], axis = line3) - parallel([line4, line1]) - tangent([line4, arc7]) - tangent([line7, arc7]) - tangent([line7, arc10]) - tangent([line5, arc10]) - tangent([line5, arc9]) - tangent([line6, arc9]) - tangent([line6, arc8]) - equalRadius([arc8, arc7]) - radius(arc8) == 0.2 -} -hide(sketch002) - -// Select and extrude the stator cores -region001 = region(segments = [sketch002.line1, sketch002.arc1]) -extrude001 = extrude(region001, length = .35, symmetric = true) - -hide(sketch002) - -// Select and extrude the stator windings -region002 = region(segments = [sketch002.line4, sketch002.arc8]) -extrude002 = extrude(region002, length = .3, symmetric = true) - |> appearance(color = "#d54b10") - -// Pattern both elements -pattern001 = patternCircular3d( - [extrude001, extrude002], - instances = 12, - axis = Y, - center = [0, 0, 0], -) -hidden001 = hide(sketch001) - -// Extrude the motor board -region003 = region(segments = [sketch001.circle1]) -extrude003 = extrude(region003, length = .1) - |> appearance(color = "#115D33") diff --git a/content/pages/docs/kcl-samples/axial-fan/.gitignore b/content/pages/docs/kcl-samples/axial-fan/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/axial-fan/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/axial-fan/fan-housing.kcl b/content/pages/docs/kcl-samples/axial-fan/fan-housing.kcl deleted file mode 100644 index f00fdb9e..00000000 --- a/content/pages/docs/kcl-samples/axial-fan/fan-housing.kcl +++ /dev/null @@ -1,233 +0,0 @@ -// Fan Housing -// The plastic housing that contains the fan and the motor - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Import parameters -import * from "parameters.kcl" - -// Create the housing body -sketch001 = sketch(on = XY) { - line1 = line(start = [var -52.5mm, var -52.5mm], end = [var 52.5mm, var -52.5mm], construction = true) - line2 = line(start = [var 52.5mm, var -52.5mm], end = [var 52.5mm, var 52.5mm], construction = true) - line3 = line(start = [var 52.5mm, var 52.5mm], end = [var -52.5mm, var 52.5mm], construction = true) - line4 = line(start = [var -52.5mm, var 52.5mm], end = [var -52.5mm, var -52.5mm], construction = true) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - parallel([line2, line4]) - parallel([line3, line1]) - perpendicular([line1, line2]) - horizontal(line3) - line5 = line(start = [var -62.5mm, var -62.5mm], end = [var 62.5mm, var -62.5mm], construction = true) - line6 = line(start = [var 62.5mm, var -62.5mm], end = [var 62.5mm, var 62.5mm], construction = true) - line7 = line(start = [var 62.5mm, var 62.5mm], end = [var -62.5mm, var 62.5mm], construction = true) - line8 = line(start = [var -62.5mm, var 62.5mm], end = [var -62.5mm, var -62.5mm], construction = true) - coincident([line5.end, line6.start]) - coincident([line6.end, line7.start]) - coincident([line7.end, line8.start]) - coincident([line8.end, line5.start]) - parallel([line6, line8]) - parallel([line7, line5]) - perpendicular([line5, line6]) - horizontal(line7) - line9 = line(start = [var -52.5mm, var -52.5mm], end = [var 0mm, var 0mm], construction = true) - coincident([line9.start, line4.end]) - coincident([line9.end, ORIGIN]) - line10 = line(start = [var 0mm, var 0mm], end = [var 52.5mm, var 52.5mm], construction = true) - coincident([line10.start, line9.end]) - coincident([line10.end, line3.start]) - line11 = line(start = [var 62.5mm, var -62.5mm], end = [var 0mm, var 0mm], construction = true) - coincident([line11.start, line6.start]) - coincident([line11.end, line10.start]) - line12 = line(start = [var -62.5mm, var 62.5mm], end = [var 0mm, var 0mm], construction = true) - coincident([line12.start, line8.start]) - coincident([line12.end, line11.end]) - equalLength([line12, line11]) - parallel([line11, line12]) - parallel([line9, line10]) - equalLength([line10, line9]) - equalLength([line5, line6, line7, line8]) - distance([line5.start, line5.end]) == 125 - equalLength([line1, line2, line3, line4]) - distance([line1.start, line1.end]) == mountingHoleSpacing - circle1 = circle(start = [var -51.24mm, var 50.64mm], center = [var -52.5mm, var 52.5mm]) - coincident([circle1.center, line4.start]) - circle2 = circle(start = [var 50.89mm, var 50.93mm], center = [var 52.5mm, var 52.5mm]) - coincident([circle2.center, line3.start]) - circle3 = circle(start = [var 54.32mm, var -51.18mm], center = [var 52.5mm, var -52.5mm]) - coincident([circle3.center, line2.start]) - circle4 = circle(start = [var -50.33mm, var -53.1mm], center = [var -52.5mm, var -52.5mm]) - coincident([circle4.center, line1.start]) - equalRadius([circle4, circle3, circle2, circle1]) - diameter(circle2) == mountingHoleSize - circle5 = circle(start = [var 16.55mm, var 57.67mm], center = [var 0mm, var 0mm]) - coincident([circle5.center, line10.start]) - diameter(circle5) == fanSize - line13 = line(start = [var -62.5mm, var -56.5mm], end = [var -62.5mm, var 56.5mm]) - coincident([line13.start, line8]) - coincident([line13.end, line8]) - line14 = line(start = [var -56.5mm, var 62.5mm], end = [var 56.5mm, var 62.5mm]) - coincident([line14.start, line7]) - coincident([line14.end, line7]) - line15 = line(start = [var 62.5mm, var 56.5mm], end = [var 62.5mm, var -56.5mm]) - coincident([line15.start, line6]) - coincident([line15.end, line6]) - line16 = line(start = [var 56.5mm, var -62.5mm], end = [var -56.5mm, var -62.5mm]) - coincident([line16.start, line5]) - coincident([line16.end, line5]) - arc1 = arc(start = [var -62.5mm, var -56.5mm], end = [var -56.5mm, var -62.5mm], center = [var -56.5mm, var -56.5mm]) - coincident([arc1.start, line13.start]) - coincident([line16.end, arc1.end]) - tangent([line16, arc1]) - arc2 = arc(start = [var -56.5mm, var 62.5mm], end = [var -62.5mm, var 56.5mm], center = [var -56.5mm, var 56.5mm]) - coincident([arc2.start, line14.start]) - coincident([line13.end, arc2.end]) - tangent([line13, arc2]) - arc3 = arc(start = [var 62.5mm, var 56.5mm], end = [var 56.5mm, var 62.5mm], center = [var 56.5mm, var 56.5mm]) - coincident([arc3.start, line15.start]) - coincident([line14.end, arc3.end]) - tangent([line14, arc3]) - arc4 = arc(start = [var 56.5mm, var -62.5mm], end = [var 62.5mm, var -56.5mm], center = [var 56.5mm, var -56.5mm]) - coincident([arc4.start, line16.start]) - coincident([line15.end, arc4.end]) - tangent([line15, arc4]) - tangent([line13, arc1]) - tangent([line14, arc2]) - tangent([line15, arc3]) - tangent([line16, arc4]) - equalRadius([arc4, arc1, arc2, arc3]) - radius(arc3) == 6 -} -region001 = region(segments = [sketch001.line13, sketch001.arc2], direction = CW) -hidden001 = hide(sketch001) -extrude001 = extrude(region001, length = 25) - -// Draw the revolved cut to trim the corners -sketch002 = sketch(on = XZ) { - line1 = line(start = [var 116.61mm, var 2.55mm], end = [var 65mm, var 2.55mm], construction = true) - point2 = point(at = [var 64mm, var 7mm]) - point3 = point(at = [var 64mm, var 12.58mm]) - point4 = point(at = [var 64.02mm, var 18.26mm]) - line6 = line(start = [var 65mm, var 22.55mm], end = [var 117.16mm, var 22.55mm], construction = true) - line7 = line(start = [var 117.16mm, var 22.55mm], end = [var 116.61mm, var 2.55mm]) - coincident([line6.end, line7.start]) - coincident([line7.end, line1.start]) - line9 = line(start = [var 0mm, var 0mm], end = [var 65mm, var 0mm], construction = true) - coincident([line9.start, ORIGIN]) - line10 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 25.09mm], construction = true) - coincident([line10.start, line9.start]) - vertical([line10.end, ORIGIN]) - line11 = line(start = [var 0mm, var 25.09mm], end = [var 65mm, var 25.09mm], construction = true) - coincident([line11.start, line10.end]) - distance([line10.start, line10.end]) == 25.09mm - horizontal(line11) - horizontal(line9) - line12 = line(start = [var 65mm, var 2.55mm], end = [var 65mm, var 0mm], construction = true) - line13 = line(start = [var 65mm, var 22.55mm], end = [var 65mm, var 25.09mm], construction = true) - coincident([line11.end, line13.end]) - coincident([line9.end, line12.end]) - equalLength([line13, line12]) - vertical(line12) - vertical(line13) - coincident([line13, line12]) - horizontal(line1) - horizontal(line6) - distance([line9.start, line9.end]) == 65 - point5 = point(at = [var 65.24mm, var 22.19mm]) - arc4 = arc(start = [var 66mm, var 22.55mm], end = [var 65mm, var 21.55mm], center = [var 66mm, var 21.55mm]) - coincident([arc4.start, line6]) - coincident([point5, arc4]) - tangent([line6, arc4]) - point6 = point(at = [var 65.33mm, var 2.8mm]) - arc5 = arc(start = [var 65mm, var 3.55mm], end = [var 66mm, var 2.55mm], center = [var 66mm, var 3.55mm]) - coincident([point6, arc5]) - tangent([line1, arc5]) - line15 = line(start = [var 66mm, var 2.55mm], end = [var 116.61mm, var 2.55mm]) - coincident([line15.start, arc5.end]) - coincident([line15.end, line7.end]) - line18 = line(start = [var 66mm, var 22.55mm], end = [var 117.16mm, var 22.55mm]) - coincident([line18.end, line7.start]) - coincident([line18.start, arc4.start]) - equalRadius([arc4, arc5]) - coincident([line15.start, line1]) - line2 = line(start = [var 65mm, var 21.55mm], end = [var 65mm, var 3.55mm]) - coincident([line2.start, arc4.end]) - coincident([line2.end, arc5.start]) -} -region002 = region(segments = [sketch002.line15, sketch002.line7]) -hidden002 = hide(sketch002) -revolve001 = revolve(region002, angle = 360deg, axis = Y) - -solid001 = subtract(extrude001, tools = revolve001) - -// Draw the airflow pattern on the back face of the fan -sketch003 = sketch(on = XY) { - arc1 = arc(start = [var -0.02mm, var 6mm], end = [var -3.44mm, var 4.92mm], center = [var 0mm, var 0mm]) - coincident([arc1.center, ORIGIN]) - line1 = line(start = [var -0.02mm, var 6mm], end = [var 59.7mm, var 6mm]) - coincident([line1.start, arc1.start]) - arc2 = arc(start = [var 59.7mm, var 6mm], end = [var 58.79mm, var 12mm], center = [var 0mm, var 0mm]) - coincident([arc2.center, arc1.center]) - coincident([arc2.start, line1.end]) - line2 = line(start = [var 58.79mm, var 12mm], end = [var 2.94mm, var 12mm]) - coincident([line2.start, arc2.end]) - arc3 = arc(start = [var -2.26mm, var 15mm], end = [var 2.94mm, var 12mm], center = [var 2.94mm, var 18mm]) - coincident([line2.end, arc3.end]) - tangent([line2, arc3]) - line3 = line(start = [var -2.26mm, var 15mm], end = [var -25.07mm, var 54.51mm]) - coincident([line3.start, arc3.start]) - tangent([line3, arc3]) - arc4 = arc(start = [var -25.07mm, var 54.51mm], end = [var -30.45mm, var 51.7mm], center = [var 0mm, var 0mm]) - coincident([arc4.center, arc1.center]) - coincident([arc4.start, line3.end]) - line4 = line(start = [var -30.45mm, var 51.7mm], end = [var -3.44mm, var 4.92mm]) - coincident([line4.start, arc4.end]) - coincident([line4.end, arc1.end]) - equalRadius([arc2, arc4]) - diameter(arc2) == fanSize - radius(arc1) == 6 - horizontal(line1) - parallel([line2, line1]) - parallel([line3, line4]) - radius(arc3) == 6 - line5 = line(start = [var 59.7mm, var 6mm], end = [var 58.79mm, var 12mm], construction = true) - coincident([line5.start, arc2.start]) - coincident([line5.end, line2.start]) - line6 = line(start = [var -25.07mm, var 54.51mm], end = [var -30.45mm, var 51.7mm], construction = true) - coincident([line6.start, arc4.start]) - coincident([line6.end, line4.start]) - equalLength([line5, line6]) - verticalDistance([line5.start, line5.end]) == 6 - angleDimension(lines = [line3, line2], sector = 4, labelPosition = [7.16mm, 24.34mm]) == 120deg - horizontalDistance([line1.start, arc4.center]) == 0.02mm - coincident([arc4.center, line4]) -} -hidden003 = hide(sketch003) -region003 = region(segments = [sketch003.arc1, sketch003.line1]) -extrude002 = extrude(region003, length = 2) -pattern001 = patternCircular3d( - extrude002, - instances = 3, - axis = Z, - center = [0, 0, 0], -) -face001 = faceOf(extrude002, face = END) - -// Mount a housing for the motor -sketch004 = sketch(on = face001) { - circle1 = circle(start = [var -2.28mm, var 9.74mm], center = [var 0mm, var 0mm]) - coincident([circle1.center, ORIGIN]) - circle2 = circle(start = [var 7.51mm, var 9.36mm], center = [var 0mm, var 0mm]) - coincident([circle2.center, circle1.center]) - diameter(circle2) == 24 - diameter(circle1) == 20 -} -hidden004 = hide(sketch004) -region004 = region(segments = [sketch004.circle2]) -extrude003 = extrude(region004, length = 12) - -// Apply appearance to all -appearance([solid001, extrude003], color = "#a55e2c") diff --git a/content/pages/docs/kcl-samples/axial-fan/fan.kcl b/content/pages/docs/kcl-samples/axial-fan/fan.kcl deleted file mode 100644 index 0a7803f5..00000000 --- a/content/pages/docs/kcl-samples/axial-fan/fan.kcl +++ /dev/null @@ -1,103 +0,0 @@ -// Fan -// Spinning axial fan that moves airflow - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Import parameters -import * from "parameters.kcl" - -// Model the center hub of the fan -sketch001 = sketch(on = XZ) { - line1 = line(start = [var 0mm, var 25mm], end = [var -13.5mm, var 25mm]) - arc2 = arc(start = [var -13.5mm, var 25mm], end = [var -15mm, var 23.5mm], center = [var -13.5mm, var 23.5mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var -15mm, var 23.5mm], end = [var -15mm, var 4.5mm]) - coincident([arc2.end, line3.start]) - line4 = line(start = [var -15mm, var 4.5mm], end = [var -13mm, var 4.5mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var -13mm, var 4.5mm], end = [var -13mm, var 20mm]) - coincident([line4.end, line5.start]) - arc6 = arc(start = [var -12mm, var 21mm], end = [var -13mm, var 20mm], center = [var -12mm, var 20mm]) - coincident([line5.end, arc6.end]) - line7 = line(start = [var -12mm, var 21mm], end = [var -1mm, var 21mm]) - coincident([arc6.start, line7.start]) - line8 = line(start = [var -1mm, var 21mm], end = [var -1mm, var 23mm]) - coincident([line7.end, line8.start]) - line9 = line(start = [var -1mm, var 23mm], end = [var -1.15mm, var 23mm]) - coincident([line8.end, line9.start]) - line10 = line(start = [var -1.15mm, var 23mm], end = [var -1mm, var 23.6mm]) - coincident([line9.end, line10.start]) - line11 = line(start = [var -1mm, var 23.6mm], end = [var 0mm, var 23.6mm]) - coincident([line10.end, line11.start]) - line12 = line(start = [var 0mm, var 23.6mm], end = [var 0mm, var 25mm]) - coincident([line11.end, line12.start]) - coincident([line12.end, line1.start]) -} -region001 = region(segments = [sketch001.line1, sketch001.arc2]) -hidden001 = hide(sketch001) -fanCenter = revolve( - region001, - axis = { - direction = [0.0, 1.0], - origin = [0.0, 0.0] - }, -) - |> appearance(color = "#f3e2d8") - -// Define blade construction -bladeBaseZ = 4.5 -bladeLengthZ = fanHeight - 2 - bladeBaseZ -bladeRootAngle = 50deg -bladeOuterR = fanSize * 22 / 50 -bladeInnerR = 15 -bladeTwist = -bladeRootAngle - -// Base planform sketch for one blade (on XY at bladeBaseZ) -bladeBase = sketch(on = offsetPlane(XY, offset = bladeBaseZ)) { - arc2 = arc(start = [var 52.13mm, var 27.64mm], end = [var 6.88mm, var 13.4mm], center = [var 40.63mm, var -14.83mm]) - arc3 = arc(start = [var 52.89mm, var 26.14mm], end = [var 52.13mm, var 27.64mm], center = [var 0mm, var 0mm]) - coincident([arc2.start, arc3.end]) - arc4 = arc(start = [var 52.89mm, var 26.14mm], end = [var 7.96mm, var 12.78mm], center = [var 40.63mm, var -14.83mm]) - coincident([arc3.start, arc4.start]) - radius(arc3) == fanSize / 2 - 1 - coincident([arc3.center, ORIGIN]) - arc1 = arc(start = [var 7.96mm, var 12.78mm], end = [var 6.88mm, var 13.4mm], center = [var 0mm, var 0mm]) - coincident([arc1.center, arc3.center]) - radius(arc1) == 15.06mm - coincident([arc4.end, arc1.start]) - coincident([arc2.end, arc1.end]) - coincident([arc4.center, arc2.center]) - line1 = line(start = [var 7.96mm, var 12.78mm], end = [var 30.43mm, var 19.46mm], construction = true) - coincident([line1.start, arc1.start]) - line2 = line(start = [var 30.43mm, var 19.46mm], end = [var 52.89mm, var 26.14mm], construction = true) - coincident([line1.end, line2.start]) - coincident([line2.end, arc4.start]) - line3 = line(start = [var 30.43mm, var 19.46mm], end = [var 40.63mm, var -14.83mm], construction = true) - coincident([line3.start, line2.start]) - coincident([line3.end, arc4.center]) - coincident([line1, line2]) - equalLength([line1, line2]) - perpendicular([line3, line1]) - radius(arc4) == 42.77mm - radius(arc2) == 44 -} - -region002 = region(segments = [bladeBase.arc1, bladeBase.arc2]) -hidden002 = hide(bladeBase) -// Create the twisted blade solid and pattern -twistedBlade = extrude( - region002, - length = bladeLengthZ, - twistAngle = bladeTwist, - twistAngleStep = 12deg, - twistCenter = [0, 0], -) - |> appearance(color = "#f3e2d8") - |> patternCircular3d( - instances = 9, - axis = [0, 0, 1], - center = [0, 0, 0], - arcDegrees = 360, - rotateDuplicates = true, - ) diff --git a/content/pages/docs/kcl-samples/axial-fan/main.kcl b/content/pages/docs/kcl-samples/axial-fan/main.kcl deleted file mode 100644 index 1a5157af..00000000 --- a/content/pages/docs/kcl-samples/axial-fan/main.kcl +++ /dev/null @@ -1,16 +0,0 @@ -// PC Fan -// A small axial fan, used to push or draw airflow over components to remove excess heat -// Categories: Electronics & Computing; Mechanical Components - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Import all parts into assembly file -import "fan-housing.kcl" as fanHousing -import "motor.kcl" as motor -import "fan.kcl" as fan - -// Produce the model for each imported part -fanHousing -motor -fan diff --git a/content/pages/docs/kcl-samples/axial-fan/motor.kcl b/content/pages/docs/kcl-samples/axial-fan/motor.kcl deleted file mode 100644 index a015096e..00000000 --- a/content/pages/docs/kcl-samples/axial-fan/motor.kcl +++ /dev/null @@ -1,44 +0,0 @@ -// Motor -// A small electric motor to power the fan - -// Set Units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Import Parameters -import * from "parameters.kcl" - -// Model the motor body and stem - - -topFacePlane = offsetPlane(XY, offset = 4) -sketch001 = sketch(on = topFacePlane) { - circle1 = circle(start = [var 10mm, var 0mm], center = [var 0mm, var 0mm]) - diameter(circle1) == 20mm -} -region001 = region(segments = [sketch001.circle1]) -motorBody = extrude( - region001, - length = 17, - tagStart = $capStart001, - tagEnd = $capEnd001, -) - |> appearance(color = "#021b55") - |> fillet( - radius = 2, - edges = [ - { - sideFaces = [region001.tags.circle1, capStart001] - }, - { - sideFaces = [region001.tags.circle1, capEnd001] - } - ], - ) -sketch002 = sketch(on = offsetPlane(XY, offset = 21)) { - circle1 = circle(start = [var 1mm, var 0mm], center = [var 0mm, var 0mm]) -} -region002 = region(segments = [sketch002.circle1]) -extrude(region002, length = 3.8) - |> appearance(color = "#dbc89e") - -hidden001 = hide(sketch001) diff --git a/content/pages/docs/kcl-samples/axial-fan/parameters.kcl b/content/pages/docs/kcl-samples/axial-fan/parameters.kcl deleted file mode 100644 index fdabf5c6..00000000 --- a/content/pages/docs/kcl-samples/axial-fan/parameters.kcl +++ /dev/null @@ -1,10 +0,0 @@ -// Global parameters for the axial fan - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define Parameters -export fanSize = 120 -export fanHeight = 25 -export mountingHoleSpacing = 105 -export mountingHoleSize = 4.5 diff --git a/content/pages/docs/kcl-samples/axial-fan/project.toml b/content/pages/docs/kcl-samples/axial-fan/project.toml deleted file mode 100644 index 7f68e238..00000000 --- a/content/pages/docs/kcl-samples/axial-fan/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "4beea1e8-e600-432a-979e-84ca5dfd7e21" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/ball-bearing/.gitignore b/content/pages/docs/kcl-samples/ball-bearing/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/ball-bearing/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/ball-bearing/main.kcl b/content/pages/docs/kcl-samples/ball-bearing/main.kcl deleted file mode 100644 index 13b08b5b..00000000 --- a/content/pages/docs/kcl-samples/ball-bearing/main.kcl +++ /dev/null @@ -1,133 +0,0 @@ -// Ball Bearing -// A ball bearing is a type of rolling-element bearing that uses balls to maintain the separation between the bearing races. The primary purpose of a ball bearing is to reduce rotational friction and support radial and axial loads. -// Categories: Mechanical Components - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define parameters -outsideDiameter = 1.625 -sphereDia = 0.25 -shaftDia = 0.75 -overallThickness = 0.313 -wallThickness = 0.100 -overHangLength = .3 -nBalls = 10 -chainWidth = sphereDia / 2 -chainThickness = sphereDia / 8 -linkDiameter = sphereDia / 4 - -// Sketch the inside bearing piece -insideWallSketch = sketch(on = offsetPlane(XY, offset = -overallThickness / 2)) { - circle1 = circle(start = [var 0.48in, var 0in], center = [var 0in, var 0in]) - distance([circle1.center, circle1.start]) == shaftDia / 2 + wallThickness - coincident([circle1.center, ORIGIN]) - circle2 = circle(start = [var 0.3in, var 0in], center = [var 0in, var 0in]) - distance([circle2.center, circle2.start]) == shaftDia / 2 - coincident([circle2.center, ORIGIN]) -} - -// Extrude the inside bearing piece -insideWallRegion = region(segments = [insideWallSketch.circle1]) -insideWall = extrude(insideWallRegion, length = overallThickness) - -// Create the sketch of one of the balls -ballsSketch = sketch(on = XY) { - arc1 = arc(start = [var 0.23in, var 0in], end = [var -0.34in, var 0in], center = [var 0in, var 0in]) - coincident([arc1.center, ORIGIN]) - line1 = line(start = [var -0.27in, var 0in], end = [var 0.12in, var 0.01in]) - horizontal(line1) - coincident([line1.start, arc1.end]) - coincident([line1.end, arc1.start]) - coincident([line1, arc1.center]) - distance([line1.start, line1.end]) == sphereDia -} - -// Revolve the ball to make a sphere and pattern around the inside wall -ballRegion = region(segments = [ballsSketch.arc1, ballsSketch.line1]) -ballBody = revolve(ballRegion, angle = 360deg, axis = X) -hide(ballsSketch) -ballTranslated = translate(ballBody, x = shaftDia / 2 + wallThickness + sphereDia / 2) -balls = patternCircular3d( - ballBody, - instances = nBalls, - axis = Z, - center = [0, 0, 0], -) - -// Create the sketch for the chain around the balls -chainSketch = sketch(on = XY) { - arc1 = arc(start = [var 0.06in, var 0.11in], end = [var -0.06in, var 0.11in], center = [var 0in, var 0in]) - coincident([arc1.center, ORIGIN]) - coincident([arc1.start, arc1.start]) - line1 = line(start = [var -0.01in, var 0.03in], end = [var -0.03in, var 0.09in]) - coincident([line1.start, arc1.end]) - line2 = line(start = [var -0.04in, var 0.09in], end = [var 0.06in, var 0.14in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 0.06in, var 0.15in], end = [var 0.08in, var 0.09in]) - coincident([line2.end, line3.start]) - coincident([line3.end, arc1.start]) - vertical(line1) - vertical(line3) - horizontal(line2) - equalLength([line1, line3]) - distance([arc1.center, arc1.end]) == sphereDia / 2 - horizontalDistance([line2.start, line2.end]) == chainWidth - verticalDistance([line3.end, line3.start]) == chainThickness -} - -// Revolve the chain sketch -chainHeadRegion = region(segments = [chainSketch.arc1]) -chainHeadBody = revolve(chainHeadRegion, axis = X) -hide(chainSketch) -chainHeadBodyTranslated = translate(chainHeadBody, x = shaftDia / 2 + wallThickness + sphereDia / 2) -chainHeadBodies = patternCircular3d( - chainHeadBody, - instances = nBalls, - axis = Z, - center = [0, 0, 0], -) - -// Create the sketch for the links in between the chains -linkSketch = sketch(on = XZ) { - circle1 = circle(start = [var 0.63in, var 0in], center = [var 0.6in, var 0in]) - lineForOffset = line(start = [var 0in, var 0in], end = [var 0.6in, var 0in], construction = true) - coincident([lineForOffset.start, ORIGIN]) - coincident([lineForOffset.end, circle1.center]) - horizontal(lineForOffset) - horizontalDistance([lineForOffset.start, lineForOffset.end]) == shaftDia / 2 + wallThickness + sphereDia / 2 - lineForRadius = line(start = [var 0.6in, var 0in], end = [var 0.63in, var 0in], construction = true) - coincident([lineForRadius.start, lineForOffset.end]) - coincident([lineForRadius.end, circle1.start]) - horizontal(lineForRadius) - horizontalDistance([lineForRadius.start, lineForRadius.end]) == linkDiameter / 2 -} - -// Revolve and pattern the link sketch -linkRegion = region(segments = [linkSketch.circle1]) -linkRevolve = revolve(linkRegion, axis = Y, angle = 14deg) -linkPrerotated = rotate( - linkRevolve, - axis = Z, - angle = 11, - global = true, -) -links = patternCircular3d( - linkRevolve, - instances = nBalls, - axis = Z, - center = [0, 0, 0], -) - -// Create the sketch for the outside walls -outsideWallSketch = sketch(on = offsetPlane(XY, offset = -overallThickness / 2)) { - circle1 = circle(start = [var 0.81in, var 0in], center = [var 0in, var 0in]) - coincident([circle1.center, ORIGIN]) - distance([circle1.center, circle1.start]) == outsideDiameter / 2 - circle2 = circle(start = [var 0.71in, var 0in], center = [var 0in, var 0in]) - coincident([circle2.center, ORIGIN]) - distance([circle2.center, circle2.start]) == shaftDia / 2 + wallThickness + sphereDia -} - -outsideRegion = region(segments = [outsideWallSketch.circle1]) -outsideWall = extrude(outsideRegion, length = overallThickness) diff --git a/content/pages/docs/kcl-samples/ball-bearing/project.toml b/content/pages/docs/kcl-samples/ball-bearing/project.toml deleted file mode 100644 index ebcba3f0..00000000 --- a/content/pages/docs/kcl-samples/ball-bearing/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "21dfdc96-e667-4aca-8402-99f81c5cfc0a" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/bench-for-kids/.gitignore b/content/pages/docs/kcl-samples/bench-for-kids/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/bench-for-kids/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/bench-for-kids/main.kcl b/content/pages/docs/kcl-samples/bench-for-kids/main.kcl deleted file mode 100644 index 24bfaf30..00000000 --- a/content/pages/docs/kcl-samples/bench-for-kids/main.kcl +++ /dev/null @@ -1,165 +0,0 @@ -// Bench for kids. -// Shaped like a friendly animal and sturdy enough for climbing. -// Categories: Home & Lifestyle; Toys, Games, & Recreation - -@settings(defaultLengthUnit = cm, kclVersion = 2.0) - -// Define primary parameters for the bench geometry. -benchLength = 80 // overall end-to-end size -benchWidth = 40 // overall depth (front-to-back) -seatHeight = 35 - -// SEATING BLOCK (half-cylinder, rounded side up so it feels like an animal back) - -// Because it's half a cylinder, the bench width equals the cylinder’s diameter. -benchSeatRadius = benchWidth / 2 -// Height of the flat face of the cylinder: seat height minus cylinder radius. -benchSeatElevation = seatHeight - benchSeatRadius - -// Flat face of the cylinder sits one radius below the seat. -seatProfile = sketch(on = XZ) { - arc1 = arc(start = [var 20cm, var 15cm], end = [var -20cm, var 15cm], center = [var 0cm, var 15cm]) - line1 = line(start = [var 20cm, var 15cm], end = [var -20cm, var 15cm]) - horizontal(line1) - coincident([arc1.start, line1.start]) - coincident([arc1.end, line1.end]) - helperLine = line(start = [var 0cm, var 15cm], end = [var 0cm, var 0cm], construction = true) - vertical(helperLine) - coincident([helperLine.start, arc1.center]) - coincident([helperLine.end, ORIGIN]) - coincident([helperLine.start, line1]) - verticalDistance([helperLine.end, helperLine.start]) == benchSeatElevation - horizontalDistance([helperLine.start, line1.start]) == benchSeatRadius -} - -seatRegion = region(segments = [seatProfile.arc1, seatProfile.line1]) -seatBody = extrude(seatRegion, length = benchLength, symmetric = true) -hide(seatProfile) - -// LEGS (four chunky, rounded cylinders) -legRadius = benchWidth * 0.12 - -// Build one leg, then pattern-copy it to make the full set. -legSketch = sketch(on = XY) { - circle1 = circle(start = [var 4.82cm, var 0cm], center = [var 7.62cm, var 1.54cm]) - helperLine = line(start = [var 7.83cm, var 0.28cm], end = [var 0cm, var 0cm], construction = true) - horizontal(helperLine) - coincident([helperLine.start, circle1.start]) - coincident([helperLine.end, circle1.center]) - horizontalDistance([helperLine.start, helperLine.end]) == legRadius - coincident([helperLine.end, ORIGIN]) -} - -// Make the leg a bit longer because it will be tilted later. -legHeight = benchSeatElevation * 1.1 -legRegion = region(segments = [legSketch.circle1]) -legExtrudedBody = extrude(legRegion, length = legHeight, tagStart = $legCapStart) - -// Round the foot: use a slightly smaller radius to avoid fillet errors. -legFilletRadius = legRadius * 0.9 -legBody = fillet( - legExtrudedBody, - radius = legFilletRadius, - edges = [ - { - sideFaces = [legRegion.tags.circle1, legCapStart] - } - ], -) -hide(legSketch) - -// Position and array the legs. -legChassisWidth = benchWidth * 0.6 -legChassisLength = benchLength * 0.8 - -firstLeg = translate( - legBody, - x = -legChassisWidth / 2, - y = -legChassisLength / 2, - z = 0, -) - -// Pattern in X, then Y, to create all four legs. -allFourLegs = patternLinear3d( - firstLeg, - instances = 2, - distance = legChassisWidth, - axis = [1, 0, 0], -) - |> patternLinear3d(instances = 2, distance = legChassisLength, axis = [0, 1, 0]) - -// EARS (two small cylinders, tilted sideways slightly) -earHeight = 20 -earRadius = legRadius * 0.9 -earFilletRadius = earRadius * 0.9 -earTiltAngle = 13 -earDistance = benchWidth * 0.4 // defined for completeness, currently unused -earElevation = seatHeight * 0.9 - -// Ears sit roughly above the front legs. -earOffsetForward = legChassisLength / 2 - -earPlane = offsetPlane(XY, offset = 0) -earProfile = sketch(on = earPlane) { - circle1 = circle(start = [var 4.32cm, var 0cm], center = [var 0cm, var 0cm]) -} - -earRegion = region(segments = [earProfile.circle1]) -hide(earProfile) -earBody = extrude(earRegion, length = earHeight, tagEnd = $earCapEnd) - |> fillet( - radius = earFilletRadius, - edges = [ - { - sideFaces = [earRegion.tags.circle1, earCapEnd] - } - ], - ) - |> translate(x = 0, y = -earOffsetForward, z = earElevation) - |> rotate( - roll = 0, - pitch = earTiltAngle, - yaw = 0, - global = true, - ) - -// Copy the first ear over to the other side with a circular array. -ears = patternCircular3d( - earBody, - instances = 2, - axis = [0, 1, 0], - center = [0, 0, 0], - arcDegrees = -earTiltAngle * 2, -) - -// TAIL (single cylinder at the rear, slightly rotated downward) - - -tailPlane = offsetPlane(XZ, offset = -benchLength * 0.45) -tailLength = earHeight * 1.2 -tailRadius = earRadius * 0.9 -tailFilletRadius = tailRadius * 0.9 -tailElevation = benchSeatElevation + benchSeatRadius * 0.9 - -tailProfile = sketch(on = tailPlane) { - circle1 = circle(start = [var 3.89cm, var 0cm], center = [var 0cm, var 0cm]) -} - -tailRegion = region(segments = [tailProfile.circle1]) -hide(tailProfile) -tailBody = extrude(tailRegion, length = -tailLength, tagStart = $tailCapStart) - |> fillet( - radius = tailFilletRadius, - edges = [ - { - sideFaces = [tailRegion.tags.circle1, tailCapStart] - } - ], - ) - |> rotate(roll = -10, pitch = 0, yaw = 0) - |> translate( - x = 0, - y = 0, - z = tailElevation, - global = true, - ) diff --git a/content/pages/docs/kcl-samples/bench-for-kids/project.toml b/content/pages/docs/kcl-samples/bench-for-kids/project.toml deleted file mode 100644 index 0a081f42..00000000 --- a/content/pages/docs/kcl-samples/bench-for-kids/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "c71a09b8-e751-465e-8fde-acabaa85cc5e" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/bench/.gitignore b/content/pages/docs/kcl-samples/bench/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/bench/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/bench/main.kcl b/content/pages/docs/kcl-samples/bench/main.kcl deleted file mode 100644 index ce930160..00000000 --- a/content/pages/docs/kcl-samples/bench/main.kcl +++ /dev/null @@ -1,448 +0,0 @@ -// Bench -// This is a slight remix of Depep1's original 3D Boaty (https://www.printables.com/model/1141963-3d-boaty). This is a tool used for benchmarking 3D FDM printers for bed adhesion, overhangs, bridging and top surface quality. The name of this file is a bit of misnomer, the shape of the object is a typical park bench. -// Categories: Science & Education; 3D Printable - -// Set units in millimeters (mm) -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define the bench length -benchLength = 56mm -dividerThickness = 4mm -dividerShellThickness = 1.5mm -connectorInradius = 1.2mm -connectorVertexRadius = 2 * connectorInradius / sqrt(3) -dividerOffset = benchLength / 2 -seatAndBackPlaneOffset = -benchLength / 2 - (dividerThickness / 2) -rightArmRestOffset = benchLength / 2 -rightArmRestProfileOffset = -rightArmRestOffset - -// Create the dividers, these hold the seat and back slats -dividerProfile = sketch(on = YZ) { - line1 = line(start = [var -16.82mm, var 21.2mm], end = [var -16.95mm, var 19.93mm]) - arc2 = arc(start = [var -16.95mm, var 19.93mm], end = [var -15.94mm, var 13.47mm], center = [var -4.16mm, var 18.62mm]) - arc3 = arc(start = [var -16.6mm, var 5.68mm], end = [var -15.94mm, var 13.47mm], center = [var -23.46mm, var 10.18mm]) - arc4 = arc(start = [var -16.6mm, var 5.68mm], end = [var -18.38mm, var 2.57mm], center = [var 7.81mm, var -10.35mm]) - line5 = line(start = [var -18.38mm, var 2.57mm], end = [var -19.63mm, var -0.03mm]) - line6 = line(start = [var -19.63mm, var -0.03mm], end = [var -13.59mm, var -0.03mm]) - line7 = line(start = [var -13.59mm, var -0.03mm], end = [var -6.91mm, var 7.84mm]) - arc8 = arc(start = [var 10.06mm, var 8.51mm], end = [var -6.91mm, var 7.84mm], center = [var 1.88mm, var 0.38mm]) - line9 = line(start = [var 10.06mm, var 8.51mm], end = [var 17.34mm, var 0.04mm]) - line10 = line(start = [var 17.34mm, var 0.04mm], end = [var 23.32mm, var 0.04mm]) - line11 = line(start = [var 23.32mm, var 0.04mm], end = [var 22.02mm, var 3.05mm]) - arc12 = arc(start = [var 22.45mm, var 18.36mm], end = [var 22.02mm, var 3.05mm], center = [var 38.68mm, var 10.24mm]) - arc13 = arc(start = [var 22.45mm, var 18.36mm], end = [var 25.08mm, var 27.62mm], center = [var -0.69mm, var 29.94mm]) - line14 = line(start = [var 25.08mm, var 27.62mm], end = [var 27.43mm, var 43.98mm]) - line15 = line(start = [var 27.43mm, var 43.98mm], end = [var 29.21mm, var 45.13mm]) - arc16 = arc(start = [var 29.21mm, var 45.13mm], end = [var 23.93mm, var 48.49mm], center = [var 27.34mm, var 48.02mm]) - line17 = line(start = [var 23.93mm, var 48.49mm], end = [var 22.01mm, var 48.7mm]) - line18 = line(start = [var 22.01mm, var 48.7mm], end = [var 18.27mm, var 22.16mm]) - arc19 = arc(start = [var 15.13mm, var 19.48mm], end = [var 18.27mm, var 22.16mm], center = [var 15.19mm, var 22.59mm]) - arc20 = arc(start = [var -16.82mm, var 21.2mm], end = [var 15.13mm, var 19.48mm], center = [var 23.01mm, var 463.5mm]) - - coincident([line1.end, arc2.start]) - coincident([arc2.end, arc3.end]) - coincident([arc3.start, arc4.start]) - coincident([arc4.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line7.start]) - coincident([line7.end, arc8.end]) - coincident([arc8.start, line9.start]) - coincident([line9.end, line10.start]) - coincident([line10.end, line11.start]) - coincident([line11.end, arc12.end]) - coincident([arc12.start, arc13.start]) - coincident([arc13.end, line14.start]) - coincident([line14.end, line15.start]) - coincident([line15.end, arc16.start]) - coincident([arc16.end, line17.start]) - coincident([line17.end, line18.start]) - coincident([line18.end, arc19.end]) - coincident([arc19.start, arc20.end]) - coincident([arc20.start, line1.start]) - - tangent([line1, arc2]) - tangent([arc2, arc3]) - tangent([arc3, arc4]) - tangent([line7, arc8]) - tangent([line11, arc12]) - tangent([arc12, arc13]) - tangent([line15, arc16]) - tangent([line18, arc19]) - tangent([arc19, arc20]) - - horizontal(line6) - horizontal(line10) - - horizontalDistance([line5.end, ORIGIN]) == 19.63mm - verticalDistance([line5.end, ORIGIN]) == 0.03mm - - horizontalDistance([line1.end, line1.start]) == 0.13mm - verticalDistance([line1.end, line1.start]) == 1.27mm - - horizontalDistance([line5.end, line5.start]) == 1.25mm - verticalDistance([line5.end, line5.start]) == 2.6mm - - horizontalDistance([line6.start, line6.end]) == 6.04mm - - horizontalDistance([line7.start, line7.end]) == 6.68mm - verticalDistance([line7.start, line7.end]) == 7.87mm - - horizontalDistance([line9.start, line9.end]) == 7.28mm - verticalDistance([line9.end, line9.start]) == 8.47mm - - horizontalDistance([line10.start, line10.end]) == 5.98mm - - horizontalDistance([line11.end, line11.start]) == 1.3mm - verticalDistance([line11.start, line11.end]) == 3.01mm - - horizontalDistance([line14.start, line14.end]) == 2.35mm - verticalDistance([line14.start, line14.end]) == 16.36mm - - horizontalDistance([line15.start, line15.end]) == 1.78mm - verticalDistance([line15.start, line15.end]) == 1.15mm - - horizontalDistance([line17.end, line17.start]) == 1.92mm - verticalDistance([line17.start, line17.end]) == 0.21mm - - horizontalDistance([line18.end, line18.start]) == 3.74mm - verticalDistance([line18.end, line18.start]) == 26.54mm - - radius(arc2) == 12.85mm - radius(arc3) == 8.20mm - radius(arc4) == 29.20mm - radius(arc8) == 11.53mm - radius(arc12) == 18.15mm - radius(arc13) == 25.88mm - radius(arc16) == 3.44mm - radius(arc19) == 3.11mm - radius(arc20) == 444mm - - horizontalDistance([line1.start, ORIGIN]) == 16.82mm - verticalDistance([ORIGIN, line1.start]) == 21.2mm - - horizontalDistance([arc2.end, ORIGIN]) == 15.94mm - verticalDistance([ORIGIN, arc2.end]) == 13.47mm - - horizontalDistance([arc3.start, ORIGIN]) == 16.6mm - verticalDistance([ORIGIN, arc3.start]) == 5.68mm - - horizontalDistance([ORIGIN, arc8.start]) == 10.06mm - verticalDistance([ORIGIN, arc8.start]) == 8.51mm - - horizontalDistance([ORIGIN, line11.end]) == 22.02mm - verticalDistance([ORIGIN, line11.end]) == 3.05mm - - horizontalDistance([ORIGIN, arc12.start]) == 22.45mm - verticalDistance([ORIGIN, arc12.start]) == 18.36mm - - horizontalDistance([ORIGIN, line15.end]) == 29.21mm - verticalDistance([ORIGIN, line15.end]) == 45.13mm - - horizontalDistance([ORIGIN, arc16.end]) == 23.93mm - verticalDistance([ORIGIN, arc16.end]) == 48.49mm - - horizontalDistance([ORIGIN, arc19.start]) == 15.13mm - verticalDistance([ORIGIN, arc19.start]) == 19.48mm -} - -dividerRightRegion = region(segments = [ - dividerProfile.line1, - dividerProfile.arc2 -]) -dividerLeftRegion = region(segments = [ - dividerProfile.line1, - dividerProfile.arc2 -]) -dividerCenterRightBase = extrude(dividerRightRegion, length = dividerThickness / 2) -dividerCenterLeftBase = extrude(dividerLeftRegion, length = -dividerThickness / 2) -hide(dividerProfile) -dividerCenterRight = shell(dividerCenterRightBase, thickness = dividerShellThickness, faces = [END]) -dividerCenterLeft = shell(dividerCenterLeftBase, thickness = dividerShellThickness, faces = [START]) -dividerRightRight = clone(dividerCenterRight) - |> translate(x = dividerOffset, global = true) -dividerRightLeft = clone(dividerCenterLeft) - |> translate(x = dividerOffset, global = true) -dividerLeftRight = clone(dividerCenterRight) - |> translate(x = -dividerOffset, global = true) -dividerLeftLeft = clone(dividerCenterLeft) - |> translate(x = -dividerOffset, global = true) - -// Create the connectors to join the dividers -connectorPlane = offsetPlane(YZ, offset = -benchLength / 2) -connectorProfile = sketch(on = connectorPlane) { - guide = circle(start = [var -10.61mm, var 8mm], center = [var -12mm, var 8mm], construction = true) - line1 = line(start = [var -10.61mm, var 8mm], end = [var -11.31mm, var 9.2mm]) - line2 = line(start = [var -11.31mm, var 9.2mm], end = [var -12.69mm, var 9.2mm]) - line3 = line(start = [var -12.69mm, var 9.2mm], end = [var -13.39mm, var 8mm]) - line4 = line(start = [var -13.39mm, var 8mm], end = [var -12.69mm, var 6.8mm]) - line5 = line(start = [var -12.69mm, var 6.8mm], end = [var -11.31mm, var 6.8mm]) - line6 = line(start = [var -11.31mm, var 6.8mm], end = [var -10.61mm, var 8mm]) - - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) - - coincident([guide.start, line1.start]) - coincident([line1.start, guide]) - coincident([line1.end, guide]) - coincident([line2.end, guide]) - coincident([line3.end, guide]) - coincident([line4.end, guide]) - coincident([line5.end, guide]) - - horizontal(line2) - horizontal(line5) - parallel([line1, line4]) - parallel([line2, line5]) - parallel([line3, line6]) - equalLength([ - line1, - line2, - line3, - line4, - line5, - line6 - ]) - - diameter(guide) == connectorVertexRadius * 2 - horizontalDistance([guide.center, guide.start]) == connectorVertexRadius - horizontalDistance([guide.center, ORIGIN]) == 12mm - verticalDistance([ORIGIN, guide.center]) == 8mm -} - -connectorRegion = region(segments = [ - connectorProfile.line1, - connectorProfile.line2 -]) -connectorSeed = extrude(connectorRegion, length = benchLength) -hide(connectorProfile) -connectorArray = patternLinear3d( - connectorSeed, - instances = 2, - distance = 28mm, - axis = [0, 1, 0], -) - -// Create the seat slats -seatSlatPlane = offsetPlane(YZ, offset = seatAndBackPlaneOffset) -seatSlatProfile = sketch(on = seatSlatPlane) { - line1 = line(start = [var -7mm, var 19mm], end = [var -17mm, var 19.5mm]) - line2 = line(start = [var -17mm, var 19.5mm], end = [var -16.8mm, var 22mm]) - line3 = line(start = [var -16.8mm, var 22mm], end = [var -15.3mm, var 23.5mm]) - line4 = line(start = [var -15.3mm, var 23.5mm], end = [var -8.4mm, var 23mm]) - line5 = line(start = [var -8.4mm, var 23mm], end = [var -6.9mm, var 21.5mm]) - line6 = line(start = [var -6.9mm, var 21.5mm], end = [var -7mm, var 19mm]) - - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) - - horizontalDistance([line1.start, ORIGIN]) == 7mm - verticalDistance([ORIGIN, line1.start]) == 19mm - - horizontalDistance([line1.end, line1.start]) == 10mm - verticalDistance([line1.start, line1.end]) == 0.5mm - - horizontalDistance([line2.start, line2.end]) == 0.2mm - verticalDistance([line2.start, line2.end]) == 2.5mm - - horizontalDistance([line3.start, line3.end]) == 1.5mm - verticalDistance([line3.start, line3.end]) == 1.5mm - - horizontalDistance([line4.start, line4.end]) == 6.9mm - verticalDistance([line4.end, line4.start]) == 0.5mm - - horizontalDistance([line5.start, line5.end]) == 1.5mm - verticalDistance([line5.end, line5.start]) == 1.5mm - - horizontalDistance([line6.end, line6.start]) == 0.1mm - verticalDistance([line6.end, line6.start]) == 2.5mm - - equalLength([line3, line5]) -} - -seatSlatRegion = region(segments = [ - seatSlatProfile.line1, - seatSlatProfile.line2 -]) -seatSlatSeed = extrude(seatSlatRegion, length = benchLength + dividerThickness) -hide(seatSlatProfile) -seatSlatArray = patternLinear3d( - seatSlatSeed, - instances = 3, - distance = 11mm, - axis = [0, 1, -0.05], -) - -// Create the back slats -backSlatPlane = offsetPlane(YZ, offset = seatAndBackPlaneOffset) -backSlatProfile = sketch(on = backSlatPlane) { - line1 = line(start = [var 22mm, var 38.5mm], end = [var 20.01mm, var 38.74mm]) - line2 = line(start = [var 20.01mm, var 38.74mm], end = [var 18.27mm, var 40.77mm]) - line3 = line(start = [var 18.27mm, var 40.77mm], end = [var 19.19mm, var 47.31mm]) - line4 = line(start = [var 19.19mm, var 47.31mm], end = [var 21.42mm, var 48.73mm]) - line5 = line(start = [var 21.42mm, var 48.73mm], end = [var 23.41mm, var 48.49mm]) - line6 = line(start = [var 23.41mm, var 48.49mm], end = [var 22mm, var 38.5mm]) - - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) - - horizontalDistance([ORIGIN, line1.start]) == 22mm - verticalDistance([ORIGIN, line1.start]) == 38.5mm - - horizontalDistance([line1.end, line1.start]) == 1.99mm - verticalDistance([line1.start, line1.end]) == 0.24mm - - horizontalDistance([line2.end, line2.start]) == 1.74mm - verticalDistance([line2.start, line2.end]) == 2.03mm - - horizontalDistance([line3.start, line3.end]) == 0.92mm - verticalDistance([line3.start, line3.end]) == 6.54mm - - horizontalDistance([line4.start, line4.end]) == 2.23mm - verticalDistance([line4.start, line4.end]) == 1.42mm - - horizontalDistance([line5.start, line5.end]) == 1.99mm - verticalDistance([line5.end, line5.start]) == 0.24mm - - horizontalDistance([line6.end, line6.start]) == 1.41mm - verticalDistance([line6.end, line6.start]) == 9.99mm - - equalLength([line1, line5]) - parallel([line1, line5]) -} - -backSlatRegion = region(segments = [ - backSlatProfile.line1, - backSlatProfile.line2 -]) -backSlatSeed = extrude(backSlatRegion, length = benchLength + dividerThickness) -hide(backSlatProfile) -backSlatArray = patternLinear3d( - backSlatSeed, - instances = 2, - distance = 11mm, - axis = [0, -0.137, -1], -) - -// Create the arm rests -rightArmRestPathSketch = sketch(on = offsetPlane(YZ, offset = rightArmRestOffset)) { - line1 = line(start = [var 20mm, var 33mm], end = [var 0mm, var 33mm]) - arc2 = arc(start = [var 0mm, var 33mm], end = [var -10mm, var 23mm], center = [var 0mm, var 23mm]) - centerGuide = line(start = [var 0mm, var 33mm], end = [var 0mm, var 23mm], construction = true) - endGuide = line(start = [var 0mm, var 23mm], end = [var -10mm, var 23mm], construction = true) - - coincident([line1.end, arc2.start]) - coincident([centerGuide.start, arc2.start]) - coincident([centerGuide.end, arc2.center]) - coincident([endGuide.start, arc2.center]) - coincident([endGuide.end, arc2.end]) - - horizontalDistance([ORIGIN, line1.start]) == 20mm - verticalDistance([ORIGIN, line1.start]) == 33mm - - horizontal(line1) - horizontalDistance([line1.end, line1.start]) == 20mm - - vertical(centerGuide) - verticalDistance([centerGuide.end, centerGuide.start]) == 10mm - - horizontal(endGuide) - horizontalDistance([endGuide.end, endGuide.start]) == 10mm - - tangent([line1, arc2]) - radius(arc2) == 10mm -} - -rightArmRestProfileSketch = sketch(on = offsetPlane(-XZ, offset = 20mm)) { - line1 = line(start = [var 0mm, var 32.4mm], end = [var 1.3mm, var 32.4mm]) - line2 = line(start = [var 1.3mm, var 32.4mm], end = [var 1.6mm, var 33mm]) - line3 = line(start = [var 1.6mm, var 33mm], end = [var 1.3mm, var 33.6mm]) - line4 = line(start = [var 1.3mm, var 33.6mm], end = [var -1.3mm, var 33.6mm]) - line5 = line(start = [var -1.3mm, var 33.6mm], end = [var -1.6mm, var 33mm]) - line6 = line(start = [var -1.6mm, var 33mm], end = [var -1.3mm, var 32.4mm]) - line7 = line(start = [var -1.3mm, var 32.4mm], end = [var 0mm, var 32.4mm]) - - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line7.start]) - coincident([line7.end, line1.start]) - - coincident([ - line1.start, - [rightArmRestProfileOffset, 32.4mm] - ]) - coincident([ - line1.end, - [ - rightArmRestProfileOffset + 1.3mm, - 32.4mm - ] - ]) - coincident([ - line2.end, - [ - rightArmRestProfileOffset + 1.6mm, - 33mm - ] - ]) - coincident([ - line3.end, - [ - rightArmRestProfileOffset + 1.3mm, - 33.6mm - ] - ]) - coincident([ - line4.end, - [ - rightArmRestProfileOffset - 1.3mm, - 33.6mm - ] - ]) - coincident([ - line5.end, - [ - rightArmRestProfileOffset - 1.6mm, - 33mm - ] - ]) - coincident([ - line6.end, - [ - rightArmRestProfileOffset - 1.3mm, - 32.4mm - ] - ]) -} - -rightArmRestProfileRegion = region(segments = [ - rightArmRestProfileSketch.line1, - rightArmRestProfileSketch.line2 -]) -rightArmRest = sweep( - rightArmRestProfileRegion, - path = [ - rightArmRestPathSketch.line1, - rightArmRestPathSketch.arc2 - ], -) -hide([ - rightArmRestPathSketch, - rightArmRestProfileSketch -]) -leftArmRest = clone(rightArmRest) - |> translate(x = -benchLength, global = true) diff --git a/content/pages/docs/kcl-samples/bench/project.toml b/content/pages/docs/kcl-samples/bench/project.toml deleted file mode 100644 index 7dd350b6..00000000 --- a/content/pages/docs/kcl-samples/bench/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "e31d1cb6-34c5-498c-a1c8-e80b47de1737" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/bike-hub-washer/.gitignore b/content/pages/docs/kcl-samples/bike-hub-washer/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/bike-hub-washer/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/bike-hub-washer/main.kcl b/content/pages/docs/kcl-samples/bike-hub-washer/main.kcl deleted file mode 100644 index 60b7a0e6..00000000 --- a/content/pages/docs/kcl-samples/bike-hub-washer/main.kcl +++ /dev/null @@ -1,69 +0,0 @@ -// Bike hub washer -// Washer to protect the hub, it is made for the front wheel and might work for various generic front hubs. -// Categories: Automotive & Transportation; Mechanical Components; 3D Printable - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -radius = 29 -radiusInner = 22 -ringWidth = 7 -ringHeight = 7.5 - -topHeight = 7 -topRimWidth = 1.2 -topInset = 3 - -bottomInnerRimWidth = 2 -bottomOuterRimWidth = 3 -bottomEdge = 1 -bottomHeight = 2 -bottomExtrusionWidth = 2 - -insideRingWidth = 3 - -hubSketch = sketch(on = XZ) { - line1 = line(start = [var 7.8mm, var 0mm], end = [var 9.8mm, var 0mm]) - line2 = line(start = [var 9.8mm, var 0mm], end = [var 9.8mm, var -2mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 9.8mm, var -2mm], end = [var 11.8mm, var -2mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 11.8mm, var -2mm], end = [var 11.8mm, var 0mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 11.8mm, var 0mm], end = [var 14.5mm, var 0mm]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 14.5mm, var 0mm], end = [var 14.5mm, var 1mm]) - coincident([line5.end, line6.start]) - arc7 = arc(start = [var 11mm, var 7.5mm], end = [var 14.5mm, var 1mm], center = [var 30.3mm, var 13.7mm]) - coincident([line6.end, arc7.end]) - line8 = line(start = [var 11mm, var 7.5mm], end = [var 9.8mm, var 7.5mm]) - coincident([arc7.start, line8.start]) - line9 = line(start = [var 9.8mm, var 7.5mm], end = [var 9.8mm, var 4.5mm]) - coincident([line8.end, line9.start]) - line10 = line(start = [var 9.8mm, var 4.5mm], end = [var 7.8mm, var 4.5mm]) - coincident([line9.end, line10.start]) - line11 = line(start = [var 7.8mm, var 4.5mm], end = [var 7.8mm, var 0mm]) - coincident([line10.end, line11.start]) - horizontal(line1) - vertical(line2) - horizontal(line3) - vertical(line4) - horizontal(line5) - vertical(line6) - horizontal(line8) - vertical(line9) - horizontal(line10) - vertical(line11) - horizontalDistance([line1.start, line1.end]) == bottomInnerRimWidth - verticalDistance([line2.end, line2.start]) == bottomHeight - horizontalDistance([line3.start, line3.end]) == bottomExtrusionWidth - verticalDistance([line4.start, line4.end]) == bottomHeight - horizontalDistance([line5.start, line5.end]) == bottomOuterRimWidth - 0.3 - verticalDistance([line6.start, line6.end]) == bottomEdge - horizontalDistance([line8.end, line8.start]) == topRimWidth - verticalDistance([line9.end, line9.start]) == topInset - horizontalDistance([line10.end, line10.start]) == 2 - verticalDistance([line11.end, line11.start]) == 4.5mm -} -hubRegion = region(segments = [hubSketch.line1, hubSketch.line2]) -hide(hubSketch) -hubRevolve = revolve(hubRegion, angle = 360deg, axis = Y) diff --git a/content/pages/docs/kcl-samples/bike-hub-washer/project.toml b/content/pages/docs/kcl-samples/bike-hub-washer/project.toml deleted file mode 100644 index b2f56646..00000000 --- a/content/pages/docs/kcl-samples/bike-hub-washer/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "1edff002-f611-4eec-9c8b-5af1e3958f96" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/blend-tutorial/.gitignore b/content/pages/docs/kcl-samples/blend-tutorial/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/blend-tutorial/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/blend-tutorial/main.kcl b/content/pages/docs/kcl-samples/blend-tutorial/main.kcl deleted file mode 100644 index 16372652..00000000 --- a/content/pages/docs/kcl-samples/blend-tutorial/main.kcl +++ /dev/null @@ -1,53 +0,0 @@ -// Blend Trim Operations -// Shows how to create a blend surface and use it for trim operations. -// Categories: Science & Education - -@settings(kclVersion = 2.0) - -tiltValue = 30 - -// construction surfaces -sketch001 = sketch(on = YZ) { - line1 = line(start = [var -300mm, var -15mm], end = [var -150mm, var 15mm]) - horizontalDistance([line1.end, ORIGIN]) == 150 - horizontalDistance([line1.start, line1.end], labelPosition = [-218.68mm, 10.88mm]) == 150 - verticalDistance([ORIGIN, line1.end]) == tiltValue - verticalDistance([line1.start, ORIGIN]) == tiltValue -} -sketch002 = sketch(on = XZ) { - line1 = line(start = [var 600mm, var -15mm], end = [var 300mm, var 15mm]) - horizontalDistance([ORIGIN, line1.end]) == 300 - horizontalDistance([line1.end, line1.start]) == 300 - verticalDistance([ORIGIN, line1.end]) == tiltValue - verticalDistance([line1.start, ORIGIN]) == tiltValue -} -extrude001 = extrude(sketch001.line1, length = -100, bodyType = SURFACE) -extrude002 = extrude(sketch002.line1, length = -100, bodyType = SURFACE) -hidden001 = hide(sketch001) -hidden002 = hide(sketch002) - -// create blend -blend001 = blend([ - getBoundedEdge(extrude001, edge = extrude001.sketch.tags.line1), - getBoundedEdge(extrude002, edge = extrude002.sketch.tags.line1) -]) - -// surface to cut -sketch003 = sketch(on = XY) { - line1 = line(start = [var 230mm, var -140mm], end = [var 270mm, var -200mm]) - verticalDistance([line1.end, line1.start]) == 60 - horizontalDistance([line1.start, line1.end]) == 40 - horizontalDistance([ORIGIN, line1.start]) == 230 - verticalDistance([line1.start, ORIGIN]) == 140 -} -extrude003 = extrude( - sketch003.line1, - length = 100, - symmetric = true, - bodyType = SURFACE, -) -hidden003 = hide(sketch003) - -// perform split operation with blend -split001 = split(extrude003, tools = blend001, keepTools = true) -hide(split001[1]) diff --git a/content/pages/docs/kcl-samples/blend-tutorial/project.toml b/content/pages/docs/kcl-samples/blend-tutorial/project.toml deleted file mode 100644 index 8e4ab7fd..00000000 --- a/content/pages/docs/kcl-samples/blend-tutorial/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "3339a714-343f-4770-bfda-49b51cf05ba2" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/bone-plate/.gitignore b/content/pages/docs/kcl-samples/bone-plate/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/bone-plate/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/bone-plate/main.kcl b/content/pages/docs/kcl-samples/bone-plate/main.kcl deleted file mode 100644 index f1db4463..00000000 --- a/content/pages/docs/kcl-samples/bone-plate/main.kcl +++ /dev/null @@ -1,135 +0,0 @@ -// Bone Plate -// A bone plate is a medical device used in orthopedics to stabilize and fix bone fractures during the healing process. They are typically made of stainless steel or titanium and are secured to the bone with screws. Bone plates come in various types, including locking, compression, and bridge plates, each with specific applications -// Categories: Medical & Assistive - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -boltSize = 4.5 - -// Step 1: Revolve the profile of a compression plate designed to fit a bone -sketch001 = sketch(on = YZ) { - arc1 = arc(start = [var 23.19mm, var 8.37mm], end = [var 22.9mm, var 0mm], center = [var 142.9mm, var 0mm]) - arc2 = arc(start = [var 23.19mm, var 8.37mm], end = [var 23.63mm, var 16.75mm], center = [var 20.69mm, var 12.7mm]) - coincident([arc1.start, arc2.start]) - arc3 = arc(start = [var 23.92mm, var 25.12mm], end = [var 23.63mm, var 16.75mm], center = [var 143.63mm, var 16.75mm]) - coincident([arc2.end, arc3.end]) - arc4 = arc(start = [var 23.92mm, var 25.12mm], end = [var 24.36mm, var 33.49mm], center = [var 21.42mm, var 29.45mm]) - coincident([arc3.start, arc4.start]) - arc5 = arc(start = [var 24.65mm, var 41.86mm], end = [var 24.36mm, var 33.49mm], center = [var 144.36mm, var 33.49mm]) - coincident([arc4.end, arc5.end]) - arc6 = arc(start = [var 24.65mm, var 41.86mm], end = [var 25.1mm, var 50.24mm], center = [var 22.16mm, var 46.19mm]) - coincident([arc5.start, arc6.start]) - arc7 = arc(start = [var 26.03mm, var 68.01mm], end = [var 25.1mm, var 50.24mm], center = [var 195.1mm, var 50.24mm]) - coincident([arc6.end, arc7.end]) - arc8 = arc(start = [var 41.78mm, var 91.86mm], end = [var 26.03mm, var 68.01mm], center = [var 56.86mm, var 64.77mm]) - coincident([arc7.start, arc8.end]) - arc9 = arc(start = [var 41.78mm, var 91.86mm], end = [var 56.92mm, var 117.08mm], center = [var 27.43mm, var 117.63mm]) - coincident([arc8.start, arc9.start]) - line10 = line(start = [var 56.92mm, var 117.08mm], end = [var 57.35mm, var 139.83mm]) - coincident([arc9.end, line10.start]) - arc11 = arc(start = [var 60.94mm, var 140.05mm], end = [var 57.35mm, var 139.83mm], center = [var 59.15mm, var 139.8mm]) - coincident([line10.end, arc11.end]) - line12 = line(start = [var 60.94mm, var 140.05mm], end = [var 64.47mm, var 114.99mm]) - coincident([arc11.start, line12.start]) - arc13 = arc(start = [var 48.31mm, var 85.81mm], end = [var 64.47mm, var 114.99mm], center = [var 35.1mm, var 112.19mm]) - coincident([line12.end, arc13.end]) - arc14 = arc(start = [var 48.31mm, var 85.81mm], end = [var 34.94mm, var 67.77mm], center = [var 59.43mm, var 63.6mm]) - coincident([arc13.start, arc14.start]) - line15 = line(start = [var 34.94mm, var 67.77mm], end = [var 27.8mm, var 19.23mm]) - coincident([arc14.end, line15.start]) - line16 = line(start = [var 27.8mm, var 19.23mm], end = [var 22.9mm, var 0mm]) - coincident([line15.end, line16.start]) - coincident([line16.end, arc1.end]) - radius(arc2) == 5mm - radius(arc3) == 120mm - radius(arc4) == 5mm - radius(arc5) == 120mm - radius(arc6) == 5mm - radius(arc8) == 31 - tangent([arc8, arc9]) - tangent([arc13, arc14]) - line2 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 141.6mm], construction = true) - vertical(line2) - tangent([line12, arc11]) - line3 = line(start = [var 0mm, var 141.6mm], end = [var 64.6mm, var 141.6mm], construction = true) - coincident([line3.start, line2.end]) - horizontal(line3) - tangent([line3, arc11]) - tangent([line10, arc11]) - verticalDistance([line2.start, line2.end]) == 141.6 - line4 = line(start = [var 64.6mm, var 141.6mm], end = [var 64.6mm, var 0mm], construction = true) - vertical(line4) - coincident([line3.end, line4.start]) - tangent([line4, arc13]) - coincident([line2.start, ORIGIN]) - horizontalDistance([line3.start, line3.end]) == 64.6 - line1 = line(start = [var 0mm, var 0mm], end = [var 64.6mm, var 0mm], construction = true) - coincident([line1.start, line2.start]) - horizontal(line1) - coincident([line1.end, line4.end]) - vertical(line4) - radius(arc1) == 120mm - radius(arc7) == 170mm - radius(arc9) == 29.5 - radius(arc13) == 29.5 -} - -region001 = region(segments = [sketch001.arc1, sketch001.arc2]) -plateRevolve = revolve( - region001, - axis = Y, - angle = 65, - symmetric = true, -) -hide(sketch001) - -// Step 2: Clearance-hole cutters and subtract -holeSketch = sketch(on = XZ) { - centerGuide01 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 12.25mm], construction = true) - radiusGuide01 = line(start = [var 0mm, var 12.25mm], end = [var 2.25mm, var 12.25mm], construction = true) - circle01 = circle(start = [var 2.25mm, var 12.25mm], center = [var 0mm, var 12.25mm]) - coincident([centerGuide01.start, ORIGIN]) - coincident([centerGuide01.end, radiusGuide01.start]) - coincident([radiusGuide01.start, circle01.center]) - coincident([radiusGuide01.end, circle01.start]) - vertical(centerGuide01) - horizontal(radiusGuide01) - verticalDistance([centerGuide01.start, centerGuide01.end]) == 12.25mm - distance([radiusGuide01.start, radiusGuide01.end]) == boltSize / 2 -} - -holeRegion01 = region(segments = [holeSketch.circle01]) -baseHoleBody = extrude(holeRegion01, length = -100) - -hide(holeSketch) - -holeBody02 = clone(baseHoleBody) - |> translate(z = 17.25mm, global = true) -holeBody03 = clone(baseHoleBody) - |> translate(z = 34mm, global = true) -holeBody04 = clone(baseHoleBody) - |> translate(z = 64.75mm, global = true) -holeBody05 = clone(baseHoleBody) - |> translate(z = 87.75mm, global = true) -holeBody06 = clone(baseHoleBody) - |> translate(z = 117.75mm, global = true) -holeBody07 = clone(baseHoleBody) - |> translate(x = -20mm, z = 117.75mm, global = true) -holeBody08 = clone(baseHoleBody) - |> translate(x = 20mm, z = 117.75mm, global = true) - -solid = subtract( - [plateRevolve], - tools = [ - baseHoleBody, - holeBody02, - holeBody03, - holeBody04, - holeBody05, - holeBody06, - holeBody07, - holeBody08 - ], -) diff --git a/content/pages/docs/kcl-samples/bone-plate/project.toml b/content/pages/docs/kcl-samples/bone-plate/project.toml deleted file mode 100644 index b80a634e..00000000 --- a/content/pages/docs/kcl-samples/bone-plate/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "75f27ad8-cec9-4df1-bbc7-610c2b4bc4e2" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/bottle/.gitignore b/content/pages/docs/kcl-samples/bottle/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/bottle/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/bottle/main.kcl b/content/pages/docs/kcl-samples/bottle/main.kcl deleted file mode 100644 index 78407255..00000000 --- a/content/pages/docs/kcl-samples/bottle/main.kcl +++ /dev/null @@ -1,99 +0,0 @@ -// Bottle -// A simple bottle with a hollow, watertight interior -// Categories: Home & Lifestyle - -// Set Units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Input dimensions to define the bottle -bottleWidth = 80 -bottleLength = 125 -bottleHeight = 220 -neckDepth = 18 -neckDiameter = 45 -wallThickness = 4 - -halfBottleLength = bottleLength / 2 -halfBottleWidth = bottleWidth / 2 -shoulderTransitionHeight = bottleWidth / 3 -shoulderArcRise = halfBottleWidth - shoulderTransitionHeight -shoulderArcRadius = (halfBottleLength ^ 2 + shoulderArcRise ^ 2) / (2 * shoulderArcRise) -shoulderArcCenterOffset = shoulderArcRadius - halfBottleWidth -neckRadius = neckDiameter / 2 - -// Create a rounded body for the bottle -bottleFootprint = sketch(on = XY) { - leftSide = line(start = [var -62.5mm, var -26.67mm], end = [var -62.5mm, var 26.67mm]) - topArc = arc(start = [var 62.5mm, var 26.52mm], end = [var -62.5mm, var 26.81mm], center = [var 0mm, var -112.78mm]) - rightSide = line(start = [var 62.5mm, var 26.52mm], end = [var 62.5mm, var -26.67mm]) - bottomArc = arc(start = [var -62.5mm, var -26.67mm], end = [var 62.5mm, var -26.67mm], center = [var 0mm, var 113.15mm]) - - topGuide = line(start = [var -62.5mm, var 26.67mm], end = [var 63.21mm, var 30.34mm], construction = true) - bottomGuide = line(start = [var -62.5mm, var -26.67mm], end = [var 62.5mm, var -26.67mm], construction = true) - centerAxis = line(start = [var 2.22mm, var -100.21mm], end = [var 0mm, var 113.15mm], construction = true) - - coincident([leftSide.end, topArc.end]) - coincident([topArc.start, rightSide.start]) - coincident([rightSide.end, bottomArc.end]) - coincident([bottomArc.start, leftSide.start]) - - coincident([topGuide.start, topArc.end]) - coincident([topGuide.end, topArc.start]) - coincident([bottomGuide.start, bottomArc.start]) - coincident([bottomGuide.end, bottomArc.end]) - coincident([centerAxis.start, topArc.center]) - coincident([centerAxis.end, bottomArc.center]) - - vertical(leftSide) - vertical(rightSide) - horizontal(topGuide) - horizontal(bottomGuide) - vertical(centerAxis) - - horizontalDistance([topGuide.start, topGuide.end]) == bottleLength - verticalDistance([leftSide.start, leftSide.end]) == shoulderTransitionHeight * 2 - equalLength([leftSide, rightSide]) - horizontalDistance([topArc.center, ORIGIN]) == 0mm - horizontalDistance([bottomArc.center, ORIGIN]) == 0mm - verticalDistance([bottomGuide.start, ORIGIN]) == 26.67mm - radius(topArc) == 152.64mm - horizontalDistance([centerAxis.start, ORIGIN]) == 0mm - radius(bottomArc) == 153.15mm -} - -bottleBodyRegion = region(segments = [ - bottleFootprint.leftSide, - bottleFootprint.topArc -]) -hide(bottleFootprint) -bottleBody = extrude(bottleBodyRegion, length = bottleHeight - neckDepth) - -// Create a neck centered at the top of the bottle -neckProfile = sketch(on = faceOf(bottleBody, face = END)) { - neckCircle = circle(start = [var 22.5mm, var 0mm], center = [var 0mm, var 0mm]) - neckRadiusGuide = line(start = [var 0mm, var 0mm], end = [var 22.5mm, var 0mm], construction = true) - - coincident([neckCircle.center, ORIGIN]) - coincident([ - neckRadiusGuide.start, - neckCircle.center - ]) - coincident([neckRadiusGuide.end, neckCircle.start]) - horizontal(neckRadiusGuide) - - diameter(neckCircle) == neckDiameter - distance([neckCircle.center, neckCircle.start]) == neckRadius -} - -neckRegion = region(segments = [neckProfile.neckCircle]) -hide(neckProfile) -bottleWithNeck = extrude( - neckRegion, - length = neckDepth, - method = MERGE, - tagEnd = $neckTop, -) - -// Define a shell operation so that the entire body and neck are hollow, with only the top face opened -bottleShellSolid = shell(bottleWithNeck, faces = [neckTop], thickness = wallThickness) -bottleShell = appearance(bottleShellSolid, color = "#0078c2") diff --git a/content/pages/docs/kcl-samples/bottle/project.toml b/content/pages/docs/kcl-samples/bottle/project.toml deleted file mode 100644 index 5643cccd..00000000 --- a/content/pages/docs/kcl-samples/bottle/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "cdbe5625-fe05-48c5-9c71-0ae216b8a441" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/box/.gitignore b/content/pages/docs/kcl-samples/box/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/box/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/box/main.kcl b/content/pages/docs/kcl-samples/box/main.kcl deleted file mode 100644 index b77e705b..00000000 --- a/content/pages/docs/kcl-samples/box/main.kcl +++ /dev/null @@ -1,48 +0,0 @@ -// Box -// A box is a rectangular prism defined by it's length, width, and height. -// Categories: Science & Education; Parametric - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -length = 10 -width = 10 -height = 10 - -// create the profile centered at the origin on the XY plane -profile = sketch(on = XY) { - line1 = line(start = [var -5mm, var -5mm], end = [var 5mm, var -5mm]) - line2 = line(start = [var 5mm, var -5mm], end = [var 5.04mm, var 5mm]) - line3 = line(start = [var 4.97mm, var 7.08mm], end = [var -5mm, var 5mm]) - line4 = line(start = [var -5mm, var 5mm], end = [var -5mm, var -5mm]) - line5 = line(start = [var 0mm, var 0mm], end = [var 0mm, var -5mm], construction = true) - line6 = line(start = [var 0mm, var 0mm], end = [var 5mm, var 0mm], construction = true) - - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - coincident([line5.start, ORIGIN]) - coincident([line6.start, line5.start]) - coincident([line6.end, line2]) - coincident([line5.end, line1]) - - horizontal(line1) - horizontal(line3) - horizontal(line1) - horizontal(line3) - horizontal(line6) - vertical(line2) - vertical(line4) - vertical(line2) - vertical(line5) - - horizontalDistance([line1.start, line1.end]) == width - verticalDistance([line4.end, line4.start]) == length - horizontalDistance([line6.start, line6.end]) == width / 2 - verticalDistance([line5.end, line5.start]) == length / 2 -} - -// extrude the profile to create the box -footprintRegion = region(segments = [profile.line1, profile.line2]) -box = extrude(footprintRegion, length = height) diff --git a/content/pages/docs/kcl-samples/box/project.toml b/content/pages/docs/kcl-samples/box/project.toml deleted file mode 100644 index 268701bc..00000000 --- a/content/pages/docs/kcl-samples/box/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "fa32e224-6fc8-43d4-b3be-dca2043d739f" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/bracket-with-slot/.gitignore b/content/pages/docs/kcl-samples/bracket-with-slot/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/bracket-with-slot/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/bracket-with-slot/main.kcl b/content/pages/docs/kcl-samples/bracket-with-slot/main.kcl deleted file mode 100644 index 634a3fe7..00000000 --- a/content/pages/docs/kcl-samples/bracket-with-slot/main.kcl +++ /dev/null @@ -1,301 +0,0 @@ -// Adjustable L‑Bracket -// Sketch-solve reconstruction with matching feature order -// Categories: Mechanical Components; Parametric - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// model parameters -halfBracketWidth = 20 -fastenerHoleDiameter = 12 -countersinkOuterDiameter = 22 - -uprightTabHoleCenterOffsetFromBend = 50 -slotCenterOffsetFromBend = 150 - -sheetMetalThickness = 4 -insideBendRadius = 8 -outsideBendRadius = insideBendRadius + sheetMetalThickness -overallBracketWidth = halfBracketWidth * 2 - -slotWidth = fastenerHoleDiameter -slotOverallLength = fastenerHoleDiameter * 3 -countersinkDepth = (countersinkOuterDiameter - fastenerHoleDiameter) / 2 -csgOverlap = 0.2 - -// Step 1: Solver outline profile -outlineProfile = sketch(on = XZ) { - line1 = line(start = [var -8mm, var -6mm], end = [var 9mm, var 66mm]) - line2 = line(start = [var 6mm, var 65mm], end = [var 6mm, var 73mm]) - coincident([line1.end, line2.start]) - - line3 = line(start = [var 5mm, var 74mm], end = [var 5mm, var 1mm]) - coincident([line2.end, line3.start]) - - line4 = line(start = [var 3mm, var 6mm], end = [var 164mm, var 4mm]) - coincident([line3.end, line4.start]) - - line5 = line(start = [var 168mm, var 7mm], end = [var 168mm, var -8mm]) - coincident([line4.end, line5.start]) - - line6 = line(start = [var 172mm, var -2mm], end = [var -6mm, var 2mm]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) - - vertical(line1) - horizontal(line2) - vertical(line3) - horizontal(line4) - vertical(line5) - horizontal(line6) - - coincident([line1.start, ORIGIN]) - verticalDistance([line1.start, line1.end]) == uprightTabHoleCenterOffsetFromBend + halfBracketWidth - horizontalDistance([line2.start, line2.end]) == sheetMetalThickness - verticalDistance([line3.end, line3.start]) == uprightTabHoleCenterOffsetFromBend + halfBracketWidth - sheetMetalThickness - horizontalDistance([line4.start, line4.end]) == slotCenterOffsetFromBend + halfBracketWidth - sheetMetalThickness - verticalDistance([line5.end, line5.start]) == sheetMetalThickness -} - -// Step 2: Extrude body -outlineRegion = region(segments = [ - outlineProfile.line1, - outlineProfile.line2 -]) -hiddenOutlineProfile = hide(outlineProfile) -bracketBodySolid = extrude( - outlineRegion, - length = overallBracketWidth, - symmetric = true, - tagEnd = $capEnd, - tagStart = $capStart, -) - -// Step 3: Add fillets -insideBendFillet = fillet( - bracketBodySolid, - radius = insideBendRadius, - edges = [ - { - sideFaces = [ - outlineRegion.tags.line4, - outlineRegion.tags.line3 - ] - } - ], -) - -outsideBendFillet = fillet( - insideBendFillet, - radius = insideBendRadius + sheetMetalThickness, - edges = [ - { - sideFaces = [ - outlineRegion.tags.line1, - outlineRegion.tags.line6 - ] - } - ], -) - -freeEndCornerFillets = fillet( - outsideBendFillet, - radius = halfBracketWidth, - edges = [ - { - sideFaces = [ - outlineRegion.tags.line2, - outsideBendFillet.faces.capStart - ] - }, - { - sideFaces = [ - outlineRegion.tags.line2, - outsideBendFillet.faces.capEnd - ] - }, - { - sideFaces = [ - outlineRegion.tags.line5, - outsideBendFillet.faces.capStart - ] - }, - { - sideFaces = [ - outlineRegion.tags.line5, - outsideBendFillet.faces.capEnd - ] - } - ], -) - -// Step 4: Countersunk tab hole via subtractive feature -tabHolePlane = { - origin = [sheetMetalThickness, 0mm, 0mm], - xAxis = [0, 0, 1], - yAxis = [0, 1, 0] -} -tabHoleSketch = sketch(on = tabHolePlane) { - fastenerCircle = circle(start = [var 57mm, var 3mm], center = [var 48mm, var -2mm]) - countersinkCircle = circle(start = [var 60mm, var -4mm], center = [var 51mm, var 1mm]) - - fastenerGuide = line(start = [var 47mm, var -1mm], end = [var 54mm, var 1mm], construction = true) - coincident([ - fastenerGuide.start, - fastenerCircle.center - ]) - coincident([ - fastenerGuide.end, - fastenerCircle.start - ]) - horizontal(fastenerGuide) - horizontalDistance([fastenerGuide.start, fastenerGuide.end]) == fastenerHoleDiameter / 2 - - countersinkGuide = line(start = [var 46mm, var 2mm], end = [var 58mm, var -3mm], construction = true) - coincident([ - countersinkGuide.start, - countersinkCircle.center - ]) - coincident([ - countersinkGuide.end, - countersinkCircle.start - ]) - horizontal(countersinkGuide) - horizontalDistance([ - countersinkGuide.start, - countersinkGuide.end - ]) == countersinkOuterDiameter / 2 - - coincident([ - fastenerCircle.center, - countersinkCircle.center - ]) - coincident([ - fastenerCircle.center, - [uprightTabHoleCenterOffsetFromBend, 0] - ]) -} - -countersinkOuterRadius = countersinkOuterDiameter / 2 -countersinkExitRadius = countersinkOuterRadius - sheetMetalThickness - -countersinkTopPlane = { - origin = [ - sheetMetalThickness + csgOverlap, - 0mm, - uprightTabHoleCenterOffsetFromBend - ], - xAxis = [0, 0, 1], - yAxis = [0, 1, 0] -} -countersinkBottomPlane = { - origin = [ - -csgOverlap, - 0mm, - uprightTabHoleCenterOffsetFromBend - ], - xAxis = [0, 0, 1], - yAxis = [0, 1, 0] -} - -countersinkTopSketch = sketch(on = countersinkTopPlane) { - topGuide = line(start = [var 0mm, var 0mm], end = [var 12mm, var 0mm], construction = true) - topCircle = circle(start = [var 11mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([topGuide.start, ORIGIN]) - horizontal(topGuide) - horizontalDistance([topGuide.start, topGuide.end]) == countersinkOuterRadius + csgOverlap - - coincident([topCircle.center, topGuide.start]) - coincident([topCircle.start, topGuide.end]) -} -countersinkBottomSketch = sketch(on = countersinkBottomPlane) { - bottomGuide = line(start = [var 0mm, var 0mm], end = [var 7mm, var 0mm], construction = true) - bottomCircle = circle(start = [var 7mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([bottomGuide.start, ORIGIN]) - horizontal(bottomGuide) - horizontalDistance([bottomGuide.start, bottomGuide.end]) == countersinkExitRadius - csgOverlap - - coincident([bottomCircle.center, bottomGuide.start]) - coincident([bottomCircle.start, bottomGuide.end]) -} - -countersinkTopRegion = region(segments = [countersinkTopSketch.topCircle]) -countersinkBottomRegion = region(segments = [countersinkBottomSketch.bottomCircle]) -countersinkCutter = loft([ - countersinkTopRegion, - countersinkBottomRegion -]) - -bracketWithCountersunkHole = subtract([freeEndCornerFillets], tools = [countersinkCutter]) -hiddenTabHoleSketch = hide(tabHoleSketch) -hiddenCountersinkTopSketch = hide(countersinkTopSketch) -hiddenCountersinkBottomSketch = hide(countersinkBottomSketch) - -// Step 5: Slot profile -slotProfile = sketch(on = XY) { - line1 = line(start = [var 149mm, var -7mm], end = [var 112mm, var -6mm]) - arc2 = arc(start = [var 112mm, var 7mm], end = [var 112mm, var -5mm], center = [var 111mm, var 1mm]) - coincident([line1.end, arc2.end]) - - line3 = line(start = [var 111mm, var 7mm], end = [var 149mm, var 6mm]) - coincident([arc2.start, line3.start]) - - arc4 = arc(start = [var 149mm, var -6mm], end = [var 149mm, var 6mm], center = [var 149mm, var 0mm]) - coincident([line3.end, arc4.end]) - coincident([arc4.start, line1.start]) - - horizontal(line1) - horizontal(line3) - - slotCenterline = line(start = [var 115mm, var 1mm], end = [var 149mm, var -1mm], construction = true) - coincident([slotCenterline.start, arc2.center]) - coincident([slotCenterline.end, arc4.center]) - horizontal(slotCenterline) - - leftTopGuide = line(start = [var 110mm, var 1mm], end = [var 110mm, var 8mm], construction = true) - coincident([leftTopGuide.start, arc2.center]) - coincident([leftTopGuide.end, arc2.start]) - vertical(leftTopGuide) - - leftBottomGuide = line(start = [var 112mm, var 0mm], end = [var 112mm, var -8mm], construction = true) - coincident([leftBottomGuide.start, arc2.center]) - coincident([leftBottomGuide.end, arc2.end]) - vertical(leftBottomGuide) - - rightTopGuide = line(start = [var 149mm, var 0mm], end = [var 149mm, var 8mm], construction = true) - coincident([rightTopGuide.start, arc4.center]) - coincident([rightTopGuide.end, arc4.end]) - vertical(rightTopGuide) - - rightBottomGuide = line(start = [var 149mm, var -1mm], end = [var 149mm, var -8mm], construction = true) - coincident([rightBottomGuide.start, arc4.center]) - coincident([rightBottomGuide.end, arc4.start]) - vertical(rightBottomGuide) - - horizontalDistance([ - slotCenterline.start, - slotCenterline.end - ]) == slotOverallLength - radius(arc2) == slotWidth / 2 - radius(arc4) == slotWidth / 2 - coincident([ - arc4.center, - [slotCenterOffsetFromBend, 0] - ]) -} -// Step 6: Slot cutter extrusion -slotRegion = region(segments = [slotProfile.line1, slotProfile.arc2]) -slotCutSolid = extrude(slotRegion, length = sheetMetalThickness, method = NEW) -hiddenSlotProfile = hide(slotProfile) - -// Step 7: Slot subtraction -bracketFinished = subtract([bracketWithCountersunkHole], tools = [slotCutSolid]) - -// Step 8: Material appearance -appearance( - [bracketFinished], - color = "#c8ff00", - roughness = 50, - metalness = 0, -) diff --git a/content/pages/docs/kcl-samples/bracket-with-slot/project.toml b/content/pages/docs/kcl-samples/bracket-with-slot/project.toml deleted file mode 100644 index 3ab57a20..00000000 --- a/content/pages/docs/kcl-samples/bracket-with-slot/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "9ae8eb42-16e3-40a8-a116-b2cde46468f3" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/bracket/.gitignore b/content/pages/docs/kcl-samples/bracket/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/bracket/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/bracket/main.kcl b/content/pages/docs/kcl-samples/bracket/main.kcl deleted file mode 100644 index e05bb301..00000000 --- a/content/pages/docs/kcl-samples/bracket/main.kcl +++ /dev/null @@ -1,199 +0,0 @@ -// Shelf Bracket -// This is a bracket that holds a shelf. It is made of aluminum and is designed to hold a force of 300 lbs. The bracket is 6 inches wide and the force is applied at the end of the shelf, 12 inches from the wall. The bracket has a factor of safety of 1.2. The legs of the bracket are 5 inches and 2 inches long. The thickness of the bracket is calculated from the constraints provided. -// Categories: Architecture & Construction; Mechanical Components; Parametric - -// Set units and enable experimental sketch constraints. -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define structural design inputs. -allowableStress = 35000 // psi -appliedLoad = 300 // lb applied at the end of the shelf -factorOfSafety = 1.2 - -// Define the overall bracket envelope. -bracketWidth = 5.0 -shelfLegLength = 5.0 -wallLegLength = 2.25 -shelfDepth = 12 - -// Define reference hole diameters used for simple geometric fit checks. -referenceShelfMountHoleDiameter = 0.50 -referenceWallMountHoleDiameter = 0.625 - -// Calculate the bending load and required section thickness. -bendingMoment = shelfDepth * appliedLoad -bracketThickness = sqrt(bendingMoment * factorOfSafety * 6 / (allowableStress * bracketWidth)) -insideBendRadius = 0.25 -outsideBendRadius = insideBendRadius + bracketThickness -cornerFilletRadius = 0.5 - -// Define the actual modeled hole sizes and blind depths. -shelfMountHoleDiameter = 0.5 -shelfMountHoleDepth = 1.0 -wallMountHoleDiameter = 0.8 -wallMountHoleDepth = 1.0 - -// Define hole center locations on the shelf-mount leg. -shelfMountHoleBendSideCenterX = -1.5 -shelfMountHoleTipSideCenterX = -4.0 -shelfMountHoleTopRowCenterY = 1.5 -shelfMountHoleBottomRowCenterY = -1.5 - -// Define hole center locations on the wall-mount leg. -wallMountHoleColumnCenterX = -1.5 -wallMountHoleTopRowCenterY = 1.5 -wallMountHoleBottomRowCenterY = -1.5 - -// Group the hole center coordinates into arrays for the hole operations. -shelfMountHoleCenters = [ - [ - shelfMountHoleBendSideCenterX, - shelfMountHoleTopRowCenterY - ], - [ - shelfMountHoleTipSideCenterX, - shelfMountHoleTopRowCenterY - ], - [ - shelfMountHoleBendSideCenterX, - shelfMountHoleBottomRowCenterY - ], - [ - shelfMountHoleTipSideCenterX, - shelfMountHoleBottomRowCenterY - ] -] - -wallMountHoleCenters = [ - [ - wallMountHoleColumnCenterX, - wallMountHoleTopRowCenterY - ], - [ - wallMountHoleColumnCenterX, - wallMountHoleBottomRowCenterY - ] -] - -// Create the 2D bracket side profile on the XZ plane using constrained sketch geometry. -bracketProfileSketch = sketch(on = XZ) { - line1 = line(start = [var -0.29in, var 1.23in], end = [var -0.28in, var 3.34in]) - line2 = line(start = [var 0in, var 0in], end = [var 4.69in, var 3.79in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 4.69in, var 3.79in], end = [var 4.66in, var 3.4in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 4.66in, var 3.4in], end = [var -0.39in, var -0.39in]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 1.93in, var -0.68in], end = [var -0.38in, var -2.25in]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 1.6in, var -2.15in], end = [var -0.29in, var 1.23in]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) - coincident([line2.start, ORIGIN]) - - // Lock the intended line orientations. - horizontal(line6) - horizontal(line4) - horizontal(line2) - vertical(line1) - vertical(line5) - vertical(line3) - - // Drive the profile from the design parameters. - horizontalDistance([line6.start, line6.end]) == -bracketThickness - verticalDistance([line3.end, line3.start]) == bracketThickness - horizontalDistance([line2.start, line2.end]) == shelfLegLength - verticalDistance([line1.start, line1.end]) == wallLegLength -} - -// Turn the closed sketch into a solid blank and hide the sketch. -bracketProfileRegion = region(segments = [bracketProfileSketch.line1]) -hide(bracketProfileSketch) - -bracketBlank = extrude( - bracketProfileRegion, - length = bracketWidth, - symmetric = true, - tagEnd = $bracketEndFace, - tagStart = $bracketStartFace, -) - -// Apply the inside bend radius at the elbow of the bracket. -bracketWithInsideFillet = fillet( - bracketBlank, - radius = insideBendRadius, - edges = [ - { - sideFaces = [ - bracketProfileRegion.tags.line5, - bracketProfileRegion.tags.line4 - ] - } - ], -) - -// Apply the outside bend radius around the outer corner. -bracketWithBendFillets = fillet( - bracketWithInsideFillet, - radius = outsideBendRadius, - edges = [ - { - sideFaces = [ - bracketProfileRegion.tags.line2, - bracketProfileRegion.tags.line1 - ] - } - ], -) - -// Round the four free outside corners of the extruded bracket. -bracketWithCornerFillets = fillet( - bracketWithBendFillets, - radius = cornerFilletRadius, - edges = [ - { - sideFaces = [ - bracketProfileRegion.tags.line6, - bracketEndFace - ] - }, - { - sideFaces = [ - bracketProfileRegion.tags.line3, - bracketEndFace - ] - }, - { - sideFaces = [ - bracketProfileRegion.tags.line3, - bracketStartFace - ] - }, - { - sideFaces = [ - bracketProfileRegion.tags.line6, - bracketStartFace - ] - } - ], -) - -// Drill the shelf-side mounting holes into the horizontal leg. -bracketWithShelfMountHoles = hole::holes( - bracketWithCornerFillets, - face = bracketProfileRegion.tags.line4, - cutsAt = shelfMountHoleCenters, - holeBottom = hole::flat(), - holeBody = hole::blind(depth = shelfMountHoleDepth, diameter = shelfMountHoleDiameter), - holeType = hole::simple(), -) - -// Drill the wall-side mounting holes into the vertical leg. -finalBracket = hole::holes( - bracketWithShelfMountHoles, - face = bracketProfileRegion.tags.line5, - cutsAt = wallMountHoleCenters, - holeBottom = hole::flat(), - holeBody = hole::blind(depth = wallMountHoleDepth, diameter = wallMountHoleDiameter), - holeType = hole::simple(), -) diff --git a/content/pages/docs/kcl-samples/bracket/project.toml b/content/pages/docs/kcl-samples/bracket/project.toml deleted file mode 100644 index 35e10ef6..00000000 --- a/content/pages/docs/kcl-samples/bracket/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "77b88ab4-1c0a-48eb-85c5-0e1e794d8cc6" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/c-shape-solid/.gitignore b/content/pages/docs/kcl-samples/c-shape-solid/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/c-shape-solid/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/c-shape-solid/main.kcl b/content/pages/docs/kcl-samples/c-shape-solid/main.kcl deleted file mode 100644 index 45306895..00000000 --- a/content/pages/docs/kcl-samples/c-shape-solid/main.kcl +++ /dev/null @@ -1,57 +0,0 @@ -// C-Shape Solid (Abstract Geometry Demo) -// This is a simplified geometry study that demonstrates how to create a "C" shape by subtracting a rectangular wedge from a circular ring. This base logic is foundational to models like split washers and other circular parts with a gap. -// Categories: Science & Education - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Primary dimensions -cRingOuterDiameter = 20 -cRingInnerDiameter = 10 -cRingThickness = 2 -splitGapWidth = 2 - -cRingSketch = sketch(on = XY) { - // Profile entities - innerArc = arc(start = [var 8.43mm, var 1.51mm], end = [var 6.02mm, var -3.5mm], center = [var 0mm, var 0mm]) - topBridge = line(start = [var 3.85mm, var 2.04mm], end = [var 13.07mm, var 2.21mm]) - outerArc = arc(start = [var 10.93mm, var 2.04mm], end = [var 11.09mm, var -0.8mm], center = [var 0mm, var 0mm]) - bottomBridge = line(start = [var 6.12mm, var -1.85mm], end = [var 12.97mm, var -1.28mm]) - - // Construction entities - centerline = line(start = [var 0.03mm, var 0mm], end = [var 5.92mm, var 0mm], construction = true) - lowerRadialRef = line(start = [var 6.13mm, var -1.86mm], end = [var 5.92mm, var 0mm], construction = true) - upperRadialRef = line(start = [var 6.1mm, var 1.94mm], end = [var 5.92mm, var 0mm], construction = true) - - // Anchor and connectivity - coincident([innerArc.center, ORIGIN]) - coincident([outerArc.center, innerArc.center]) - coincident([topBridge.start, innerArc.start]) - coincident([topBridge.end, outerArc.start]) - coincident([bottomBridge.start, innerArc.end]) - coincident([bottomBridge.end, outerArc.end]) - coincident([centerline.start, innerArc.center]) - coincident([ - lowerRadialRef.start, - bottomBridge.start - ]) - coincident([lowerRadialRef.end, centerline.end]) - coincident([upperRadialRef.start, innerArc.start]) - coincident([upperRadialRef.end, lowerRadialRef.end]) - // Symmetry - equalLength([upperRadialRef, lowerRadialRef]) - // Orientation - horizontal(topBridge) - horizontal(bottomBridge) - horizontal(centerline) - vertical(lowerRadialRef) - vertical(upperRadialRef) - - // Driving dimensions - verticalDistance([outerArc.end, outerArc.start]) == splitGapWidth - distance([centerline.start, upperRadialRef.start]) == cRingInnerDiameter / 2 - distance([centerline.start, outerArc.end]) == cRingOuterDiameter / 2 -} - -cRingRegion = region(segments = [cRingSketch.topBridge]) -hide(cRingSketch) -cRingSolid = extrude(cRingRegion, length = cRingThickness) diff --git a/content/pages/docs/kcl-samples/c-shape-solid/project.toml b/content/pages/docs/kcl-samples/c-shape-solid/project.toml deleted file mode 100644 index 3b4c55bf..00000000 --- a/content/pages/docs/kcl-samples/c-shape-solid/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "a19a98c5-c3d9-47f5-af62-a50f5a5404e8" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/camshaft/main.kcl b/content/pages/docs/kcl-samples/camshaft/main.kcl deleted file mode 100644 index c2241c0a..00000000 --- a/content/pages/docs/kcl-samples/camshaft/main.kcl +++ /dev/null @@ -1,214 +0,0 @@ -// Camshaft -// A camshaft is a rotating shaft with cam lobes that open and close an engine’s intake and exhaust valves at precise times. The lobe shape and timing control valve lift and duration, directly affecting engine performance and efficiency. -// Categories: Automotive & Transportation; Mechanical Components - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -valvesPerCylinder = 4 -cylinderCount = 4 -shaftDiameter = 0.97 -supportBearingWidth = 0.45 - -baseCircle = 1.34 -lobeSeparation = 112 -intakeCenterline = 108 -intakeLift = 0.235 -exhaustLift = 0.235 -intakeDuration = 242 -exhaustDuration = 246 -camHeight = 0.522 -camSpacing = 0.50 - -// Inline each lobe so its distinct valve duration remains visible in the model. -// The four tangent arcs are the exact KCL 2 equivalent of the legacy profile. -intakeSketch = sketch(on = offsetPlane(XY, offset = supportBearingWidth * 2)) { - baseArc = arc( - start = [ - var -0.583138316280in, - var 0.329923785269in - ], - end = [ - var 0.583138316280in, - var 0.329923785269in - ], - center = [var 0in, var 0in], - ) - rightFlank = arc( - start = [ - var 0.583138316280in, - var 0.329923785269in - ], - end = [ - var 0.134503674324in, - var 0.862591154386in - ], - center = [ - var -1.063568154576in, - var -0.601737909607in - ], - ) - coincident([baseArc.end, rightFlank.start]) - noseArc = arc( - start = [ - var 0.134503674324in, - var 0.862591154386in - ], - end = [ - var -0.134503674324in, - var 0.862591154386in - ], - center = [var 0in, var 0.698195640000in], - ) - coincident([rightFlank.end, noseArc.start]) - leftFlank = arc( - start = [ - var -0.134503674324in, - var 0.862591154386in - ], - end = [ - var -0.583138316280in, - var 0.329923785269in - ], - center = [ - var 1.063568154576in, - var -0.601737909607in - ], - ) - coincident([noseArc.end, leftFlank.start]) - coincident([leftFlank.end, baseArc.start]) - tangent([baseArc, rightFlank]) - tangent([rightFlank, noseArc]) - tangent([noseArc, leftFlank]) - tangent([leftFlank, baseArc]) -} -intake = extrude( - region(segments = [ - intakeSketch.baseArc, - intakeSketch.rightFlank - ]), - length = camHeight, -) - |> rotate(yaw = intakeCenterline) - -exhaustSketch = sketch(on = offsetPlane(XY, offset = supportBearingWidth * 2)) { - baseArc = arc( - start = [ - var -0.588807465484in, - var 0.319696369374in - ], - end = [ - var 0.588807465484in, - var 0.319696369374in - ], - center = [var 0in, var 0in], - ) - rightFlank = arc( - start = [ - var 0.588807465484in, - var 0.319696369374in - ], - end = [ - var 0.134503674324in, - var 0.862591154386in - ], - center = [ - var -0.981768348187in, - var -0.533056720373in - ], - ) - coincident([baseArc.end, rightFlank.start]) - noseArc = arc( - start = [ - var 0.134503674324in, - var 0.862591154386in - ], - end = [ - var -0.134503674324in, - var 0.862591154386in - ], - center = [var 0in, var 0.694424470000in], - ) - coincident([rightFlank.end, noseArc.start]) - leftFlank = arc( - start = [ - var -0.134503674324in, - var 0.862591154386in - ], - end = [ - var -0.588807465484in, - var 0.319696369374in - ], - center = [ - var 0.981768348187in, - var -0.533056720373in - ], - ) - coincident([noseArc.end, leftFlank.start]) - coincident([leftFlank.end, baseArc.start]) - tangent([baseArc, rightFlank]) - tangent([rightFlank, noseArc]) - tangent([noseArc, leftFlank]) - tangent([leftFlank, baseArc]) -} -exhaust = extrude( - region(segments = [ - exhaustSketch.baseArc, - exhaustSketch.rightFlank - ]), - length = camHeight, -) - |> rotate(yaw = intakeCenterline) - |> translate(z = camHeight + camSpacing) - |> rotate(yaw = lobeSeparation) - -fn valveCount(@i) { - return { - translate = [0, 0, i * (camHeight + camSpacing) * 2], - rotation = { - angle = lobeSeparation + 30 * i, - origin = 'global' - } - } -} - -fn cylinderPattern(@i) { - return { - translate = [ - 0, - 0, - i * (2 * (camHeight + camSpacing) * round(valvesPerCylinder / 2) + supportBearingWidth) - ], - rotation = { - angle = 360deg / cylinderCount * i, - origin = 'global' - } - } -} - -[intake, exhaust] - |> patternTransform(instances = round(valvesPerCylinder / 2), transform = valveCount) - |> patternTransform(instances = cylinderCount, transform = cylinderPattern) - -length = (2 * (camHeight + camSpacing) * round(valvesPerCylinder / 2) + supportBearingWidth) * cylinderCount + supportBearingWidth -shaftSketch = sketch(on = XY) { - shaft = circle(start = [var 0.485in, var 0in], center = [var 0in, var 0in]) -} -centerShaft = extrude(region(segments = [shaftSketch.shaft]), length) - -timingGearBlank = gear::helical( - nTeeth = 15, - module = .15, - pressureAngle = 20deg, - helixAngle = 55deg, - gearHeight = supportBearingWidth, -) -timingGearBoreSketch = sketch(on = XY) { - bore = circle(start = [var 0.485in, var 0in], center = [var 0in, var 0in]) -} -timingGearBore = extrude(region(segments = [timingGearBoreSketch.bore]), length = supportBearingWidth) -timingGear = subtract(timingGearBlank, tools = [timingGearBore]) - -hide(intakeSketch) -hide(exhaustSketch) -hide(shaftSketch) -hide(timingGearBoreSketch) diff --git a/content/pages/docs/kcl-samples/car-wheel-assembly/.gitignore b/content/pages/docs/kcl-samples/car-wheel-assembly/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/car-wheel-assembly/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/car-wheel-assembly/brake-rotor.kcl b/content/pages/docs/kcl-samples/car-wheel-assembly/brake-rotor.kcl deleted file mode 100644 index 19b7eed3..00000000 --- a/content/pages/docs/kcl-samples/car-wheel-assembly/brake-rotor.kcl +++ /dev/null @@ -1,120 +0,0 @@ -// Brake Rotor -// Vented rotor with a bell and rear friction disc. - -// Set units and version -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Import parameters -import * from "parameters.kcl" - -bellOuterFaceOffset = 1.66281in -frontDiscInnerFaceOffset = bellOuterFaceOffset - tDiscHalf -rearDiscOuterFaceOffset = frontDiscInnerFaceOffset - tVent -rotorColor = "#f0d77a" - -bellProfileSketch = sketch(on = -XY) { - line1 = line(start = [var 1.5in, var 0in], end = [var 1.5in, var -0.2in]) - line2 = line(start = [var 1.5in, var -0.2in], end = [var 3.75in, var -0.2in]) - line3 = line(start = [var 3.75in, var -0.2in], end = [var 3.93418in, var 1.3in]) - arc1 = arc(start = [var 4.13343in, var 1.28781in], end = [var 3.93418in, var 1.3in], center = [var 4.03343in, var 1.28781in]) - line4 = line(start = [var 4.13in, var 1.29in], end = [var 6.73in, var 1.3in]) - line5 = line(start = [var 6.73in, var 1.67in], end = [var 3.73in, var 1.66in]) - line6 = line(start = [var 3.73343in, var 1.66281in], end = [var 3.52925in, var 0in]) - line7 = line(start = [var 3.52in, var 0.01in], end = [var 1.49in, var 0.01in]) - line8 = line(start = [var 6.73in, var 1.3in], end = [var 6.73in, var 1.67in]) - line9 = line(start = [var 0in, var 0in], end = [var 0in, var 2.32in], construction = true) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, arc1.end]) - coincident([arc1.start, line4.start]) - coincident([line4.end, line8.start]) - coincident([line8.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line7.start]) - coincident([line7.end, line1.start]) - coincident([line9.start, ORIGIN]) - vertical(line8) - horizontal(line4) - horizontal(line5) - vertical([line9.end, ORIGIN]) - horizontalDistance([line9.start, line8.end]) == rotorDiameter / 2 - distance([line8.start, line8.end]) == tDiscHalf -} - -bellRegion = region(segments = [ - bellProfileSketch.line1, - bellProfileSketch.line2 -]) -hide([bellProfileSketch]) - -lugHoleSketch = sketch(on = XZ) { - circle1 = circle(start = [var -1.98004in, var 0in], center = [var -2.25in, var 0in]) - horizontalDistance([ORIGIN, circle1.center]) == -(lugSpacing / 2) - verticalDistance([ORIGIN, circle1.center]) == 0in - diameter(circle1) == lugThreadDiameter -} - -lugHoleRegion = region(segments = [lugHoleSketch.circle1]) -hide([lugHoleSketch]) - -bell = revolve(bellRegion, axis = Y) - |> subtract(tools = patternCircular3d( - extrude( - lugHoleRegion, - length = tBell * 4, - symmetric = true, - method = NEW, - ), - instances = lugCount, - axis = Y, - center = [0, 0, 0], - )) - |> appearance(color = rotorColor, metalness = 70, roughness = 30) - -ventPlane = offsetPlane(XZ, offset = -frontDiscInnerFaceOffset - tDiscHalf) -ventSketch = sketch(on = ventPlane) { - line1 = line(start = [var -0.125in, var 3.64in], end = [var 0.125in, var 3.64in]) - line2 = line(start = [var 0.125in, var 3.64in], end = [var 0.125in, var 6in]) - line3 = line(start = [var 0.125in, var 6in], end = [var -0.125in, var 6in]) - line4 = line(start = [var -0.125in, var 6in], end = [var -0.125in, var 3.64in]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - horizontal(line1) - vertical(line2) - horizontal(line3) - vertical(line4) - horizontalDistance([ORIGIN, line1.start]) == -(wVent / 2) - verticalDistance([ORIGIN, line1.start]) == rotorDiameter / 2 - hFrictionSurface - horizontalDistance([line1.start, line1.end]) == wVent - verticalDistance([line2.start, line2.end]) == hFrictionSurface -} - -ventRegion = region(segments = [ventSketch.line1, ventSketch.line2]) -hide([ventSketch]) - -ventSet = patternCircular3d( - extrude(ventRegion, length = -tVent, method = NEW), - instances = nVentBosses, - axis = Y, - center = [0, 0, 0], -) - |> appearance(color = rotorColor, metalness = 70, roughness = 30) - -rearDiscPlane = offsetPlane(XZ, offset = -frontDiscInnerFaceOffset - tDiscHalf - tVent) -rearDiscSketch = sketch(on = rearDiscPlane) { - circle1 = circle(start = [var 6in, var 0in], center = [var 0in, var 0in]) - circle2 = circle(start = [var 3.64in, var 0in], center = [var 0in, var 0in]) - coincident([circle1.center, ORIGIN]) - coincident([circle2.center, circle1.center]) - diameter(circle1) == rotorDiameter - diameter(circle2) == rotorDiameter - (2 * hFrictionSurface) -} - -rearDiscRegion = region(segments = [rearDiscSketch.circle1]) -rearDisc = extrude(rearDiscRegion, length = -tDiscHalf, method = NEW) - |> appearance(color = rotorColor, metalness = 70, roughness = 30) -hide([rearDiscSketch]) - -rotor = [bell, ventSet, rearDisc] diff --git a/content/pages/docs/kcl-samples/car-wheel-assembly/car-tire.kcl b/content/pages/docs/kcl-samples/car-wheel-assembly/car-tire.kcl deleted file mode 100644 index 20806a20..00000000 --- a/content/pages/docs/kcl-samples/car-wheel-assembly/car-tire.kcl +++ /dev/null @@ -1,55 +0,0 @@ -// Tire -// Solver sketch version of the full tire profile. - -// Set units and version -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Import parameters -import * from "parameters.kcl" - -tireSketch = sketch(on = XY) { - line1 = line(start = [var 12.01in, var 0in], end = [var 12.01in, var 2.51in]) - arc1 = arc(start = [var 12.01in, var 2.75in], end = [var 12.01in, var 2.51in], center = [var 12.01in, var 2.63in]) - line2 = line(start = [var 12.01in, var 2.75in], end = [var 12.01in, var 4.02in]) - arc2 = arc(start = [var 12.01in, var 4.02in], end = [var 11.1in, var 5.02in], center = [var 11.01in, var 4.02in]) - arc3 = arc(start = [var 11.1in, var 5.02in], end = [var 9in, var 4.75in], center = [var 10.66in, var 0.05in]) - line3 = line(start = [var 9in, var 4.75in], end = [var 9in, var 4.51in]) - line4 = line(start = [var 9in, var 4.51in], end = [var 9.09in, var 4.55in]) - arc4 = arc(start = [var 11.01in, var 4.18in], end = [var 9.09in, var 4.55in], center = [var 9.74in, var 2.72in]) - line5 = line(start = [var 11.01in, var 4.18in], end = [var 11.01in, var 0in]) - line6 = line(start = [var 11.01in, var 0in], end = [var 11.01in, var -4.18in]) - arc5 = arc(start = [var 9.09in, var -4.55in], end = [var 11.01in, var -4.18in], center = [var 9.74in, var -2.72in]) - line7 = line(start = [var 9.09in, var -4.55in], end = [var 9in, var -4.51in]) - line8 = line(start = [var 9in, var -4.51in], end = [var 9in, var -4.75in]) - arc6 = arc(start = [var 9in, var -4.75in], end = [var 11.1in, var -5.02in], center = [var 10.66in, var -0.05in]) - arc7 = arc(start = [var 11.1in, var -5.02in], end = [var 12.01in, var -4.02in], center = [var 11.01in, var -4.02in]) - line9 = line(start = [var 12.01in, var -4.02in], end = [var 12.01in, var -2.75in]) - arc8 = arc(start = [var 12.01in, var -2.51in], end = [var 12.01in, var -2.75in], center = [var 12.01in, var -2.63in]) - line10 = line(start = [var 12.01in, var -2.51in], end = [var 12.01in, var 0in]) - coincident([line1.end, arc1.end]) - coincident([arc1.start, line2.start]) - coincident([line2.end, arc2.start]) - coincident([arc2.end, arc3.start]) - coincident([arc3.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, arc4.end]) - coincident([arc4.start, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, arc5.end]) - coincident([arc5.start, line7.start]) - coincident([line7.end, line8.start]) - coincident([line8.end, arc6.start]) - coincident([arc6.end, arc7.start]) - coincident([arc7.end, line9.start]) - coincident([line9.end, arc8.end]) - coincident([arc8.start, line10.start]) - coincident([line10.end, line1.start]) -} - -tireRegion = region(segments = [tireSketch.line1, tireSketch.arc1]) -tireBody = revolve(tireRegion, axis = Y) -hide([tireSketch]) - -carTire = tireBody - |> appearance(color = "#0a0a0a", roughness = 20) - |> translate(y = -tBell + offset, global = true) diff --git a/content/pages/docs/kcl-samples/car-wheel-assembly/car-wheel.kcl b/content/pages/docs/kcl-samples/car-wheel-assembly/car-wheel.kcl deleted file mode 100644 index 037c10e0..00000000 --- a/content/pages/docs/kcl-samples/car-wheel-assembly/car-wheel.kcl +++ /dev/null @@ -1,187 +0,0 @@ -// Car Wheel -// A sports car wheel with a circular lug pattern and spokes. - -// Set units and version -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Import parameters -import * from "parameters.kcl" - -lugMountsSketch = sketch(on = XY) { - line1 = line(start = [var 2.25in, var 0in], end = [var 2.51997in, var 0in]) - line2 = line(start = [var 2.51997in, var 0in], end = [var 2.51997in, var -1.05in]) - line3 = line(start = [var 2.51997in, var -1.05in], end = [var 2.72244in, var -1.05in]) - line4 = line(start = [var 2.72244in, var -1.05in], end = [var 2.72244in, var -2.3in]) - line5 = line(start = [var 2.72244in, var -2.3in], end = [var 2.25in, var -2.3in]) - line6 = line(start = [var 2.25in, var -2.3in], end = [var 2.25in, var 0in]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) -} -lugMountsRegion = region(segments = [ - lugMountsSketch.line1, - lugMountsSketch.line2 -]) -lugMounts = revolve(lugMountsRegion, axis = lugMountsSketch.line6) -hide([lugMountsSketch]) - -lugMountPattern = patternCircular3d( - lugMounts, - instances = lugCount, - axis = [0, -1, 0], - center = [0, 0, 0], -) - -wheelCenterSketch = sketch(on = XY) { - line1 = line(start = [var 1.5in, var -0.2in], end = [var 1.5in, var -0.95in]) - line2 = line(start = [var 1.5in, var -0.95in], end = [var 0in, var -0.95in]) - line3 = line(start = [var 0in, var -0.95in], end = [var 0in, var -1.45in]) - arc1 = arc(start = [var 0in, var -1.45in], end = [var 1.33877in, var -1.21445in], center = [var 0in, var 2.46304in]) - line4 = line(start = [var 1.33877in, var -1.21445in], end = [var 2.09302in, var -1.21445in]) - arc2 = arc(start = [var 2.58548in, var -1.44409in], end = [var 2.09302in, var -1.21445in], center = [var 2.09302in, var -1.85731in]) - arc3 = arc(start = [var 2.58548in, var -1.44409in], end = [var 2.85806in, var -1.63495in], center = [var 3.07794in, var -1.03087in]) - line5 = line(start = [var 2.85806in, var -1.63495in], end = [var 3.32428in, var -0.2in]) - line6 = line(start = [var 3.32428in, var -0.2in], end = [var 1.5in, var -0.2in]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, arc1.start]) - coincident([arc1.end, line4.start]) - coincident([line4.end, arc2.end]) - coincident([arc2.start, arc3.start]) - coincident([arc3.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) -} -wheelCenterRegion = region(segments = [ - wheelCenterSketch.line1, - wheelCenterSketch.line2 -]) -wheelCenter = revolve(wheelCenterRegion, axis = Y) - |> subtract(tools = lugMountPattern) -hide([wheelCenterSketch]) - -rimSketch = sketch(on = XY) { - line1 = line(start = [var 9in, var -5.3437in], end = [var 9in, var -3.9187in]) - line2 = line(start = [var 9in, var -3.9187in], end = [var 8.7625in, var -3.6812in]) - line3 = line(start = [var 8.7625in, var -3.6812in], end = [var 8.7625in, var -1.3062in]) - line4 = line(start = [var 8.7625in, var -1.3062in], end = [var 9in, var -1.0687in]) - line5 = line(start = [var 9in, var -1.0687in], end = [var 9in, var 4.1563in]) - line6 = line(start = [var 9in, var 4.1563in], end = [var 9.475in, var 4.2513in]) - line7 = line(start = [var 9.475in, var 4.2513in], end = [var 9.475in, var 4.4888in]) - line8 = line(start = [var 9.475in, var 4.4888in], end = [var 9.285in, var 4.4888in]) - line9 = line(start = [var 9.285in, var 4.4888in], end = [var 9.285in, var 4.3938in]) - line10 = line(start = [var 9.285in, var 4.3938in], end = [var 8.81in, var 4.2988in]) - line11 = line(start = [var 8.81in, var 4.2988in], end = [var 8.81in, var -0.9262in]) - line12 = line(start = [var 8.81in, var -0.9262in], end = [var 8.5725in, var -1.1637in]) - line13 = line(start = [var 8.5725in, var -1.1637in], end = [var 8.5725in, var -2.1137in]) - line14 = line(start = [var 8.5725in, var -2.1137in], end = [var 7.9075in, var -2.35577in]) - line15 = line(start = [var 7.9075in, var -2.35577in], end = [var 7.9075in, var -2.55577in]) - line16 = line(start = [var 7.9075in, var -2.55577in], end = [var 8.5725in, var -3.22077in]) - line17 = line(start = [var 8.5725in, var -3.22077in], end = [var 8.5725in, var -3.83827in]) - line18 = line(start = [var 8.5725in, var -3.83827in], end = [var 8.81in, var -4.07577in]) - line19 = line(start = [var 8.81in, var -4.07577in], end = [var 8.81in, var -5.50077in]) - line20 = line(start = [var 8.81in, var -5.50077in], end = [var 9.285in, var -5.59577in]) - line21 = line(start = [var 9.285in, var -5.59577in], end = [var 9.285in, var -5.69077in]) - line22 = line(start = [var 9.285in, var -5.69077in], end = [var 9.475in, var -5.69077in]) - line23 = line(start = [var 9.475in, var -5.69077in], end = [var 9.475in, var -5.45327in]) - line24 = line(start = [var 9.475in, var -5.45327in], end = [var 9in, var -5.3437in]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line7.start]) - coincident([line7.end, line8.start]) - coincident([line8.end, line9.start]) - coincident([line9.end, line10.start]) - coincident([line10.end, line11.start]) - coincident([line11.end, line12.start]) - coincident([line12.end, line13.start]) - coincident([line13.end, line14.start]) - coincident([line14.end, line15.start]) - coincident([line15.end, line16.start]) - coincident([line16.end, line17.start]) - coincident([line17.end, line18.start]) - coincident([line18.end, line19.start]) - coincident([line19.end, line20.start]) - coincident([line20.end, line21.start]) - coincident([line21.end, line22.start]) - coincident([line22.end, line23.start]) - coincident([line23.end, line24.start]) - coincident([line24.end, line1.start]) -} -rimRegion = region(segments = [rimSketch.line1, rimSketch.line2]) -rim = revolve(rimRegion, axis = Y) -hide([rimSketch]) - -spokeSideSketch = sketch(on = XY) { - line1 = line(start = [var 2.85806in, var -1.63495in], end = [var 3.32428in, var -0.2in]) - line2 = line(start = [var 3.32428in, var -0.2in], end = [var 3.40908in, var -0.25299in]) - arc1 = arc(start = [var 3.40908in, var -0.25299in], end = [var 7.9075in, var -2.35577in], center = [var 14.2831in, var 17.153in]) - line3 = line(start = [var 7.9075in, var -2.35577in], end = [var 7.9075in, var -2.55577in]) - line4 = line(start = [var 7.9075in, var -2.55577in], end = [var 8.5725in, var -3.22077in]) - line5 = line(start = [var 8.5725in, var -3.22077in], end = [var 8.56276in, var -3.2185in]) - arc2 = arc(start = [var 2.85806in, var -1.63495in], end = [var 8.56276in, var -3.2185in], center = [var 24.672in, var 65.901in]) - coincident([line1.end, line2.start]) - coincident([line2.end, arc1.start]) - coincident([arc1.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, arc2.end]) - coincident([arc2.start, line1.start]) -} -spokeSideRegion = region(segments = [ - spokeSideSketch.line1, - spokeSideSketch.line2 -]) -spokeSide = rotate(spokeSideRegion, pitch = 90deg, global = false) - |> revolve(axis = Y) -hide([spokeSideSketch]) - -spokeFaceSketch = sketch(on = XZ) { - line1 = line(start = [var -4in, var 0.75in], end = [var -11.46in, var 5.78in]) - line2 = line(start = [var -11.32in, var 5.99in], end = [var -2.94in, var 1.56in]) - arc3 = arc(start = [var -2.94in, var 1.56in], end = [var -2.32in, var 1.69in], center = [var -2.71in, var 2.01in]) - arc6 = arc(start = [var -2.31in, var -1.7in], end = [var -2.94in, var -1.57in], center = [var -2.7in, var -2in]) - line3 = line(start = [var -2.94in, var -1.57in], end = [var -11.32in, var -5.99in]) - line4 = line(start = [var -11.46in, var -5.78in], end = [var -4in, var -0.75in]) - coincident([line2.end, arc3.start]) - coincident([arc6.end, line3.start]) - point2 = point(at = [var -2.87in, var 0in]) - arc4 = arc(start = [var -2.32in, var 1.69in], end = [var -2.31in, var -1.7in], center = [var 0in, var 0in]) - coincident([arc4.start, arc3.end]) - coincident([point2, arc4]) - coincident([arc4.center, ORIGIN]) - radius(arc4) == 2.87 - line5 = line(start = [var -11.46in, var -5.78in], end = [var -11.32in, var -5.99in]) - coincident([line5.start, line4.start]) - coincident([line5.end, line3.end]) - line6 = line(start = [var -11.32in, var 5.99in], end = [var -11.46in, var 5.78in]) - coincident([line6.start, line2.start]) - coincident([line6.end, line1.end]) - point3 = point(at = [var -3.62in, var 0in]) - arc1 = arc(start = [var -4in, var -0.75in], end = [var -4in, var 0.75in], center = [var -4.54in, var 0in]) - coincident([arc1.start, line4.end]) - coincident([point3, arc1]) - coincident([arc4.end, arc6.start]) - coincident([arc1.end, line1.start]) -} -spokeFaceRegion = region(segments = [ - spokeFaceSketch.arc1, - spokeFaceSketch.line1 -]) -spokeFace = extrude(spokeFaceRegion, length = wheelWidth * 2) -hide([spokeFaceSketch]) - -spokes = intersect([spokeFace, spokeSide]) - |> patternCircular3d(instances = spokeCount, axis = Y, center = [0, 0, 0]) - -wheel = appearance( - [wheelCenter, spokes, rim], - color = "#ededed", - metalness = 70, - roughness = 30, -) diff --git a/content/pages/docs/kcl-samples/car-wheel-assembly/lug-nut.kcl b/content/pages/docs/kcl-samples/car-wheel-assembly/lug-nut.kcl deleted file mode 100644 index aee2afb4..00000000 --- a/content/pages/docs/kcl-samples/car-wheel-assembly/lug-nut.kcl +++ /dev/null @@ -1,40 +0,0 @@ -// Lug Nut -// Solver sketch version of the lug nut profile. - -// Set units and version -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Import parameters -import * from "parameters.kcl" - -customPlane = { - origin = { - x = lugSpacing / 2, - y = (-tBell - 0.85) * 25.4, - z = 0 - }, - xAxis = { x = 1, y = 0, z = 0 }, - yAxis = { x = 0, y = -1, z = 0 } -} - -lugNutSketch = sketch(on = customPlane) { - line1 = line(start = [var 0.47in, var 0in], end = [var 0.47in, var 0.63in]) - arc1 = arc(start = [var 0.47in, var 0.63in], end = [var 0.35in, var 0.74in], center = [var 0.35in, var 0.63in]) - line2 = line(start = [var 0.35in, var 0.74in], end = [var 0in, var 0.74in]) - line3 = line(start = [var 0in, var 0.74in], end = [var 0in, var 0.38in]) - line4 = line(start = [var 0in, var 0.38in], end = [var 0.35in, var 0.38in]) - line5 = line(start = [var 0.35in, var 0.38in], end = [var 0.47in, var 0in]) - coincident([line1.end, arc1.start]) - coincident([arc1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line1.start]) -} - -lugNutRegion = region(segments = [lugNutSketch.line1, lugNutSketch.arc1]) -lugNutBody = revolve(lugNutRegion, axis = Y) -hide([lugNutSketch]) - -lugNut = lugNutBody - |> appearance(color = "#ededed", metalness = 70, roughness = 30) diff --git a/content/pages/docs/kcl-samples/car-wheel-assembly/main.kcl b/content/pages/docs/kcl-samples/car-wheel-assembly/main.kcl deleted file mode 100644 index 6b02655a..00000000 --- a/content/pages/docs/kcl-samples/car-wheel-assembly/main.kcl +++ /dev/null @@ -1,18 +0,0 @@ -// Car Wheel Assembly -// A car wheel assembly with a rotor, tire, and lug nuts. -// Categories: Automotive & Transportation; Mechanical Components - -// Set units and version -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Import parameters -import * from "parameters.kcl" - -// Import all parts into the assembly file -import "brake-rotor.kcl" as brakeRotor -import "car-tire.kcl" as carTire -import "car-wheel.kcl" as carWheel -import "lug-nut.kcl" as lugNut - -lugNut - |> patternCircular3d(instances = lugCount, axis = Y, center = [0, 0, 0]) diff --git a/content/pages/docs/kcl-samples/car-wheel-assembly/parameters.kcl b/content/pages/docs/kcl-samples/car-wheel-assembly/parameters.kcl deleted file mode 100644 index e2088a04..00000000 --- a/content/pages/docs/kcl-samples/car-wheel-assembly/parameters.kcl +++ /dev/null @@ -1,45 +0,0 @@ -// Car wheel assembly parameters - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Lugs -export lugCount = 5 -export lugSpacing = 114.3mm -export lugDiameter = 24mm -export lugThreadDiameter = lugDiameter / 1.75 -export lugLength = 5 / 8 - -// Car wheel -export spokeCount = 5 -export offset = -10mm -export wheelWidth = 9.5 -export rimDiameter = 18 - -// Brake caliper -export caliperThickness = 2.5 - -// Brake rotor -export rotorDiameter = 12 -export rotorBore = 3 -export hFrictionSurface = 2.36 -export tDiscHalf = 3 / 8 -export tVent = 3 / 8 -export wVent = 1 / 4 -export rVentFillet = 1 / 10 -export nVentBosses = 36 -export dDrillDia = 1 / 4 -export aBase = 90deg -export aSweep = 30deg -export nArcs = 12 -export tBell = 0.2 -export hBellAboveDiscFace = 1.5 -export wUndercut = 0.2 -export rDraftAngle = 83deg - -// Car tire -export tireWidth = 255mm -export aspectRatio = 30 -export overallDiameter = rimDiameter + tireWidth * aspectRatio * 0.02 -export sidewallThickness = 6mm -export treadDepth = 3mm diff --git a/content/pages/docs/kcl-samples/car-wheel-assembly/project.toml b/content/pages/docs/kcl-samples/car-wheel-assembly/project.toml deleted file mode 100644 index ab48b538..00000000 --- a/content/pages/docs/kcl-samples/car-wheel-assembly/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "8afee1d6-6415-4531-bb13-ea1e1fa195e6" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/cassette/main.kcl b/content/pages/docs/kcl-samples/cassette/main.kcl deleted file mode 100644 index a64ea282..00000000 --- a/content/pages/docs/kcl-samples/cassette/main.kcl +++ /dev/null @@ -1,159 +0,0 @@ -// Sprocket Cassette -// A sprocket cassette is a stack of sprockets on a splined hub for multiple gear ratios. -// Categories: Automotive & Transportation; Mechanical Components - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -chainPitch = 0.25in -rollerWidth = 0.09375in -rollerRadius = 0.065in -flankRadius = chainPitch - rollerRadius -shaftDiameter = 12mm -shaftRadius = shaftDiameter / 2 -splineInnerRadius = shaftRadius - 0.01in -sprocketThickness = rollerWidth / 2 -speedCount = 7 - -// Build one 20-degree spline module and pattern it into the shared cutter. -splineSeed = sketch(on = offsetPlane(XZ, offset = -speedCount * rollerWidth)) { - outerArc = arc( - start = [shaftRadius, 0mm], - end = [ - shaftRadius * cos(10deg), - shaftRadius * sin(10deg) - ], - center = [0mm, 0mm], - ) - radialIn = line( - start = [ - shaftRadius * cos(10deg), - shaftRadius * sin(10deg) - ], - end = [ - splineInnerRadius * cos(10deg), - splineInnerRadius * sin(10deg) - ], - ) - innerArc = arc( - start = [ - splineInnerRadius * cos(10deg), - splineInnerRadius * sin(10deg) - ], - end = [ - splineInnerRadius * cos(20deg), - splineInnerRadius * sin(20deg) - ], - center = [0mm, 0mm], - ) - radialOut = line( - start = [ - splineInnerRadius * cos(20deg), - splineInnerRadius * sin(20deg) - ], - end = [ - shaftRadius * cos(20deg), - shaftRadius * sin(20deg) - ], - ) -} -splineOutline = patternCircular2d( - splineSeed, - instances = 18, - center = [0mm, 0mm], - arcDegrees = 360deg, - rotateDuplicates = true, -) -splineRegion = region(segments = [ - splineSeed.outerArc, - splineSeed.radialIn -]) -splineCutter = extrude(splineRegion, length = speedCount * rollerWidth) - -fn cassetteSprocket(@speed, nTeeth) { - toothPitch = 360deg / nTeeth - pitchRadius = chainPitch / (2 * sin(180deg / nTeeth)) - rootEndAngle = 90deg + toothPitch - flankExitAngle = toothPitch + 28deg - - rootEnd = [ - pitchRadius + rollerRadius * cos(rootEndAngle), - rollerRadius * sin(rootEndAngle) - ] - flankCenter = [ - rootEnd[0] - (flankRadius * sin(toothPitch)), - rootEnd[1] + flankRadius * cos(toothPitch) - ] - flankEnd = [ - flankCenter[0] + flankRadius * sin(flankExitAngle), - flankCenter[1] - (flankRadius * cos(flankExitAngle)) - ] - - // Reflect the first half-tooth, then rotate it into the next tooth position. - flankEndMirrorNext = [ - flankEnd[0] * cos(toothPitch) + flankEnd[1] * sin(toothPitch), - flankEnd[0] * sin(toothPitch) - (flankEnd[1] * cos(toothPitch)) - ] - rootEndMirrorNext = [ - rootEnd[0] * cos(toothPitch) + rootEnd[1] * sin(toothPitch), - rootEnd[0] * sin(toothPitch) - (rootEnd[1] * cos(toothPitch)) - ] - flankCenterMirrorNext = [ - flankCenter[0] * cos(toothPitch) + flankCenter[1] * sin(toothPitch), - flankCenter[0] * sin(toothPitch) - (flankCenter[1] * cos(toothPitch)) - ] - rootEndNext = [ - rootEnd[0] * cos(toothPitch) - (rootEnd[1] * sin(toothPitch)), - rootEnd[0] * sin(toothPitch) + rootEnd[1] * cos(toothPitch) - ] - rootCenterNext = [ - pitchRadius * cos(toothPitch), - pitchRadius * sin(toothPitch) - ] - - toothSeed = sketch(on = offsetPlane(XZ, offset = -speed * rollerWidth)) { - flankOut = arc(start = rootEnd, end = flankEnd, center = flankCenter) - tip = arc(start = flankEnd, end = flankEndMirrorNext, center = [0in, 0in]) - flankIn = arc(start = flankEndMirrorNext, end = rootEndMirrorNext, center = flankCenterMirrorNext) - root = arc( - start = rootEndMirrorNext, - end = rootEndNext, - center = rootCenterNext, - direction = CW, - ) - } - toothOutline = patternCircular2d( - toothSeed, - instances = nTeeth, - center = [0in, 0in], - arcDegrees = 360deg, - rotateDuplicates = true, - ) - toothRegion = region(segments = [toothSeed.flankOut, toothSeed.tip]) - blank = extrude(toothRegion, length = sprocketThickness) - splineTool = clone(splineCutter) - sprocket = subtract(blank, tools = splineTool) - - // Each spacer fills the first half of this speed's axial interval. - spacerSketch = sketch(on = offsetPlane(XZ, offset = -(speed - 0.5) * rollerWidth)) { - outer = circle(start = [shaftRadius * 1.3, 0mm], center = [0mm, 0mm]) - inner = circle(start = [shaftRadius, 0mm], center = [0mm, 0mm]) - } - spacerRegion = region(segments = [spacerSketch.outer]) - spacer = extrude(spacerRegion, length = sprocketThickness) - |> appearance(color = "#0f0f0f") - - hide(toothSeed) - hide(spacerSketch) - return [sprocket, spacer] -} - -speed1 = cassetteSprocket(1, nTeeth = 11) -speed2 = cassetteSprocket(2, nTeeth = 15) -speed3 = cassetteSprocket(3, nTeeth = 19) -speed4 = cassetteSprocket(4, nTeeth = 23) -speed5 = cassetteSprocket(5, nTeeth = 27) -speed6 = cassetteSprocket(6, nTeeth = 31) -speed7 = cassetteSprocket(7, nTeeth = 36) - -hide(splineSeed) -hide(splineCutter) diff --git a/content/pages/docs/kcl-samples/ceiling-fan/.gitignore b/content/pages/docs/kcl-samples/ceiling-fan/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/ceiling-fan/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/ceiling-fan/main.kcl b/content/pages/docs/kcl-samples/ceiling-fan/main.kcl deleted file mode 100644 index 095fdd47..00000000 --- a/content/pages/docs/kcl-samples/ceiling-fan/main.kcl +++ /dev/null @@ -1,240 +0,0 @@ -// Ceiling Propeller -// A twisted ceiling fan geometry made using boolean cutouts -// Categories: Home & Lifestyle; Mechanical Components - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -bladeCount = 3 -bladeTwistAngle = 5deg -bladeSpanLength = 100 -bladeWidth = 17.5 -bladeBaseThickness = 10 -bladeThickness = 2 - -// Root geometry -bladeRootWidth = bladeWidth * 2 -bladeSeamLength = bladeRootWidth / 2 / cos(30deg) - -// Void cutout dimensions -voidCutoutLength = bladeSpanLength * 1.5 -voidCutoutWidth = bladeWidth * 3 -voidCutoutHeight = bladeWidth * 2 -voidCutoutBottomOffset = bladeThickness / 2 -voidCutoutBottomRun = voidCutoutLength - voidCutoutHeight - -bladeRootHalfWidth = bladeWidth -bladeNeckHalfWidth = bladeWidth / 2 -bladeTipRadius = bladeWidth / 3 -bladeTipFlatHalfWidth = bladeNeckHalfWidth - bladeTipRadius - -bladeSeamAngle = 90deg - (360deg / bladeCount / 2) -bladeNeckAngle = bladeSeamAngle + 95deg - -bladeSeamRise = bladeRootHalfWidth * tan(bladeSeamAngle) -bladeNeckRise = (bladeRootHalfWidth - bladeNeckHalfWidth) * tan(180deg - bladeNeckAngle) -bladeNeckY = bladeSeamRise + bladeNeckRise -bladeSpanTopY = bladeNeckY + bladeSpanLength - bladeTipRadius -bladeTipY = bladeSpanTopY + bladeTipRadius - -bladePlane = offsetPlane(XY, offset = -bladeBaseThickness / 2) - -// Step 1: sketch the same closed blade footprint, but with sketch-solve constraints. -bladeProfile = sketch(on = bladePlane) { - rootSeamRight = line(start = [var 0mm, var 0mm], end = [var 17.5mm, var 10.1mm]) - rootNeckRight = line(start = [var 17.5mm, var 10.1mm], end = [var 8.75mm, var 22.6mm]) - spanRight = line(start = [var 8.75mm, var 22.6mm], end = [var 8.75mm, var 116.8mm]) - tipArcRight = arc(start = [var 8.75mm, var 116.8mm], end = [var 2.92mm, var 122.6mm], center = [var 2.92mm, var 116.8mm]) - tipFlatRight = line(start = [var 2.92mm, var 122.6mm], end = [var 0mm, var 122.6mm]) - tipFlatLeft = line(start = [var 0mm, var 122.6mm], end = [var -2.92mm, var 122.6mm]) - tipArcLeft = arc(start = [var -2.92mm, var 122.6mm], end = [var -8.75mm, var 116.8mm], center = [var -2.92mm, var 116.8mm]) - spanLeft = line(start = [var -8.75mm, var 116.8mm], end = [var -8.75mm, var 22.6mm]) - rootNeckLeft = line(start = [var -8.75mm, var 22.6mm], end = [var -17.5mm, var 10.1mm]) - rootSeamLeft = line(start = [var -17.5mm, var 10.1mm], end = [var 0mm, var 0mm]) - - bladeAxisBase = line(start = [var 0mm, var 0mm], end = [var 0mm, var 10.1mm], construction = true) - bladeAxisNeck = line(start = [var 0mm, var 10.1mm], end = [var 0mm, var 22.6mm], construction = true) - bladeAxisSpan = line(start = [var 0mm, var 22.6mm], end = [var 0mm, var 116.8mm], construction = true) - bladeAxisTip = line(start = [var 0mm, var 116.8mm], end = [var 0mm, var 122.6mm], construction = true) - rootGuideRight = line(start = [var 0mm, var 10.1mm], end = [var 17.5mm, var 10.1mm], construction = true) - rootGuideLeft = line(start = [var -17.5mm, var 10.1mm], end = [var 0mm, var 10.1mm], construction = true) - neckGuideRight = line(start = [var 0mm, var 22.6mm], end = [var 8.75mm, var 22.6mm], construction = true) - neckGuideLeft = line(start = [var -8.75mm, var 22.6mm], end = [var 0mm, var 22.6mm], construction = true) - tipCenterGuideRight = line(start = [var 0mm, var 116.8mm], end = [var 2.92mm, var 116.8mm], construction = true) - tipCenterGuideLeft = line(start = [var -2.92mm, var 116.8mm], end = [var 0mm, var 116.8mm], construction = true) - - coincident([rootSeamRight.end, rootNeckRight.start]) - coincident([rootNeckRight.end, spanRight.start]) - coincident([spanRight.end, tipArcRight.start]) - coincident([tipArcRight.end, tipFlatRight.start]) - coincident([tipFlatRight.end, tipFlatLeft.start]) - coincident([tipFlatLeft.end, tipArcLeft.start]) - coincident([tipArcLeft.end, spanLeft.start]) - coincident([spanLeft.end, rootNeckLeft.start]) - coincident([rootNeckLeft.end, rootSeamLeft.start]) - coincident([rootSeamLeft.end, rootSeamRight.start]) - - coincident([bladeAxisBase.start, ORIGIN]) - coincident([bladeAxisBase.end, bladeAxisNeck.start]) - coincident([bladeAxisNeck.end, bladeAxisSpan.start]) - coincident([bladeAxisSpan.end, bladeAxisTip.start]) - coincident([ - rootGuideRight.start, - bladeAxisBase.end - ]) - coincident([rootGuideLeft.end, bladeAxisBase.end]) - coincident([ - neckGuideRight.start, - bladeAxisNeck.end - ]) - coincident([neckGuideLeft.end, bladeAxisNeck.end]) - coincident([ - tipCenterGuideRight.start, - bladeAxisSpan.end - ]) - coincident([ - tipCenterGuideLeft.end, - bladeAxisSpan.end - ]) - - coincident([ - rootSeamRight.start, - bladeAxisBase.start - ]) - coincident([rootSeamRight.end, rootGuideRight.end]) - coincident([rootNeckRight.end, neckGuideRight.end]) - coincident([ - tipArcRight.center, - tipCenterGuideRight.end - ]) - coincident([tipFlatRight.end, bladeAxisTip.end]) - coincident([ - tipArcLeft.center, - tipCenterGuideLeft.start - ]) - coincident([spanLeft.end, neckGuideLeft.start]) - coincident([ - rootSeamLeft.start, - rootGuideLeft.start - ]) - - vertical(bladeAxisBase) - vertical(bladeAxisNeck) - vertical(bladeAxisSpan) - vertical(bladeAxisTip) - horizontal(rootGuideRight) - horizontal(rootGuideLeft) - horizontal(neckGuideRight) - horizontal(neckGuideLeft) - horizontal(tipCenterGuideRight) - horizontal(tipCenterGuideLeft) - vertical(spanRight) - vertical(spanLeft) - horizontal(tipFlatRight) - horizontal(tipFlatLeft) - tangent([spanRight, tipArcRight]) - tangent([tipArcRight, tipFlatRight]) - tangent([tipFlatLeft, tipArcLeft]) - tangent([tipArcLeft, spanLeft]) - - verticalDistance([bladeAxisBase.start, bladeAxisBase.end]) == bladeSeamRise - verticalDistance([bladeAxisNeck.start, bladeAxisNeck.end]) == bladeNeckRise - verticalDistance([bladeAxisSpan.start, bladeAxisSpan.end]) == bladeSpanLength - bladeTipRadius - verticalDistance([bladeAxisTip.start, bladeAxisTip.end]) == bladeTipRadius - horizontalDistance([ - rootGuideRight.start, - rootGuideRight.end - ]) == bladeRootHalfWidth - horizontalDistance([rootGuideLeft.start, rootGuideLeft.end]) == bladeRootHalfWidth - horizontalDistance([ - neckGuideRight.start, - neckGuideRight.end - ]) == bladeNeckHalfWidth - horizontalDistance([neckGuideLeft.start, neckGuideLeft.end]) == bladeNeckHalfWidth - horizontalDistance([ - tipCenterGuideRight.start, - tipCenterGuideRight.end - ]) == bladeTipFlatHalfWidth - horizontalDistance([ - tipCenterGuideLeft.start, - tipCenterGuideLeft.end - ]) == bladeTipFlatHalfWidth -} - -// Step 2: extrude the solved blade blank. -bladeRegion = region(segments = [bladeProfile.rootSeamRight]) -bladeSolid = extrude(bladeRegion, length = bladeBaseThickness) -hide(bladeProfile) - -// Step 3: sketch the first void-cut profile on the YZ plane in sketch-solve form. -voidProfile = sketch(on = YZ) { - bottomEdge = line(start = [var 150mm, var 1mm], end = [var 35mm, var 1mm]) - innerArc = arc(start = [var 0mm, var 36mm], end = [var 35mm, var 1mm], center = [var 35mm, var 36mm]) - topEdge = line(start = [var 0mm, var 36mm], end = [var 150mm, var 36mm]) - outerEdge = line(start = [var 150mm, var 36mm], end = [var 150mm, var 1mm]) - baseOffsetGuide = line(start = [var 0mm, var 0mm], end = [var 0mm, var 1mm], construction = true) - arcRiseGuide = line(start = [var 0mm, var 1mm], end = [var 0mm, var 36mm], construction = true) - radiusGuide = line(start = [var 0mm, var 36mm], end = [var 35mm, var 36mm], construction = true) - - coincident([bottomEdge.end, innerArc.end]) - coincident([innerArc.start, topEdge.start]) - coincident([topEdge.end, outerEdge.start]) - coincident([outerEdge.end, bottomEdge.start]) - - coincident([baseOffsetGuide.start, ORIGIN]) - coincident([ - baseOffsetGuide.end, - arcRiseGuide.start - ]) - coincident([arcRiseGuide.end, topEdge.start]) - coincident([radiusGuide.start, arcRiseGuide.end]) - coincident([radiusGuide.end, innerArc.center]) - - vertical(baseOffsetGuide) - vertical(arcRiseGuide) - horizontal(radiusGuide) - horizontal(bottomEdge) - horizontal(topEdge) - vertical(outerEdge) - tangent([bottomEdge, innerArc]) - verticalDistance([ - baseOffsetGuide.start, - baseOffsetGuide.end - ]) == voidCutoutBottomOffset - - verticalDistance([arcRiseGuide.start, arcRiseGuide.end]) == voidCutoutHeight - horizontalDistance([topEdge.start, topEdge.end]) == voidCutoutLength - horizontalDistance([bottomEdge.start, bottomEdge.end]) == -voidCutoutBottomRun - verticalDistance([outerEdge.start, outerEdge.end]) == -voidCutoutHeight -} - -// Step 4: extrude the first cutter and twist it. -voidRegion = region(segments = [voidProfile.bottomEdge]) -voidCutoutOne = extrude(voidRegion, length = voidCutoutWidth, symmetric = true) - |> rotate(roll = 0, pitch = bladeTwistAngle, yaw = 0) -hide(voidProfile) - -// Step 5: mirror the second cutter to the opposite side. -voidCutoutTwo = clone(voidCutoutOne) - |> rotate(roll = 0, pitch = 180, yaw = 0) - -// Step 6: subtract the first cutter from the blade blank. -hiddenBladeSolid = hide(bladeSolid) -hiddenVoidCutoutOne = hide(voidCutoutOne) -bladeWithVoidOne = subtract([hiddenBladeSolid], tools = [hiddenVoidCutoutOne]) - -// Step 7: subtract the mirrored cutter to form the finished single blade. -hiddenBladeWithVoidOne = hide(bladeWithVoidOne) -hiddenVoidCutoutTwo = hide(voidCutoutTwo) -bladeWithVoids = subtract([hiddenBladeWithVoidOne], tools = [hiddenVoidCutoutTwo]) - -// Step 8: circular-pattern the finished blade into the final fan. -ceilingFan = patternCircular3d( - bladeWithVoids, - instances = bladeCount, - axis = [0, 0, 1], - center = [0, 0, 0], -) - -ceilingFan diff --git a/content/pages/docs/kcl-samples/ceiling-fan/project.toml b/content/pages/docs/kcl-samples/ceiling-fan/project.toml deleted file mode 100644 index 8b08fe89..00000000 --- a/content/pages/docs/kcl-samples/ceiling-fan/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "c9c90911-9dce-4bc7-9d98-b55808fc63fb" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/clock/main.kcl b/content/pages/docs/kcl-samples/clock/main.kcl deleted file mode 100644 index 902650a8..00000000 --- a/content/pages/docs/kcl-samples/clock/main.kcl +++ /dev/null @@ -1,491 +0,0 @@ -// Clock -// A clock with roman numerals -// Categories: Home & Lifestyle - -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -// Define parameters -clockDiameter = 500 -clockThickness = 50 -minuteHandLength = 100 -nubDiameter = 30 -numHeight = 10 -minuteHandWidth = 25 -hourHandWidth = 25 -hourHandLargeDiameter = 230 -minuteHandLargeDiameter = 310 -filletRadius = 5 -ridgeThickness = 10 -numberThickness = 10 - -// Calculated parameters -ridgeDiameter = clockDiameter - 50 -hourHandArmLength = clockDiameter / 2 * .25 -minuteHandArmLength = clockDiameter / 2 * .40 - -// Add assert for clockDiameter -assert(clockDiameter, isGreaterThan = 450, error = "clock diameter needs to be greater than 400") - -// What time is it? -hour = 9 -minute = 29 - -// Calculate hand angles -hourHandAngle = 90deg - (hour * 30deg) -minuteHandAngle = 90deg - (minute * 6deg) - -// Create the clock body -profile001 = sketch(on = XY) { - circle1 = circle(start = [var 250mm, var 0mm], center = [var 0mm, var 0mm]) -} - -region001 = region(segments = [profile001.circle1]) -clockBody = extrude(region001, length = clockThickness, tagStart = $capStart001) - |> fillet( - radius = filletRadius, - edges = [ - { - sideFaces = [region001.tags.circle1, capStart001] - } - ], - ) - -// Create the ridge as one annular region on the body. The inner loop removes -// the center before extrusion, so this does not need a cutter solid or CSG. -profile002 = sketch(on = faceOf(clockBody, face = END)) { - outerCircle = circle(start = [var 250mm, var 0mm], center = [var 0mm, var 0mm]) - innerCircle = circle(start = [var 225mm, var 0mm], center = [var 0mm, var 0mm]) -} -region002 = region(segments = [profile002.outerCircle]) -clockRidge = extrude(region002, length = ridgeThickness, tagEnd = $capEnd001) - |> fillet( - radius = filletRadius, - edges = [ - { - sideFaces = [region002.tags.outerCircle, capEnd001] - } - ], - ) - |> appearance(color = "#ab4321") - -// Create an object that has all of the x and y starting positions of every number -numberObject = { - // one = { i = [90, 160] }, - one = { - i = [ - clockDiameter / 2 * 3 / 4 * cos(60deg), - clockDiameter / 2 * 3 / 4 * sin(60deg) - ] - }, - two = { - i = [ - clockDiameter / 2 * 3 / 4 * cos(30deg) - 10, - clockDiameter / 2 * 3 / 4 * sin(30deg) - ], - i2 = [ - clockDiameter / 2 * 3 / 4 * cos(30deg) + 5, - clockDiameter / 2 * 3 / 4 * sin(30deg) - ] - }, - three = { - i = [ - clockDiameter / 2 * 3 / 4 * cos(0) - 15, - clockDiameter / 2 * 3 / 4 * sin(0) - ], - i2 = [ - clockDiameter / 2 * 3 / 4 * cos(0), - clockDiameter / 2 * 3 / 4 * sin(0) - ], - i3 = [ - clockDiameter / 2 * 3 / 4 * cos(0) + 15, - clockDiameter / 2 * 3 / 4 * sin(0) - ] - }, - four = { - i = [ - clockDiameter / 2 * 3 / 4 * cos(-30deg) - 10, - clockDiameter / 2 * 3 / 4 * sin(-30deg) - ], - v = [ - clockDiameter / 2 * 3 / 4 * cos(-30deg) + 13, - clockDiameter / 2 * 3 / 4 * sin(-30deg) - ] - }, - five = { - v = [ - clockDiameter / 2 * 3 / 4 * cos(-60deg), - clockDiameter / 2 * 3 / 4 * sin(-60deg) - ] - }, - six = { - v = [ - clockDiameter / 2 * 3 / 4 * cos(-90deg) - 10, - clockDiameter / 2 * 3 / 4 * sin(-90deg) - ], - i = [ - clockDiameter / 2 * 3 / 4 * cos(-90deg) + 12, - clockDiameter / 2 * 3 / 4 * sin(-90deg) - ] - }, - seven = { - v = [ - clockDiameter / 2 * 3 / 4 * cos(-120deg) - 15, - clockDiameter / 2 * 3 / 4 * sin(-120deg) - ], - i = [ - clockDiameter / 2 * 3 / 4 * cos(-120deg) + 5, - clockDiameter / 2 * 3 / 4 * sin(-120deg) - ], - i2 = [ - clockDiameter / 2 * 3 / 4 * cos(-120deg) + 20, - clockDiameter / 2 * 3 / 4 * sin(-120deg) - ] - }, - eight = { - v = [ - clockDiameter / 2 * 3 / 4 * cos(-150deg) - 10, - clockDiameter / 2 * 3 / 4 * sin(-150deg) - ], - i = [ - clockDiameter / 2 * 3 / 4 * cos(-150deg) + 10, - clockDiameter / 2 * 3 / 4 * sin(-150deg) - ], - i2 = [ - clockDiameter / 2 * 3 / 4 * cos(-150deg) + 25, - clockDiameter / 2 * 3 / 4 * sin(-150deg) - ], - i3 = [ - clockDiameter / 2 * 3 / 4 * cos(-150deg) + 40, - clockDiameter / 2 * 3 / 4 * sin(-150deg) - ] - }, - nine = { - i = [ - clockDiameter / 2 * 3 / 4 * cos(180deg) - 15, - clockDiameter / 2 * 3 / 4 * sin(180deg) - ], - x = [ - clockDiameter / 2 * 3 / 4 * cos(180deg) + 15, - clockDiameter / 2 * 3 / 4 * sin(180deg) - ] - }, - ten = { - x = [ - clockDiameter / 2 * 3 / 4 * cos(150deg) + 5, - clockDiameter / 2 * 3 / 4 * sin(150deg) - ] - }, - eleven = { - x = [ - clockDiameter / 2 * 3 / 4 * cos(120deg), - clockDiameter / 2 * 3 / 4 * sin(120deg) - ], - i = [ - clockDiameter / 2 * 3 / 4 * cos(120deg) + 10, - clockDiameter / 2 * 3 / 4 * sin(120deg) - ] - }, - twelve = { - x = [ - clockDiameter / 2 * 3 / 4 * cos(90deg) - 10, - clockDiameter / 2 * 3 / 4 * sin(90deg) - ], - i = [ - clockDiameter / 2 * 3 / 4 * cos(90deg) + 5, - clockDiameter / 2 * 3 / 4 * sin(90deg) - ], - i2 = [ - clockDiameter / 2 * 3 / 4 * cos(90deg) + 20, - clockDiameter / 2 * 3 / 4 * sin(90deg) - ] - } -} - -// Build each Roman-numeral glyph once, then clone and translate it. This keeps -// the function calls parametric without relying on sketch-v1 inside functions. -iGlyphSketch = sketch(on = offsetPlane(XY, offset = clockThickness)) { - line1 = line(start = [var -4mm, var 20mm], end = [var 4mm, var 20mm]) - line2 = line(start = [var 4mm, var 20mm], end = [var 4mm, var -20mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 4mm, var -20mm], end = [var -4mm, var -20mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -4mm, var -20mm], end = [var -4mm, var 20mm]) - coincident([line3.end, line4.start]) -} -iGlyph = extrude(region(segments = [iGlyphSketch.line1, iGlyphSketch.line2]), length = numberThickness) - |> appearance(color = "#140f0f") - -xGlyphSketch = sketch(on = offsetPlane(XY, offset = clockThickness)) { - line1 = line(start = [var -20mm, var 20mm], end = [var -13.333333333mm, var 20mm]) - line2 = line(start = [var -13.333333333mm, var 20mm], end = [var -8.480396876mm, var 6.666666667mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var -8.480396876mm, var 6.666666667mm], end = [var -3.62746042mm, var 20mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -3.62746042mm, var 20mm], end = [var 3.039206247mm, var 20mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 3.039206247mm, var 20mm], end = [var -4.240198438mm, var 0mm]) - coincident([line4.end, line5.start]) - line6 = line(start = [var -4.240198438mm, var 0mm], end = [var 3.039206247mm, var -20mm]) - coincident([line5.end, line6.start]) - line7 = line(start = [var 3.039206247mm, var -20mm], end = [var -3.62746042mm, var -20mm]) - coincident([line6.end, line7.start]) - line8 = line(start = [var -3.62746042mm, var -20mm], end = [var -8.480396876mm, var -6.666666667mm]) - coincident([line7.end, line8.start]) - line9 = line(start = [var -8.480396876mm, var -6.666666667mm], end = [var -13.333333333mm, var -20mm]) - coincident([line8.end, line9.start]) - line10 = line(start = [var -13.333333333mm, var -20mm], end = [var -20mm, var -20mm]) - coincident([line9.end, line10.start]) - line11 = line(start = [var -20mm, var -20mm], end = [var -12.720595315mm, var 0mm]) - coincident([line10.end, line11.start]) - line12 = line(start = [var -12.720595315mm, var 0mm], end = [var -20mm, var 20mm]) - coincident([line11.end, line12.start]) -} -xGlyph = extrude(region(segments = [xGlyphSketch.line1, xGlyphSketch.line2]), length = numberThickness) - |> appearance(color = "#140f0f") - -vGlyphSketch = sketch(on = offsetPlane(XY, offset = clockThickness)) { - line1 = line(start = [var -12.5mm, var 20mm], end = [var -4.166666667mm, var 20mm]) - line2 = line(start = [var -4.166666667mm, var 20mm], end = [var 0mm, var 0mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 0mm, var 0mm], end = [var 4.166666667mm, var 20mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 4.166666667mm, var 20mm], end = [var 12.5mm, var 20mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 12.5mm, var 20mm], end = [var 0mm, var -20mm]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 0mm, var -20mm], end = [var -12.5mm, var 20mm]) - coincident([line5.end, line6.start]) -} -vGlyph = extrude(region(segments = [vGlyphSketch.line1, vGlyphSketch.line2]), length = numberThickness) - |> appearance(color = "#140f0f") - -fn letterI(startX, startY) { - return clone(iGlyph) - |> translate(x = startX, y = startY) -} -fn letterX(startX, startY) { - return clone(xGlyph) - |> translate(x = startX, y = startY) -} -fn letterV(startX, startY) { - return clone(vGlyph) - |> translate(x = startX, y = startY) -} - -// Create the numbers on the face of the clock - -// 1 // -letterI(startX = numberObject.one.i[0], startY = numberObject.one.i[1]) - -// 2 // -letterI(startX = numberObject.two.i[0], startY = numberObject.two.i[1]) -letterI(startX = numberObject.two.i2[0], startY = numberObject.two.i2[1]) - -// 3 // -letterI(startX = numberObject.three.i[0], startY = numberObject.three.i[1]) -letterI(startX = numberObject.three.i2[0], startY = numberObject.three.i2[1]) -letterI(startX = numberObject.three.i3[0], startY = numberObject.three.i3[1]) - -// 4 // -letterI(startX = numberObject.four.i[0], startY = numberObject.four.i[1]) -letterV(startX = numberObject.four.v[0], startY = numberObject.four.v[1]) - -// 5 // -letterV(startX = numberObject.five.v[0], startY = numberObject.five.v[1]) - -// 6 // -letterV(startX = numberObject.six.v[0], startY = numberObject.six.v[1]) -letterI(startX = numberObject.six.i[0], startY = numberObject.six.i[1]) - -// 7 // -letterV(startX = numberObject.seven.v[0], startY = numberObject.seven.v[1]) -letterI(startX = numberObject.seven.i[0], startY = numberObject.seven.i[1]) -letterI(startX = numberObject.seven.i2[0], startY = numberObject.seven.i2[1]) - -// 8 // -letterV(startX = numberObject.eight.v[0], startY = numberObject.eight.v[1]) -letterI(startX = numberObject.eight.i[0], startY = numberObject.eight.i[1]) -letterI(startX = numberObject.eight.i2[0], startY = numberObject.eight.i2[1]) -letterI(startX = numberObject.eight.i3[0], startY = numberObject.eight.i3[1]) - -// 9 // -letterI(startX = numberObject.nine.i[0], startY = numberObject.nine.i[1]) -letterX(startX = numberObject.nine.x[0], startY = numberObject.nine.x[1]) - -// 10 // -letterX(startX = numberObject.ten.x[0], startY = numberObject.ten.x[1]) - -// 11 // -letterX(startX = numberObject.eleven.x[0], startY = numberObject.eleven.x[1]) -letterI(startX = numberObject.eleven.i[0], startY = numberObject.eleven.i[1]) - -// 12 // -letterX(startX = numberObject.twelve.x[0], startY = numberObject.twelve.x[1]) -letterI(startX = numberObject.twelve.i[0], startY = numberObject.twelve.i[1]) -letterI(startX = numberObject.twelve.i2[0], startY = numberObject.twelve.i2[1]) -hide(iGlyph) -hide(xGlyph) -hide(vGlyph) - -// Create nub for the minute and hour hands -sketch002 = sketch(on = faceOf(clockBody, face = END)) { - circle1 = circle(start = [var 15mm, var 0mm], center = [var 0mm, var 0mm]) -} -region004 = region(segments = [sketch002.circle1]) -nub = extrude(region004, length = numHeight) - -// Create the hour hand -profile007 = sketch(on = offsetPlane(XY, offset = 55)) { - arc1 = arc( - start = [ - var -19.381160304mm, - var -7.054165456mm - ], - end = [var -19.381160304mm, var 7.054165456mm], - center = [var 0mm, var 0mm], - ) - line2 = line(start = [var -19.381160304mm, var 7.054165456mm], end = [var -81.881160304mm, var 7.054165456mm]) - coincident([arc1.end, line2.start]) - line3 = line( - start = [var -81.881160304mm, var 7.054165456mm], - end = [ - var -81.881160304mm, - var 19.554165456mm - ], - ) - coincident([line2.end, line3.start]) - line4 = line( - start = [ - var -81.881160304mm, - var 19.554165456mm - ], - end = [var -115mm, var 0mm], - ) - coincident([line3.end, line4.start]) - line5 = line( - start = [var -115mm, var 0mm], - end = [ - var -81.506176117mm, - var -18.904673793mm - ], - ) - coincident([line4.end, line5.start]) - line6 = line( - start = [ - var -81.506176117mm, - var -18.904673793mm - ], - end = [ - var -81.506176117mm, - var -6.404673793mm - ], - ) - coincident([line5.end, line6.start]) - line7 = line( - start = [ - var -81.506176117mm, - var -6.404673793mm - ], - end = [ - var -19.381160304mm, - var -7.054165456mm - ], - ) - coincident([line6.end, line7.start]) - bore = circle(start = [var 15mm, var 0mm], center = [var 0mm, var 0mm]) -} -region005 = region(segments = [profile007.arc1, profile007.line2]) -hourHand = extrude(region005, length = 5) - |> appearance(color = "#404040") - -// create the minute hand -profile009 = sketch(on = offsetPlane(XY, offset = 50)) { - arc1 = arc( - start = [var 9.041404903mm, var -18.537627205mm], - end = [ - var -4.989639097mm, - var -20.012349354mm - ], - center = [var 0mm, var 0mm], - ) - line2 = line( - start = [ - var -4.989639097mm, - var -20.012349354mm - ], - end = [var 5.46320723mm, var -119.464538891mm], - ) - coincident([arc1.end, line2.start]) - line3 = line( - start = [var 5.46320723mm, var -119.464538891mm], - end = [ - var -6.968316462mm, - var -120.771144682mm - ], - ) - coincident([line2.end, line3.start]) - line4 = line( - start = [ - var -6.968316462mm, - var -120.771144682mm - ], - end = [ - var 16.201911806mm, - var -154.150893782mm - ], - ) - coincident([line3.end, line4.start]) - line5 = line( - start = [ - var 16.201911806mm, - var -154.150893782mm - ], - end = [ - var 33.524508365mm, - var -117.39501294mm - ], - ) - coincident([line4.end, line5.start]) - line6 = line( - start = [ - var 33.524508365mm, - var -117.39501294mm - ], - end = [ - var 21.092984673mm, - var -118.701618731mm - ], - ) - coincident([line5.end, line6.start]) - line7 = line( - start = [ - var 21.092984673mm, - var -118.701618731mm - ], - end = [var 9.041404903mm, var -18.537627205mm], - ) - coincident([line6.end, line7.start]) - bore = circle(start = [var 15mm, var 0mm], center = [var 0mm, var 0mm]) -} -region007 = region(segments = [profile009.arc1, profile009.line2]) -minuteHand = extrude(region007, length = 5) - |> appearance(color = "#404040") - -// Define parameters of the screw slot for hanging the clock -screwHeadDiameter = 9.53 -screwTolerance = .5 -slotWidth = (screwHeadDiameter + screwTolerance) / 2 -slotLength = 40 - -// Create the screw slot directly on the back face. -sketch008 = sketch(on = faceOf(clockBody, face = START)) { - line1 = line(start = [var -2.5075mm, var 200mm], end = [var -2.5075mm, var 160mm]) - arc2 = arc(start = [var -2.5075mm, var 160mm], end = [var 2.7575mm, var 160mm], center = [var 0.125mm, var 155.440376249mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 2.7575mm, var 160mm], end = [var 2.7575mm, var 200mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var 2.7575mm, var 200mm], end = [var -2.5075mm, var 200mm], center = [var 0.125mm, var 200mm]) - coincident([line3.end, arc4.start]) -} -region009 = region(segments = [sketch008.line1, sketch008.arc2]) -extrude(region009, length = -20) diff --git a/content/pages/docs/kcl-samples/coilover-assembly/.gitignore b/content/pages/docs/kcl-samples/coilover-assembly/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/coilover-assembly/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/coilover-assembly/coilover-bottom.kcl b/content/pages/docs/kcl-samples/coilover-assembly/coilover-bottom.kcl deleted file mode 100644 index 9133aa56..00000000 --- a/content/pages/docs/kcl-samples/coilover-assembly/coilover-bottom.kcl +++ /dev/null @@ -1,242 +0,0 @@ -// Coilover Bottom -// Part consists of a 70 mm diameter retainer plate with a cylindrical lower mount body below it, and a eye-end mount (or hole) at the bottom. Above the retainer plate, there is a cylindrical damper body with a hole through its length that allows a piston shaft to pass through it when included in the coilover assembly. - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Import parameters -import * from "parameters.kcl" - -// Retainer Plate -retainerPlateProfile = sketch(on = XY) { - anchor = line(start = [var 0mm, var 0mm], end = [var 35mm, var 0mm], construction = true) - circle1 = circle(start = [var 35mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([anchor.start, ORIGIN]) - coincident([anchor.end, [retainerPlateRadius, 0mm]]) - horizontal(anchor) - - coincident([circle1.center, anchor.start]) - coincident([circle1.start, anchor.end]) -} -region001 = region(segments = [retainerPlateProfile.circle1]) -retainerPlateExtrude = extrude(region001, length = retainerPlateLength, tagStart = $capStart001) - |> chamfer( - length = retainerPlateChamfer, - edges = [ - { - sideFaces = [region001.tags.circle1, capStart001] - } - ], - ) - -hide(retainerPlateProfile) - -baseSeatingPlane = planeOf(retainerPlateExtrude, face = START) -baseSeatingProfile = sketch(on = baseSeatingPlane) { - anchor = line(start = [var 0mm, var 0mm], end = [var 27.5mm, var 0mm], construction = true) - circle1 = circle(start = [var 27.5mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([anchor.start, ORIGIN]) - coincident([anchor.end, [baseSeatingRadius, 0mm]]) - horizontal(anchor) - - coincident([circle1.center, anchor.start]) - coincident([circle1.start, anchor.end]) -} -region002 = region(segments = [baseSeatingProfile.circle1]) -baseSeatingExtrude = extrude(region002, length = baseSeatingLength) - -hide(baseSeatingProfile) - -// Lower Mount -lowerMountPlane = planeOf(baseSeatingExtrude, face = END) -lowerMountProfile = sketch(on = lowerMountPlane) { - anchor = line(start = [var 0mm, var 0mm], end = [var 19mm, var 0mm], construction = true) - circle1 = circle(start = [var 19mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([anchor.start, ORIGIN]) - coincident([anchor.end, [lowerMountRadius, 0mm]]) - horizontal(anchor) - - coincident([circle1.center, anchor.start]) - coincident([circle1.start, anchor.end]) -} -region003 = region(segments = [lowerMountProfile.circle1]) -lowerMountExtrude = extrude(region003, length = lowerMountLength, tagEnd = $capEnd001) - |> chamfer( - length = lowerMountChamfer, - edges = [ - { - sideFaces = [region003.tags.circle1, capEnd001] - } - ], - ) - -hide(lowerMountProfile) - -// Eye End for Lower Mount -eyeEndPlane = planeOf(lowerMountExtrude, face = END) -eyeEndProfile = sketch(on = eyeEndPlane) { - anchor = line(start = [var 0mm, var 0mm], end = [var 12.5mm, var 0mm], construction = true) - circle1 = circle(start = [var 12.5mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([anchor.start, ORIGIN]) - coincident([anchor.end, [eyeEndMountRadius, 0mm]]) - horizontal(anchor) - - coincident([circle1.center, anchor.start]) - coincident([circle1.start, anchor.end]) -} -region004 = region(segments = [eyeEndProfile.circle1]) -eyeEndExtrude = extrude( - region004, - length = eyeEndMountLength, - tagStart = $capStart002, - tagEnd = $capEnd002, -) - |> fillet( - radius = eyeEndTipFillet, - edges = [ - { - sideFaces = [region004.tags.circle1, capEnd002] - } - ], - ) - |> fillet( - radius = eyeEndRootFillet, - edges = [ - { - sideFaces = [region004.tags.circle1, capStart002] - } - ], - ) - -hide(eyeEndProfile) - -// Eye End Outer Profile for Lower Mount -eyeEndOuterProfile = sketch(on = YZ) { - line1 = line(start = [var 31.35mm, var -114.5mm], end = [var 11.35mm, var -114.5mm]) - arc2 = arc(start = [var 11.35mm, var -114.5mm], end = [var 6.35mm, var -119.5mm], center = [var 11.35mm, var -119.5mm]) - line3 = line(start = [var 6.35mm, var -119.5mm], end = [var 6.35mm, var -141.5mm]) - line4 = line(start = [var 6.35mm, var -141.5mm], end = [var -6.35mm, var -141.5mm]) - line5 = line(start = [var -6.35mm, var -141.5mm], end = [var -6.35mm, var -119.5mm]) - arc6 = arc(start = [var -6.35mm, var -119.5mm], end = [var -11.35mm, var -114.5mm], center = [var -11.35mm, var -119.5mm]) - line7 = line(start = [var -11.35mm, var -114.5mm], end = [var -31.35mm, var -114.5mm]) - line8 = line(start = [var -31.35mm, var -114.5mm], end = [var -31.35mm, var -144.5mm]) - line9 = line(start = [var -31.35mm, var -144.5mm], end = [var 31.35mm, var -144.5mm]) - line10 = line(start = [var 31.35mm, var -144.5mm], end = [var 31.35mm, var -114.5mm]) - - coincident([line1.end, arc2.start]) - coincident([arc2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, arc6.start]) - coincident([arc6.end, line7.start]) - coincident([line7.end, line8.start]) - coincident([line8.end, line9.start]) - coincident([line9.end, line10.start]) - coincident([line10.end, line1.start]) - - horizontal(line1) - vertical(line3) - horizontal(line4) - vertical(line5) - horizontal(line7) - vertical(line8) - horizontal(line9) - vertical(line10) - - tangent([line1, arc2]) - tangent([arc2, line3]) - tangent([line5, arc6]) - tangent([arc6, line7]) - - radius(arc2) == eyeEndShoulderRadius - radius(arc6) == eyeEndShoulderRadius - - horizontalDistance([arc2.center, line1.end]) == 0mm - verticalDistance([arc2.center, line3.start]) == 0mm - horizontalDistance([arc6.center, line7.start]) == 0mm - verticalDistance([arc6.center, line5.end]) == 0mm - - horizontalDistance([ORIGIN, line1.start]) == eyeEndOuterHalfWidth - verticalDistance([ORIGIN, line1.start]) == eyeEndCutTop - - distance([line1.start, line1.end]) == eyeEndOuterHalfWidth - eyeEndShoulderHalfWidth - equalLength([line1, line7]) - distance([line3.start, line3.end]) == eyeEndSlotTop - eyeEndSlotBottom - equalLength([line3, line5]) - distance([line4.start, line4.end]) == eyeEndSlotHalfWidth * 2 - distance([line8.start, line8.end]) == eyeEndCutTop - eyeEndCutBottom - equalLength([line8, line10]) - distance([line9.start, line9.end]) == eyeEndOuterHalfWidth * 2 -} - -region005 = region(segments = [eyeEndOuterProfile.line1]) -eyeEndOuterExtrude = extrude(region005, length = eyeEndCutThickness, symmetric = true) -lowerMount = subtract([eyeEndExtrude], tools = [eyeEndOuterExtrude]) - -hide(eyeEndOuterProfile) - -// Eye End Hole for Lower Mount -eyeEndHoleCenterZ = -(baseSeatingLength + lowerMountLength + eyeEndMountLength) + eyeEndMountRadius -eyeEndHolePlane = offsetPlane(XZ, offset = eyeEndCutThickness / 2) -eyeEndHoleProfile = sketch(on = eyeEndHolePlane) { - circle1 = circle(start = [var 6mm, var -127mm], center = [var 0mm, var -126mm]) - radiusGuide = line(start = [var 1mm, var -128mm], end = [var 7mm, var -128mm], construction = true) - - coincident([radiusGuide.start, circle1.center]) - coincident([radiusGuide.end, circle1.start]) - horizontal(radiusGuide) - - horizontalDistance([ORIGIN, circle1.center]) == 0mm - verticalDistance([ORIGIN, circle1.center]) == eyeEndHoleCenterZ - horizontalDistance([radiusGuide.start, radiusGuide.end]) == eyeEndMountRadius / 2 -} - -region006 = region(segments = [eyeEndHoleProfile.circle1]) -eyeEndHoleExtrude = extrude(region006, length = -40mm, method = NEW) -lowerMountSolid = subtract([lowerMount], tools = [eyeEndHoleExtrude]) - -hide(eyeEndHoleProfile) - -damperBodyProfile = sketch(on = XY) { - anchor = line(start = [var 0mm, var 0mm], end = [var 19mm, var 0mm], construction = true) - circle1 = circle(start = [var 19mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([anchor.start, ORIGIN]) - coincident([anchor.end, [lowerMountRadius, 0mm]]) - horizontal(anchor) - - coincident([circle1.center, anchor.start]) - coincident([circle1.start, anchor.end]) -} -region007 = region(segments = [damperBodyProfile.circle1]) -damperBodyExtrude = extrude(region007, length = damperBodyLength) - -hide(damperBodyProfile) - -// Hole for the piston shaft in the damper body -pistonShaftPlane = planeOf(damperBodyExtrude, face = END) -pistonShaftProfile = sketch(on = pistonShaftPlane) { - anchor = line(start = [var 0mm, var 0mm], end = [var 5mm, var 0mm], construction = true) - circle1 = circle(start = [var 5mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([anchor.start, ORIGIN]) - coincident([ - anchor.end, - [pistonShaftHoleRadius, 0mm] - ]) - horizontal(anchor) - - coincident([circle1.center, anchor.start]) - coincident([circle1.start, anchor.end]) -} -region008 = region(segments = [pistonShaftProfile.circle1]) -pistonShaftHoleCutter = extrude(region008, length = -damperBodyLength, method = NEW) -damperBodySolid = subtract([damperBodyExtrude], tools = [pistonShaftHoleCutter]) - -hide(pistonShaftProfile) - -buildCoiloverBottom = union([lowerMountSolid, damperBodySolid]) diff --git a/content/pages/docs/kcl-samples/coilover-assembly/coilover-top.kcl b/content/pages/docs/kcl-samples/coilover-assembly/coilover-top.kcl deleted file mode 100644 index 94af2954..00000000 --- a/content/pages/docs/kcl-samples/coilover-assembly/coilover-top.kcl +++ /dev/null @@ -1,199 +0,0 @@ -// Coilover Top -// Part consists of a 70 mm diameter plate with a tapered mount body , and a eye-end mount (with a hole) on top of it. Below this plate/body, there is a stopper that limits the travel of the coilover, and a piston shaft below it to guide the coilover. - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Import parameters -import * from "parameters.kcl" - -// Stopper for the Piston Rod located just below Upper Mount Plate -upperStopperProfile = sketch(on = XY) { - anchor = line(start = [var 0mm, var 0mm], end = [var 12.5mm, var 0mm], construction = true) - circle1 = circle(start = [var 12.5mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([anchor.start, ORIGIN]) - coincident([anchor.end, [eyeEndMountRadius, 0mm]]) - horizontal(anchor) - - coincident([circle1.center, anchor.start]) - coincident([circle1.start, anchor.end]) -} -region010 = region(segments = [upperStopperProfile.circle1]) -upperStopperExtrude = extrude(region010, length = -upperPistonRodStopLength, tagStart = $upperCapStart001) - |> chamfer( - length = 6mm, - edges = [ - { - sideFaces = [ - region010.tags.circle1, - upperCapStart001 - ] - } - ], - ) - -hide(upperStopperProfile) - -// Piston Rod located below the Stopper -upperPistonRodPlane = planeOf(upperStopperExtrude, face = START) -upperPistonRodProfile = sketch(on = upperPistonRodPlane) { - anchor = line(start = [var 0mm, var 0mm], end = [var 4.95mm, var 0mm], construction = true) - circle1 = circle(start = [var 4.95mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([anchor.start, ORIGIN]) - coincident([ - anchor.end, - [upperPistonRodRadius, 0mm] - ]) - horizontal(anchor) - - coincident([circle1.center, anchor.start]) - coincident([circle1.start, anchor.end]) -} -region011 = region(segments = [upperPistonRodProfile.circle1]) -upperPistonRodExtrude = extrude(region011, length = 200mm) - -hide(upperPistonRodProfile) - -// Upper Mount Plate -upperMountPlatePlane = planeOf(upperStopperExtrude, face = END) -upperMountPlateProfile = sketch(on = upperMountPlatePlane) { - anchor = line(start = [var 0mm, var 0mm], end = [var 35mm, var 0mm], construction = true) - circle1 = circle(start = [var 35mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([anchor.start, ORIGIN]) - coincident([anchor.end, [retainerPlateRadius, 0mm]]) - horizontal(anchor) - - coincident([circle1.center, anchor.start]) - coincident([circle1.start, anchor.end]) -} -region012 = region(segments = [upperMountPlateProfile.circle1]) -upperMountPlateExtrude = extrude(region012, length = upperMountPlateThickness, tagEnd = $upperCapEnd002) - |> chamfer( - length = 19mm, - edges = [ - { - sideFaces = [region012.tags.circle1, upperCapEnd002] - } - ], - ) - -hide(upperMountPlateProfile) - -// Eye End for Upper Mount -upperEyeEndPlane = planeOf(upperMountPlateExtrude, face = END) -upperEyeEndProfile = sketch(on = upperEyeEndPlane) { - anchor = line(start = [var 0mm, var 0mm], end = [var 12.5mm, var 0mm], construction = true) - circle1 = circle(start = [var 12.5mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([anchor.start, ORIGIN]) - coincident([anchor.end, [eyeEndMountRadius, 0mm]]) - horizontal(anchor) - - coincident([circle1.center, anchor.start]) - coincident([circle1.start, anchor.end]) -} -region013 = region(segments = [upperEyeEndProfile.circle1]) -upperEyeEndExtrude = extrude(region013, length = eyeEndMountLength, tagEnd = $upperCapEnd003) - |> fillet( - radius = eyeEndTipFillet, - edges = [ - { - sideFaces = [region013.tags.circle1, upperCapEnd003] - } - ], - ) - -hide(upperEyeEndProfile) - -// Eye End Outer Profile for Upper Mount -upperEyeEndOuterProfile = sketch(on = YZ) { - line1 = line(start = [var 31.35mm, var 40mm], end = [var 11.35mm, var 40mm]) - line3 = line(start = [var 6.35mm, var 45mm], end = [var 6.35mm, var 67mm]) - line4 = line(start = [var 6.35mm, var 67mm], end = [var -6.35mm, var 67mm]) - line5 = line(start = [var -6.35mm, var 67mm], end = [var -6.35mm, var 45mm]) - line7 = line(start = [var -11.35mm, var 40mm], end = [var -31.35mm, var 40mm]) - line8 = line(start = [var -31.35mm, var 40mm], end = [var -31.35mm, var 70mm]) - line9 = line(start = [var -31.35mm, var 70mm], end = [var 31.35mm, var 70mm]) - line10 = line(start = [var 31.35mm, var 70mm], end = [var 31.35mm, var 40mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - - coincident([line7.end, line8.start]) - coincident([line8.end, line9.start]) - coincident([line9.end, line10.start]) - coincident([line10.end, line1.start]) - horizontal(line1) - vertical(line3) - horizontal(line4) - vertical(line5) - horizontal(line7) - vertical(line8) - - horizontal(line9) - vertical(line10) - horizontalDistance([ORIGIN, line1.start]) == eyeEndOuterHalfWidth - verticalDistance([ORIGIN, line1.start]) == upperEyeEndCutTop - distance([line1.start, line1.end]) == eyeEndOuterHalfWidth - eyeEndShoulderHalfWidth - equalLength([line1, line7]) - distance([line3.start, line3.end]) == upperEyeEndSlotBottom - upperEyeEndSlotTop - equalLength([line3, line5]) - - distance([line4.start, line4.end]) == eyeEndSlotHalfWidth * 2 - distance([line8.start, line8.end]) == upperEyeEndCutBottom - upperEyeEndCutTop - equalLength([line8, line10]) - distance([line9.start, line9.end]) == eyeEndOuterHalfWidth * 2 - arc1 = arc(start = [var -11.35mm, var 40.03mm], end = [var -6.35mm, var 45.03mm], center = [var -11.35mm, var 45.03mm]) - coincident([arc1.end, line5.end]) - coincident([line7.start, arc1.start]) - tangent([line7, arc1]) - arc2 = arc(start = [var 6.35mm, var 45mm], end = [var 11.35mm, var 40mm], center = [var 11.35mm, var 45mm]) - coincident([arc2.start, line3.start]) - coincident([line1.end, arc2.end]) - tangent([line1, arc2]) - radius(arc1) == 5mm - radius(arc2) == 5mm -} -region014 = region(segments = [ - upperEyeEndOuterProfile.line1, - upperEyeEndOuterProfile.arc2 -]) -upperEyeEndOuterExtrude = extrude(region014, length = eyeEndCutThickness, symmetric = true) -upperMount = subtract([upperEyeEndExtrude], tools = [upperEyeEndOuterExtrude]) - -hide(upperEyeEndOuterProfile) - -// Eye End Hole for Upper Mount -upperEyeEndHolePlane = offsetPlane(XZ, offset = eyeEndCutThickness / 2) -upperEyeEndHoleProfile = sketch(on = upperEyeEndHolePlane) { - circle1 = circle(start = [var 6mm, var 53mm], center = [var 0mm, var 52mm]) - radiusGuide = line(start = [var 1mm, var 52mm], end = [var 7mm, var 52mm], construction = true) - - coincident([radiusGuide.start, circle1.center]) - coincident([radiusGuide.end, circle1.start]) - horizontal(radiusGuide) - - horizontalDistance([ORIGIN, circle1.center]) == 0mm - verticalDistance([ORIGIN, circle1.center]) == upperEyeEndHoleCenterZ - horizontalDistance([radiusGuide.start, radiusGuide.end]) == eyeEndMountRadius / 2 -} -region015 = region(segments = [upperEyeEndHoleProfile.circle1]) -upperEyeEndHoleExtrude = extrude(region015, length = -40mm, method = NEW) -upperMountSolid = subtract([upperMount], tools = [upperEyeEndHoleExtrude]) - |> appearance(color = "#252318", roughness = 90, metalness = 90) - -hide(upperEyeEndHoleProfile) - -translatedUpperPistonRod = translate(upperPistonRodExtrude, z = 200mm) -translatedUpperMountPlate = translate(upperMountPlateExtrude, z = 200mm) -translatedUpperStopper = translate(upperStopperExtrude, z = 200mm) -translatedUpperMount = translate(upperMountSolid, z = 200mm) - -coiloverTop = [ - translatedUpperPistonRod, - translatedUpperMountPlate, - translatedUpperStopper, - translatedUpperMount -] diff --git a/content/pages/docs/kcl-samples/coilover-assembly/main.kcl b/content/pages/docs/kcl-samples/coilover-assembly/main.kcl deleted file mode 100644 index 6ea51950..00000000 --- a/content/pages/docs/kcl-samples/coilover-assembly/main.kcl +++ /dev/null @@ -1,10 +0,0 @@ -// Coilover Assembly -// Consist of a lower and upper body combination with eye-end mounts at the top and bottom. 200 mm-long helical spring (44 mm OD, and wire diameter of 6 mm) captured between upper and lower seats; Internal piston rod running through the spring. Integrated bump-stop beneath the upper seat to limit compression stroke. The assembly provides adjustable ride height and damping when installed between chassis and wheel hub. -// Categories: Automotive & Transportation; Mechanical Components - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -import "coilover-bottom.kcl" as coiloverBottom -import "spring.kcl" as coiloverSpring -import "coilover-top.kcl" as coiloverTop diff --git a/content/pages/docs/kcl-samples/coilover-assembly/parameters.kcl b/content/pages/docs/kcl-samples/coilover-assembly/parameters.kcl deleted file mode 100644 index 79d23502..00000000 --- a/content/pages/docs/kcl-samples/coilover-assembly/parameters.kcl +++ /dev/null @@ -1,46 +0,0 @@ -// Coilover assembly parameters -// Key dimensional parameters for all parts in the coilover assembly. These are imported into the kcl part files. Key parameters include retainer plate, eye mount, spring and piston rod dimensions. - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Coilover Bottom (coilover-bottom.kcl) -export retainerPlateLength = 6.3mm -export retainerPlateRadius = 35mm -export retainerPlateChamfer = 3.7mm -export baseSeatingLength = 5mm -export baseSeatingRadius = 27.5mm -export lowerMountLength = 92mm -export lowerMountRadius = 19mm -export lowerMountChamfer = 3mm -export eyeEndMountRadius = 12.5mm -export eyeEndMountLength = eyeEndMountRadius + 30mm -export eyeEndTipFillet = eyeEndMountRadius - 0.01mm -export eyeEndRootFillet = 3mm -export eyeEndOuterHalfWidth = 31.35mm -export eyeEndShoulderHalfWidth = 11.35mm -export eyeEndSlotHalfWidth = 6.35mm -export eyeEndCutTop = -114.5mm -export eyeEndCutBottom = -144.5mm -export eyeEndSlotTop = -119.5mm -export eyeEndSlotBottom = -141.5mm -export eyeEndShoulderRadius = 5mm -export eyeEndCutThickness = 30mm -export damperBodyLength = 51mm -export pistonShaftHoleRadius = 5mm - -// Coilover Spring (spring.kcl) -export springRadius = 22mm -export springLength = 200mm -export springRevolutions = 8 -export coilThickness = 6mm - -// Coilover Top (coilover-top.kcl) -export upperPistonRodStopLength = 32.5mm -export upperPistonRodRadius = 4.95mm -export upperMountPlateThickness = 22.5mm -export upperEyeEndCutTop = 40mm -export upperEyeEndCutBottom = 70mm -export upperEyeEndSlotTop = 45mm -export upperEyeEndSlotBottom = 67mm -export upperEyeEndHoleCenterZ = 52.5mm diff --git a/content/pages/docs/kcl-samples/coilover-assembly/project.toml b/content/pages/docs/kcl-samples/coilover-assembly/project.toml deleted file mode 100644 index 3c1de2b1..00000000 --- a/content/pages/docs/kcl-samples/coilover-assembly/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "f25d2c55-8ad8-40df-8f11-4bff190c86dd" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/coilover-assembly/spring.kcl b/content/pages/docs/kcl-samples/coilover-assembly/spring.kcl deleted file mode 100644 index 5ed89208..00000000 --- a/content/pages/docs/kcl-samples/coilover-assembly/spring.kcl +++ /dev/null @@ -1,33 +0,0 @@ -// Spring for coilover assembly -// Spring that sits on top of the retainer plate in the coilover assembly, with a piston shaft running through it. 200 mm long, with a 22 mm radius, and coils at 6 mm thick. - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -import * from "parameters.kcl" - -springPath = helix( - axis = Z, - radius = springRadius, - length = springLength, - revolutions = springRevolutions, - angleStart = 360, - ccw = false, -) - -springProfile = sketch(on = XZ) { - radiusGuide = line(start = [var 22mm, var 0mm], end = [var 25mm, var 0mm], construction = true) - circle1 = circle(start = [var 25mm, var 0mm], center = [var 22mm, var 0mm]) - - coincident([radiusGuide.start, circle1.center]) - coincident([radiusGuide.end, circle1.start]) - horizontal(radiusGuide) - - horizontalDistance([ORIGIN, radiusGuide.start]) == springRadius - verticalDistance([ORIGIN, radiusGuide.start]) == 0mm - horizontalDistance([radiusGuide.start, radiusGuide.end]) == coilThickness / 2 -} -region001 = region(segments = [springProfile.circle1]) -coiloverSpring = sweep(region001, path = springPath) - |> appearance(color = "#d78109", roughness = 90, metalness = 50) - -hide(springProfile) diff --git a/content/pages/docs/kcl-samples/cold-plate/.gitignore b/content/pages/docs/kcl-samples/cold-plate/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/cold-plate/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/cold-plate/main.kcl b/content/pages/docs/kcl-samples/cold-plate/main.kcl deleted file mode 100644 index 20d74e79..00000000 --- a/content/pages/docs/kcl-samples/cold-plate/main.kcl +++ /dev/null @@ -1,469 +0,0 @@ -// Cold Plate -// A cold plate is a thermal management device used to remove heat from a device or component, typically by transferring heat to a liquid coolant that flows through the plate. It's a conductive cooling solution, commonly made of materials like aluminum or copper, with internal channels or tubes for the coolant -// Categories: Electronics & Computing; Industrial & Manufacturing - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define parameters -tubeDiameter = 5 / 8 -wallThickness = 0.080 -bendRadius = 1 -plateLength = 10 - -tubeOuterRadius = tubeDiameter / 2 -tubeInnerRadius = tubeOuterRadius - wallThickness -plateTopZ = tubeDiameter * 2 -grooveFloorZ = tubeDiameter -grooveWallHeight = plateTopZ - grooveFloorZ - -firstGrooveCenterY = bendRadius -secondGrooveCenterY = bendRadius * 3 -firstGrooveLeftY = firstGrooveCenterY - tubeOuterRadius -firstGrooveRightY = firstGrooveCenterY + tubeOuterRadius -secondGrooveLeftY = secondGrooveCenterY - tubeOuterRadius -secondGrooveRightY = secondGrooveCenterY + tubeOuterRadius - -outletRampAngle = 77deg -outletRampLength = tubeDiameter / 3 -outletRampRun = outletRampLength * cos(outletRampAngle) -outletRampDrop = outletRampLength * sin(outletRampAngle) -outletStraightLength = 1 -outletArcRadius = tubeDiameter - -rampStartY = bendRadius * 4 -rampEndY = rampStartY + outletRampRun -rampEndZ = plateTopZ - outletRampDrop -outletArcCenterY = rampEndY + outletArcRadius * sin(outletRampAngle) -outletArcCenterZ = rampEndZ + outletArcRadius * cos(outletRampAngle) -outletArcEndY = outletArcCenterY -outletArcEndZ = outletArcCenterZ - outletArcRadius -outerEdgeY = outletArcEndY + outletStraightLength - -topCenter = [0in, plateTopZ] -firstGrooveLeftTop = [firstGrooveLeftY, plateTopZ] -firstGrooveLeftBottom = [firstGrooveLeftY, grooveFloorZ] -firstGrooveCenter = [firstGrooveCenterY, grooveFloorZ] -firstGrooveRightBottom = [firstGrooveRightY, grooveFloorZ] -firstGrooveRightTop = [firstGrooveRightY, plateTopZ] -secondGrooveLeftTop = [secondGrooveLeftY, plateTopZ] -secondGrooveLeftBottom = [secondGrooveLeftY, grooveFloorZ] -secondGrooveCenter = [secondGrooveCenterY, grooveFloorZ] -secondGrooveRightBottom = [secondGrooveRightY, grooveFloorZ] -secondGrooveRightTop = [secondGrooveRightY, plateTopZ] -rampStart = [rampStartY, plateTopZ] -rampEnd = [rampEndY, rampEndZ] -outletArcCenter = [outletArcCenterY, outletArcCenterZ] -outletArcEnd = [outletArcEndY, outletArcEndZ] -outerShoulderRight = [outerEdgeY, outletArcEndZ] -outerBottomRight = [outerEdgeY, 0in] -outerBottomLeft = [-outerEdgeY, 0in] -outerShoulderLeft = [-outerEdgeY, outletArcEndZ] -leftOutletArcStart = [-outletArcEndY, outletArcEndZ] -leftOutletArcCenter = [-outletArcCenterY, outletArcCenterZ] -leftRampEnd = [-rampEndY, rampEndZ] -leftRampStart = [-rampStartY, plateTopZ] -leftSecondGrooveRightTop = [-secondGrooveRightY, plateTopZ] -leftSecondGrooveRightBottom = [-secondGrooveRightY, grooveFloorZ] -leftSecondGrooveCenter = [-secondGrooveCenterY, grooveFloorZ] -leftSecondGrooveLeftBottom = [-secondGrooveLeftY, grooveFloorZ] -leftSecondGrooveLeftTop = [-secondGrooveLeftY, plateTopZ] -leftFirstGrooveLeftTop = [-firstGrooveRightY, plateTopZ] -leftFirstGrooveLeftBottom = [-firstGrooveRightY, grooveFloorZ] -leftFirstGrooveCenter = [-firstGrooveCenterY, grooveFloorZ] -leftFirstGrooveRightBottom = [-firstGrooveLeftY, grooveFloorZ] -leftFirstGrooveRightTop = [-firstGrooveLeftY, plateTopZ] - -tubeInletX = -7.35 -tubeRightLoopX = 6.78 -tubeLeftLoopX = -6.24 -tubeLowerPassY = -(bendRadius * 3) -tubeLowerMiddlePassY = -bendRadius -tubeUpperMiddlePassY = bendRadius -tubeUpperPassY = bendRadius * 3 -tubeLowerLoopCenterY = -(bendRadius * 2) -tubeUpperLoopCenterY = bendRadius * 2 - -tubeInletStart = [tubeInletX, tubeLowerPassY] -tubeRightLowerTurnStart = [tubeRightLoopX, tubeLowerPassY] -tubeRightLowerLoopCenter = [tubeRightLoopX, -(bendRadius * 2)] -tubeRightLowerTurnEnd = [tubeRightLoopX, tubeLowerMiddlePassY] -tubeLeftMiddlePassEnd = [tubeLeftLoopX, tubeLowerMiddlePassY] -tubeLeftLoopCenter = [tubeLeftLoopX, 0in] -tubeLeftUpperTurnStart = [tubeLeftLoopX, tubeUpperMiddlePassY] -tubeRightUpperTurnStart = [tubeRightLoopX, tubeUpperMiddlePassY] -tubeRightUpperLoopCenter = [tubeRightLoopX, bendRadius * 2] -tubeRightUpperTurnEnd = [tubeRightLoopX, tubeUpperPassY] -tubeOutletEnd = [tubeInletX, tubeUpperPassY] - -tubeInletSectionCenter = [tubeLowerPassY, grooveFloorZ] - -capTopArcCenter = [ - secondGrooveCenterY, - plateTopZ + tubeDiameter * 0.75 -] - -// Create the cold plate with indentations to secure each pass of the brazed copper tube -coldPlateProfile = sketch(on = YZ) { - line1 = line(start = [var 0in, var 1.25in], end = [var 0.69in, var 1.25in]) - line2 = line(start = [var 0.69in, var 1.25in], end = [var 0.69in, var 0.63in]) - arc3 = arc(start = [var 0.69in, var 0.63in], end = [var 1.31in, var 0.63in], center = [var 1in, var 0.63in]) - line4 = line(start = [var 1.31in, var 0.63in], end = [var 1.31in, var 1.25in]) - line5 = line(start = [var 1.31in, var 1.25in], end = [var 2.69in, var 1.25in]) - line6 = line(start = [var 2.69in, var 1.25in], end = [var 2.69in, var 0.63in]) - arc7 = arc(start = [var 2.69in, var 0.63in], end = [var 3.31in, var 0.63in], center = [var 3in, var 0.63in]) - line8 = line(start = [var 3.31in, var 0.63in], end = [var 3.31in, var 1.25in]) - line9 = line(start = [var 3.31in, var 1.25in], end = [var 4in, var 1.25in]) - line10 = line(start = [var 4in, var 1.25in], end = [var 4.05in, var 1.05in]) - arc11 = arc(start = [var 4.05in, var 1.05in], end = [var 4.66in, var 0.56in], center = [var 4.66in, var 1.19in]) - line12 = line(start = [var 4.66in, var 0.56in], end = [var 5.66in, var 0.56in]) - line13 = line(start = [var 5.66in, var 0.56in], end = [var 5.66in, var 0in]) - line14 = line(start = [var 5.66in, var 0in], end = [var -5.66in, var 0in]) - line15 = line(start = [var -5.66in, var 0in], end = [var -5.66in, var 0.56in]) - line16 = line(start = [var -5.66in, var 0.56in], end = [var -4.66in, var 0.56in]) - arc16 = arc(start = [var -4.66in, var 0.56in], end = [var -4.05in, var 1.05in], center = [var -4.66in, var 1.19in]) - line17 = line(start = [var -4.05in, var 1.05in], end = [var -4in, var 1.25in]) - line18 = line(start = [var -4in, var 1.25in], end = [var -3.31in, var 1.25in]) - line19 = line(start = [var -3.31in, var 1.25in], end = [var -3.31in, var 0.63in]) - arc20 = arc(start = [var -3.31in, var 0.63in], end = [var -2.69in, var 0.63in], center = [var -3in, var 0.63in]) - line21 = line(start = [var -2.69in, var 0.63in], end = [var -2.69in, var 1.25in]) - line22 = line(start = [var -2.69in, var 1.25in], end = [var -1.31in, var 1.25in]) - line23 = line(start = [var -1.31in, var 1.25in], end = [var -1.31in, var 0.63in]) - arc24 = arc(start = [var -1.31in, var 0.63in], end = [var -0.69in, var 0.63in], center = [var -1in, var 0.63in]) - line25 = line(start = [var -0.69in, var 0.63in], end = [var -0.69in, var 1.25in]) - line26 = line(start = [var -0.69in, var 1.25in], end = [var 0in, var 1.25in]) - - coincident([line1.end, line2.start]) - coincident([line2.end, arc3.start]) - coincident([arc3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, arc7.start]) - coincident([arc7.end, line8.start]) - coincident([line8.end, line9.start]) - coincident([line9.end, line10.start]) - coincident([line10.end, arc11.start]) - coincident([arc11.end, line12.start]) - coincident([line12.end, line13.start]) - coincident([line13.end, line14.start]) - coincident([line14.end, line15.start]) - coincident([line15.end, line16.start]) - coincident([line16.end, arc16.start]) - coincident([arc16.end, line17.start]) - coincident([line17.end, line18.start]) - coincident([line18.end, line19.start]) - coincident([line19.end, arc20.start]) - coincident([arc20.end, line21.start]) - coincident([line21.end, line22.start]) - coincident([line22.end, line23.start]) - coincident([line23.end, arc24.start]) - coincident([arc24.end, line25.start]) - coincident([line25.end, line26.start]) - coincident([line26.end, line1.start]) - horizontal(line1) - vertical(line2) - vertical(line4) - horizontal(line5) - vertical(line6) - vertical(line8) - horizontal(line9) - tangent([line2, arc3]) - tangent([arc3, line4]) - tangent([line6, arc7]) - tangent([arc7, line8]) - tangent([line10, arc11]) - tangent([arc11, line12]) - horizontal(line12) - vertical(line13) - horizontal(line14) - vertical(line15) - horizontal(line16) - tangent([line16, arc16]) - tangent([arc16, line17]) - horizontal(line18) - vertical(line19) - tangent([line19, arc20]) - tangent([arc20, line21]) - horizontal(line22) - vertical(line23) - tangent([line23, arc24]) - tangent([arc24, line25]) - horizontal(line26) - vertical(line21) - vertical(line25) - horizontalDistance([ORIGIN, line1.start]) == 0in - verticalDistance([ORIGIN, line1.start]) == plateTopZ - distance([line1.start, line1.end]) == firstGrooveLeftY - distance([line2.start, line2.end]) == grooveWallHeight - equalLength([line2, line4]) - equalLength([line2, line6]) - equalLength([line2, line8]) - radius(arc3) == tubeOuterRadius - distance([line5.start, line5.end]) == secondGrooveLeftY - firstGrooveRightY - radius(arc7) == tubeOuterRadius - distance([line9.start, line9.end]) == rampStartY - secondGrooveRightY - horizontalDistance([line10.start, line10.end]) == outletRampRun - verticalDistance([line10.start, line10.end]) == -outletRampDrop - radius(arc11) == outletArcRadius - distance([line12.start, line12.end]) == outletStraightLength - distance([line13.start, line13.end]) == outletArcEndZ - equalLength([line13, line15]) - equalLength([line12, line16]) - radius(arc16) == outletArcRadius - horizontalDistance([line17.start, line17.end]) == outletRampRun - verticalDistance([line17.start, line17.end]) == outletRampDrop - equalLength([line9, line18]) - equalLength([line2, line19]) - radius(arc20) == tubeOuterRadius - equalLength([line2, line21]) - equalLength([line5, line22]) - equalLength([line2, line23]) - radius(arc24) == tubeOuterRadius - equalLength([line2, line25]) - equalLength([line1, line26]) -} - -coldPlateRegion = region(segments = [coldPlateProfile.line1]) -coldPlate = extrude(coldPlateRegion, length = plateLength, symmetric = true) -hide(coldPlateProfile) - -// Sketch the path for the copper tube to follow -copperTubePath = sketch(on = offsetPlane(XY, offset = tubeDiameter)) { - inletGuide = line(start = [var 0in, var 0in], end = [var -7.35in, var -3in], construction = true) - rightLowerLoopGuide = line(start = [var 0in, var 0in], end = [var 6.78in, var -2in], construction = true) - leftLoopGuide = line(start = [var 0in, var 0in], end = [var -6.24in, var 0in], construction = true) - rightUpperLoopGuide = line(start = [var 0in, var 0in], end = [var 6.78in, var 2in], construction = true) - outletGuide = line(start = [var 0in, var 0in], end = [var -7.35in, var 3in], construction = true) - rightLowerArcStartGuide = line(start = [var 6.78in, var -2in], end = [var 6.78in, var -3in], construction = true) - rightLowerArcEndGuide = line(start = [var 6.78in, var -2in], end = [var 6.78in, var -1in], construction = true) - leftArcStartGuide = line(start = [var -6.24in, var 0in], end = [var -6.24in, var 1in], construction = true) - leftArcEndGuide = line(start = [var -6.24in, var 0in], end = [var -6.24in, var -1in], construction = true) - rightUpperArcStartGuide = line(start = [var 6.78in, var 2in], end = [var 6.78in, var 1in], construction = true) - rightUpperArcEndGuide = line(start = [var 6.78in, var 2in], end = [var 6.78in, var 3in], construction = true) - - line1 = line(start = [var -7.35in, var -3in], end = [var 6.78in, var -3in]) - arc2 = arc(start = [var 6.78in, var -3in], end = [var 6.78in, var -1in], center = [var 6.78in, var -2in]) - line3 = line(start = [var 6.78in, var -1in], end = [var -6.24in, var -1in]) - arc4 = arc(start = [var -6.24in, var 1in], end = [var -6.24in, var -1in], center = [var -6.24in, var 0in]) - line5 = line(start = [var -6.24in, var 1in], end = [var 6.78in, var 1in]) - arc6 = arc(start = [var 6.78in, var 1in], end = [var 6.78in, var 3in], center = [var 6.78in, var 2in]) - line7 = line(start = [var 6.78in, var 3in], end = [var -7.35in, var 3in]) - - coincident([inletGuide.start, ORIGIN]) - coincident([rightLowerLoopGuide.start, ORIGIN]) - coincident([leftLoopGuide.start, ORIGIN]) - coincident([rightUpperLoopGuide.start, ORIGIN]) - coincident([outletGuide.start, ORIGIN]) - coincident([inletGuide.end, line1.start]) - coincident([rightLowerLoopGuide.end, arc2.center]) - coincident([leftLoopGuide.end, arc4.center]) - coincident([rightUpperLoopGuide.end, arc6.center]) - coincident([outletGuide.end, line7.end]) - coincident([ - rightLowerArcStartGuide.start, - arc2.center - ]) - coincident([ - rightLowerArcStartGuide.end, - arc2.start - ]) - coincident([ - rightLowerArcEndGuide.start, - arc2.center - ]) - coincident([rightLowerArcEndGuide.end, arc2.end]) - coincident([leftArcStartGuide.start, arc4.center]) - coincident([leftArcStartGuide.end, arc4.start]) - coincident([leftArcEndGuide.start, arc4.center]) - coincident([leftArcEndGuide.end, arc4.end]) - coincident([ - rightUpperArcStartGuide.start, - arc6.center - ]) - coincident([ - rightUpperArcStartGuide.end, - arc6.start - ]) - coincident([ - rightUpperArcEndGuide.start, - arc6.center - ]) - coincident([rightUpperArcEndGuide.end, arc6.end]) - coincident([line1.end, arc2.start]) - coincident([arc2.end, line3.start]) - coincident([line3.end, arc4.end]) - coincident([arc4.start, line5.start]) - coincident([line5.end, arc6.start]) - coincident([arc6.end, line7.start]) - horizontal(line1) - tangent([line1, arc2]) - tangent([arc2, line3]) - horizontal(line3) - tangent([line3, arc4]) - tangent([arc4, line5]) - horizontal(line5) - tangent([line5, arc6]) - tangent([arc6, line7]) - horizontal(line7) - vertical(rightLowerArcStartGuide) - vertical(rightLowerArcEndGuide) - vertical(leftArcStartGuide) - vertical(leftArcEndGuide) - vertical(rightUpperArcStartGuide) - vertical(rightUpperArcEndGuide) - horizontalDistance([inletGuide.start, inletGuide.end]) == tubeInletX - verticalDistance([inletGuide.start, inletGuide.end]) == tubeLowerPassY - horizontalDistance([ - rightLowerLoopGuide.start, - rightLowerLoopGuide.end - ]) == tubeRightLoopX - verticalDistance([ - rightLowerLoopGuide.start, - rightLowerLoopGuide.end - ]) == tubeLowerLoopCenterY - horizontalDistance([leftLoopGuide.start, leftLoopGuide.end]) == tubeLeftLoopX - verticalDistance([leftLoopGuide.start, leftLoopGuide.end]) == 0in - horizontalDistance([ - rightUpperLoopGuide.start, - rightUpperLoopGuide.end - ]) == tubeRightLoopX - verticalDistance([ - rightUpperLoopGuide.start, - rightUpperLoopGuide.end - ]) == tubeUpperLoopCenterY - horizontalDistance([outletGuide.start, outletGuide.end]) == tubeInletX - verticalDistance([outletGuide.start, outletGuide.end]) == tubeUpperPassY - distance([ - rightLowerArcStartGuide.start, - rightLowerArcStartGuide.end - ]) == bendRadius - equalLength([ - rightLowerArcStartGuide, - rightLowerArcEndGuide - ]) - distance([ - leftArcStartGuide.start, - leftArcStartGuide.end - ]) == bendRadius - equalLength([leftArcStartGuide, leftArcEndGuide]) - distance([ - rightUpperArcStartGuide.start, - rightUpperArcStartGuide.end - ]) == bendRadius - equalLength([ - rightUpperArcStartGuide, - rightUpperArcEndGuide - ]) -} - -copperTubeSweepPath = [ - copperTubePath.line1, - copperTubePath.arc2, - copperTubePath.line3, - copperTubePath.arc4, - copperTubePath.line5, - copperTubePath.arc6, - copperTubePath.line7 -] - -// Model a brazed cap to cover each tube. Constrain the caps using the walls of the plate -brazedCapProfile = sketch(on = YZ) { - bottomCenterGuide = line(start = [var 0in, var 0in], end = [var 3in, var 0.63in], construction = true) - topCenterGuide = line(start = [var 0in, var 0in], end = [var 3in, var 1.72in], construction = true) - - arc1 = arc(start = [var 2.69in, var 1.25in], end = [var 3.31in, var 1.25in], center = [var 3in, var 1.72in]) - line2 = line(start = [var 3.31in, var 1.25in], end = [var 3.31in, var 0.63in]) - arc3 = arc(start = [var 3.31in, var 0.63in], end = [var 2.69in, var 0.63in], center = [var 3in, var 0.63in]) - line4 = line(start = [var 2.69in, var 0.63in], end = [var 2.69in, var 1.25in]) - - coincident([bottomCenterGuide.start, ORIGIN]) - coincident([topCenterGuide.start, ORIGIN]) - coincident([bottomCenterGuide.end, arc3.center]) - coincident([topCenterGuide.end, arc1.center]) - coincident([arc1.end, line2.start]) - coincident([line2.end, arc3.start]) - coincident([arc3.end, line4.start]) - coincident([line4.end, arc1.start]) - vertical(line2) - tangent([line2, arc3]) - tangent([arc3, line4]) - vertical(line4) - horizontalDistance([ - bottomCenterGuide.start, - bottomCenterGuide.end - ]) == secondGrooveCenterY - verticalDistance([ - bottomCenterGuide.start, - bottomCenterGuide.end - ]) == grooveFloorZ - horizontalDistance([ - topCenterGuide.start, - topCenterGuide.end - ]) == secondGrooveCenterY - verticalDistance([ - topCenterGuide.start, - topCenterGuide.end - ]) == plateTopZ + tubeDiameter * 0.75 - distance([line2.start, line2.end]) == grooveWallHeight - equalLength([line2, line4]) - radius(arc3) == tubeOuterRadius -} - -brazedCapRegion = region(segments = [brazedCapProfile.arc1]) -brazedCapBody = extrude(brazedCapRegion, length = plateLength, symmetric = true) -brazedCapPattern = patternLinear3d( - brazedCapBody, - instances = 4, - distance = bendRadius * 2, - axis = [0, -1, 0], -) -brazedCap = appearance(brazedCapPattern, color = "#6b261e") -hide(brazedCapProfile) - -// Create the profile for the inner and outer diameter of the hollow copper tube -tubeSectionSketch = sketch(on = offsetPlane(YZ, offset = tubeInletX)) { - centerGuide = line(start = [var 0in, var 0in], end = [var -3in, var 0.63in], construction = true) - outerRadiusGuide = line(start = [var -3in, var 0.63in], end = [var -2.69in, var 0.63in], construction = true) - innerRadiusGuide = line(start = [var -3in, var 0.63in], end = [var -2.77in, var 0.63in], construction = true) - - outerCircle = circle(start = [var -2.69in, var 0.63in], center = [var -3in, var 0.63in]) - innerCircle = circle(start = [var -2.77in, var 0.63in], center = [var -3in, var 0.63in]) - - coincident([centerGuide.start, ORIGIN]) - coincident([centerGuide.end, outerCircle.center]) - coincident([innerCircle.center, outerCircle.center]) - coincident([ - outerRadiusGuide.start, - outerCircle.center - ]) - coincident([ - outerRadiusGuide.end, - outerCircle.start - ]) - coincident([ - innerRadiusGuide.start, - innerCircle.center - ]) - coincident([ - innerRadiusGuide.end, - innerCircle.start - ]) - horizontal(outerRadiusGuide) - horizontal(innerRadiusGuide) - horizontalDistance([centerGuide.start, centerGuide.end]) == tubeLowerPassY - verticalDistance([centerGuide.start, centerGuide.end]) == grooveFloorZ - horizontalDistance([ - outerRadiusGuide.start, - outerRadiusGuide.end - ]) == tubeOuterRadius - horizontalDistance([ - innerRadiusGuide.start, - innerRadiusGuide.end - ]) == tubeInnerRadius -} - -tubeSectionProfile = region(segments = [tubeSectionSketch.outerCircle]) -tubeWallBody = sweep(tubeSectionProfile, path = copperTubeSweepPath) -tubeWall = appearance(tubeWallBody, color = "#b81b0a") -hide(tubeSectionSketch) -hide(copperTubePath) diff --git a/content/pages/docs/kcl-samples/cold-plate/project.toml b/content/pages/docs/kcl-samples/cold-plate/project.toml deleted file mode 100644 index 28e097d4..00000000 --- a/content/pages/docs/kcl-samples/cold-plate/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "34a48760-cb80-4f7a-80df-c09afe99eccd" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/color-cube/.gitignore b/content/pages/docs/kcl-samples/color-cube/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/color-cube/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/color-cube/main.kcl b/content/pages/docs/kcl-samples/color-cube/main.kcl deleted file mode 100644 index 009e0207..00000000 --- a/content/pages/docs/kcl-samples/color-cube/main.kcl +++ /dev/null @@ -1,111 +0,0 @@ -// Color Cube -// This is a color cube centered about the origin. It is used to help determine orientation in the scene. -// Categories: Science & Education - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Parameters used to construct the cube faces -size = 100 -halfSize = size / 2 -extrudeLength = 1.0 -metalConstant = 50 -roughnessConstant = 50 - -// Sketch a rectangle centered at the origin of the profile -faceSketch = sketch(on = XY) { - originToLeft = line(start = [var 0mm, var 0mm], end = [var -50mm, var 0mm], construction = true) - leftDown = line(start = [var -50mm, var 0mm], end = [var -50mm, var -50mm], construction = true) - bottomEdge = line(start = [var -50mm, var -50mm], end = [var 50mm, var -50mm]) - rightEdge = line(start = [var 50mm, var -50mm], end = [var 50mm, var 50mm]) - topEdge = line(start = [var 50mm, var 50mm], end = [var -50mm, var 50mm]) - leftEdge = line(start = [var -50mm, var 50mm], end = [var -50mm, var -50mm]) - - coincident([originToLeft.start, ORIGIN]) - coincident([originToLeft.end, leftDown.start]) - coincident([leftDown.end, bottomEdge.start]) - coincident([bottomEdge.end, rightEdge.start]) - coincident([rightEdge.end, topEdge.start]) - coincident([topEdge.end, leftEdge.start]) - coincident([leftEdge.end, bottomEdge.start]) - - horizontal(originToLeft) - vertical(leftDown) - horizontal(bottomEdge) - vertical(rightEdge) - horizontal(topEdge) - vertical(leftEdge) - - distance([originToLeft.start, originToLeft.end]) == halfSize - distance([leftDown.start, leftDown.end]) == halfSize - distance([bottomEdge.start, bottomEdge.end]) == size - distance([rightEdge.start, rightEdge.end]) == size -} - -faceRegion = region(segments = [ - faceSketch.bottomEdge, - faceSketch.rightEdge -]) -faceBody = extrude(faceRegion, length = extrudeLength) - |> translate(z = -extrudeLength / 2, global = true) -hide(faceSketch) - -// Position and color each side of the cube -blueBody = clone(faceBody) - |> translate(z = halfSize + extrudeLength / 2, global = true) -yellowBody = clone(faceBody) - |> translate(z = -halfSize + extrudeLength / 2, global = true) -greenBody = clone(faceBody) - |> rotate(axis = X, angle = 90deg) - |> translate(y = halfSize - (extrudeLength / 2), global = true) -purpleBody = clone(faceBody) - |> rotate(axis = X, angle = -90deg) - |> translate(y = -halfSize + extrudeLength / 2, global = true) -redBody = clone(faceBody) - |> rotate(axis = Y, angle = 90deg) - |> translate(x = halfSize - (extrudeLength / 2), global = true) -tealBody = faceBody - |> rotate(axis = Y, angle = 90deg) - |> translate(x = -halfSize + extrudeLength / 2, global = true) - -blueFace = appearance( - blueBody, - color = "#0000FF", - metalness = metalConstant, - roughness = roughnessConstant, -) - -yellowFace = appearance( - yellowBody, - color = "#FFFF00", - metalness = metalConstant, - roughness = roughnessConstant, -) - -greenFace = appearance( - greenBody, - color = "#00FF00", - metalness = metalConstant, - roughness = roughnessConstant, -) - -redFace = appearance( - redBody, - color = "#FF0000", - metalness = metalConstant, - roughness = roughnessConstant, -) - -tealFace = appearance( - tealBody, - color = "#00FFFF", - metalness = metalConstant, - roughness = roughnessConstant, -) - -purpleFace = appearance( - purpleBody, - color = "#FF00FF", - metalness = metalConstant, - roughness = roughnessConstant, -) diff --git a/content/pages/docs/kcl-samples/color-cube/project.toml b/content/pages/docs/kcl-samples/color-cube/project.toml deleted file mode 100644 index f3cfebba..00000000 --- a/content/pages/docs/kcl-samples/color-cube/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "14109a6c-f6e4-4f80-ba79-6515b390d35c" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/cone/.gitignore b/content/pages/docs/kcl-samples/cone/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/cone/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/cone/main.kcl b/content/pages/docs/kcl-samples/cone/main.kcl deleted file mode 100644 index d7dbf385..00000000 --- a/content/pages/docs/kcl-samples/cone/main.kcl +++ /dev/null @@ -1,31 +0,0 @@ -// Cone -// A cone is defined by it's diameter and height. -// Categories: Science & Education; Parametric - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -coneDiameter = 10 -coneHeight = 10 - -// create the profile at the top of the cone -sketch = sketch(on = XZ) { - line1 = line(start = [var 0mm, var 10mm], end = [var 0mm, var 0mm]) - line2 = line(start = [var 0mm, var 0mm], end = [var 5mm, var 0mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 5mm, var 0mm], end = [var 0mm, var 10mm]) - coincident([line2.end, line3.start]) - coincident([line1.start, line3.end]) - coincident([line2.start, ORIGIN]) - - vertical(line1) - horizontal(line2) - - horizontalDistance([line2.start, line2.end]) == coneDiameter / 2 - verticalDistance([line1.start, line1.end]) == -coneHeight -} - -// revolve the sketch to create the cone -coneRegion = region(segments = [sketch.line1, sketch.line2]) -cone = revolve(coneRegion, axis = Y, angle = 360.0) -hide(sketch) diff --git a/content/pages/docs/kcl-samples/cone/project.toml b/content/pages/docs/kcl-samples/cone/project.toml deleted file mode 100644 index f5c96cff..00000000 --- a/content/pages/docs/kcl-samples/cone/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "5c4f9a9a-c56a-4cb4-b10d-3f4a2b38db17" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/counterdrilled-weldment/.gitignore b/content/pages/docs/kcl-samples/counterdrilled-weldment/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/counterdrilled-weldment/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/counterdrilled-weldment/main.kcl b/content/pages/docs/kcl-samples/counterdrilled-weldment/main.kcl deleted file mode 100644 index f38992e1..00000000 --- a/content/pages/docs/kcl-samples/counterdrilled-weldment/main.kcl +++ /dev/null @@ -1,404 +0,0 @@ -// Counterdrilled Weldment -// A metal weldment consisting of a counterdrilled plate, a centrally mounted housing tube, and four structural support fins. -// Categories: Industrial & Manufacturing - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define parameters -boltSpacingX = 5 -boltSpacingY = 3 -boltDiameter = 1 / 4 -counterdrillDiameter = 7 / 16 -counterdrillDepth = 3 / 16 -tubeInnerDiameter = 1 + 1 / 4 -tubeThickness = 0.115 -tubeHeight = 2 -stockThickness = .5 -cutterOverlap = 0.01 - -// Calculate the dimensions of the block using the specified bolt spacing. The size of the block can be defined by adding a multiple of the counterdrill diameter to the bolt spacing -blockLength = boltSpacingX + boltDiameter * 6 -blockWidth = boltSpacingY + boltDiameter * 6 - -// Draw the base plate -plateSketch = sketch(on = XY) { - centerToRight = line(start = [var 0in, var 0in], end = [var 3.25in, var 0in], construction = true) - centerToTop = line(start = [var 0in, var 0in], end = [var 0in, var 2.25in], construction = true) - - bottomEdge = line(start = [var -3.25in, var -2.25in], end = [var 3.25in, var -2.25in]) - rightEdge = line(start = [var 3.25in, var -2.25in], end = [var 3.25in, var 2.25in]) - topEdge = line(start = [var 3.25in, var 2.25in], end = [var -3.25in, var 2.25in]) - leftEdge = line(start = [var -3.25in, var 2.25in], end = [var -3.25in, var -2.25in]) - - coincident([bottomEdge.end, rightEdge.start]) - coincident([rightEdge.end, topEdge.start]) - coincident([topEdge.end, leftEdge.start]) - coincident([leftEdge.end, bottomEdge.start]) - - coincident([centerToRight.start, ORIGIN]) - coincident([centerToTop.start, ORIGIN]) - coincident([centerToRight.end, rightEdge]) - coincident([centerToTop.end, topEdge]) - - horizontal(centerToRight) - vertical(centerToTop) - horizontal(bottomEdge) - vertical(rightEdge) - horizontal(topEdge) - vertical(leftEdge) - - horizontalDistance([centerToRight.start, centerToRight.end]) == blockLength / 2 - verticalDistance([centerToTop.start, centerToTop.end]) == blockWidth / 2 - horizontalDistance([bottomEdge.start, bottomEdge.end]) == blockLength - verticalDistance([rightEdge.start, rightEdge.end]) == blockWidth - - innerHoleRadiusGuide = line(start = [var 0in, var 0in], end = [var 0.63in, var 0in], construction = true) - innerHole = circle(start = [var 0.63in, var 0in], center = [var 0in, var 0in]) - coincident([innerHole.center, ORIGIN]) - coincident([innerHoleRadiusGuide.start, ORIGIN]) - coincident([ - innerHoleRadiusGuide.end, - innerHole.start - ]) - horizontal(innerHoleRadiusGuide) - horizontalDistance([ - innerHoleRadiusGuide.start, - innerHoleRadiusGuide.end - ]) == tubeInnerDiameter / 2 - radius(innerHole) == tubeInnerDiameter / 2 -} - -plateRegion = region(segments = [ - plateSketch.bottomEdge, - plateSketch.rightEdge -]) -plateTopExtrude = extrude(plateRegion, length = stockThickness, tagEnd = $plateTop) -hide(plateSketch) - -// Chamfer perimeter (separate from extrude) -plateChamfered = chamfer( - plateTopExtrude, - length = boltDiameter * 2, - edges = [ - { - sideFaces = [ - plateTopExtrude.sketch.tags.rightEdge, - plateTopExtrude.sketch.tags.bottomEdge - ] - }, - { - sideFaces = [ - plateTopExtrude.sketch.tags.leftEdge, - plateTopExtrude.sketch.tags.bottomEdge - ] - }, - { - sideFaces = [ - plateTopExtrude.sketch.tags.rightEdge, - plateTopExtrude.sketch.tags.topEdge - ] - }, - { - sideFaces = [ - plateTopExtrude.sketch.tags.leftEdge, - plateTopExtrude.sketch.tags.topEdge - ] - } - ], -) - -// Hole pattern (separate statement for readability) -holeSeedPlane = offsetPlane(XY, offset = stockThickness + cutterOverlap) - -holeSeedSketch = sketch(on = holeSeedPlane) { - holeOffsetX = line(start = [var 0in, var 0in], end = [var -2.5in, var 0in], construction = true) - holeOffsetY = line(start = [var -2.5in, var 0in], end = [var -2.5in, var -1.5in], construction = true) - holeRadiusGuide = line(start = [var -2.5in, var -1.5in], end = [var -2.375in, var -1.5in], construction = true) - holeCircle = circle(start = [var -2.375in, var -1.5in], center = [var -2.5in, var -1.5in]) - - coincident([holeOffsetX.start, ORIGIN]) - coincident([holeOffsetY.start, holeOffsetX.end]) - coincident([holeRadiusGuide.start, holeOffsetY.end]) - coincident([holeCircle.center, holeOffsetY.end]) - coincident([holeCircle.start, holeRadiusGuide.end]) - - horizontal(holeOffsetX) - vertical(holeOffsetY) - horizontal(holeRadiusGuide) - - horizontalDistance([holeOffsetX.start, holeOffsetX.end]) == -boltSpacingX / 2 - verticalDistance([holeOffsetY.start, holeOffsetY.end]) == -boltSpacingY / 2 - horizontalDistance([ - holeRadiusGuide.start, - holeRadiusGuide.end - ]) == boltDiameter / 2 - radius(holeCircle) == boltDiameter / 2 -} - -throughHoleRegion = region(segments = [holeSeedSketch.holeCircle]) -throughHoleSeed = extrude(throughHoleRegion, length = -(stockThickness + cutterOverlap * 2)) -hide(holeSeedSketch) - -throughHoleRow = patternLinear3d( - throughHoleSeed, - instances = 2, - distance = boltSpacingX, - axis = [1, 0, 0], -) -throughHoleCutters = patternLinear3d( - throughHoleRow, - instances = 2, - distance = boltSpacingY, - axis = [0, 1, 0], -) - -counterdrillSeedSketch = sketch(on = holeSeedPlane) { - holeOffsetX = line(start = [var 0in, var 0in], end = [var -2.5in, var 0in], construction = true) - holeOffsetY = line(start = [var -2.5in, var 0in], end = [var -2.5in, var -1.5in], construction = true) - counterdrillRadiusGuide = line(start = [var -2.5in, var -1.5in], end = [var -2.28125in, var -1.5in], construction = true) - counterdrillCircle = circle(start = [var -2.28125in, var -1.5in], center = [var -2.5in, var -1.5in]) - - coincident([holeOffsetX.start, ORIGIN]) - coincident([holeOffsetY.start, holeOffsetX.end]) - coincident([ - counterdrillRadiusGuide.start, - holeOffsetY.end - ]) - coincident([ - counterdrillCircle.center, - holeOffsetY.end - ]) - coincident([ - counterdrillCircle.start, - counterdrillRadiusGuide.end - ]) - - horizontal(holeOffsetX) - vertical(holeOffsetY) - horizontal(counterdrillRadiusGuide) - - horizontalDistance([holeOffsetX.start, holeOffsetX.end]) == -boltSpacingX / 2 - verticalDistance([holeOffsetY.start, holeOffsetY.end]) == -boltSpacingY / 2 - horizontalDistance([ - counterdrillRadiusGuide.start, - counterdrillRadiusGuide.end - ]) == counterdrillDiameter / 2 - radius(counterdrillCircle) == counterdrillDiameter / 2 -} - -counterdrillRegion = region(segments = [ - counterdrillSeedSketch.counterdrillCircle -]) -counterdrillSeed = extrude(counterdrillRegion, length = -(counterdrillDepth + cutterOverlap * 2)) -hide(counterdrillSeedSketch) - -counterdrillRow = patternLinear3d( - counterdrillSeed, - instances = 2, - distance = boltSpacingX, - axis = [1, 0, 0], -) -counterdrillCutters = patternLinear3d( - counterdrillRow, - instances = 2, - distance = boltSpacingY, - axis = [0, 1, 0], -) - -plateWithThroughHoles = subtract(plateChamfered, tools = throughHoleCutters) -plate = subtract(plateWithThroughHoles, tools = counterdrillCutters) - -tubeOuterRadius = tubeInnerDiameter / 2 + tubeThickness -finBaseReach = sqrt((boltSpacingX / 2) ^ 2 + (boltSpacingY / 2) ^ 2) - counterdrillDiameter -finTopOffset = 0.15 -finTopZ = stockThickness + tubeHeight * .8 -pinholeHeight = stockThickness + tubeHeight - 0.3 - -pinholeSketch = sketch(on = YZ) { - pinholeCenterGuide = line(start = [var 0in, var 0in], end = [var 0in, var 2.2in], construction = true) - pinholeRadiusGuide = line(start = [var 0in, var 2.2in], end = [var 0.125in, var 2.2in], construction = true) - pinholeCircle = circle(start = [var 0.125in, var 2.2in], center = [var 0in, var 2.2in]) - - coincident([pinholeCenterGuide.start, ORIGIN]) - coincident([ - pinholeRadiusGuide.start, - pinholeCenterGuide.end - ]) - coincident([ - pinholeCircle.center, - pinholeCenterGuide.end - ]) - coincident([ - pinholeCircle.start, - pinholeRadiusGuide.end - ]) - - vertical(pinholeCenterGuide) - horizontal(pinholeRadiusGuide) - verticalDistance([ - pinholeCenterGuide.start, - pinholeCenterGuide.end - ]) == pinholeHeight - horizontalDistance([ - pinholeRadiusGuide.start, - pinholeRadiusGuide.end - ]) == boltDiameter / 2 - radius(pinholeCircle) == boltDiameter / 2 -} - -pinholeRegion = region(segments = [pinholeSketch.pinholeCircle]) -pinhole = extrude(pinholeRegion, length = -10) -hide(pinholeSketch) - -centralTubeSketch = sketch(on = offsetPlane(XY, offset = stockThickness)) { - outerRadiusGuide = line(start = [var 0in, var 0in], end = [var 0.74in, var 0in], construction = true) - innerRadiusGuide = line(start = [var 0in, var 0in], end = [var 0.625in, var 0in], construction = true) - outerCircle = circle(start = [var 0.74in, var 0in], center = [var 0in, var 0in]) - innerCircle = circle(start = [var 0.625in, var 0in], center = [var 0in, var 0in]) - - coincident([outerRadiusGuide.start, ORIGIN]) - coincident([innerRadiusGuide.start, ORIGIN]) - coincident([outerCircle.center, ORIGIN]) - coincident([innerCircle.center, ORIGIN]) - coincident([ - outerCircle.start, - outerRadiusGuide.end - ]) - coincident([ - innerCircle.start, - innerRadiusGuide.end - ]) - - horizontal(outerRadiusGuide) - horizontal(innerRadiusGuide) - horizontalDistance([ - outerRadiusGuide.start, - outerRadiusGuide.end - ]) == tubeOuterRadius - horizontalDistance([ - innerRadiusGuide.start, - innerRadiusGuide.end - ]) == tubeInnerDiameter / 2 - radius(outerCircle) == tubeOuterRadius - radius(innerCircle) == tubeInnerDiameter / 2 -} - -centralTubeRegion = region(segments = [centralTubeSketch.outerCircle]) -centralTubeSolid = extrude(centralTubeRegion, length = tubeHeight) -hide(centralTubeSketch) -centralTube = subtract([centralTubeSolid], tools = [pinhole]) - -// Inline fins (no extrude piping) -// Diagonal plane helper for i = 1 -finDiagPlane1 = { - origin = [0.0, 0.0, 0.0], - xAxis = [ - boltSpacingX / 2 * 1, - boltSpacingY / 2, - 0.0 - ], - yAxis = [0.0, 0.0, 1.0] -} - -finProfile1 = sketch(on = finDiagPlane1) { - finBaseGuide = line(start = [var 0in, var 0in], end = [var 0.74in, var 0.5in], construction = true) - innerWall = line(start = [var 0.74in, var 0.5in], end = [var 0.74in, var 2.1in]) - topEdge = line(start = [var 0.89in, var 2.1in], end = [var 0.74in, var 2.1in]) - slopedEdge = line(start = [var 2.48in, var 0.65in], end = [var 0.89in, var 2.1in]) - outerRise = line(start = [var 2.48in, var 0.5in], end = [var 2.48in, var 0.65in]) - baseEdge = line(start = [var 0.74in, var 0.5in], end = [var 2.48in, var 0.5in]) - - coincident([finBaseGuide.start, ORIGIN]) - coincident([finBaseGuide.end, innerWall.start]) - coincident([innerWall.end, topEdge.end]) - coincident([topEdge.start, slopedEdge.end]) - coincident([slopedEdge.start, outerRise.end]) - coincident([outerRise.start, baseEdge.end]) - coincident([baseEdge.start, innerWall.start]) - - vertical(innerWall) - horizontal(topEdge) - vertical(outerRise) - horizontal(baseEdge) - - horizontalDistance([finBaseGuide.start, finBaseGuide.end]) == tubeOuterRadius - verticalDistance([finBaseGuide.start, finBaseGuide.end]) == stockThickness - verticalDistance([innerWall.start, innerWall.end]) == tubeHeight * .8 - verticalDistance([outerRise.start, outerRise.end]) == finTopOffset - horizontalDistance([baseEdge.start, baseEdge.end]) == finBaseReach - tubeOuterRadius - horizontalDistance([topEdge.end, topEdge.start]) == 0.15in -} - -finRegion1 = region(segments = [ - finProfile1.baseEdge, - finProfile1.outerRise -]) -finSolid1 = extrude(finRegion1, length = tubeThickness, symmetric = true) -hide(finProfile1) - -// Pattern to opposite side around Z axis -finPair1 = patternCircular3d( - finSolid1, - instances = 2, - axis = [0, 0, 1], - center = [0, 0, 0], - arcDegrees = 360, - rotateDuplicates = true, -) - -finDiagPlane2 = { - origin = [0.0, 0.0, 0.0], - xAxis = [ - boltSpacingX / 2 * -1, - boltSpacingY / 2, - 0.0 - ], - yAxis = [0.0, 0.0, 1.0] -} - -finProfile2 = sketch(on = finDiagPlane2) { - finBaseGuide = line(start = [var 0in, var 0in], end = [var 0.74in, var 0.5in], construction = true) - innerWall = line(start = [var 0.74in, var 0.5in], end = [var 0.74in, var 2.1in]) - topEdge = line(start = [var 0.89in, var 2.1in], end = [var 0.74in, var 2.1in]) - slopedEdge = line(start = [var 2.48in, var 0.65in], end = [var 0.89in, var 2.1in]) - outerRise = line(start = [var 2.48in, var 0.5in], end = [var 2.48in, var 0.65in]) - baseEdge = line(start = [var 0.74in, var 0.5in], end = [var 2.48in, var 0.5in]) - - coincident([finBaseGuide.start, ORIGIN]) - coincident([finBaseGuide.end, innerWall.start]) - coincident([innerWall.end, topEdge.end]) - coincident([topEdge.start, slopedEdge.end]) - coincident([slopedEdge.start, outerRise.end]) - coincident([outerRise.start, baseEdge.end]) - coincident([baseEdge.start, innerWall.start]) - - vertical(innerWall) - horizontal(topEdge) - vertical(outerRise) - horizontal(baseEdge) - - horizontalDistance([finBaseGuide.start, finBaseGuide.end]) == tubeOuterRadius - verticalDistance([finBaseGuide.start, finBaseGuide.end]) == stockThickness - verticalDistance([innerWall.start, innerWall.end]) == tubeHeight * .8 - verticalDistance([outerRise.start, outerRise.end]) == finTopOffset - horizontalDistance([baseEdge.start, baseEdge.end]) == finBaseReach - tubeOuterRadius - horizontalDistance([topEdge.end, topEdge.start]) == 0.15in -} - -finRegion2 = region(segments = [ - finProfile2.baseEdge, - finProfile2.outerRise -]) -finSolid2 = extrude(finRegion2, length = tubeThickness, symmetric = true) -hide(finProfile2) - -// Pattern to opposite side around Z axis -finPair2 = patternCircular3d( - finSolid2, - instances = 2, - axis = [0, 0, 1], - center = [0, 0, 0], - arcDegrees = 360, - rotateDuplicates = true, -) diff --git a/content/pages/docs/kcl-samples/counterdrilled-weldment/project.toml b/content/pages/docs/kcl-samples/counterdrilled-weldment/project.toml deleted file mode 100644 index 6d30e97c..00000000 --- a/content/pages/docs/kcl-samples/counterdrilled-weldment/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "54abc82b-993b-47ab-b9b2-b6e73944cf3d" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/countersunk-plate/.gitignore b/content/pages/docs/kcl-samples/countersunk-plate/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/countersunk-plate/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/countersunk-plate/main.kcl b/content/pages/docs/kcl-samples/countersunk-plate/main.kcl deleted file mode 100644 index da63c7d0..00000000 --- a/content/pages/docs/kcl-samples/countersunk-plate/main.kcl +++ /dev/null @@ -1,153 +0,0 @@ -// Plate with countersunk holes -// A small mounting plate with a countersunk hole at each end -// Categories: Mechanical Components - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Primary dimensions -boltSpacing = 5 -boltDiameter = 1 / 4 -centerHoleDiameter = 3 -plateThickness = 0.375 - -// Optional sanity check (kept disabled to preserve current behavior) -// assertGreaterThan(plateThickness, boltDiameter, "This plate is not thick enough for the necessary countersink dimensions") - -// Derived geometry helpers for the outer profile -centerLobeRadius = centerHoleDiameter / 2 * 1.3 -endLobeRadius = boltDiameter * 2 + 0.25 -halfBoltSpacing = boltSpacing / 2 -transitionTangentAngle = asin((centerLobeRadius - endLobeRadius) / halfBoltSpacing) -transitionTangentLength = (centerLobeRadius - endLobeRadius) / tan(transitionTangentAngle) - -plateSketch = sketch(on = XY) { - upperRightTransition = line(start = [var 0.61in, var 1.55in], end = [var 2.77in, var 0.7in]) - rightEndArc = arc(start = [var 2.77in, var -0.7in], end = [var 2.77in, var 0.7in], center = [var 2.5in, var 0in]) - coincident([ - upperRightTransition.end, - rightEndArc.end - ]) - - lowerRightTransition = line(start = [var 2.77in, var -0.7in], end = [var 0.61in, var -1.55in]) - coincident([ - rightEndArc.start, - lowerRightTransition.start - ]) - - bottomCenterArc = arc(start = [var -0.61in, var -1.55in], end = [var 0.61in, var -1.55in], center = [var 0in, var 0in]) - coincident([ - lowerRightTransition.end, - bottomCenterArc.end - ]) - - lowerLeftTransition = line(start = [var -0.61in, var -1.55in], end = [var -2.77in, var -0.7in]) - coincident([ - bottomCenterArc.start, - lowerLeftTransition.start - ]) - - leftEndArc = arc(start = [var -2.77in, var 0.7in], end = [var -2.77in, var -0.7in], center = [var -2.5in, var 0in]) - coincident([ - lowerLeftTransition.end, - leftEndArc.end - ]) - - upperLeftTransition = line(start = [var -2.77in, var 0.7in], end = [var -0.61in, var 1.55in]) - coincident([ - leftEndArc.start, - upperLeftTransition.start - ]) - - topCenterArc = arc(start = [var 0.61in, var 1.55in], end = [var -0.61in, var 1.55in], center = [var 0in, var 0in]) - coincident([ - upperLeftTransition.end, - topCenterArc.end - ]) - coincident([ - topCenterArc.start, - upperRightTransition.start - ]) - - tangent([upperLeftTransition, leftEndArc]) - tangent([upperLeftTransition, topCenterArc]) - tangent([upperRightTransition, topCenterArc]) - tangent([upperRightTransition, rightEndArc]) - tangent([lowerRightTransition, rightEndArc]) - tangent([lowerRightTransition, bottomCenterArc]) - tangent([lowerLeftTransition, bottomCenterArc]) - tangent([lowerLeftTransition, leftEndArc]) - - coincident([ - bottomCenterArc.center, - topCenterArc.center - ]) - coincident([topCenterArc.center, ORIGIN]) - - leftSpacingGuide = line(start = [var -2.5in, var 0in], end = [var 0in, var 0in], construction = true) - coincident([ - leftSpacingGuide.start, - leftEndArc.center - ]) - coincident([ - leftSpacingGuide.end, - bottomCenterArc.center - ]) - - rightSpacingGuide = line(start = [var 0in, var 0in], end = [var 2.5in, var 0in], construction = true) - coincident([ - rightSpacingGuide.start, - topCenterArc.center - ]) - coincident([ - rightSpacingGuide.end, - rightEndArc.center - ]) - - horizontal(leftSpacingGuide) - horizontal(rightSpacingGuide) - equalLength([leftSpacingGuide, rightSpacingGuide]) - horizontalDistance([ - leftSpacingGuide.start, - rightSpacingGuide.end - ]) == boltSpacing - - radius(leftEndArc) == endLobeRadius - radius(rightEndArc) == endLobeRadius - radius(topCenterArc) == centerLobeRadius - radius(bottomCenterArc) == centerLobeRadius - - centerClearanceCircle = circle(start = [var 1.26in, var -0.79in], center = [var -0.01in, var 0in]) - coincident([ - centerClearanceCircle.center, - rightSpacingGuide.start - ]) - radius(centerClearanceCircle) == centerHoleDiameter / 2 -} - -plateRegion = region( - segments = [ - plateSketch.upperRightTransition, - plateSketch.rightEndArc - ], - direction = CW, -) -plateBody = extrude(plateRegion, length = plateThickness, tagEnd = $topFace) - -plateWithTopCountersink = hole::hole( - plateBody, - face = topFace, - cutAt = [0, boltSpacing / 2], - holeBottom = hole::flat(), - holeBody = hole::blind(depth = plateThickness, diameter = boltDiameter), - holeType = hole::countersink(angle = 90deg, diameter = boltDiameter * 2), -) - -plateWithTopAndBottomCountersinks = hole::hole( - plateWithTopCountersink, - face = topFace, - cutAt = [0, -boltSpacing / 2], - holeBottom = hole::flat(), - holeBody = hole::blind(depth = plateThickness, diameter = boltDiameter), - holeType = hole::countersink(angle = 90deg, diameter = boltDiameter * 2), -) diff --git a/content/pages/docs/kcl-samples/countersunk-plate/project.toml b/content/pages/docs/kcl-samples/countersunk-plate/project.toml deleted file mode 100644 index 5ea174a5..00000000 --- a/content/pages/docs/kcl-samples/countersunk-plate/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "1b979dd8-ea0f-45b6-a301-858c19c0f958" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/cpu-cooler/fan-housing.kcl b/content/pages/docs/kcl-samples/cpu-cooler/fan-housing.kcl deleted file mode 100644 index cba8e454..00000000 --- a/content/pages/docs/kcl-samples/cpu-cooler/fan-housing.kcl +++ /dev/null @@ -1,183 +0,0 @@ -// Fan Housing -// The plastic housing that contains the fan and the motor - -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -import * from "parameters.kcl" - -bottomSketch = sketch(on = YZ) { - line1 = line(start = [var -60mm, var -60mm], end = [var 60mm, var -60mm]) - line2 = line(start = [var 60mm, var -60mm], end = [var 60mm, var 60mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 60mm, var 60mm], end = [var -60mm, var 60mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -60mm, var 60mm], end = [var -60mm, var -60mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - centerHole = circle(start = [var 4mm, var 0mm], center = [var 0mm, var 0mm]) - mount1 = circle(start = [var 54.75mm, var 52.5mm], center = [var 52.5mm, var 52.5mm]) - mount2 = circle(start = [var -50.25mm, var 52.5mm], center = [var -52.5mm, var 52.5mm]) - mount3 = circle(start = [var 54.75mm, var -52.5mm], center = [var 52.5mm, var -52.5mm]) - mount4 = circle(start = [var -50.25mm, var -52.5mm], center = [var -52.5mm, var -52.5mm]) -} -bottomRegion = region(segments = [bottomSketch.line1, bottomSketch.line2]) -bottomPlateBlank = extrude(bottomRegion, length = 4) - |> fillet( - radius = abs(fanSize - mountingHoleSpacing) / 2, - edges = [ - { - sideFaces = [ - bottomRegion.tags.line1, - bottomRegion.tags.line2 - ] - }, - { - sideFaces = [ - bottomRegion.tags.line2, - bottomRegion.tags.line3 - ] - }, - { - sideFaces = [ - bottomRegion.tags.line3, - bottomRegion.tags.line4 - ] - }, - { - sideFaces = [ - bottomRegion.tags.line4, - bottomRegion.tags.line1 - ] - } - ], - ) - -// One curved airflow opening, repeated about the fan axis. -airflowSketch = sketch(on = YZ) { - line1 = line(start = [var 33.6mm, var -43.2mm], end = [var -10.52mm, var -6.18mm]) - arc2 = arc(start = [var -10.52mm, var -6.18mm], end = [var -13.91mm, var -6.47mm], center = [var -12.07mm, var -8.01mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var -13.91mm, var -6.47mm], end = [var -38.59mm, var -35.89mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -38.59mm, var -35.89mm], end = [var -38.29mm, var -39.27mm], center = [var -36.75mm, var -37.43mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var -38.29mm, var -39.27mm], end = [var -30.94mm, var -45.44mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var -30.94mm, var -45.44mm], end = [var -6.26mm, var -54.42mm], center = [var -6.26mm, var -16.02mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -6.26mm, var -54.42mm], end = [var 8.14mm, var -54.42mm]) - coincident([arc6.end, line7.start]) - arc8 = arc(start = [var 8.14mm, var -54.42mm], end = [var 33.6mm, var -43.2mm], center = [var 8.14mm, var -19.94mm]) - coincident([line7.end, arc8.start]) - coincident([arc8.end, line1.start]) -} -airflowRegion = region(segments = [ - airflowSketch.line1, - airflowSketch.arc2 -]) -airflowCutter = extrude(airflowRegion, length = 4) -airflowCutters = patternCircular3d( - airflowCutter, - instances = 4, - axis = X, - center = [0, 0, 0], - arcDegrees = 360deg, - rotateDuplicates = true, -) -bottomPlate = subtract(bottomPlateBlank, tools = [airflowCutters]) - -middleSketch = sketch(on = faceOf(bottomPlate, face = END)) { - arc1 = arc(start = [var 20mm, var -59mm], end = [var 59mm, var -20mm], center = [var 20mm, var -20mm]) - line2 = line(start = [var 59mm, var -20mm], end = [var 59mm, var 20mm]) - coincident([arc1.end, line2.start]) - arc3 = arc(start = [var 59mm, var 20mm], end = [var 20mm, var 59mm], center = [var 20mm, var 20mm]) - coincident([line2.end, arc3.start]) - line4 = line(start = [var 20mm, var 59mm], end = [var -20mm, var 59mm]) - coincident([arc3.end, line4.start]) - arc5 = arc(start = [var -20mm, var 59mm], end = [var -59mm, var 20mm], center = [var -20mm, var 20mm]) - coincident([line4.end, arc5.start]) - line6 = line(start = [var -59mm, var 20mm], end = [var -59mm, var -20mm]) - coincident([arc5.end, line6.start]) - arc7 = arc(start = [var -59mm, var -20mm], end = [var -20mm, var -59mm], center = [var -20mm, var -20mm]) - coincident([line6.end, arc7.start]) - line8 = line(start = [var -20mm, var -59mm], end = [var 20mm, var -59mm]) - coincident([arc7.end, line8.start]) - coincident([line8.end, arc1.start]) -} -middleRegion = region(segments = [middleSketch.arc1, middleSketch.line2]) -bodyMiddleBlank = extrude(middleRegion, length = fanHeight - 8) - -middleHoleSketch = sketch(on = faceOf(bodyMiddleBlank, face = END)) { - fanHole = circle(start = [var 55.2mm, var 0mm], center = [var 0mm, var 0mm]) -} -middleHoleRegion = region(segments = [middleHoleSketch.fanHole]) -bodyMiddle = extrude(middleHoleRegion, length = -(fanHeight - 8)) - -topSketch = sketch(on = faceOf(bodyMiddleBlank, face = END)) { - line1 = line(start = [var -60mm, var -60mm], end = [var 60mm, var -60mm]) - line2 = line(start = [var 60mm, var -60mm], end = [var 60mm, var 60mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 60mm, var 60mm], end = [var -60mm, var 60mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -60mm, var 60mm], end = [var -60mm, var -60mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - fanHole = circle(start = [var 55.2mm, var 0mm], center = [var 0mm, var 0mm]) - mount1 = circle(start = [var 54.75mm, var 52.5mm], center = [var 52.5mm, var 52.5mm]) - mount2 = circle(start = [var -50.25mm, var 52.5mm], center = [var -52.5mm, var 52.5mm]) - mount3 = circle(start = [var 54.75mm, var -52.5mm], center = [var 52.5mm, var -52.5mm]) - mount4 = circle(start = [var -50.25mm, var -52.5mm], center = [var -52.5mm, var -52.5mm]) -} -topRegion = region(segments = [topSketch.line1, topSketch.line2]) -topPlate = extrude(topRegion, length = 4) - |> fillet( - radius = abs(fanSize - mountingHoleSpacing) / 2, - edges = [ - { - sideFaces = [ - topRegion.tags.line1, - topRegion.tags.line2 - ] - }, - { - sideFaces = [ - topRegion.tags.line2, - topRegion.tags.line3 - ] - }, - { - sideFaces = [ - topRegion.tags.line3, - topRegion.tags.line4 - ] - }, - { - sideFaces = [ - topRegion.tags.line4, - topRegion.tags.line1 - ] - } - ], - ) - -motorHousingSketch = sketch(on = faceOf(bottomPlate, face = END)) { - outer = circle(start = [var 11.2mm, var 0mm], center = [var 0mm, var 0mm]) -} -motorHousingBlank = extrude(region(segments = [motorHousingSketch.outer]), length = 16) - -motorBoreSketch = sketch(on = faceOf(motorHousingBlank, face = END)) { - inner = circle(start = [var 10mm, var 0mm], center = [var 0mm, var 0mm]) -} -motorBoreRegion = region(segments = [motorBoreSketch.inner]) -motorHousing = extrude(motorBoreRegion, length = -16) - -hide(bottomSketch) -hide(airflowSketch) -hide(middleSketch) -hide(middleHoleSketch) -hide(topSketch) -hide(motorHousingSketch) -hide(motorBoreSketch) - -fanHousing = motorHousingBlank - |> appearance(color = "#a55e2c") diff --git a/content/pages/docs/kcl-samples/cpu-cooler/fan.kcl b/content/pages/docs/kcl-samples/cpu-cooler/fan.kcl deleted file mode 100644 index cc108e10..00000000 --- a/content/pages/docs/kcl-samples/cpu-cooler/fan.kcl +++ /dev/null @@ -1,73 +0,0 @@ -// Fan -// Spinning axial fan that moves airflow - -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -import * from "parameters.kcl" - -hubSketch = sketch(on = YZ) { - hub = circle(start = [var 12.5mm, var 0mm], center = [var 0mm, var 0mm]) -} -hubRegion = region(segments = [hubSketch.hub]) -fanCenter = extrude(hubRegion, length = fanHeight, tagEnd = $hubEnd) - |> fillet( - radius = 1.5, - edges = [ - { - sideFaces = [hubRegion.tags.hub, hubEnd] - } - ], - ) - -// Inline the three curved blade stations so their twist remains explicit. -bladeSection01 = sketch(on = offsetPlane(YZ, offset = 4.5)) { - rootArc = arc(start = [var 9.64mm, var 11.49mm], end = [var 6.58mm, var 13.48mm], center = [var 0mm, var 0mm]) - leadingArc = arc(start = [var 45.73mm, var 26.4mm], end = [var 6.58mm, var 13.48mm], center = [var 37.74mm, var -15.19mm]) - coincident([rootArc.end, leadingArc.end]) - tipArc = arc(start = [var 47.46mm, var 23.15mm], end = [var 45.73mm, var 26.4mm], center = [var 0mm, var 0mm]) - coincident([leadingArc.start, tipArc.end]) - trailingArc = arc(start = [var 47.46mm, var 23.15mm], end = [var 9.64mm, var 11.49mm], center = [var 38.79mm, var -15.9mm]) - coincident([tipArc.start, trailingArc.start]) - coincident([trailingArc.end, rootArc.start]) -} -bladeSection02 = sketch(on = offsetPlane(YZ, offset = (fanHeight - 2 - 4) / 2)) { - rootArc = arc(start = [var 12.99mm, var 7.5mm], end = [var 10.79mm, var 10.42mm], center = [var 0mm, var 0mm]) - leadingArc = arc(start = [var 52mm, var 9.17mm], end = [var 10.79mm, var 10.42mm], center = [var 30.27mm, var -27.19mm]) - coincident([rootArc.end, leadingArc.end]) - tipArc = arc(start = [var 52.51mm, var 5.52mm], end = [var 52mm, var 9.17mm], center = [var 0mm, var 0mm]) - coincident([leadingArc.start, tipArc.end]) - trailingArc = arc(start = [var 52.51mm, var 5.52mm], end = [var 12.99mm, var 7.5mm], center = [var 31.01mm, var -28.21mm]) - coincident([tipArc.start, trailingArc.start]) - coincident([trailingArc.end, rootArc.start]) -} -bladeSection03 = sketch(on = offsetPlane(YZ, offset = fanHeight - 2)) { - rootArc = arc(start = [var 15mm, var 0mm], end = [var 14.55mm, var 3.63mm], center = [var 0mm, var 0mm]) - leadingArc = arc(start = [var 49.62mm, var -18.06mm], end = [var 14.55mm, var 3.63mm], center = [var 12.62mm, var -38.68mm]) - coincident([rootArc.end, leadingArc.end]) - tipArc = arc(start = [var 48.24mm, var -21.48mm], end = [var 49.62mm, var -18.06mm], center = [var 0mm, var 0mm]) - coincident([leadingArc.start, tipArc.end]) - trailingArc = arc(start = [var 48.24mm, var -21.48mm], end = [var 15mm, var 0mm], center = [var 12.75mm, var -39.93mm]) - coincident([tipArc.start, trailingArc.start]) - coincident([trailingArc.end, rootArc.start]) -} - -bladeLoft = loft([ - bladeSection01, - bladeSection02, - bladeSection03 -]) - |> patternCircular3d( - instances = 9, - axis = X, - center = [0, 0, 0], - arcDegrees = 360deg, - rotateDuplicates = true, - ) - -hide(hubSketch) -hide(bladeSection01) -hide(bladeSection02) -hide(bladeSection03) - -[fanCenter, bladeLoft] - |> appearance(color = "#110803") diff --git a/content/pages/docs/kcl-samples/cpu-cooler/heat-sink.kcl b/content/pages/docs/kcl-samples/cpu-cooler/heat-sink.kcl deleted file mode 100644 index b502ae70..00000000 --- a/content/pages/docs/kcl-samples/cpu-cooler/heat-sink.kcl +++ /dev/null @@ -1,392 +0,0 @@ -// Heat Sink -// Conductive metal device made from brazed tubes and fins - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -// Import parameters -import * from "parameters.kcl" - -// Draw the sweep path for the outermost tubes -endTubePath = sketch(on = offsetPlane(YZ, offset = -20)) { - line1 = line(start = [var 30mm, var 158mm], end = [var 30mm, var 25mm]) - arc2 = arc(start = [var 15mm, var 10mm], end = [var 30mm, var 25mm], center = [var 15mm, var 25mm]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var 15mm, var 10mm], end = [var 0mm, var 10mm]) - coincident([arc2.start, line3.start]) - line4 = line(start = [var 0mm, var 10mm], end = [var -15mm, var 10mm]) - coincident([line3.end, line4.start]) - arc5 = arc(start = [var -30mm, var 25mm], end = [var -15mm, var 10mm], center = [var -15mm, var 25mm]) - coincident([line4.end, arc5.end]) - line6 = line(start = [var -30mm, var 25mm], end = [var -30mm, var 158mm]) - coincident([arc5.start, line6.start]) - horizontal(line4) -} - -// Sweep and translate the outermost tube on each end -sketch001 = sketch(on = offsetPlane(XY, offset = fanSize + 38)) { - circle1 = circle(start = [var -17mm, var 30mm], center = [var -20mm, var 30mm]) - innerCircle = circle(start = [var -17.5mm, var 30mm], center = [var -20mm, var 30mm]) -} -region001 = region(segments = [sketch001.circle1]) -export endTube = sweep(region001, path = endTubePath) - |> patternCircular3d( - instances = 2, - axis = [0, 0, 1], - center = [0, 0, 0], - arcDegrees = 360, - rotateDuplicates = false, - ) - -// Draw the sweep path for the 4 interior tubes -centerTubePath = sketch(on = offsetPlane(YZ, offset = -4)) { - line1 = line(start = [var 44.94mm, var 158mm], end = [var 44.94mm, var 40mm]) - arc2 = arc(start = [var 40.55mm, var 29.39mm], end = [var 44.94mm, var 40mm], center = [var 29.94mm, var 40mm]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var 40.55mm, var 29.39mm], end = [var 25.55mm, var 14.39mm]) - coincident([arc2.start, line3.start]) - arc4 = arc(start = [var 14.94mm, var 10mm], end = [var 25.55mm, var 14.39mm], center = [var 14.94mm, var 25mm]) - coincident([line3.end, arc4.end]) - line5 = line(start = [var 14.94mm, var 10mm], end = [var 0mm, var 10mm]) - coincident([arc4.start, line5.start]) - line6 = line(start = [var 0mm, var 10mm], end = [var -14.94mm, var 10mm]) - coincident([line5.end, line6.start]) - arc7 = arc(start = [var -21.28mm, var 38.59mm], end = [var -14.94mm, var 10mm], center = [var -14.94mm, var 25mm]) - coincident([line6.end, arc7.end]) - arc8 = arc(start = [var -21.28mm, var 38.59mm], end = [var -12.62mm, var 52.19mm], center = [var -27.62mm, var 52.19mm]) - coincident([arc7.start, arc8.start]) - line9 = line(start = [var -12.62mm, var 52.19mm], end = [var -12.62mm, var 158mm]) - coincident([arc8.end, line9.start]) - horizontal(line6) - tangent([arc7, arc8]) - radius(arc8) == 15mm -} - -// Draw the profile and sweep the 4 interior tubes -sketch002 = sketch(on = offsetPlane(XY, offset = fanSize + 38)) { - circle1 = circle(start = [var -1mm, var 44.94mm], center = [var -4mm, var 44.94mm]) - innerCircle = circle(start = [var -1.5mm, var 44.94mm], center = [var -4mm, var 44.94mm]) -} -region002 = region(segments = [sketch002.circle1]) -export centerTube = sweep(region002, path = centerTubePath) - |> patternCircular3d( - instances = 2, - axis = [0, 0, 1], - center = [-4 * 2, 0, 0], - arcDegrees = 360, - rotateDuplicates = true, - ) - |> patternLinear3d(instances = 2, distance = 4 * 4, axis = [1, 0, 0]) - -// Draw a heat fin with built-in clips to secure the mounting wire. Pattern the fin upwards by the height of the fan -sketch003 = sketch(on = offsetPlane(XY, offset = 45)) { - line1 = line(start = [var 0mm, var -60mm], end = [var 9mm, var -60mm]) - line2 = line(start = [var 9mm, var -60mm], end = [var 10.25mm, var -62.16506351mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 10.25mm, var -62.16506351mm], end = [var 11mm, var -62.16506351mm]) - coincident([line2.end, line3.start]) - arc4 = arc(start = [var 13mm, var -62.16506351mm], end = [var 11mm, var -62.16506351mm], center = [var 12mm, var -61.98173018mm]) - coincident([line3.end, arc4.end]) - line5 = line(start = [var 13mm, var -62.16506351mm], end = [var 13.75mm, var -62.16506351mm]) - coincident([arc4.start, line5.start]) - line6 = line(start = [var 13.75mm, var -62.16506351mm], end = [var 15mm, var -60mm]) - coincident([line5.end, line6.start]) - line7 = line(start = [var 15mm, var -60mm], end = [var 24.5mm, var -60mm]) - coincident([line6.end, line7.start]) - arc8 = arc(start = [var 24.5mm, var -60mm], end = [var 27.5mm, var -57mm], center = [var 24.5mm, var -57mm]) - coincident([line7.end, arc8.start]) - line9 = line(start = [var 27.5mm, var -57mm], end = [var 27.5mm, var 0mm]) - coincident([arc8.end, line9.start]) - line10 = line(start = [var 27.5mm, var 0mm], end = [var 27.5mm, var 57mm]) - coincident([line9.end, line10.start]) - arc11 = arc(start = [var 27.5mm, var 57mm], end = [var 24.5mm, var 60mm], center = [var 24.5mm, var 57mm]) - coincident([line10.end, arc11.start]) - line12 = line(start = [var 24.5mm, var 60mm], end = [var 15mm, var 60mm]) - coincident([arc11.end, line12.start]) - line13 = line(start = [var 15mm, var 60mm], end = [var 13.75mm, var 62.16506351mm]) - coincident([line12.end, line13.start]) - line14 = line(start = [var 13.75mm, var 62.16506351mm], end = [var 13mm, var 62.16506351mm]) - coincident([line13.end, line14.start]) - arc15 = arc(start = [var 13mm, var 62.16506351mm], end = [var 11mm, var 62.16506351mm], center = [var 12mm, var 61.98173018mm]) - coincident([line14.end, arc15.start]) - line16 = line(start = [var 11mm, var 62.16506351mm], end = [var 10.25mm, var 62.16506351mm]) - coincident([arc15.end, line16.start]) - line17 = line(start = [var 10.25mm, var 62.16506351mm], end = [var 9mm, var 60mm]) - coincident([line16.end, line17.start]) - line18 = line(start = [var 9mm, var 60mm], end = [var -9mm, var 60mm]) - coincident([line17.end, line18.start]) - line19 = line(start = [var -9mm, var 60mm], end = [var -10.25mm, var 62.16506351mm]) - coincident([line18.end, line19.start]) - line20 = line(start = [var -10.25mm, var 62.16506351mm], end = [var -11mm, var 62.16506351mm]) - coincident([line19.end, line20.start]) - arc21 = arc(start = [var -11mm, var 62.16506351mm], end = [var -13mm, var 62.16506351mm], center = [var -12mm, var 61.98173018mm]) - coincident([line20.end, arc21.start]) - line22 = line(start = [var -13mm, var 62.16506351mm], end = [var -13.75mm, var 62.16506351mm]) - coincident([arc21.end, line22.start]) - line23 = line(start = [var -13.75mm, var 62.16506351mm], end = [var -15mm, var 60mm]) - coincident([line22.end, line23.start]) - line24 = line(start = [var -15mm, var 60mm], end = [var -24.5mm, var 60mm]) - coincident([line23.end, line24.start]) - arc25 = arc(start = [var -24.5mm, var 60mm], end = [var -27.5mm, var 57mm], center = [var -24.5mm, var 57mm]) - coincident([line24.end, arc25.start]) - line26 = line(start = [var -27.5mm, var 57mm], end = [var -27.5mm, var -57mm]) - coincident([arc25.end, line26.start]) - arc27 = arc(start = [var -27.5mm, var -57mm], end = [var -24.5mm, var -60mm], center = [var -24.5mm, var -57mm]) - coincident([line26.end, arc27.start]) - line28 = line(start = [var -24.5mm, var -60mm], end = [var -15mm, var -60mm]) - coincident([arc27.end, line28.start]) - line29 = line(start = [var -15mm, var -60mm], end = [var -13.75mm, var -62.16506351mm]) - coincident([line28.end, line29.start]) - line30 = line(start = [var -13.75mm, var -62.16506351mm], end = [var -13mm, var -62.16506351mm]) - coincident([line29.end, line30.start]) - arc31 = arc(start = [var -13mm, var -62.16506351mm], end = [var -11mm, var -62.16506351mm], center = [var -12mm, var -61.98173018mm]) - coincident([line30.end, arc31.start]) - line32 = line(start = [var -11mm, var -62.16506351mm], end = [var -10.25mm, var -62.16506351mm]) - coincident([arc31.end, line32.start]) - line33 = line(start = [var -10.25mm, var -62.16506351mm], end = [var -9mm, var -60mm]) - coincident([line32.end, line33.start]) - line34 = line(start = [var -9mm, var -60mm], end = [var 0mm, var -60mm]) - coincident([line33.end, line34.start]) - coincident([line34.end, line1.start]) -} -region003 = region(segments = [sketch003.line1, sketch003.line2]) -export heatFins = extrude(region003, length = 1) - |> patternLinear3d(instances = 31, distance = (fanSize - 10) / 30, axis = [0, 0, 1]) - -// Create the mounting base for the CPU cooler. The base should consist of two pieces that secure around each of the tubes at the bottom -sketch004 = sketch(on = -XZ) { - line1 = line(start = [var 0mm, var 10mm], end = [var -0.9mm, var 10mm]) - arc2 = arc(start = [var -7.1mm, var 10mm], end = [var -0.9mm, var 10mm], center = [var -4mm, var 10mm]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var -7.1mm, var 10mm], end = [var -8.9mm, var 10mm]) - coincident([arc2.start, line3.start]) - arc4 = arc(start = [var -14.9mm, var 10mm], end = [var -8.9mm, var 10mm], center = [var -11.9mm, var 10mm]) - coincident([line3.end, arc4.end]) - line5 = line(start = [var -14.9mm, var 10mm], end = [var -16.7mm, var 10mm]) - coincident([arc4.start, line5.start]) - arc6 = arc(start = [var -22.7mm, var 10mm], end = [var -16.7mm, var 10mm], center = [var -19.7mm, var 10mm]) - coincident([line5.end, arc6.end]) - line7 = line(start = [var -22.7mm, var 10mm], end = [var -24.5mm, var 10mm]) - coincident([arc6.start, line7.start]) - line8 = line(start = [var -24.5mm, var 10mm], end = [var -26.5mm, var 10mm]) - coincident([line7.end, line8.start]) - line9 = line(start = [var -26.5mm, var 10mm], end = [var -26.5mm, var 0mm]) - coincident([line8.end, line9.start]) - line10 = line(start = [var -26.5mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line9.end, line10.start]) - line11 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 10mm]) - coincident([line10.end, line11.start]) - coincident([line11.end, line1.start]) -} -region004 = region(segments = [sketch004.line1, sketch004.arc2]) -baseLowerHalf = extrude(region004, length = 30, symmetric = true) -export baseLower = union([ - baseLowerHalf, - mirror3d(baseLowerHalf, across = YZ) -]) - -sketch005 = sketch(on = -XZ) { - line1 = line(start = [var 0mm, var 10mm], end = [var -0.9mm, var 10mm]) - arc2 = arc(start = [var -0.9mm, var 10mm], end = [var -7.1mm, var 10mm], center = [var -4mm, var 10mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var -7.1mm, var 10mm], end = [var -8.9mm, var 10mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -8.9mm, var 10mm], end = [var -14.9mm, var 10mm], center = [var -11.9mm, var 10mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var -14.9mm, var 10mm], end = [var -16.7mm, var 10mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var -16.7mm, var 10mm], end = [var -22.7mm, var 10mm], center = [var -19.7mm, var 10mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -22.7mm, var 10mm], end = [var -24.5mm, var 10mm]) - coincident([arc6.end, line7.start]) - line8 = line(start = [var -24.5mm, var 10mm], end = [var -25.5mm, var 10mm]) - coincident([line7.end, line8.start]) - line9 = line(start = [var -25.5mm, var 10mm], end = [var -25.5mm, var 14mm]) - coincident([line8.end, line9.start]) - arc10 = arc(start = [var -23.5mm, var 16mm], end = [var -25.5mm, var 14mm], center = [var -23.5mm, var 14mm]) - coincident([line9.end, arc10.end]) - line11 = line(start = [var -23.5mm, var 16mm], end = [var 0mm, var 16mm]) - coincident([arc10.start, line11.start]) - line12 = line(start = [var 0mm, var 16mm], end = [var 0mm, var 10mm]) - coincident([line11.end, line12.start]) - coincident([line12.end, line1.start]) -} -region005 = region(segments = [sketch005.line1, sketch005.arc2]) -baseUpperHalf = extrude(region005, length = 22.5, symmetric = true) -export baseUpper = union([ - baseUpperHalf, - mirror3d(baseUpperHalf, across = YZ) -]) - -// Create a flexible mounting bracket to secure the heat sink to the motherboard once adhered -sketch006 = sketch(on = XZ) { - line1 = line(start = [var -10mm, var 16mm], end = [var -30mm, var 16mm]) - arc2 = arc( - start = [var -30mm, var 16mm], - end = [ - var -35.130302149885mm, - var 15.095389311789mm - ], - center = [var -30mm, var 1mm], - ) - coincident([line1.end, arc2.start]) - line3 = line( - start = [ - var -35.130302149885mm, - var 15.095389311789mm - ], - end = [ - var -48.285998840888mm, - var 10.307107305229mm - ], - ) - coincident([arc2.end, line3.start]) - arc4 = arc( - start = [ - var -57.116818837886mm, - var 9.534510665854mm - ], - end = [ - var -48.285998840888mm, - var 10.307107305229mm - ], - center = [ - var -54.14309379534mm, - var 26.399343436188mm - ], - ) - coincident([line3.end, arc4.end]) - line5 = line( - start = [ - var -57.116818837886mm, - var 9.534510665854mm - ], - end = [ - var -78.290185527648mm, - var 13.267946485693mm - ], - ) - coincident([arc4.start, line5.start]) - line6 = line( - start = [ - var -78.290185527648mm, - var 13.267946485693mm - ], - end = [ - var -77.921183150106mm, - var 15.360662960844mm - ], - ) - coincident([line5.end, line6.start]) - line7 = line( - start = [ - var -77.921183150106mm, - var 15.360662960844mm - ], - end = [ - var -56.747816460344mm, - var 11.627227141005mm - ], - ) - coincident([line6.end, line7.start]) - arc8 = arc( - start = [ - var -56.747816460344mm, - var 11.627227141005mm - ], - end = [ - var -49.012791645455mm, - var 12.303954124399mm - ], - center = [ - var -54.14309379534mm, - var 26.399343436188mm - ], - ) - coincident([line7.end, arc8.start]) - line9 = line( - start = [ - var -49.012791645455mm, - var 12.303954124399mm - ], - end = [ - var -35.857094954452mm, - var 17.092236130959mm - ], - ) - coincident([arc8.end, line9.start]) - arc10 = arc( - start = [var -30mm, var 18.125mm], - end = [ - var -35.857094954452mm, - var 17.092236130959mm - ], - center = [var -30mm, var 1mm], - ) - coincident([line9.end, arc10.end]) - line11 = line(start = [var -30mm, var 18.125mm], end = [var -10mm, var 18.125mm]) - coincident([arc10.start, line11.start]) - line12 = line(start = [var -10mm, var 18.125mm], end = [var -10mm, var 16mm]) - coincident([line11.end, line12.start]) - vertical(line12) -} -region006 = region(segments = [sketch006.line1, sketch006.arc2]) -mountingBracket = extrude( - region006, - length = 16, - symmetric = true, - tagEnd = $capEnd001, - tagStart = $capStart001, -) - |> fillet( - radius = 2, - edges = [ - { - sideFaces = [region006.tags.line12, capEnd001] - }, - { - sideFaces = [region006.tags.line6, capEnd001] - }, - { - sideFaces = [region006.tags.line6, capStart001] - }, - { - sideFaces = [region006.tags.line12, capStart001] - } - ], - ) - -// Create a clearance hole in the bracket for an M3 screw and countersink the hole -sketch007 = sketch(on = faceOf(mountingBracket, face = region006.tags.line7)) { - circle1 = circle(start = [var 71.7mm, var 0mm], center = [var 70mm, var 0mm]) -} -region007 = region(segments = [sketch007.circle1]) -export thruHole = extrude(region007, length = -sheetThickness) - |> chamfer( - length = sheetThickness * 0.75, - edges = [ - { - sideFaces = [ - region006.tags.line7, - region007.tags.circle1 - ] - } - ], - ) - |> patternCircular3d( - instances = 2, - axis = [0, 0, 1], - center = [0, 0, 0], - arcDegrees = 360deg, - rotateDuplicates = true, - ) - -hide(endTubePath) -hide(sketch001) -hide(centerTubePath) -hide(sketch002) -hide(sketch003) -hide(sketch004) -hide(sketch005) -hide(sketch006) -hide(sketch007) diff --git a/content/pages/docs/kcl-samples/cpu-cooler/main.kcl b/content/pages/docs/kcl-samples/cpu-cooler/main.kcl deleted file mode 100644 index 0dc23c21..00000000 --- a/content/pages/docs/kcl-samples/cpu-cooler/main.kcl +++ /dev/null @@ -1,55 +0,0 @@ -// CPU Cooler -// A CPU cooler is a device designed to dissipate heat generated by the CPU of a computer. They consist of a brazed heat sink made from aluminum or copper alloys, and one or two axial fans to move airflow across the heat sink. -// Categories: Electronics & Computing; Mechanical Components - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -// Import all parts and parameters into assembly file -import * from "parameters.kcl" -import "fan-housing.kcl" as fanHousing -import "motor.kcl" as motor -import "fan.kcl" as fan -import endTube from "heat-sink.kcl" -import centerTube from "heat-sink.kcl" -import heatFins from "heat-sink.kcl" -import baseLower from "heat-sink.kcl" -import baseUpper from "heat-sink.kcl" -import thruHole from "heat-sink.kcl" -import "mounting-wire.kcl" as mountingWire -import "removable-sticker.kcl" as removableSticker - -// Produce the model for each imported part -endTube -centerTube -heatFins -baseLower -baseUpper -thruHole - -fn translatePart(part) { - part - |> translate(x = heatSinkDepth / 2, z = 40 + fanSize / 2) - |> patternLinear3d(instances = 2, distance = heatSinkDepth + fanHeight, axis = [-1, 0, 0]) - return { } -} -translatePart(part = fanHousing) -translatePart(part = motor) -translatePart(part = fan) - -mountingWire - |> patternCircular3d( - instances = 2, - axis = [0, 1, 0], - center = [0, 0, 40 + fanSize / 2], - arcDegrees = 360deg, - rotateDuplicates = true, - ) - |> patternCircular3d( - instances = 2, - axis = [0, 0, 1], - center = [0, 0, 0], - arcDegrees = 360deg, - rotateDuplicates = true, - ) -removableSticker diff --git a/content/pages/docs/kcl-samples/cpu-cooler/motor.kcl b/content/pages/docs/kcl-samples/cpu-cooler/motor.kcl deleted file mode 100644 index 4ad3b8d7..00000000 --- a/content/pages/docs/kcl-samples/cpu-cooler/motor.kcl +++ /dev/null @@ -1,43 +0,0 @@ -// Motor -// A small electric motor to power the fan - -// Set Units -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -// Import Parameters -import * from "parameters.kcl" - -// Model the motor body and stem -startPlane = offsetPlane(YZ, offset = 4) -sketch001 = sketch(on = startPlane) { - circle1 = circle(start = [var 10mm, var 0mm], center = [var 0mm, var 0mm]) -} -region001 = region(segments = [sketch001.circle1]) -motorBody = extrude( - region001, - length = 17, - tagStart = $motorStart, - tagEnd = $motorEnd, -) - |> fillet( - radius = 2, - edges = [ - { - sideFaces = [region001.tags.circle1, motorStart] - }, - { - sideFaces = [region001.tags.circle1, motorEnd] - } - ], - ) - |> appearance(color = "#021b55") -sketch002 = sketch(on = offsetPlane(YZ, offset = 21)) { - circle1 = circle(start = [var 1mm, var 0mm], center = [var 0mm, var 0mm]) -} -region002 = region(segments = [sketch002.circle1]) -motorStem = extrude(region002, length = 3.8) - |> appearance(color = "#cbcccd") -hide(sketch001) -hide(sketch002) - -[motorBody, motorStem] diff --git a/content/pages/docs/kcl-samples/cpu-cooler/mounting-wire.kcl b/content/pages/docs/kcl-samples/cpu-cooler/mounting-wire.kcl deleted file mode 100644 index d3e4ba50..00000000 --- a/content/pages/docs/kcl-samples/cpu-cooler/mounting-wire.kcl +++ /dev/null @@ -1,126 +0,0 @@ -// Mounting Wire -// The flexible metal wire used to clip the fans onto the heat sink - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -// Import parameters -import * from "parameters.kcl" - -// Draw the XZ component of the mounting wire path -upperArm = sketch(on = offsetPlane(XZ, offset = fanSize / 2 + 2)) { - line1 = line(start = [var -12mm, var 100mm], end = [var -12mm, var 107mm]) - arc2 = arc(start = [var -12mm, var 107mm], end = [var -14mm, var 109mm], center = [var -14mm, var 107mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var -14mm, var 109mm], end = [var -23mm, var 109mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -25mm, var 111mm], end = [var -23mm, var 109mm], center = [var -23mm, var 111mm]) - coincident([line3.end, arc4.end]) - line5 = line(start = [var -25mm, var 111mm], end = [var -25mm, var 125mm]) - coincident([arc4.start, line5.start]) - arc6 = arc(start = [var -25mm, var 125mm], end = [var -27mm, var 127mm], center = [var -27mm, var 125mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -27mm, var 127mm], end = [var -36mm, var 127mm]) - coincident([arc6.end, line7.start]) - arc8 = arc(start = [var -37.97mm, var 128.65mm], end = [var -36mm, var 127mm], center = [var -36mm, var 129mm]) - coincident([line7.end, arc8.end]) - line9 = line(start = [var -37.97mm, var 128.65mm], end = [var -41.91mm, var 151mm]) - coincident([arc8.start, line9.start]) - arc10 = arc(start = [var -41.91mm, var 151mm], end = [var -43.88mm, var 152.65mm], center = [var -43.88mm, var 150.65mm]) - coincident([line9.end, arc10.start]) -} - -// Draw the XZ component of the mounting wire path -lowerArm = sketch(on = offsetPlane(XZ, offset = fanSize / 2 + 2)) { - line1 = line(start = [var -12mm, var 100mm], end = [var -12mm, var 93mm]) - arc2 = arc(start = [var -14mm, var 91mm], end = [var -12mm, var 93mm], center = [var -14mm, var 93mm]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var -14mm, var 91mm], end = [var -23mm, var 91mm]) - coincident([arc2.start, line3.start]) - arc4 = arc(start = [var -23mm, var 91mm], end = [var -25mm, var 89mm], center = [var -23mm, var 89mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var -25mm, var 89mm], end = [var -25mm, var 75mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var -27mm, var 73mm], end = [var -25mm, var 75mm], center = [var -27mm, var 75mm]) - coincident([line5.end, arc6.end]) - line7 = line(start = [var -27mm, var 73mm], end = [var -36mm, var 73mm]) - coincident([arc6.start, line7.start]) - arc8 = arc(start = [var -36mm, var 73mm], end = [var -37.97mm, var 71.35mm], center = [var -36mm, var 71mm]) - coincident([line7.end, arc8.start]) - line9 = line(start = [var -37.97mm, var 71.35mm], end = [var -41.91mm, var 49mm]) - coincident([arc8.end, line9.start]) - arc10 = arc(start = [var -43.88mm, var 47.35mm], end = [var -41.91mm, var 49mm], center = [var -43.88mm, var 49.35mm]) - coincident([line9.end, arc10.end]) -} - -// Create the profile of the mounting wire and sweep along the XZ path -wireProfile = offsetPlane(XY, offset = 40 + fanSize / 2) -sketch001 = sketch(on = wireProfile) { - circle1 = circle(start = [var -11mm, var -62mm], center = [var -12mm, var -62mm]) -} -region001 = region(segments = [sketch001.circle1]) -sweepUpperArm = sweep(region001, path = upperArm) - -sketch002 = sketch(on = wireProfile) { - circle1 = circle(start = [var -11mm, var -62mm], center = [var -12mm, var -62mm]) -} -region002 = region(segments = [sketch002.circle1]) -sweepLowerArm = sweep(region002, path = lowerArm) - -// Draw the XY components of the mounting wire path -upperHook = sketch(on = offsetPlane(XY, offset = 152.65)) { - line1 = line(start = [var -43.88mm, var -62mm], end = [var -52.5mm, var -62mm]) - arc2 = arc(start = [var -54.5mm, var -60mm], end = [var -52.5mm, var -62mm], center = [var -52.5mm, var -60mm]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var -54.5mm, var -60mm], end = [var -54.5mm, var -54.5mm]) - coincident([arc2.start, line3.start]) - arc4 = arc(start = [var -52.5mm, var -52.5mm], end = [var -54.5mm, var -54.5mm], center = [var -52.5mm, var -54.5mm]) - coincident([line3.end, arc4.end]) - line5 = line(start = [var -52.5mm, var -52.5mm], end = [var -44.17mm, var -52.5mm]) - coincident([arc4.start, line5.start]) -} - -// Draw the XY components of the mounting wire path -lowerHook = sketch(on = offsetPlane(XY, offset = 47.35)) { - line1 = line(start = [var -43.88mm, var -62mm], end = [var -52.5mm, var -62mm]) - arc2 = arc(start = [var -54.5mm, var -60mm], end = [var -52.5mm, var -62mm], center = [var -52.5mm, var -60mm]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var -54.5mm, var -60mm], end = [var -54.5mm, var -54.5mm]) - coincident([arc2.start, line3.start]) - arc4 = arc(start = [var -52.5mm, var -52.5mm], end = [var -54.5mm, var -54.5mm], center = [var -52.5mm, var -54.5mm]) - coincident([line3.end, arc4.end]) - line5 = line(start = [var -52.5mm, var -52.5mm], end = [var -44.17mm, var -52.5mm]) - coincident([arc4.start, line5.start]) -} - -// Sweep the wire profile around the hook-shaped segments of the mounting wire -hookProfile = offsetPlane(YZ, offset = -43.88) -sketch003 = sketch(on = hookProfile) { - circle1 = circle(start = [var -61mm, var 152.65mm], center = [var -62mm, var 152.65mm]) -} -region003 = region(segments = [sketch003.circle1]) -sweepUpperHook = sweep(region003, path = upperHook) - -sketch004 = sketch(on = hookProfile) { - circle1 = circle(start = [var -61mm, var 47.35mm], center = [var -62mm, var 47.35mm]) -} -region004 = region(segments = [sketch004.circle1]) -sweepLowerHook = sweep(region004, path = lowerHook) - -// Union each piece of the wire into a single continuous sweep -hide(upperArm) -hide(lowerArm) -hide(upperHook) -hide(lowerHook) -hide(sketch001) -hide(sketch002) -hide(sketch003) -hide(sketch004) - -[ - sweepLowerArm, - sweepLowerHook, - sweepUpperArm, - sweepUpperHook -] - |> appearance(color = "#0d0d0d") diff --git a/content/pages/docs/kcl-samples/cpu-cooler/parameters.kcl b/content/pages/docs/kcl-samples/cpu-cooler/parameters.kcl deleted file mode 100644 index bc8ba84c..00000000 --- a/content/pages/docs/kcl-samples/cpu-cooler/parameters.kcl +++ /dev/null @@ -1,13 +0,0 @@ -// Global parameters for the CPU cooler - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -// Define Parameters -export fanSize = 120 -export fanHeight = 25 -export mountingHoleSpacing = 105 -export mountingHoleSize = 4.5 -export bendRadius = 15 -export sheetThickness = 2.125 -export heatSinkDepth = 55 diff --git a/content/pages/docs/kcl-samples/cpu-cooler/removable-sticker.kcl b/content/pages/docs/kcl-samples/cpu-cooler/removable-sticker.kcl deleted file mode 100644 index a895d1e3..00000000 --- a/content/pages/docs/kcl-samples/cpu-cooler/removable-sticker.kcl +++ /dev/null @@ -1,51 +0,0 @@ -// Removable Sticker -// Protective sticker to be removed before adhering the heat sink to the CPU - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -// Create a simple body to represent the removable warning sticker. Brightly color the sticker so that the user will not forget to remove it before installing the device -sketch001 = sketch(on = -XY) { - line1 = line(start = [var -12mm, var -12mm], end = [var 12mm, var -12mm]) - line2 = line(start = [var 12mm, var -12mm], end = [var 12mm, var 12mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 12mm, var 12mm], end = [var -12mm, var 12mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -12mm, var 12mm], end = [var -12mm, var -12mm]) - coincident([line3.end, line4.start]) -} -region001 = region(segments = [sketch001.line1, sketch001.line2]) -removableSticker = extrude(region001, length = .3) - |> appearance(color = "#021b55") - |> chamfer( - length = 3, - edges = [ - { - sideFaces = [ - region001.tags.line1, - region001.tags.line2 - ] - }, - { - sideFaces = [ - region001.tags.line2, - region001.tags.line3 - ] - }, - { - sideFaces = [ - region001.tags.line3, - region001.tags.line4 - ] - }, - { - sideFaces = [ - region001.tags.line4, - region001.tags.line1 - ] - } - ], - ) -hide(sketch001) - -removableSticker diff --git a/content/pages/docs/kcl-samples/crash-box/.gitignore b/content/pages/docs/kcl-samples/crash-box/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/crash-box/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/crash-box/main.kcl b/content/pages/docs/kcl-samples/crash-box/main.kcl deleted file mode 100644 index e774953d..00000000 --- a/content/pages/docs/kcl-samples/crash-box/main.kcl +++ /dev/null @@ -1,219 +0,0 @@ -// Crash-box with beam cutout and mounting holes -// A crash box is an energy-absorbing structural component mounted between a vehicle’s bumper beam and the main body. It is designed to deform in a controlled manner during low- to moderate-speed impacts, reducing crash forces transmitted to the chassis and lowering repair costs by localizing damage to a replaceable module. -// Categories: Automotive & Transportation - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// ----------------------------- -// Parameters -// ----------------------------- - -// Hole parameters (for mounting/fastening to the bumper beam) -mountHoleRadius = 16 -mountHoleOffsetFromTop = 150 -mountHoleSpacing = 200 - -// Beam/cutout parameters -beamCutoutDepth = 300 - -// Crash-box overall dimensions -crashBoxExtrudeLength = -1200 -crashBoxOuterWidth = 400 - -// ----------------------------- -// Crash box: square tube profile and extrusion -// ----------------------------- - - -crashBoxProfile = sketch(on = XY) { - bottomEdge = line(start = [var -205mm, var -198mm], end = [var 193mm, var -205mm]) - rightEdge = line(start = [var 207mm, var -191mm], end = [var 212mm, var 188mm]) - topEdge = line(start = [var 204mm, var 209mm], end = [var -196mm, var 212mm]) - leftEdge = line(start = [var -214mm, var 197mm], end = [var -206mm, var -201mm]) - verticalCenterGuide = line(start = [var 0mm, var 0mm], end = [var 0mm, var -190mm], construction = true) - horizontalCenterGuide = line(start = [var 0mm, var 0mm], end = [var 193mm, var 0mm], construction = true) - - coincident([bottomEdge.end, rightEdge.start]) - coincident([rightEdge.end, topEdge.start]) - coincident([topEdge.end, leftEdge.start]) - coincident([leftEdge.end, bottomEdge.start]) - coincident([verticalCenterGuide.start, ORIGIN]) - coincident([ - horizontalCenterGuide.start, - verticalCenterGuide.start - ]) - coincident([verticalCenterGuide.end, bottomEdge]) - coincident([horizontalCenterGuide.end, rightEdge]) - - horizontal(bottomEdge) - horizontal(topEdge) - horizontal(horizontalCenterGuide) - vertical(rightEdge) - vertical(leftEdge) - vertical(verticalCenterGuide) - - horizontalDistance([bottomEdge.start, bottomEdge.end]) == crashBoxOuterWidth - verticalDistance([leftEdge.end, leftEdge.start]) == crashBoxOuterWidth - verticalDistance([ - verticalCenterGuide.end, - verticalCenterGuide.start - ]) == crashBoxOuterWidth / 2 - horizontalDistance([ - horizontalCenterGuide.start, - horizontalCenterGuide.end - ]) == crashBoxOuterWidth / 2 -} - -crashBoxRegion = region(segments = [ - crashBoxProfile.bottomEdge, - crashBoxProfile.rightEdge -]) - -// Create a solid crash box from the square profile -crashBoxSolid = extrude(crashBoxRegion, length = crashBoxExtrudeLength) - -// Optional exterior edge softening -crashBoxOuterCornerFillets = fillet( - crashBoxSolid, - radius = 60, - edges = [ - { - sideFaces = [ - crashBoxRegion.tags.leftEdge, - crashBoxRegion.tags.bottomEdge - ] - }, - { - sideFaces = [ - crashBoxRegion.tags.bottomEdge, - crashBoxRegion.tags.rightEdge - ] - }, - { - sideFaces = [ - crashBoxRegion.tags.topEdge, - crashBoxRegion.tags.rightEdge - ] - }, - { - sideFaces = [ - crashBoxRegion.tags.leftEdge, - crashBoxRegion.tags.topEdge - ] - } - ], -) - -// Shell the crash box from both ends to create a constant wall thickness -crashBoxShelled = shell(crashBoxOuterCornerFillets, faces = [END, START], thickness = 20) -hide(crashBoxProfile) - -// ----------------------------- -// Bumper beam surrogate: used to cut a mating pocket in the crash box -// ----------------------------- - - -beamProfile = sketch(on = -YZ) { - topEdge = line(start = [var -861mm, var 6mm], end = [var 882mm, var -4mm]) - rightEdge = line(start = [var 874mm, var -1mm], end = [var 879mm, var -307mm]) - bottomEdge = line(start = [var 872mm, var -298mm], end = [var -864mm, var -304mm]) - leftEdge = line(start = [var -871mm, var -292mm], end = [var -868mm, var 4mm]) - - coincident([topEdge.end, rightEdge.start]) - coincident([rightEdge.end, bottomEdge.start]) - coincident([bottomEdge.end, leftEdge.start]) - coincident([leftEdge.end, topEdge.start]) - - horizontal(topEdge) - horizontal(bottomEdge) - vertical(rightEdge) - vertical(leftEdge) - - horizontalDistance([topEdge.start, ORIGIN]) == 870.13mm - verticalDistance([ORIGIN, topEdge.start]) == 0mm - horizontalDistance([topEdge.start, topEdge.end]) == 1744.11mm - verticalDistance([rightEdge.end, rightEdge.start]) == beamCutoutDepth -} - -// Extrude the beam surrogate symmetrically, tagging start/end faces for fillets -beamRegion = region(segments = [ - beamProfile.topEdge, - beamProfile.rightEdge -]) -beamSolid = extrude( - beamRegion, - length = 250, - symmetric = true, - tagStart = $capStart001, - tagEnd = $capEnd001, -) - -// Ease the beam pocket edges for a better fit -beamEndFillets = fillet( - beamSolid, - radius = 80, - edges = [ - { - sideFaces = [ - beamRegion.tags.bottomEdge, - beamSolid.faces.capEnd001 - ] - }, - { - sideFaces = [ - beamSolid.faces.capStart001, - beamRegion.tags.bottomEdge - ] - } - ], -) -hide(beamProfile) - -// ----------------------------- -// Subtract the beam volume from the crash box to form the mating pocket -// ----------------------------- - - -crashBoxWithPocket = subtract(crashBoxShelled, tools = beamEndFillets) - -// ----------------------------- -// Mounting holes: through-holes from front to back of crash box -// ----------------------------- - - -holePlane = offsetPlane(YZ, offset = -crashBoxOuterWidth / 2 - 10mm) -holeSketch = sketch(on = holePlane) { - leftHole = circle( - start = [ - -mountHoleSpacing / 2 + mountHoleRadius, - -mountHoleOffsetFromTop - ], - center = [ - -mountHoleSpacing / 2, - -mountHoleOffsetFromTop - ], - ) - rightHole = circle( - start = [ - mountHoleSpacing / 2 + mountHoleRadius, - -mountHoleOffsetFromTop - ], - center = [ - mountHoleSpacing / 2, - -mountHoleOffsetFromTop - ], - ) -} -leftHoleProfile = region(segments = [holeSketch.leftHole]) -rightHoleProfile = region(segments = [holeSketch.rightHole]) - -// Apply the hole cut to the crash box with pocket -holeCutters = extrude([leftHoleProfile, rightHoleProfile], to = offsetPlane(YZ, offset = crashBoxOuterWidth / 2 + 10mm), method = NEW) -hide(holeSketch) - -crashBoxFinal = subtract(crashBoxWithPocket, tools = holeCutters) - -// ----------------------------- -// Appearance -// ----------------------------- -appearance(crashBoxFinal, color = "#00aaff") diff --git a/content/pages/docs/kcl-samples/crash-box/project.toml b/content/pages/docs/kcl-samples/crash-box/project.toml deleted file mode 100644 index e1b122b5..00000000 --- a/content/pages/docs/kcl-samples/crash-box/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "07556dfd-5c7d-43b8-9c80-c3ab49f0c521" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/curtain-wall-anchor-plate/.gitignore b/content/pages/docs/kcl-samples/curtain-wall-anchor-plate/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/curtain-wall-anchor-plate/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/curtain-wall-anchor-plate/main.kcl b/content/pages/docs/kcl-samples/curtain-wall-anchor-plate/main.kcl deleted file mode 100644 index e93cc8fc..00000000 --- a/content/pages/docs/kcl-samples/curtain-wall-anchor-plate/main.kcl +++ /dev/null @@ -1,342 +0,0 @@ -// Curtain Wall Anchor Plate -// A structural steel L-plate used to anchor curtain wall systems to concrete slabs, with elongated holes for adjustability and bolts with nuts and base plates for secure fastening -// Categories: Architecture & Construction; Mechanical Components - -// Set units in millimeters (mm) -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -slabPlateBaseLength = 300 -slabPlateHookLength = 80 -slabPlateWidth = 200 -slabPlateThickness = 8 -offsetSlabRail = 200 - -wideHoleWidth = 12 -wideHoleLength = 60 -wideHoleOffset = 30 - -boltDiameter = 10 -boltHeadRadius = boltDiameter -boltLength = 20 -boltGap = slabPlateThickness + 5 -boltShaftLength = boltGap + boltDiameter + 3 -boltClampPlateSide = boltDiameter * 3 -nutRadius = 12 - -insideBendRadius = slabPlateThickness -outsideBendRadius = slabPlateThickness * 2 -csgOverlap = 0.2 - -// Generate L-shaped anchor profile with base and hook flange -anchorPlateProfile = sketch(on = offsetPlane(XZ, offset = -slabPlateWidth / 2)) { - line1 = line(start = [var -8mm, var -6mm], end = [var 6mm, var 82mm]) - line2 = line(start = [var 7mm, var 79mm], end = [var 9mm, var 80mm]) - coincident([line1.end, line2.start]) - - line3 = line(start = [var 8mm, var 81mm], end = [var 7mm, var 9mm]) - coincident([line2.end, line3.start]) - - line4 = line(start = [var 9mm, var 8mm], end = [var 299mm, var 9mm]) - coincident([line3.end, line4.start]) - - line5 = line(start = [var 301mm, var 9mm], end = [var 300mm, var -7mm]) - coincident([line4.end, line5.start]) - - line6 = line(start = [var 299mm, var -1mm], end = [var -8mm, var 1mm]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) - - vertical(line1) - horizontal(line2) - vertical(line3) - horizontal(line4) - vertical(line5) - horizontal(line6) - - coincident([line1.start, ORIGIN]) - verticalDistance([line1.start, line1.end]) == slabPlateHookLength - horizontalDistance([line2.start, line2.end]) == slabPlateThickness - verticalDistance([line3.end, line3.start]) == slabPlateHookLength - slabPlateThickness - horizontalDistance([line4.start, line4.end]) == slabPlateBaseLength - slabPlateThickness - verticalDistance([line5.end, line5.start]) == slabPlateThickness -} -// Generate the plate geometry with a vertical hook for slab attachment -anchorPlateRegion = region(segments = [ - anchorPlateProfile.line1, - anchorPlateProfile.line2 -]) -hiddenAnchorPlateProfile = hide(anchorPlateProfile) -anchorPlateBody = extrude(anchorPlateRegion, length = slabPlateWidth) - -// Includes fillets at internal and external corners for strength and safety -insideBendFillRegion = fillet( - anchorPlateBody, - radius = insideBendRadius, - edges = [ - { - sideFaces = [ - anchorPlateRegion.tags.line3, - anchorPlateRegion.tags.line4 - ] - } - ], -) - -anchorPlateOutsideFillet = fillet( - insideBendFillRegion, - radius = outsideBendRadius, - edges = [ - { - sideFaces = [ - anchorPlateRegion.tags.line6, - anchorPlateRegion.tags.line1 - ] - } - ], -) - -// Define oblong holes for bolts, allowing positional adjustment -slotProfile = sketch(on = XY) { - line1 = line(start = [var 176mm, var -64mm], end = [var 224mm, var -64mm]) - - arc2 = arc(start = [var 224mm, var -76mm], end = [var 224mm, var -64mm], center = [var 224mm, var -70mm]) - coincident([line1.end, arc2.end]) - - line3 = line(start = [var 224mm, var -76mm], end = [var 176mm, var -76mm]) - coincident([arc2.start, line3.start]) - - arc4 = arc(start = [var 176mm, var -64mm], end = [var 176mm, var -76mm], center = [var 176mm, var -70mm]) - coincident([line1.start, arc4.start]) - coincident([line3.end, arc4.end]) - - horizontal(line1) - horizontal(line3) - - slotCenterline = line(start = [var 176mm, var -70mm], end = [var 224mm, var -70mm], construction = true) - coincident([slotCenterline.start, arc4.center]) - coincident([slotCenterline.end, arc2.center]) - horizontal(slotCenterline) - - leftTopGuide = line(start = [var 176mm, var -70mm], end = [var 176mm, var -64mm], construction = true) - coincident([leftTopGuide.start, arc4.center]) - coincident([leftTopGuide.end, arc4.start]) - vertical(leftTopGuide) - - leftBottomGuide = line(start = [var 176mm, var -70mm], end = [var 176mm, var -76mm], construction = true) - coincident([leftBottomGuide.start, arc4.center]) - coincident([leftBottomGuide.end, arc4.end]) - vertical(leftBottomGuide) - - rightTopGuide = line(start = [var 224mm, var -70mm], end = [var 224mm, var -64mm], construction = true) - coincident([rightTopGuide.start, arc2.center]) - coincident([rightTopGuide.end, arc2.end]) - vertical(rightTopGuide) - - rightBottomGuide = line(start = [var 224mm, var -70mm], end = [var 224mm, var -76mm], construction = true) - coincident([rightBottomGuide.start, arc2.center]) - coincident([rightBottomGuide.end, arc2.start]) - vertical(rightBottomGuide) - - horizontalDistance([ - slotCenterline.start, - slotCenterline.end - ]) == wideHoleLength - wideHoleWidth - radius(arc2) == wideHoleWidth / 2 - radius(arc4) == wideHoleWidth / 2 - coincident([ - arc2.center, - [ - offsetSlabRail + (wideHoleLength - wideHoleWidth) / 2, - wideHoleOffset - (slabPlateWidth / 2) - ] - ]) -} - -slotRegion = region(segments = [slotProfile.line1, slotProfile.arc2], direction = CW) -hiddenSlotProfile = hide(slotProfile) -slotCutterLeft = extrude(slotRegion, length = slabPlateThickness + 2, method = NEW) - |> translate(z = -1, global = true) -// Two slots mirrored across the plate width -slotCutterRight = clone(slotCutterLeft) - |> translate(y = slabPlateWidth - (wideHoleOffset * 2), global = true) - -// Cut the holes into the anchor plate body -anchorPlateAfterLeftSlot = subtract([anchorPlateOutsideFillet], tools = [slotCutterLeft]) -anchorPlateWithSlots = subtract([anchorPlateAfterLeftSlot], tools = [slotCutterRight]) - -// Create a hexagonal shape used for bolt and nut heads -boltHeadProfile = sketch(on = XY) { - boltHeadCircle = circle(start = [var 10mm, var 0mm], center = [var 0mm, var 0mm], construction = true) - coincident([boltHeadCircle.center, ORIGIN]) - - line1 = line(start = [var -10mm, var 0mm], end = [var -5mm, var 8.7mm]) - line2 = line(start = [var -5mm, var 8.7mm], end = [var 5mm, var 8.7mm]) - coincident([line1.end, line2.start]) - - line3 = line(start = [var 5mm, var 8.7mm], end = [var 10mm, var 0mm]) - coincident([line2.end, line3.start]) - - line4 = line(start = [var 10mm, var 0mm], end = [var 5mm, var -8.7mm]) - coincident([line3.end, line4.start]) - - line5 = line(start = [var 5mm, var -8.7mm], end = [var -5mm, var -8.7mm]) - coincident([line4.end, line5.start]) - - line6 = line(start = [var -5mm, var -8.7mm], end = [var -10mm, var 0mm]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) - - coincident([line1.start, boltHeadCircle]) - coincident([line2.start, boltHeadCircle]) - coincident([line3.start, boltHeadCircle]) - coincident([line4.start, boltHeadCircle]) - coincident([line5.start, boltHeadCircle]) - coincident([line6.start, boltHeadCircle]) - - equalLength([ - line1, - line2, - line3, - line4, - line5, - line6 - ]) - - boltHeadRadiusGuide = line(start = [var 0mm, var 0mm], end = [var 10mm, var 0mm], construction = true) - coincident([ - boltHeadRadiusGuide.start, - boltHeadCircle.center - ]) - coincident([boltHeadRadiusGuide.end, line4.start]) - coincident([ - boltHeadCircle.start, - boltHeadRadiusGuide.end - ]) - horizontal(boltHeadRadiusGuide) - horizontalDistance([ - boltHeadRadiusGuide.start, - boltHeadRadiusGuide.end - ]) == boltHeadRadius -} - -boltHeadRegion = region( - segments = [ - boltHeadProfile.line1, - boltHeadProfile.line2 - ], - direction = CW, -) -hiddenBoltHeadProfile = hide(boltHeadProfile) -boltHeadBody = extrude(boltHeadRegion, length = boltDiameter * 0.7) - -// Build a bolt with a hexagonal head and cylindrical shaft -boltShaftProfile = sketch(on = faceOf(boltHeadBody, face = START)) { - circle1 = circle(start = [var 5mm, var 0mm], center = [var 0mm, var 0mm]) - radiusGuide = line(start = [var 0mm, var 0mm], end = [var 5mm, var 0mm], construction = true) - coincident([radiusGuide.start, ORIGIN]) - coincident([radiusGuide.end, circle1.start]) - coincident([circle1.center, radiusGuide.start]) - horizontal(radiusGuide) - horizontalDistance([radiusGuide.start, radiusGuide.end]) == boltDiameter / 2 -} - -boltShaftRegion = region(segments = [boltShaftProfile.circle1]) -hiddenBoltShaftProfile = hide(boltShaftProfile) -boltBody = extrude(boltShaftRegion, length = boltShaftLength) - -// Construct a bolt assembly with base plate and hex nut -// Assembles all parts for realistic anchor simulation -clampPlateProfile = sketch(on = offsetPlane(XY, offset = -boltGap)) { - line1 = line(start = [var -15mm, var -15mm], end = [var -15mm, var 15mm]) - line2 = line(start = [var -15mm, var 15mm], end = [var 15mm, var 15mm]) - coincident([line1.end, line2.start]) - - line3 = line(start = [var 15mm, var 15mm], end = [var 15mm, var -15mm]) - coincident([line2.end, line3.start]) - - line4 = line(start = [var 15mm, var -15mm], end = [var -15mm, var -15mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - - vertical(line1) - horizontal(line2) - vertical(line3) - horizontal(line4) - - coincident([ - line1.start, - [ - -boltClampPlateSide / 2, - -boltClampPlateSide / 2 - ] - ]) - verticalDistance([line1.start, line1.end]) == boltClampPlateSide - horizontalDistance([line2.start, line2.end]) == boltClampPlateSide -} - -clampPlateRegion = region(segments = [ - clampPlateProfile.line1, - clampPlateProfile.line2 -]) -hiddenClampPlateProfile = hide(clampPlateProfile) -clampPlateBody = extrude(clampPlateRegion, length = -boltDiameter * 0.3) - -nutProfile = sketch(on = faceOf(clampPlateBody, face = START)) { - nutCircle = circle(start = [var 12mm, var 0mm], center = [var 0mm, var 0mm], construction = true) - coincident([nutCircle.center, ORIGIN]) - - line1 = line(start = [var -12mm, var 0mm], end = [var -6mm, var 10.4mm]) - line2 = line(start = [var -6mm, var 10.4mm], end = [var 6mm, var 10.4mm]) - coincident([line1.end, line2.start]) - - line3 = line(start = [var 6mm, var 10.4mm], end = [var 12mm, var 0mm]) - coincident([line2.end, line3.start]) - - line4 = line(start = [var 12mm, var 0mm], end = [var 6mm, var -10.4mm]) - coincident([line3.end, line4.start]) - - line5 = line(start = [var 6mm, var -10.4mm], end = [var -6mm, var -10.4mm]) - coincident([line4.end, line5.start]) - - line6 = line(start = [var -6mm, var -10.4mm], end = [var -12mm, var 0mm]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) - - coincident([line1.start, nutCircle]) - coincident([line2.start, nutCircle]) - coincident([line3.start, nutCircle]) - coincident([line4.start, nutCircle]) - coincident([line5.start, nutCircle]) - coincident([line6.start, nutCircle]) - - equalLength([ - line1, - line2, - line3, - line4, - line5, - line6 - ]) - - nutRadiusGuide = line(start = [var 0mm, var 0mm], end = [var 12mm, var 0mm], construction = true) - coincident([nutRadiusGuide.start, nutCircle.center]) - coincident([nutRadiusGuide.end, line4.start]) - coincident([nutCircle.start, nutRadiusGuide.end]) - horizontal(nutRadiusGuide) - horizontalDistance([ - nutRadiusGuide.start, - nutRadiusGuide.end - ]) == nutRadius -} - -nutRegion = region(segments = [nutProfile.line1, nutProfile.line2], direction = CW) -hiddenNutProfile = hide(nutProfile) -clampBody = extrude(nutRegion, length = boltDiameter * 0.7) - -// Add two bolt assemblies into the oblong slots -// Properly rotated and spaced to match anchor hole layout -slabPlateBolts = union([clampBody, boltBody]) - |> rotate(roll = 180, pitch = 0, yaw = 0) - |> translate(x = offsetSlabRail, y = wideHoleOffset - (slabPlateWidth / 2), z = 5) - |> patternLinear3d(instances = 2, distance = slabPlateWidth - (wideHoleOffset * 2), axis = [0, -1, 0]) diff --git a/content/pages/docs/kcl-samples/curtain-wall-anchor-plate/project.toml b/content/pages/docs/kcl-samples/curtain-wall-anchor-plate/project.toml deleted file mode 100644 index a0c4dec2..00000000 --- a/content/pages/docs/kcl-samples/curtain-wall-anchor-plate/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "96f37d50-3cc3-4971-97aa-c01be6706d3d" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/cycloidal-gear/.gitignore b/content/pages/docs/kcl-samples/cycloidal-gear/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/cycloidal-gear/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/cycloidal-gear/main.kcl b/content/pages/docs/kcl-samples/cycloidal-gear/main.kcl deleted file mode 100644 index cb261d56..00000000 --- a/content/pages/docs/kcl-samples/cycloidal-gear/main.kcl +++ /dev/null @@ -1,120 +0,0 @@ -// Cycloidal Gear -// A cycloidal gear is a gear with a continuous, curved tooth profile. They are used in watchmaking and high precision robotics actuation -// Categories: Mechanical Components; Robotics & Automation - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -gearPitch = 0.3 -gearHeight = 1.5 -holeDiameter = 0.297 -helixAngle = -80deg - -smallRadius = gearPitch -largeRadius = gearPitch * 1.67 -centerSpacing = smallRadius + largeRadius -centerOffsetX = gearPitch * 1.55 -outerProbeRadius = 0.2in -boreProbeRadius = holeDiameter / 4 - -outerProfile = sketch(on = XY) { - baseline = line(start = [var 0in, var 0in], end = [var 0.3in, var 0in], construction = true) - - c2ToC1 = line(start = [var 0.465in, var -0.801in], end = [var 0.465in, var 0in], construction = true) - c1ToC6 = line(start = [var 0.465in, var 0in], end = [var 0.465in, var 0.801in], construction = true) - c2ToC3 = line(start = [var 0.465in, var -0.801in], end = [var -0.229in, var -0.401in], construction = true) - c3ToC4 = line(start = [var -0.229in, var -0.401in], end = [var -0.922in, var 0in], construction = true) - c4ToC5 = line(start = [var -0.922in, var 0in], end = [var -0.229in, var 0.401in], construction = true) - c5ToC6 = line(start = [var -0.229in, var 0.401in], end = [var 0.465in, var 0.801in], construction = true) - - coincident([baseline.start, ORIGIN]) - horizontal(baseline) - distance([baseline.start, baseline.end]) == gearPitch - - coincident([c2ToC1.end, c1ToC6.start]) - coincident([c2ToC1.start, c2ToC3.start]) - coincident([c2ToC3.end, c3ToC4.start]) - coincident([c3ToC4.end, c4ToC5.start]) - coincident([c4ToC5.end, c5ToC6.start]) - coincident([c5ToC6.end, c1ToC6.end]) - - vertical(c2ToC1) - vertical(c1ToC6) - angleDimension(lines = [baseline, c2ToC3], sector = 3, labelPosition = [-1.23in, -0.83in]) == 150deg - angleDimension(lines = [baseline, c4ToC5], sector = 1, labelPosition = [-0.22in, 0.19in]) == 30deg - parallel([c2ToC3, c3ToC4]) - parallel([c4ToC5, c5ToC6]) - - equalLength([ - c2ToC1, - c1ToC6, - c2ToC3, - c3ToC4, - c4ToC5, - c5ToC6 - ]) - distance([c2ToC1.start, c2ToC1.end]) == centerSpacing - horizontalDistance([ORIGIN, c2ToC1.end]) == centerOffsetX - verticalDistance([ORIGIN, c2ToC1.end]) == 0in - - arc1 = arc(start = [var 0.465in, var -0.3in], end = [var 0.465in, var 0.3in], center = [var 0.465in, var 0in]) - arc2 = arc(start = [var 0.465in, var -0.3in], end = [var 0.031in, var -0.551in], center = [var 0.465in, var -0.801in]) - arc3 = arc(start = [var -0.488in, var -0.251in], end = [var 0.031in, var -0.551in], center = [var -0.229in, var -0.401in]) - arc4 = arc(start = [var -0.488in, var -0.251in], end = [var -0.488in, var 0.251in], center = [var -0.922in, var 0in]) - arc5 = arc(start = [var 0.031in, var 0.551in], end = [var -0.488in, var 0.251in], center = [var -0.229in, var 0.401in]) - arc6 = arc(start = [var 0.031in, var 0.551in], end = [var 0.465in, var 0.3in], center = [var 0.465in, var 0.801in]) - - coincident([arc1.center, c2ToC1.end]) - coincident([arc2.center, c2ToC1.start]) - coincident([arc3.center, c2ToC3.end]) - coincident([arc4.center, c3ToC4.end]) - coincident([arc5.center, c4ToC5.end]) - coincident([arc6.center, c1ToC6.end]) - - radius(arc1) == smallRadius - radius(arc2) == largeRadius - radius(arc3) == smallRadius - radius(arc4) == largeRadius - radius(arc5) == smallRadius - radius(arc6) == largeRadius - - coincident([arc1.start, arc2.start]) - coincident([arc2.end, arc3.end]) - coincident([arc3.start, arc4.start]) - coincident([arc4.end, arc5.end]) - coincident([arc5.start, arc6.start]) - coincident([arc6.end, arc1.end]) - - coincident([arc1.start, c2ToC1]) - coincident([arc2.end, c2ToC3]) - coincident([arc3.start, c3ToC4]) - coincident([arc4.end, c4ToC5]) - coincident([arc5.start, c5ToC6]) - coincident([arc6.end, c1ToC6]) -} - -boreProfile = sketch(on = XY) { - hole = circle(start = [var 0.149in, var 0in], center = [var 0in, var 0in]) - coincident([hole.center, ORIGIN]) - radius(hole) == holeDiameter / 2 - horizontalDistance([hole.center, hole.start]) == holeDiameter / 2 - verticalDistance([hole.center, hole.start]) == 0in -} - -outerRegion = region(segments = [outerProfile.arc1, outerProfile.arc2]) -boreRegion = region(segments = [boreProfile.hole]) - -gearBlank = extrude( - outerRegion, - length = gearHeight, - twistAngle = helixAngle, - twistCenter = [0in, 0in], -) -gearBore = extrude(boreRegion, length = gearHeight) - -hiddenGearBlank = hide(gearBlank) -hiddenGearBore = hide(gearBore) -gearLoft = subtract([hiddenGearBlank], tools = [hiddenGearBore]) - -hide(outerProfile) -hide(boreProfile) diff --git a/content/pages/docs/kcl-samples/cycloidal-gear/project.toml b/content/pages/docs/kcl-samples/cycloidal-gear/project.toml deleted file mode 100644 index 356df4e4..00000000 --- a/content/pages/docs/kcl-samples/cycloidal-gear/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "a03d0588-47da-4e07-b83c-91cba54ff8b8" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/cylinder/.gitignore b/content/pages/docs/kcl-samples/cylinder/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/cylinder/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/cylinder/main.kcl b/content/pages/docs/kcl-samples/cylinder/main.kcl deleted file mode 100644 index c6c0b3ce..00000000 --- a/content/pages/docs/kcl-samples/cylinder/main.kcl +++ /dev/null @@ -1,21 +0,0 @@ -// Cylinder -// A cylinder is a primitive shape defined by its diameter and length -// Categories: Science & Education; Parametric - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -length = 10 -cylinderDiameter = 10 - -// create the profile centered at the origin -sketch = sketch(on = XY) { - circle1 = circle(start = [var 5mm, var 0mm], center = [var 0mm, var 0mm]) - coincident([circle1.center, ORIGIN]) - radius(circle1) == cylinderDiameter / 2 -} - -// extrude the profile to create the box -region = region(segments = [sketch.circle1]) -hide(sketch) -cylinder = extrude(region, length = length) diff --git a/content/pages/docs/kcl-samples/cylinder/project.toml b/content/pages/docs/kcl-samples/cylinder/project.toml deleted file mode 100644 index 196637f9..00000000 --- a/content/pages/docs/kcl-samples/cylinder/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "38ca94a2-3bee-4bf5-9be1-5bdf4a9a7427" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/desk-edge-stopper/.gitignore b/content/pages/docs/kcl-samples/desk-edge-stopper/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/desk-edge-stopper/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/desk-edge-stopper/main.kcl b/content/pages/docs/kcl-samples/desk-edge-stopper/main.kcl deleted file mode 100644 index dcdcde1e..00000000 --- a/content/pages/docs/kcl-samples/desk-edge-stopper/main.kcl +++ /dev/null @@ -1,137 +0,0 @@ -// Desk-Edge Stopper -// 3-D-printable U-shaped guard that slides onto a desk edge and raises a vertical wall to keep pens, phones, cables, etc. from slipping off the tabletop. -// Categories: Home & Lifestyle; 3D Printable; Parametric - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// PROFILE PARAMETERS -// Edit only the variables in this block -// Everything else updates automatically - -// Overall length of the guard measured along the desk edge (X direction) -guardLengthAlongDesk = 200 - -// Define U-Profile -// Depth of the U-profile. Defines how far the stopper wraps over the desk edge. Measured from front to back. Deeper depth increases grip and stability -uProfileDepthInside = 30 -// Inner width of the U-profile. Must match the thickness of the desk, plus a small tolerance (~0.5 mm) to slide on snugly without being too tight. -uProfileWidthInside = 20.5 -// Height of the vertical wall that blocks objects from falling. This part rises above the desk surface. Typically between 20-50 mm depending on what you want to stop. -stopWallHeight = 20 -// A uniform wall thickness is used across all parts for modeling simplicity; for 3D printing, a relatively thick value (around 1/4 to 1/6 of the profile size, min 5mm) ensures strength and reliable fabrication. -materialThickness = 5 - -// Total vertical height of the guard from base to top of the stopper wall -totalGuardHeight = stopWallHeight + uProfileWidthInside + materialThickness * 2 -// Total front-to-back depth of the guard, including wall thickness, measured from the desk-facing surface to the outermost back face -totalGuardDepth = uProfileDepthInside + materialThickness - -// HOLE PARAMETERS -// Include three screw holes: one centered for general mounting, and one near each end for desks with side-positioned predrilled holes. Covers common installation cases without overcomplicating the layout. -holeCount = 3 -// Distance from desk edge to screw hole center; here set to 13 mm. Best positioned near the middle of the upper U-profile surface to reduce risk of cracking. -holeOffsetFromTheTableEdge = 13 -// Convert to offset relative to U-profile geometry -holeOffsetFromTheUprofileEdge = uProfileDepthInside - holeOffsetFromTheTableEdge -// Diameter and radius of each hole -holeDiameter = 4 -holeRadius = holeDiameter / 2 -// Offset to the profile ends for outermost holes. Should be around one-sixth of the length. -holeOffsetFromGuardEdge = guardLengthAlongDesk / 6 -// The spacing between the first and last screw holes equals the total guard length minus two side offsets. -holeSpan = guardLengthAlongDesk - (holeOffsetFromGuardEdge * 2) -// Spacing between holes is calculated by dividing the span (first to last hole) by the number of gaps between them, which is one less than the total hole count. -holeSpacing = holeSpan / (holeCount - 1) - -// ─────────── -// 3D GEOMETRY -// ─────────── -// Begin with a 2D sketch of the cross-section. The internal shape comes first, since it must adapt precisely to desk thickness, the rest builds around it. This keeps the model parametric and resilient to design changes. -guardProfile = sketch(on = YZ) { - line1 = line(start = [var 0mm, var 0mm], end = [var 31mm, var 1mm]) - line2 = line(start = [var 31mm, var -1mm], end = [var 30mm, var 21mm]) - coincident([line1.end, line2.start]) - - line3 = line(start = [var 29mm, var 20mm], end = [var -1mm, var 21mm]) - coincident([line2.end, line3.start]) - - line4 = line(start = [var 1mm, var 21mm], end = [var -1mm, var 27mm]) - coincident([line3.end, line4.start]) - - line5 = line(start = [var -1mm, var 26mm], end = [var 29mm, var 25mm]) - coincident([line4.end, line5.start]) - - line6 = line(start = [var 31mm, var 26mm], end = [var 29mm, var 46mm]) - coincident([line5.end, line6.start]) - - line7 = line(start = [var 31mm, var 46mm], end = [var 36mm, var 45mm]) - coincident([line6.end, line7.start]) - - line8 = line(start = [var 34mm, var 45mm], end = [var 36mm, var -6mm]) - coincident([line7.end, line8.start]) - - line9 = line(start = [var 34mm, var -6mm], end = [var 1mm, var -5mm]) - coincident([line8.end, line9.start]) - - line10 = line(start = [var -1mm, var -5mm], end = [var 0mm, var 0mm]) - coincident([line9.end, line10.start]) - coincident([line10.end, line1.start]) - - horizontal(line1) - vertical(line2) - horizontal(line3) - vertical(line4) - horizontal(line5) - vertical(line6) - horizontal(line7) - vertical(line8) - horizontal(line9) - vertical(line10) - - coincident([line1.start, ORIGIN]) - coincident([ - line2.end, - [ - uProfileDepthInside, - uProfileWidthInside - ] - ]) - - verticalDistance([line4.start, line4.end]) == materialThickness - verticalDistance([line6.start, line6.end]) == stopWallHeight - equalLength([line1, line3, line5]) - equalLength([line4, line7, line10]) -} -guardRegion = region(segments = [guardProfile.line1, guardProfile.line2]) -hiddenGuardProfile = hide(guardProfile) -guardBody = extrude(guardRegion, length = guardLengthAlongDesk) - -// MOUNTING METHOD -// This model is specifically designed for screw mounting. It includes three holes, one in the center and one near each end, positioned on the top face of the U-profile to align with existing holes on the upper side of the desk. -// HOLE GEOMETRY -// holes -holeProfile01 = sketch(on = XY) { - circle1 = circle(start = [var 2mm, var 0mm], center = [var 0mm, var 0mm]) - radiusGuide = line(start = [var 0mm, var 0mm], end = [var 2mm, var 0mm], construction = true) - - coincident([circle1.center, ORIGIN]) - coincident([radiusGuide.start, circle1.center]) - coincident([radiusGuide.end, circle1.start]) - - horizontal(radiusGuide) - horizontalDistance([radiusGuide.start, radiusGuide.end]) == holeRadius -} -holeRegion01 = region(segments = [holeProfile01.circle1]) -hiddenHoleProfile01 = hide(holeProfile01) -baseHoleBody = extrude(holeRegion01, length = -materialThickness) - |> translate( - x = holeOffsetFromGuardEdge, - y = holeOffsetFromTheUprofileEdge, - z = uProfileWidthInside + materialThickness, - global = true, - ) -holeBody02 = clone(baseHoleBody) - |> translate(x = holeSpacing, global = true) -holeBody03 = clone(baseHoleBody) - |> translate(x = holeSpacing * 2, global = true) -guardBodyWithHoles = subtract([guardBody], tools = [baseHoleBody, holeBody02, holeBody03]) diff --git a/content/pages/docs/kcl-samples/desk-edge-stopper/project.toml b/content/pages/docs/kcl-samples/desk-edge-stopper/project.toml deleted file mode 100644 index 4705517f..00000000 --- a/content/pages/docs/kcl-samples/desk-edge-stopper/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "a8f5e44d-ee8d-4ae4-bcde-fdf366197b60" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/dining-table/.gitignore b/content/pages/docs/kcl-samples/dining-table/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/dining-table/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/dining-table/main.kcl b/content/pages/docs/kcl-samples/dining-table/main.kcl deleted file mode 100644 index 41371777..00000000 --- a/content/pages/docs/kcl-samples/dining-table/main.kcl +++ /dev/null @@ -1,202 +0,0 @@ -// Dining Table -// Simple dining table with rectangular tabletop, aprons and four legs with square section -// Categories: Home & Lifestyle - -// ────────────── -// PARAMETERS -// ────────────── - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -tableHeight = 750 -apronTopElevation = tableHeight -tableLength = 2100 -tableWidth = 800 -tableTopThickness = 20 -legThickness = 40 -legOffset = 60 -apronHeight = 120 -apronThickness = legThickness / 2 - -// ────────────── -// TABLETOP -// ────────────── - - -tableTopPlane = offsetPlane(XY, offset = tableHeight) -tableTopSketch = tableTopPlane -tableTopProfile = sketch(on = tableTopSketch) { - line1 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 2100mm]) - line2 = line(start = [var 0mm, var 2100mm], end = [var 800mm, var 2100mm]) - line3 = line(start = [var 800mm, var 2100mm], end = [var 800mm, var 0mm]) - line4 = line(start = [var 800mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - coincident([line1.start, [0, 0]]) - vertical(line1) - horizontal(line2) - vertical(line3) - horizontal(line4) - horizontalDistance([line1.start, line2.end]) == tableWidth - verticalDistance([line1.start, line2.end]) == tableLength -} -tableTopRegion = region(segments = [ - tableTopProfile.line1, - tableTopProfile.line2 -]) -tableTopExtrude = extrude(tableTopRegion, length = -tableTopThickness) -hide(tableTopProfile) - -// ────────────── -// LEGS -// ────────────── - - -legHeight = tableHeight - tableTopThickness -distanceBetweenLegAxisWidth = tableWidth - legThickness - (legOffset * 2) -distanceBetweenLegAxisLength = tableLength - legThickness - (legOffset * 2) - -legSketch = XY -legProfile = sketch(on = legSketch) { - line1 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 40mm]) - line2 = line(start = [var 0mm, var 40mm], end = [var 40mm, var 40mm]) - line3 = line(start = [var 40mm, var 40mm], end = [var 40mm, var 0mm]) - line4 = line(start = [var 40mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - coincident([line1.start, [0, 0]]) - vertical(line1) - horizontal(line2) - vertical(line3) - horizontal(line4) - horizontalDistance([line1.start, line2.end]) == legThickness - verticalDistance([line1.start, line2.end]) == legThickness -} -legRegion = region(segments = [legProfile.line1, legProfile.line2]) -legExtrude = extrude(legRegion, length = legHeight) - |> translate( - x = legOffset, - y = legOffset, - z = 0, - global = true, - ) -hide(legProfile) - -leg2 = clone(legExtrude) - |> translate( - x = distanceBetweenLegAxisWidth, - y = 0, - z = 0, - global = true, - ) -leg3 = clone(legExtrude) - |> translate( - x = 0, - y = distanceBetweenLegAxisLength, - z = 0, - global = true, - ) -leg4 = clone(legExtrude) - |> translate( - x = distanceBetweenLegAxisWidth, - y = tableLength - legThickness - (legOffset * 2), - z = 0, - global = true, - ) - -// ────────────── -// APRONS -// ────────────── - - -longApronLength = tableLength - (legThickness * 2) - (legOffset * 2) -shortApronLength = tableWidth - (legThickness * 2) - (legOffset * 2) - -distanceFromTableTopCornerToLegBackSide = legOffset + legThickness -distanceFromTableTopCornerToLegAxis = legOffset + legThickness / 2 -distanceFromTableTopCornerToApronSide = distanceFromTableTopCornerToLegAxis - (apronThickness / 2) - -stretcherPlane = offsetPlane(XY, offset = apronTopElevation - tableTopThickness) -stretcherSketch = stretcherPlane - -longApronProfile = sketch(on = stretcherSketch) { - line1 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 1900mm]) - line2 = line(start = [var 0mm, var 1900mm], end = [var 20mm, var 1900mm]) - line3 = line(start = [var 20mm, var 1900mm], end = [var 20mm, var 0mm]) - line4 = line(start = [var 20mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - coincident([line1.start, [0, 0]]) - vertical(line1) - horizontal(line2) - vertical(line3) - horizontal(line4) - horizontalDistance([line1.start, line2.end]) == apronThickness - verticalDistance([line1.start, line2.end]) == longApronLength -} -longApronRegion = region(segments = [ - longApronProfile.line1, - longApronProfile.line2 -]) - -longApronProfileMoved = translate( - longApronRegion, - x = distanceFromTableTopCornerToApronSide, - y = distanceFromTableTopCornerToLegBackSide, - z = 0, - global = true, -) -longApron1 = extrude(longApronProfileMoved, length = -apronHeight) -hide(longApronProfile) -longApron2 = clone(longApron1) - |> translate( - x = distanceBetweenLegAxisWidth, - y = 0, - z = 0, - global = true, - ) - -shortApronProfile = sketch(on = stretcherSketch) { - line1 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 20mm]) - line2 = line(start = [var 0mm, var 20mm], end = [var 600mm, var 20mm]) - line3 = line(start = [var 600mm, var 20mm], end = [var 600mm, var 0mm]) - line4 = line(start = [var 600mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - coincident([line1.start, [0, 0]]) - vertical(line1) - horizontal(line2) - vertical(line3) - horizontal(line4) - horizontalDistance([line1.start, line2.end]) == shortApronLength - verticalDistance([line1.start, line2.end]) == apronThickness -} -shortApronRegion = region(segments = [ - shortApronProfile.line1, - shortApronProfile.line2 -]) - -shortApronProfileMoved = translate( - shortApronRegion, - x = distanceFromTableTopCornerToLegBackSide, - y = distanceFromTableTopCornerToApronSide, - z = 0, - global = true, -) -shortApron1 = extrude(shortApronProfileMoved, length = -apronHeight) -hide(shortApronProfile) -shortApron2 = clone(shortApron1) - |> translate( - x = 0, - y = distanceBetweenLegAxisLength, - z = 0, - global = true, - ) diff --git a/content/pages/docs/kcl-samples/dining-table/project.toml b/content/pages/docs/kcl-samples/dining-table/project.toml deleted file mode 100644 index fc6babe8..00000000 --- a/content/pages/docs/kcl-samples/dining-table/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "d88efb19-30e0-44c0-98ef-22bb006f0f75" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/dodecahedron/.gitignore b/content/pages/docs/kcl-samples/dodecahedron/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/dodecahedron/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/dodecahedron/main.kcl b/content/pages/docs/kcl-samples/dodecahedron/main.kcl deleted file mode 100644 index 830cef90..00000000 --- a/content/pages/docs/kcl-samples/dodecahedron/main.kcl +++ /dev/null @@ -1,153 +0,0 @@ -// Dodecahedron -// A regular dodecahedron or pentagonal dodecahedron is a dodecahedron composed of regular pentagonal faces, three meeting at each vertex. This example shows constructing the a dodecahedron with a series of intersects. -// Categories: Science & Education - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define the dihedral angle for a regular dodecahedron -dihedral = 116.565 -seedHalfSpan = 1000 -seedSpan = seedHalfSpan * 2 -seedLength = 2000 -seedOffset = -260 -topPlaneZ = seedOffset + seedLength - -// Create a face template function that makes a large thin cube -baseProfile = sketch(on = XY) { - line1 = line(start = [var -1000in, var -1000in], end = [var -1000in, var 1000in]) - line2 = line(start = [var -1000in, var 1000in], end = [var 1000in, var 1000in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 1000in, var 1000in], end = [var 1000in, var -1000in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 1000in, var -1000in], end = [var -1000in, var -1000in]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - vertical(line1) - horizontal(line2) - vertical(line3) - horizontal(line4) - horizontalDistance([line1.start, ORIGIN]) == seedHalfSpan - verticalDistance([line1.start, ORIGIN]) == seedHalfSpan - distance([line1.start, line1.end]) == seedSpan - distance([line2.start, line2.end]) == seedSpan -} -baseRegion = region(segments = [baseProfile.line1, baseProfile.line2]) -hiddenBaseProfile = hide(baseProfile) - -// face1 - reference face -cube01 = extrude(baseRegion, length = seedLength) - |> translate(x = 0, y = 0, z = seedOffset) -// face2 -cube02 = clone(cube01) - |> scale(x = 1, y = 1, z = 1) - |> translate(z = topPlaneZ * (1 - 1)) - |> rotate( - pitch = dihedral, - roll = 0, - yaw = 0, - global = true, - ) -// face3 -cube03 = clone(cube01) - |> scale(x = 1, y = 1, z = 1.001) // slight 0.001 offset to make the 3D Intersect work - |> rotate( - pitch = dihedral, - roll = 0, - yaw = 72, - global = true, - ) -// face4 -cube04 = clone(cube01) - |> scale(x = 1, y = 1.001, z = 1) // slight 0.001 offset to make the 3D Intersect work - |> rotate( - pitch = dihedral, - roll = 0, - yaw = 144, - global = true, - ) -// face5 -cube05 = clone(cube01) - |> scale(x = 1, y = 1, z = 1) - |> rotate( - pitch = dihedral, - roll = 0, - yaw = 216, - global = true, - ) -// face6 -cube06 = clone(cube01) - |> scale(x = 1, y = 1, z = 1.001) // slight 0.001 offset to make the 3D Intersect work - |> rotate( - pitch = dihedral, - roll = 0, - yaw = 288, - global = true, - ) -// face7 -cube07 = clone(cube01) - |> scale(x = 1, y = 1, z = 1) - |> rotate( - pitch = 180, - roll = 0, - yaw = 0, - global = true, - ) -// face8 -cube08 = clone(cube01) - |> scale(x = 1, y = 1, z = 1) - |> rotate( - pitch = 180 - dihedral, - roll = 0, - yaw = 36, - global = true, - ) -// face9 -cube09 = clone(cube01) - |> scale(x = 1, y = 1, z = 1.001) - |> rotate( - pitch = 180 - dihedral, - roll = 0, - yaw = 108, - global = true, - ) -// face10 -cube10 = clone(cube01) - |> scale(x = 1, y = 1, z = 0.999) // slight 0.001 offset to make the 3D Intersect work - |> rotate( - pitch = 180 - dihedral, - roll = 0, - yaw = 180, - global = true, - ) -// face11 -cube11 = clone(cube01) - |> scale(x = 1, y = 1, z = 1) - |> rotate( - pitch = 180 - dihedral, - roll = 0, - yaw = 252, - global = true, - ) -// face12 -cube12 = clone(cube01) - |> scale(x = 1, y = 1, z = 1) - |> rotate( - pitch = 180 - dihedral, - roll = 0, - yaw = 324, - global = true, - ) - -// Apply intersection to all faces -intersection01 = intersect([cube01, cube12]) -intersection02 = intersect([cube02, intersection01]) -intersection03 = intersect([cube03, intersection02]) -intersection04 = intersect([cube04, intersection03]) -intersection05 = intersect([cube05, intersection04]) -intersection06 = intersect([cube06, intersection05]) -intersection07 = intersect([cube07, intersection06]) -intersection08 = intersect([cube08, intersection07]) -intersection09 = intersect([cube09, intersection08]) -intersection10 = intersect([cube10, intersection09]) -dodecahedron = intersect([cube11, intersection10]) diff --git a/content/pages/docs/kcl-samples/dodecahedron/project.toml b/content/pages/docs/kcl-samples/dodecahedron/project.toml deleted file mode 100644 index 0d0128f8..00000000 --- a/content/pages/docs/kcl-samples/dodecahedron/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "a1e2ad01-0958-42af-b4b1-a918476e2895" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/double-hook/.gitignore b/content/pages/docs/kcl-samples/double-hook/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/double-hook/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/double-hook/main.kcl b/content/pages/docs/kcl-samples/double-hook/main.kcl deleted file mode 100644 index 256148c8..00000000 --- a/content/pages/docs/kcl-samples/double-hook/main.kcl +++ /dev/null @@ -1,128 +0,0 @@ -// Double hook -// Parametric double hook swept from a 5 mm circular section. -// Categories: Home & Lifestyle; 3D Printable; Parametric - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Driving dimensions -sectionDiameter = 5mm -lowerTipLength = 5mm -bendRadius = 3mm -lowerHookDepth = 10mm -connectorLength = 34mm -upperBottomLength = 10mm -upperSideLength = 10mm -upperTopLength = 4mm - -lowerTipEndY = -lowerTipLength -lowerBendStartX = -bendRadius -lowerBendStartY = -(lowerTipLength + bendRadius) -lowerBendCenterY = -lowerTipLength -lowerBridgeEndX = bendRadius - lowerHookDepth -upperEntryEndX = -lowerHookDepth -connectorTopY = -lowerTipLength + connectorLength -upperBottomEndY = connectorTopY + upperBottomLength -upperLowerBendEndX = -(lowerHookDepth + bendRadius) -upperLowerBendEndY = upperBottomEndY + bendRadius -upperSideEndX = -(lowerHookDepth + bendRadius + upperSideLength) -upperTopStartX = -(lowerHookDepth + upperSideLength + 2 * bendRadius) -upperTopStartY = upperBottomEndY -upperTopEndY = upperTopStartY - upperTopLength - -// Top-view path -hookPath = sketch(on = XY) { - lowerTip = line(start = [var 0mm, var 0mm], end = [var 0mm, var -3.5mm]) - coincident([lowerTip.start, [0mm, 0mm]]) - vertical(lowerTip) - distance([lowerTip.start, lowerTip.end]) == lowerTipLength - - lowerBend = arc(start = [var -3mm, var -6.5mm], end = [var 0mm, var -3.5mm], center = [var -3mm, var -3.5mm]) - coincident([lowerBend.end, lowerTip.end]) - coincident([ - lowerBend.start, - [lowerBendStartX, lowerBendStartY] - ]) - tangent([lowerTip, lowerBend]) - radius(lowerBend) == bendRadius - - lowerBridge = line(start = [var -3mm, var -6.5mm], end = [var -7mm, var -6.5mm]) - coincident([lowerBridge.start, lowerBend.start]) - horizontal(lowerBridge) - distance([lowerBridge.start, lowerBridge.end]) == lowerHookDepth - (2 * bendRadius) - tangent([lowerBend, lowerBridge]) - - upperEntry = arc(start = [var -10mm, var -3.5mm], end = [var -7mm, var -6.5mm], center = [var -7mm, var -3.5mm]) - coincident([upperEntry.end, lowerBridge.end]) - coincident([ - upperEntry.start, - [upperEntryEndX, lowerBendCenterY] - ]) - tangent([lowerBridge, upperEntry]) - radius(upperEntry) == bendRadius - - connector = line(start = [var -10mm, var -3.5mm], end = [var -10mm, var 30.5mm]) - coincident([connector.start, upperEntry.start]) - vertical(connector) - distance([connector.start, connector.end]) == connectorLength - tangent([upperEntry, connector]) - - upperBottom = line(start = [var -10mm, var 30.5mm], end = [var -10mm, var 40.5mm]) - coincident([upperBottom.start, connector.end]) - vertical(upperBottom) - distance([upperBottom.start, upperBottom.end]) == upperBottomLength - - upperLowerBend = arc(start = [var -10mm, var 40.5mm], end = [var -13mm, var 43.5mm], center = [var -13mm, var 40.5mm]) - coincident([upperLowerBend.start, upperBottom.end]) - coincident([ - upperLowerBend.end, - [upperLowerBendEndX, upperLowerBendEndY] - ]) - tangent([upperBottom, upperLowerBend]) - radius(upperLowerBend) == bendRadius - - upperSide = line(start = [var -13mm, var 43.5mm], end = [var -23mm, var 43.5mm]) - coincident([upperSide.start, upperLowerBend.end]) - horizontal(upperSide) - distance([upperSide.start, upperSide.end]) == upperSideLength - tangent([upperLowerBend, upperSide]) - - upperTopBend = arc(start = [var -23mm, var 43.5mm], end = [var -26mm, var 40.5mm], center = [var -23mm, var 40.5mm]) - coincident([upperTopBend.start, upperSide.end]) - coincident([ - upperTopBend.end, - [upperTopStartX, upperTopStartY] - ]) - tangent([upperSide, upperTopBend]) - radius(upperTopBend) == bendRadius - - upperTop = line(start = [var -26mm, var 40.5mm], end = [var -26mm, var 36.5mm]) - coincident([upperTop.start, upperTopBend.end]) - vertical(upperTop) - distance([upperTop.start, upperTop.end]) == upperTopLength - tangent([upperTopBend, upperTop]) -} - -// Circular sweep section -sectionSketch = sketch(on = XZ) { - sectionCircle = circle(start = [var 2.5mm, var 0mm], center = [var 0mm, var 0mm]) - coincident([sectionCircle.center, [0mm, 0mm]]) - diameter(sectionCircle) == sectionDiameter -} - -sectionRegion = region(segments = [sectionSketch.sectionCircle]) -hook = sweep( - sectionRegion, - path = [ - hookPath.lowerTip, - hookPath.lowerBend, - hookPath.lowerBridge, - hookPath.upperEntry, - hookPath.connector, - hookPath.upperBottom, - hookPath.upperLowerBend, - hookPath.upperSide, - hookPath.upperTopBend, - hookPath.upperTop - ], -) - |> appearance(color = "#8a8e93", metalness = 100, roughness = 50) diff --git a/content/pages/docs/kcl-samples/double-hook/project.toml b/content/pages/docs/kcl-samples/double-hook/project.toml deleted file mode 100644 index db68e7c9..00000000 --- a/content/pages/docs/kcl-samples/double-hook/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "0a394740-4a73-4db1-8c90-4936e8a92ffb" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/enclosure/.gitignore b/content/pages/docs/kcl-samples/enclosure/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/enclosure/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/enclosure/main.kcl b/content/pages/docs/kcl-samples/enclosure/main.kcl deleted file mode 100644 index b67c9825..00000000 --- a/content/pages/docs/kcl-samples/enclosure/main.kcl +++ /dev/null @@ -1,454 +0,0 @@ -// Enclosure -// An enclosure body and sealing lid for storing items -// Categories: Electronics & Computing; 3D Printable - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -length = 175 -width = 125 -height = 70 -wallThickness = 3 -holeDia = 4 - -// Model a box with base enclosure dimensions -baseProfile = sketch(on = XY) { - line1 = line(start = [var 0mm, var 0mm], end = [var 125mm, var 0mm]) - line2 = line(start = [var 125mm, var 0mm], end = [var 125mm, var 175mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 125mm, var 175mm], end = [var 0mm, var 175mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 0mm, var 175mm], end = [var 0mm, var 0mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - - coincident([line1.start, ORIGIN]) - horizontal(line1) - vertical(line2) - horizontal(line3) - vertical(line4) - distance([line1.start, line1.end]) == width - distance([line2.start, line2.end]) == length -} - -baseRegion = region(segments = [baseProfile.line1, baseProfile.line2]) -// Apply a shell to the enclosure base to create the internal storage -baseBody = extrude(baseRegion, length = height) - |> fillet( - radius = wallThickness * 4, - edges = [ - { - sideFaces = [ - baseRegion.tags.line1, - baseRegion.tags.line2 - ] - }, - { - sideFaces = [ - baseRegion.tags.line2, - baseRegion.tags.line3 - ] - }, - { - sideFaces = [ - baseRegion.tags.line3, - baseRegion.tags.line4 - ] - }, - { - sideFaces = [ - baseRegion.tags.line4, - baseRegion.tags.line1 - ] - } - ], - ) - |> shell(faces = [END], thickness = wallThickness) - -hide(baseProfile) - -innerOffset = wallThickness * 3 + holeDia -pillarOuterRadius = holeDia + wallThickness -pillarHeight = height - wallThickness -xSpread = width - (2 * innerOffset) -ySpread = length - (2 * innerOffset) - -// Create a plane to sketch on shell interior -pillarPlane = { - origin = [ - innerOffset, - innerOffset, - wallThickness - ], - xAxis = [1.0, 0.0, 0.0], - yAxis = [0.0, 1.0, 0.0] -} - -// Create a pillar with a fastener hole at the center -pillarSketch = sketch(on = pillarPlane) { - outerGuide = line(start = [var 0mm, var 0mm], end = [var 7mm, var 0mm], construction = true) - coincident([outerGuide.start, ORIGIN]) - horizontal(outerGuide) - outerCircle = circle(start = [var 7mm, var 0mm], center = [var 0mm, var 0mm]) - coincident([outerCircle.center, outerGuide.start]) - coincident([outerCircle.start, outerGuide.end]) - distance([outerGuide.start, outerGuide.end]) == pillarOuterRadius - - innerGuide = line(start = [var 0mm, var 0mm], end = [var 4mm, var 0mm], construction = true) - coincident([innerGuide.start, ORIGIN]) - horizontal(innerGuide) - innerCircle = circle(start = [var 4mm, var 0mm], center = [var 0mm, var 0mm]) - coincident([innerCircle.center, innerGuide.start]) - coincident([innerCircle.start, innerGuide.end]) - distance([innerGuide.start, innerGuide.end]) == holeDia -} - -pillarRegion = region(segments = [pillarSketch.outerCircle]) -pillarFrontLeft = extrude(pillarRegion, length = pillarHeight) -hide(pillarSketch) - -// Place the internal pillar at each corner -pillarFrontRight = clone(pillarFrontLeft) - |> translate(x = xSpread, global = true) -pillarBackLeft = clone(pillarFrontLeft) - |> translate(y = ySpread, global = true) -pillarBackRight = clone(pillarFrontRight) - |> translate(y = ySpread, global = true) - -lidOffsetX = width * 1.2 -holeSpanX = width - (2 * innerOffset) -holeSpanY = length - (2 * innerOffset) - -lidPlane = { - origin = [lidOffsetX, 0.0, 0.0], - xAxis = [1.0, 0.0, 0.0], - yAxis = [0.0, 1.0, 0.0] -} - -// Define lid position and outer surface -lidSketch = sketch(on = lidPlane) { - line1 = line(start = [var 0mm, var 0mm], end = [var 125mm, var 0mm]) - line2 = line(start = [var 125mm, var 0mm], end = [var 125mm, var 175mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 125mm, var 175mm], end = [var 0mm, var 175mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 0mm, var 175mm], end = [var 0mm, var 0mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - - coincident([line1.start, ORIGIN]) - horizontal(line1) - vertical(line2) - horizontal(line3) - vertical(line4) - distance([line1.start, line1.end]) == width - distance([line2.start, line2.end]) == length - - holeRectBottom = line(start = [var 13mm, var 13mm], end = [var 112mm, var 13mm], construction = true) - holeRectRight = line(start = [var 112mm, var 13mm], end = [var 112mm, var 162mm], construction = true) - coincident([ - holeRectBottom.end, - holeRectRight.start - ]) - holeRectTop = line(start = [var 112mm, var 162mm], end = [var 13mm, var 162mm], construction = true) - coincident([holeRectRight.end, holeRectTop.start]) - holeRectLeft = line(start = [var 13mm, var 162mm], end = [var 13mm, var 13mm], construction = true) - coincident([holeRectTop.end, holeRectLeft.start]) - coincident([holeRectLeft.end, holeRectBottom.start]) - - horizontal(holeRectBottom) - vertical(holeRectRight) - horizontal(holeRectTop) - vertical(holeRectLeft) - horizontalDistance([line1.start, holeRectBottom.start]) == innerOffset - verticalDistance([line1.start, holeRectBottom.start]) == innerOffset - distance([ - holeRectBottom.start, - holeRectBottom.end - ]) == holeSpanX - distance([holeRectRight.start, holeRectRight.end]) == holeSpanY - - holeGuideFrontLeft = line(start = [var 13mm, var 13mm], end = [var 17mm, var 13mm], construction = true) - coincident([ - holeGuideFrontLeft.start, - holeRectBottom.start - ]) - horizontal(holeGuideFrontLeft) - distance([ - holeGuideFrontLeft.start, - holeGuideFrontLeft.end - ]) == holeDia - holeFrontLeft = circle(start = [var 17mm, var 13mm], center = [var 13mm, var 13mm]) - coincident([ - holeFrontLeft.center, - holeGuideFrontLeft.start - ]) - coincident([ - holeFrontLeft.start, - holeGuideFrontLeft.end - ]) - - holeGuideFrontRight = line(start = [var 112mm, var 13mm], end = [var 116mm, var 13mm], construction = true) - coincident([ - holeGuideFrontRight.start, - holeRectBottom.end - ]) - horizontal(holeGuideFrontRight) - distance([ - holeGuideFrontRight.start, - holeGuideFrontRight.end - ]) == holeDia - holeFrontRight = circle(start = [var 116mm, var 13mm], center = [var 112mm, var 13mm]) - coincident([ - holeFrontRight.center, - holeGuideFrontRight.start - ]) - coincident([ - holeFrontRight.start, - holeGuideFrontRight.end - ]) - - holeGuideBackRight = line(start = [var 112mm, var 162mm], end = [var 116mm, var 162mm], construction = true) - coincident([ - holeGuideBackRight.start, - holeRectRight.end - ]) - horizontal(holeGuideBackRight) - distance([ - holeGuideBackRight.start, - holeGuideBackRight.end - ]) == holeDia - holeBackRight = circle(start = [var 116mm, var 162mm], center = [var 112mm, var 162mm]) - coincident([ - holeBackRight.center, - holeGuideBackRight.start - ]) - coincident([ - holeBackRight.start, - holeGuideBackRight.end - ]) - - holeGuideBackLeft = line(start = [var 13mm, var 162mm], end = [var 17mm, var 162mm], construction = true) - coincident([ - holeGuideBackLeft.start, - holeRectTop.end - ]) - horizontal(holeGuideBackLeft) - distance([ - holeGuideBackLeft.start, - holeGuideBackLeft.end - ]) == holeDia - holeBackLeft = circle(start = [var 17mm, var 162mm], center = [var 13mm, var 162mm]) - coincident([ - holeBackLeft.center, - holeGuideBackLeft.start - ]) - coincident([ - holeBackLeft.start, - holeGuideBackLeft.end - ]) -} - -lidRegion = region(segments = [lidSketch.line1, lidSketch.line2]) -lidPlate = extrude(lidRegion, length = wallThickness) - |> fillet( - radius = wallThickness * 4, - edges = [ - { - sideFaces = [ - lidRegion.tags.line1, - lidRegion.tags.line2 - ] - }, - { - sideFaces = [ - lidRegion.tags.line2, - lidRegion.tags.line3 - ] - }, - { - sideFaces = [ - lidRegion.tags.line3, - lidRegion.tags.line4 - ] - }, - { - sideFaces = [ - lidRegion.tags.line4, - lidRegion.tags.line1 - ] - } - ], - ) - -hide(lidSketch) - -lidLipWidth = width - (2 * wallThickness) -lidLipLength = length - (2 * wallThickness) -lidLipHoleOffset = innerOffset - wallThickness -lidLipClearanceRadius = holeDia + wallThickness - -// Define lid inner and sealing surfaces -lidLipSketch = sketch(on = faceOf(lidPlate, face = END)) { - line1 = line(start = [var 153mm, var 3mm], end = [var 272mm, var 3mm]) - line2 = line(start = [var 272mm, var 3mm], end = [var 272mm, var 172mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 272mm, var 172mm], end = [var 153mm, var 172mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 153mm, var 172mm], end = [var 153mm, var 3mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - - coincident([ - line1.start, - [ - lidOffsetX + wallThickness, - wallThickness - ] - ]) - horizontal(line1) - vertical(line2) - horizontal(line3) - vertical(line4) - distance([line1.start, line1.end]) == lidLipWidth - distance([line2.start, line2.end]) == lidLipLength - - holeRectBottom = line(start = [var 163mm, var 13mm], end = [var 262mm, var 13mm], construction = true) - holeRectRight = line(start = [var 262mm, var 13mm], end = [var 262mm, var 162mm], construction = true) - coincident([ - holeRectBottom.end, - holeRectRight.start - ]) - holeRectTop = line(start = [var 262mm, var 162mm], end = [var 163mm, var 162mm], construction = true) - coincident([holeRectRight.end, holeRectTop.start]) - holeRectLeft = line(start = [var 163mm, var 162mm], end = [var 163mm, var 13mm], construction = true) - coincident([holeRectTop.end, holeRectLeft.start]) - coincident([holeRectLeft.end, holeRectBottom.start]) - - horizontal(holeRectBottom) - vertical(holeRectRight) - horizontal(holeRectTop) - vertical(holeRectLeft) - horizontalDistance([line1.start, holeRectBottom.start]) == lidLipHoleOffset - verticalDistance([line1.start, holeRectBottom.start]) == lidLipHoleOffset - distance([ - holeRectBottom.start, - holeRectBottom.end - ]) == holeSpanX - distance([holeRectRight.start, holeRectRight.end]) == holeSpanY - - holeGuideFrontLeft = line(start = [var 163mm, var 13mm], end = [var 170mm, var 13mm], construction = true) - coincident([ - holeGuideFrontLeft.start, - holeRectBottom.start - ]) - horizontal(holeGuideFrontLeft) - distance([ - holeGuideFrontLeft.start, - holeGuideFrontLeft.end - ]) == lidLipClearanceRadius - holeFrontLeft = circle(start = [var 170mm, var 13mm], center = [var 163mm, var 13mm]) - coincident([ - holeFrontLeft.center, - holeGuideFrontLeft.start - ]) - coincident([ - holeFrontLeft.start, - holeGuideFrontLeft.end - ]) - - holeGuideFrontRight = line(start = [var 262mm, var 13mm], end = [var 269mm, var 13mm], construction = true) - coincident([ - holeGuideFrontRight.start, - holeRectBottom.end - ]) - horizontal(holeGuideFrontRight) - distance([ - holeGuideFrontRight.start, - holeGuideFrontRight.end - ]) == lidLipClearanceRadius - holeFrontRight = circle(start = [var 269mm, var 13mm], center = [var 262mm, var 13mm]) - coincident([ - holeFrontRight.center, - holeGuideFrontRight.start - ]) - coincident([ - holeFrontRight.start, - holeGuideFrontRight.end - ]) - - holeGuideBackRight = line(start = [var 262mm, var 162mm], end = [var 269mm, var 162mm], construction = true) - coincident([ - holeGuideBackRight.start, - holeRectRight.end - ]) - horizontal(holeGuideBackRight) - distance([ - holeGuideBackRight.start, - holeGuideBackRight.end - ]) == lidLipClearanceRadius - holeBackRight = circle(start = [var 269mm, var 162mm], center = [var 262mm, var 162mm]) - coincident([ - holeBackRight.center, - holeGuideBackRight.start - ]) - coincident([ - holeBackRight.start, - holeGuideBackRight.end - ]) - - holeGuideBackLeft = line(start = [var 163mm, var 162mm], end = [var 170mm, var 162mm], construction = true) - coincident([ - holeGuideBackLeft.start, - holeRectTop.end - ]) - horizontal(holeGuideBackLeft) - distance([ - holeGuideBackLeft.start, - holeGuideBackLeft.end - ]) == lidLipClearanceRadius - holeBackLeft = circle(start = [var 170mm, var 162mm], center = [var 163mm, var 162mm]) - coincident([ - holeBackLeft.center, - holeGuideBackLeft.start - ]) - coincident([ - holeBackLeft.start, - holeGuideBackLeft.end - ]) -} - -lidLipRegion = region(segments = [lidLipSketch.line1, lidLipSketch.line2]) -lidLip = extrude(lidLipRegion, length = wallThickness) - |> fillet( - radius = wallThickness * 3, - edges = [ - { - sideFaces = [ - lidLipRegion.tags.line1, - lidLipRegion.tags.line2 - ] - }, - { - sideFaces = [ - lidLipRegion.tags.line2, - lidLipRegion.tags.line3 - ] - }, - { - sideFaces = [ - lidLipRegion.tags.line3, - lidLipRegion.tags.line4 - ] - }, - { - sideFaces = [ - lidLipRegion.tags.line4, - lidLipRegion.tags.line1 - ] - } - ], - ) - -hide(lidLipSketch) diff --git a/content/pages/docs/kcl-samples/enclosure/project.toml b/content/pages/docs/kcl-samples/enclosure/project.toml deleted file mode 100644 index 40aaf870..00000000 --- a/content/pages/docs/kcl-samples/enclosure/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "6634c5f1-f19f-484a-b480-06235ef82c14" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/end-effector-gripper-fingers/main.kcl b/content/pages/docs/kcl-samples/end-effector-gripper-fingers/main.kcl deleted file mode 100644 index 8bd57c49..00000000 --- a/content/pages/docs/kcl-samples/end-effector-gripper-fingers/main.kcl +++ /dev/null @@ -1,889 +0,0 @@ -// End Effector Grippers -// End effector grippers are devices attached to a robot's arm that allow it to interact with its environment and perform tasks like picking up, moving, and manipulating objects. They are essential for robots to perform useful work. Grippers are one type of end effector, but end effectors can also be tools like welding torches or cameras -// Categories: Robotics & Automation; Industrial & Manufacturing - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -tol = 0.001 - -// Define sheet metal parameters -bracketThickness = 3 -bracketBendRadius = 3.75 - -// Define linkage parameters -linkRadius = 8 -linkLength = 70 -linkAngle = 65deg - -// Model the five body sections as explicit solved profiles. -sketch1 = sketch(on = offsetPlane(XY, offset = 0)) { - line1 = line(start = [var 40mm, var -4mm], end = [var 40mm, var 4mm]) - arc2 = arc(start = [var 40mm, var 4mm], end = [var 36mm, var 10.92820323mm], center = [var 32mm, var 4mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 36mm, var 10.92820323mm], end = [var -15.961524227mm, var 40.92820323mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -15.961524227mm, var 40.92820323mm], end = [var -23.961524227mm, var 40.92820323mm], center = [var -19.961524227mm, var 34mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var -23.961524227mm, var 40.92820323mm], end = [var -30.889727457mm, var 36.92820323mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var -30.889727457mm, var 36.92820323mm], end = [var -34.889727457mm, var 30mm], center = [var -26.889727457mm, var 30mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -34.889727457mm, var 30mm], end = [var -34.889727457mm, var -30mm]) - coincident([arc6.end, line7.start]) - arc8 = arc( - start = [var -34.889727457mm, var -30mm], - end = [ - var -30.889727457mm, - var -36.92820323mm - ], - center = [var -26.889727457mm, var -30mm], - ) - coincident([line7.end, arc8.start]) - line9 = line( - start = [ - var -30.889727457mm, - var -36.92820323mm - ], - end = [ - var -23.961524227mm, - var -40.92820323mm - ], - ) - coincident([arc8.end, line9.start]) - arc10 = arc( - start = [ - var -23.961524227mm, - var -40.92820323mm - ], - end = [ - var -15.961524227mm, - var -40.92820323mm - ], - center = [var -19.961524227mm, var -34mm], - ) - coincident([line9.end, arc10.start]) - line11 = line( - start = [ - var -15.961524227mm, - var -40.92820323mm - ], - end = [var 36mm, var -10.92820323mm], - ) - coincident([arc10.end, line11.start]) - arc12 = arc(start = [var 36mm, var -10.92820323mm], end = [var 40mm, var -4mm], center = [var 32mm, var -4mm]) - coincident([line11.end, arc12.start]) - coincident([arc12.end, line1.start]) -} - -sketch2 = sketch(on = offsetPlane(XY, offset = 20)) { - line1 = line(start = [var 50mm, var -5mm], end = [var 50mm, var 5mm]) - arc2 = arc(start = [var 50mm, var 5mm], end = [var 46mm, var 11.92820323mm], center = [var 42mm, var 5mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 46mm, var 11.92820323mm], end = [var -18.951905284mm, var 49.42820323mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -18.951905284mm, var 49.42820323mm], end = [var -26.951905284mm, var 49.42820323mm], center = [var -22.951905284mm, var 42.5mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var -26.951905284mm, var 49.42820323mm], end = [var -35.612159322mm, var 44.42820323mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var -35.612159322mm, var 44.42820323mm], end = [var -39.612159322mm, var 37.5mm], center = [var -31.612159322mm, var 37.5mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -39.612159322mm, var 37.5mm], end = [var -39.612159322mm, var -37.5mm]) - coincident([arc6.end, line7.start]) - arc8 = arc( - start = [var -39.612159322mm, var -37.5mm], - end = [ - var -35.612159322mm, - var -44.42820323mm - ], - center = [var -31.612159322mm, var -37.5mm], - ) - coincident([line7.end, arc8.start]) - line9 = line( - start = [ - var -35.612159322mm, - var -44.42820323mm - ], - end = [ - var -26.951905284mm, - var -49.42820323mm - ], - ) - coincident([arc8.end, line9.start]) - arc10 = arc( - start = [ - var -26.951905284mm, - var -49.42820323mm - ], - end = [ - var -18.951905284mm, - var -49.42820323mm - ], - center = [var -22.951905284mm, var -42.5mm], - ) - coincident([line9.end, arc10.start]) - line11 = line( - start = [ - var -18.951905284mm, - var -49.42820323mm - ], - end = [var 46mm, var -11.92820323mm], - ) - coincident([arc10.end, line11.start]) - arc12 = arc(start = [var 46mm, var -11.92820323mm], end = [var 50mm, var -5mm], center = [var 42mm, var -5mm]) - coincident([line11.end, arc12.start]) - coincident([arc12.end, line1.start]) -} - -sketch3 = sketch(on = offsetPlane(XY, offset = 80)) { - line1 = line(start = [var 90mm, var -9mm], end = [var 90mm, var 9mm]) - arc2 = arc(start = [var 90mm, var 9mm], end = [var 86mm, var 15.92820323mm], center = [var 82mm, var 9mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 86mm, var 15.92820323mm], end = [var -30.913429511mm, var 83.42820323mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -30.913429511mm, var 83.42820323mm], end = [var -38.913429511mm, var 83.42820323mm], center = [var -34.913429511mm, var 76.5mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var -38.913429511mm, var 83.42820323mm], end = [var -54.501886779mm, var 74.42820323mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var -54.501886779mm, var 74.42820323mm], end = [var -58.501886779mm, var 67.5mm], center = [var -50.501886779mm, var 67.5mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -58.501886779mm, var 67.5mm], end = [var -58.501886779mm, var -67.5mm]) - coincident([arc6.end, line7.start]) - arc8 = arc( - start = [var -58.501886779mm, var -67.5mm], - end = [ - var -54.501886779mm, - var -74.42820323mm - ], - center = [var -50.501886779mm, var -67.5mm], - ) - coincident([line7.end, arc8.start]) - line9 = line( - start = [ - var -54.501886779mm, - var -74.42820323mm - ], - end = [ - var -38.913429511mm, - var -83.42820323mm - ], - ) - coincident([arc8.end, line9.start]) - arc10 = arc( - start = [ - var -38.913429511mm, - var -83.42820323mm - ], - end = [ - var -30.913429511mm, - var -83.42820323mm - ], - center = [var -34.913429511mm, var -76.5mm], - ) - coincident([line9.end, arc10.start]) - line11 = line( - start = [ - var -30.913429511mm, - var -83.42820323mm - ], - end = [var 86mm, var -15.92820323mm], - ) - coincident([arc10.end, line11.start]) - arc12 = arc(start = [var 86mm, var -15.92820323mm], end = [var 90mm, var -9mm], center = [var 82mm, var -9mm]) - coincident([line11.end, arc12.start]) - coincident([arc12.end, line1.start]) -} - -sketch4 = sketch(on = offsetPlane(XY, offset = 100)) { - line1 = line(start = [var 105mm, var -10.5mm], end = [var 105mm, var 10.5mm]) - arc2 = arc(start = [var 105mm, var 10.5mm], end = [var 101mm, var 17.42820323mm], center = [var 97mm, var 10.5mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 101mm, var 17.42820323mm], end = [var -35.399001096mm, var 96.17820323mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -35.399001096mm, var 96.17820323mm], end = [var -43.399001096mm, var 96.17820323mm], center = [var -39.399001096mm, var 89.25mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var -43.399001096mm, var 96.17820323mm], end = [var -61.585534576mm, var 85.67820323mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var -61.585534576mm, var 85.67820323mm], end = [var -65.585534576mm, var 78.75mm], center = [var -57.585534576mm, var 78.75mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -65.585534576mm, var 78.75mm], end = [var -65.585534576mm, var -78.75mm]) - coincident([arc6.end, line7.start]) - arc8 = arc( - start = [var -65.585534576mm, var -78.75mm], - end = [ - var -61.585534576mm, - var -85.67820323mm - ], - center = [var -57.585534576mm, var -78.75mm], - ) - coincident([line7.end, arc8.start]) - line9 = line( - start = [ - var -61.585534576mm, - var -85.67820323mm - ], - end = [ - var -43.399001096mm, - var -96.17820323mm - ], - ) - coincident([arc8.end, line9.start]) - arc10 = arc( - start = [ - var -43.399001096mm, - var -96.17820323mm - ], - end = [ - var -35.399001096mm, - var -96.17820323mm - ], - center = [var -39.399001096mm, var -89.25mm], - ) - coincident([line9.end, arc10.start]) - line11 = line( - start = [ - var -35.399001096mm, - var -96.17820323mm - ], - end = [var 101mm, var -17.42820323mm], - ) - coincident([arc10.end, line11.start]) - arc12 = arc(start = [var 101mm, var -17.42820323mm], end = [var 105mm, var -10.5mm], center = [var 97mm, var -10.5mm]) - coincident([line11.end, arc12.start]) - coincident([arc12.end, line1.start]) -} - -sketch5 = sketch(on = offsetPlane(XY, offset = 120)) { - line1 = line(start = [var 100mm, var -10mm], end = [var 100mm, var 10mm]) - arc2 = arc(start = [var 100mm, var 10mm], end = [var 96mm, var 16.92820323mm], center = [var 92mm, var 10mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 96mm, var 16.92820323mm], end = [var -33.903810568mm, var 91.92820323mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -33.903810568mm, var 91.92820323mm], end = [var -41.903810568mm, var 91.92820323mm], center = [var -37.903810568mm, var 85mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var -41.903810568mm, var 91.92820323mm], end = [var -59.224318643mm, var 81.92820323mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var -59.224318643mm, var 81.92820323mm], end = [var -63.224318643mm, var 75mm], center = [var -55.224318643mm, var 75mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -63.224318643mm, var 75mm], end = [var -63.224318643mm, var -75mm]) - coincident([arc6.end, line7.start]) - arc8 = arc( - start = [var -63.224318643mm, var -75mm], - end = [ - var -59.224318643mm, - var -81.92820323mm - ], - center = [var -55.224318643mm, var -75mm], - ) - coincident([line7.end, arc8.start]) - line9 = line( - start = [ - var -59.224318643mm, - var -81.92820323mm - ], - end = [ - var -41.903810568mm, - var -91.92820323mm - ], - ) - coincident([arc8.end, line9.start]) - arc10 = arc( - start = [ - var -41.903810568mm, - var -91.92820323mm - ], - end = [ - var -33.903810568mm, - var -91.92820323mm - ], - center = [var -37.903810568mm, var -85mm], - ) - coincident([line9.end, arc10.start]) - line11 = line( - start = [ - var -33.903810568mm, - var -91.92820323mm - ], - end = [var 96mm, var -16.92820323mm], - ) - coincident([arc10.end, line11.start]) - arc12 = arc(start = [var 96mm, var -16.92820323mm], end = [var 100mm, var -10mm], center = [var 92mm, var -10mm]) - coincident([line11.end, arc12.start]) - coincident([arc12.end, line1.start]) -} - -// Loft consumes its section paths, so emit independent copies at the two -// planes shared by adjacent lofts, matching the legacy clone sketch intent. -sketch2ForHousing = sketch(on = offsetPlane(XY, offset = 20)) { - line1 = line(start = [var 50mm, var -5mm], end = [var 50mm, var 5mm]) - arc2 = arc(start = [var 50mm, var 5mm], end = [var 46mm, var 11.92820323mm], center = [var 42mm, var 5mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 46mm, var 11.92820323mm], end = [var -18.951905284mm, var 49.42820323mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -18.951905284mm, var 49.42820323mm], end = [var -26.951905284mm, var 49.42820323mm], center = [var -22.951905284mm, var 42.5mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var -26.951905284mm, var 49.42820323mm], end = [var -35.612159322mm, var 44.42820323mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var -35.612159322mm, var 44.42820323mm], end = [var -39.612159322mm, var 37.5mm], center = [var -31.612159322mm, var 37.5mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -39.612159322mm, var 37.5mm], end = [var -39.612159322mm, var -37.5mm]) - coincident([arc6.end, line7.start]) - arc8 = arc( - start = [var -39.612159322mm, var -37.5mm], - end = [ - var -35.612159322mm, - var -44.42820323mm - ], - center = [var -31.612159322mm, var -37.5mm], - ) - coincident([line7.end, arc8.start]) - line9 = line( - start = [ - var -35.612159322mm, - var -44.42820323mm - ], - end = [ - var -26.951905284mm, - var -49.42820323mm - ], - ) - coincident([arc8.end, line9.start]) - arc10 = arc( - start = [ - var -26.951905284mm, - var -49.42820323mm - ], - end = [ - var -18.951905284mm, - var -49.42820323mm - ], - center = [var -22.951905284mm, var -42.5mm], - ) - coincident([line9.end, arc10.start]) - line11 = line( - start = [ - var -18.951905284mm, - var -49.42820323mm - ], - end = [var 46mm, var -11.92820323mm], - ) - coincident([arc10.end, line11.start]) - arc12 = arc(start = [var 46mm, var -11.92820323mm], end = [var 50mm, var -5mm], center = [var 42mm, var -5mm]) - coincident([line11.end, arc12.start]) - coincident([arc12.end, line1.start]) -} - -sketch4ForUpperTrim = sketch(on = offsetPlane(XY, offset = 100)) { - line1 = line(start = [var 105mm, var -10.5mm], end = [var 105mm, var 10.5mm]) - arc2 = arc(start = [var 105mm, var 10.5mm], end = [var 101mm, var 17.42820323mm], center = [var 97mm, var 10.5mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 101mm, var 17.42820323mm], end = [var -35.399001096mm, var 96.17820323mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -35.399001096mm, var 96.17820323mm], end = [var -43.399001096mm, var 96.17820323mm], center = [var -39.399001096mm, var 89.25mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var -43.399001096mm, var 96.17820323mm], end = [var -61.585534576mm, var 85.67820323mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var -61.585534576mm, var 85.67820323mm], end = [var -65.585534576mm, var 78.75mm], center = [var -57.585534576mm, var 78.75mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -65.585534576mm, var 78.75mm], end = [var -65.585534576mm, var -78.75mm]) - coincident([arc6.end, line7.start]) - arc8 = arc( - start = [var -65.585534576mm, var -78.75mm], - end = [ - var -61.585534576mm, - var -85.67820323mm - ], - center = [var -57.585534576mm, var -78.75mm], - ) - coincident([line7.end, arc8.start]) - line9 = line( - start = [ - var -61.585534576mm, - var -85.67820323mm - ], - end = [ - var -43.399001096mm, - var -96.17820323mm - ], - ) - coincident([arc8.end, line9.start]) - arc10 = arc( - start = [ - var -43.399001096mm, - var -96.17820323mm - ], - end = [ - var -35.399001096mm, - var -96.17820323mm - ], - center = [var -39.399001096mm, var -89.25mm], - ) - coincident([line9.end, arc10.start]) - line11 = line( - start = [ - var -35.399001096mm, - var -96.17820323mm - ], - end = [var 101mm, var -17.42820323mm], - ) - coincident([arc10.end, line11.start]) - arc12 = arc(start = [var 101mm, var -17.42820323mm], end = [var 105mm, var -10.5mm], center = [var 97mm, var -10.5mm]) - coincident([line11.end, arc12.start]) - coincident([arc12.end, line1.start]) -} - -section1 = region(segments = [sketch1.line1, sketch1.arc2]) -section2 = region(segments = [sketch2.line1, sketch2.arc2]) -section3 = region(segments = [sketch3.line1, sketch3.arc2]) -section4 = region(segments = [sketch4.line1, sketch4.arc2]) -section5 = region(segments = [sketch5.line1, sketch5.arc2]) -section2ForHousing = region(segments = [ - sketch2ForHousing.line1, - sketch2ForHousing.arc2 -]) -section4ForUpperTrim = region(segments = [ - sketch4ForUpperTrim.line1, - sketch4ForUpperTrim.arc2 -]) - -// Loft the lower trim of the body -lowerTrim = loft([section1, section2]) - |> appearance(color = "#f7f7f7") - -// Loft the center body housing -housing = loft([section2ForHousing, section3, section4]) - |> appearance(color = "#0f0f0f") - -// Loft the upper trim of the body -upperTrim = loft([section4ForUpperTrim, section5]) - |> appearance(color = "#f7f7f7") - -// Model an angled bracket that will be used to mount the three grippers -sketch001 = sketch(on = offsetPlane(XY, offset = 120)) { - line1 = line(start = [var 97mm, var 5mm], end = [var 7mm, var 5mm]) - arc2 = arc(start = [var 1.154328524mm, var 8.375mm], end = [var 7mm, var 5mm], center = [var 7mm, var 11.75mm]) - coincident([line1.end, arc2.end]) - line3 = line( - start = [var 1.154328524mm, var 8.375mm], - end = [ - var -43.845671476mm, - var 86.317286341mm - ], - ) - coincident([arc2.start, line3.start]) - line4 = line( - start = [ - var -43.845671476mm, - var 86.317286341mm - ], - end = [ - var -41.247595264mm, - var 87.817286341mm - ], - ) - coincident([line3.end, line4.start]) - line5 = line( - start = [ - var -41.247595264mm, - var 87.817286341mm - ], - end = [var 3.752404736mm, var 9.875mm], - ) - coincident([line4.end, line5.start]) - arc6 = arc(start = [var 3.752404736mm, var 9.875mm], end = [var 7mm, var 8mm], center = [var 7mm, var 11.75mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var 7mm, var 8mm], end = [var 97mm, var 8mm]) - coincident([arc6.end, line7.start]) - line8 = line(start = [var 97mm, var 8mm], end = [var 97mm, var 5mm]) - coincident([line7.end, line8.start]) -} -region001 = region(segments = [sketch001.line1, sketch001.arc2]) -angleBracket = extrude(region001, length = 40, tagEnd = $capEnd001) - |> fillet( - radius = 8, - edges = [ - { - sideFaces = [region001.tags.line4, capEnd001] - }, - { - sideFaces = [region001.tags.line8, capEnd001] - } - ], - ) - -// Add mounting provisions for the gripper linkages to each bracket -bracketHoles01 = faceOf(angleBracket, face = region001.tags.line7) -hole01 = sketch(on = bracketHoles01) { - circle1 = circle(start = [var -65.5mm, var 140mm], center = [var -70mm, var 140mm]) -} -hole02 = sketch(on = bracketHoles01) { - circle1 = circle(start = [var -25.5mm, var 140mm], center = [var -30mm, var 140mm]) -} -bracketHoles02 = faceOf(angleBracket, face = region001.tags.line5) -hole03 = sketch(on = bracketHoles02) { - circle1 = circle(start = [var 74.5mm, var 140mm], center = [var 70mm, var 140mm]) -} -hole04 = sketch(on = bracketHoles02) { - circle1 = circle(start = [var 34.5mm, var 140mm], center = [var 30mm, var 140mm]) -} -holeRegion01 = region(segments = [hole01.circle1]) -holeRegion02 = region(segments = [hole02.circle1]) -holeRegion03 = region(segments = [hole03.circle1]) -holeRegion04 = region(segments = [hole04.circle1]) -bracket = extrude( - [ - holeRegion01, - holeRegion02, - holeRegion03, - holeRegion04 - ], - length = -bracketThickness, -) - |> appearance(color = "#0f0f0f") - -// Model a 2 force linkage to attach the grippers to the base -sketch002 = sketch(on = XZ) { - line1 = line( - start = [ - var 37.250462296mm, - var 136.619053906mm - ], - end = [ - var 66.833740618mm, - var 200.060598999mm - ], - ) - arc2 = arc( - start = [ - var 66.833740618mm, - var 200.060598999mm - ], - end = [ - var 52.332816026mm, - var 206.822491186mm - ], - center = [ - var 59.583278322mm, - var 203.441545093mm - ], - ) - coincident([line1.end, arc2.start]) - line3 = line( - start = [ - var 52.332816026mm, - var 206.822491186mm - ], - end = [ - var 22.749537704mm, - var 143.380946094mm - ], - ) - coincident([arc2.end, line3.start]) - arc4 = arc( - start = [ - var 22.749537704mm, - var 143.380946094mm - ], - end = [ - var 37.250462296mm, - var 136.619053906mm - ], - center = [var 30mm, var 140mm], - ) - coincident([line3.end, arc4.start]) -} -linkageHoleSketch = sketch(on = XZ) { - hole01 = circle(start = [var 34.5mm, var 140mm], center = [var 30mm, var 140mm]) - hole02 = circle( - start = [ - var 64.083278937mm, - var 203.441545092mm - ], - center = [ - var 59.583278937mm, - var 203.441545092mm - ], - ) -} -region002 = region(segments = [sketch002.line1, sketch002.arc2]) -linkageBlank = extrude(region002, length = 8, symmetric = true) -linkageHoleRegion01 = region(segments = [linkageHoleSketch.hole01]) -linkageHoleRegion02 = region(segments = [linkageHoleSketch.hole02]) -linkageHole01 = extrude( - linkageHoleRegion01, - length = 8, - symmetric = true, - method = NEW, -) -linkageHole02 = extrude( - linkageHoleRegion02, - length = 8, - symmetric = true, - method = NEW, -) -linkageBar = subtract(linkageBlank, tools = [linkageHole01, linkageHole02]) - |> appearance(color = "#f7f7f7") - |> patternLinear3d(instances = 2, distance = 40, axis = [1, 0, 0]) - -// Create the base sheet metal that each gripper will be cut from -sketch003 = sketch(on = offsetPlane(XY, offset = 129 + linkLength * sin(linkAngle))) { - line1 = line(start = [var 111.583278322mm, var 12mm], end = [var 34.583278322mm, var 12mm]) - arc2 = arc(start = [var 34.583278322mm, var 12mm], end = [var 28.737606846mm, var 8.625mm], center = [var 34.583278322mm, var 5.25mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 28.737606846mm, var 8.625mm], end = [var 25.737606846mm, var 3.428847577mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var 25.737606846mm, var 3.428847577mm], end = [var 25.737606846mm, var -3.321152423mm], center = [var 31.583278322mm, var 0.053847577mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var 25.737606846mm, var -3.321152423mm], end = [var 28.737606846mm, var -8.517304845mm]) - coincident([arc4.end, line5.start]) - arc6 = arc( - start = [var 28.737606846mm, var -8.517304845mm], - end = [ - var 34.583278322mm, - var -11.892304845mm - ], - center = [var 34.583278322mm, var -5.142304845mm], - ) - coincident([line5.end, arc6.start]) - line7 = line( - start = [ - var 34.583278322mm, - var -11.892304845mm - ], - end = [ - var 111.583278322mm, - var -11.892304845mm - ], - ) - coincident([arc6.end, line7.start]) - line8 = line( - start = [ - var 111.583278322mm, - var -11.892304845mm - ], - end = [ - var 111.583278322mm, - var -8.892304845mm - ], - ) - coincident([line7.end, line8.start]) - line9 = line( - start = [ - var 111.583278322mm, - var -8.892304845mm - ], - end = [var 34.583278322mm, var -8.892304845mm], - ) - coincident([line8.end, line9.start]) - arc10 = arc(start = [var 31.335683058mm, var -7.017304845mm], end = [var 34.583278322mm, var -8.892304845mm], center = [var 34.583278322mm, var -5.142304845mm]) - coincident([line9.end, arc10.end]) - line11 = line(start = [var 31.335683058mm, var -7.017304845mm], end = [var 28.335683058mm, var -1.821152423mm]) - coincident([arc10.start, line11.start]) - arc12 = arc(start = [var 28.335683058mm, var 1.928847577mm], end = [var 28.335683058mm, var -1.821152423mm], center = [var 31.583278322mm, var 0.053847577mm]) - coincident([line11.end, arc12.end]) - line13 = line(start = [var 28.335683058mm, var 1.928847577mm], end = [var 31.335683058mm, var 7.125mm]) - coincident([arc12.start, line13.start]) - arc14 = arc(start = [var 34.583278322mm, var 9mm], end = [var 31.335683058mm, var 7.125mm], center = [var 34.583278322mm, var 5.25mm]) - coincident([line13.end, arc14.end]) - line15 = line(start = [var 34.583278322mm, var 9mm], end = [var 111.583278322mm, var 9mm]) - coincident([arc14.start, line15.start]) - line16 = line(start = [var 111.583278322mm, var 9mm], end = [var 111.583278322mm, var 12mm]) - coincident([line15.end, line16.start]) -} -region003 = region(segments = [sketch003.line1, sketch003.arc2]) -gripBaseBracket = extrude(region003, length = 80) - -// Use subtract operations to remove excess material from the gripper, as well as model the mounting holes -gripperCuts = XZ -sketch004 = sketch(on = gripperCuts) { - circle1 = circle( - start = [ - var 319.583278322mm, - var 353.441545093mm - ], - center = [ - var 169.583278322mm, - var 353.441545093mm - ], - ) -} -region004 = region(segments = [sketch004.circle1]) -cutOuter = extrude(region004, length = 40, symmetric = true) -sketch005 = sketch(on = gripperCuts) { - circle1 = circle( - start = [ - var 50.583278322mm, - var 183.441545093mm - ], - center = [ - var 15.583278322mm, - var 183.441545093mm - ], - ) -} -region005 = region(segments = [sketch005.circle1]) -cutInner = extrude(region005, length = 40, symmetric = true) - -sketch006 = sketch(on = gripperCuts) { - circle1 = circle( - start = [ - var 64.083278322mm, - var 203.441545093mm - ], - center = [ - var 59.583278322mm, - var 203.441545093mm - ], - ) -} -region006 = region(segments = [sketch006.circle1]) -mountingHole01 = extrude(region006, length = 40, symmetric = true) -sketch007 = sketch(on = gripperCuts) { - circle1 = circle( - start = [ - var 104.083278322mm, - var 203.441545093mm - ], - center = [ - var 99.583278322mm, - var 203.441545093mm - ], - ) -} -region007 = region(segments = [sketch007.circle1]) -mountingHole02 = extrude(region007, length = 40, symmetric = true) - -// Remove all identified material from the gripper -gripper = subtract( - [gripBaseBracket], - tolerance = tol, - tools = [ - union( - [ - union([mountingHole01, mountingHole02], tolerance = tol), - union([cutOuter, cutInner], tolerance = tol) - ], - tolerance = tol, - ) - ], -) - |> appearance(color = "#0f0f0f") - -// Create a cotter pin to secure the linkages to the base -sketch008 = sketch(on = offsetPlane(YZ, offset = 30)) { - line1 = line(start = [var -9.5mm, var 140.5mm], end = [var -9.5mm, var 145.5mm]) - line2 = line(start = [var -9.5mm, var 145.5mm], end = [var -8.5mm, var 145.5mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var -8.5mm, var 145.5mm], end = [var -8.5mm, var 144mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -8.5mm, var 144mm], end = [var 8.5mm, var 144mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 8.5mm, var 144mm], end = [var 8.5mm, var 145.5mm]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 8.5mm, var 145.5mm], end = [var 9.5mm, var 145.5mm]) - coincident([line5.end, line6.start]) - line7 = line(start = [var 9.5mm, var 145.5mm], end = [var 9.5mm, var 140.5mm]) - coincident([line6.end, line7.start]) - line8 = line(start = [var 9.5mm, var 140.5mm], end = [var -9.5mm, var 140.5mm]) - coincident([line7.end, line8.start]) -} -region008 = region(segments = [sketch008.line1, sketch008.line2]) -basePins = revolve( - region008, - axis = { - direction = [1.0, 0.0], - origin = [0.0, 140.0] - }, -) - |> patternLinear3d(instances = 2, distance = 40, axis = [1, 0, 0]) - |> appearance(color = "#a6a6a6") - -// Revolve a cotter pin and washers to secure the gripper to the linkages -sketch009 = sketch(on = offsetPlane(YZ, offset = 30 + linkLength * cos(linkAngle))) { - line1 = line(start = [var 0mm, var 207.941545093mm], end = [var -4.1mm, var 207.941545093mm]) - line2 = line(start = [var -4.1mm, var 207.941545093mm], end = [var -4.1mm, var 212.941545093mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var -4.1mm, var 212.941545093mm], end = [var -8.9mm, var 212.941545093mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -8.9mm, var 212.941545093mm], end = [var -8.9mm, var 207.941545093mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var -8.9mm, var 207.941545093mm], end = [var -12mm, var 207.941545093mm]) - coincident([line4.end, line5.start]) - line6 = line(start = [var -12mm, var 207.941545093mm], end = [var -12mm, var 208.941545093mm]) - coincident([line5.end, line6.start]) - line7 = line(start = [var -12mm, var 208.941545093mm], end = [var -13mm, var 208.941545093mm]) - coincident([line6.end, line7.start]) - line8 = line(start = [var -13mm, var 208.941545093mm], end = [var -13mm, var 203.941545093mm]) - coincident([line7.end, line8.start]) - line9 = line(start = [var -13mm, var 203.941545093mm], end = [var 0mm, var 203.941545093mm]) - coincident([line8.end, line9.start]) - line10 = line(start = [var 0mm, var 203.941545093mm], end = [var 13mm, var 203.941545093mm]) - coincident([line9.end, line10.start]) - line11 = line(start = [var 13mm, var 203.941545093mm], end = [var 13mm, var 208.941545093mm]) - coincident([line10.end, line11.start]) - line12 = line(start = [var 13mm, var 208.941545093mm], end = [var 12mm, var 208.941545093mm]) - coincident([line11.end, line12.start]) - line13 = line(start = [var 12mm, var 208.941545093mm], end = [var 12mm, var 207.941545093mm]) - coincident([line12.end, line13.start]) - line14 = line(start = [var 12mm, var 207.941545093mm], end = [var 8.9mm, var 207.941545093mm]) - coincident([line13.end, line14.start]) - line15 = line(start = [var 8.9mm, var 207.941545093mm], end = [var 8.9mm, var 212.941545093mm]) - coincident([line14.end, line15.start]) - line16 = line(start = [var 8.9mm, var 212.941545093mm], end = [var 4.1mm, var 212.941545093mm]) - coincident([line15.end, line16.start]) - line17 = line(start = [var 4.1mm, var 212.941545093mm], end = [var 4.1mm, var 207.941545093mm]) - coincident([line16.end, line17.start]) - line18 = line(start = [var 4.1mm, var 207.941545093mm], end = [var 0mm, var 207.941545093mm]) - coincident([line17.end, line18.start]) - coincident([line18.end, line1.start]) -} -region009 = region(segments = [sketch009.line1, sketch009.line2]) -gripperPins = revolve( - region009, - axis = { - direction = [1.0, 0.0], - origin = [0.0, 140 + linkLength * sin(linkAngle)] - }, -) - |> patternLinear3d(instances = 2, distance = 40, axis = [1, 0, 0]) - |> appearance(color = "#a6a6a6") - -hide([ - sketch1, - sketch2, - sketch3, - sketch4, - sketch5, - sketch2ForHousing, - sketch4ForUpperTrim, - sketch001, - hole01, - hole02, - hole03, - hole04, - sketch002, - linkageHoleSketch, - sketch003, - sketch004, - sketch005, - sketch006, - sketch007, - sketch008, - sketch009 -]) - -// Pattern 3 each item around the center so that the hand has 3 fingers -[ - bracket, - linkageBar, - gripper, - basePins, - gripperPins -] - |> patternCircular3d( - instances = 3, - axis = [0, 0, 1], - center = [0, 0, 0], - arcDegrees = 360, - rotateDuplicates = true, - ) diff --git a/content/pages/docs/kcl-samples/engine-valve/.gitignore b/content/pages/docs/kcl-samples/engine-valve/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/engine-valve/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/engine-valve/main.kcl b/content/pages/docs/kcl-samples/engine-valve/main.kcl deleted file mode 100644 index 962107a3..00000000 --- a/content/pages/docs/kcl-samples/engine-valve/main.kcl +++ /dev/null @@ -1,125 +0,0 @@ -// Engine Valve -// A mechanical valve used in internal combustion engines to control intake or exhaust flow -// Categories: Automotive & Transportation; Mechanical Components - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -valveDiameter = 30 -valveLength = 120 -valveHeadLength = valveDiameter * 1.0 -valveHeadThickness = 6 -stemDiameter = 6 -stemHeadLength = 9 -stemLength = valveLength - valveHeadLength - stemHeadLength -stepLength = stemHeadLength / 10 -valveRadius = valveDiameter / 2 - -// Create the valve head -valveSketch = sketch(on = XZ) { - line1 = line(start = [var 0mm, var 30mm], end = [var -3mm, var 30mm], construction = true) - line2 = line(start = [var -3mm, var 30mm], end = [var -3mm, var 15mm]) - arc3 = arc(start = [var -12mm, var 3mm], end = [var -3mm, var 15mm], center = [var -15.49mm, var 14.99mm]) - arc4 = arc(start = [var -12mm, var 3mm], end = [var -15mm, var 0mm], center = [var -10.78mm, var -1.22mm]) - line5 = line(start = [var -15mm, var 0mm], end = [var -10.5mm, var 0mm]) - line3 = line(start = [var -10.5mm, var 0mm], end = [var 0mm, var 0mm], construction = true) - line4 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 1.66mm], construction = true) - arc6 = arc(start = [var 0mm, var 1.66mm], end = [var -10.5mm, var 0mm], center = [var 1.16mm, var -39.7mm]) - line7 = line(start = [var 0mm, var 1.66mm], end = [var 0mm, var 30mm]) - - line6 = line(start = [var 0mm, var 30mm], end = [var 3.42mm, var 81.04mm]) - line8 = line(start = [var 0mm, var 80mm], end = [var -2.61mm, var 80.06mm]) - line9 = line(start = [var -2.61mm, var 80.06mm], end = [var -2.61mm, var 78.22mm]) - line10 = line(start = [var -2.61mm, var 78.22mm], end = [var -2.17mm, var 78.22mm]) - line11 = line(start = [var -2.17mm, var 78.22mm], end = [var -2.09mm, var 77.54mm]) - line12 = line(start = [var -2.09mm, var 77.54mm], end = [var -2.61mm, var 77.54mm]) - line13 = line(start = [var -2.61mm, var 77.54mm], end = [var -2.59mm, var 76.6mm]) - line14 = line(start = [var -2.59mm, var 76.6mm], end = [var -2.01mm, var 76.57mm]) - line15 = line(start = [var -2.01mm, var 76.57mm], end = [var -2.01mm, var 75.7mm]) - line16 = line(start = [var -2.01mm, var 75.7mm], end = [var -2.56mm, var 75.73mm]) - line17 = line(start = [var -2.56mm, var 75.73mm], end = [var -2.48mm, var 74.6mm]) - line18 = line(start = [var -2.48mm, var 74.6mm], end = [var -1.82mm, var 74.63mm]) - line19 = line(start = [var -1.82mm, var 74.63mm], end = [var -1.99mm, var 73.77mm]) - line20 = line(start = [var -1.82mm, var 73.71mm], end = [var -2.38mm, var 73.92mm]) - line21 = line(start = [var -2.38mm, var 73.92mm], end = [var -2.51mm, var 71mm]) - line22 = line(start = [var -1.77mm, var 71.22mm], end = [var -3.32mm, var 71.95mm]) - line23 = line(start = [var -3.32mm, var 71.95mm], end = [var -3mm, var 30mm]) - - coincident([line1.start, line7.end]) - coincident([line1.end, line2.start]) - coincident([line2.end, arc3.end]) - coincident([arc3.start, arc4.start]) - coincident([arc4.end, line5.start]) - coincident([line5.end, arc6.end]) - coincident([line3.start, arc6.end]) - coincident([line3.end, ORIGIN]) - coincident([line4.start, line3.end]) - coincident([line4.end, arc6.start]) - coincident([arc6.start, line7.start]) - coincident([line6.start, line7.end]) - coincident([line8.start, line6.end]) - coincident([line8.end, line9.start]) - coincident([line9.end, line10.start]) - coincident([line10.end, line11.start]) - coincident([line11.end, line12.start]) - coincident([line12.end, line13.start]) - coincident([line13.end, line14.start]) - coincident([line14.end, line15.start]) - coincident([line15.end, line16.start]) - coincident([line16.end, line17.start]) - coincident([line17.end, line18.start]) - coincident([line18.end, line19.start]) - coincident([line19.end, line20.start]) - coincident([line20.end, line21.start]) - coincident([line21.end, line22.start]) - coincident([line22.end, line23.start]) - coincident([line23.end, line2.start]) - - tangent([arc3, arc4]) - - horizontal(line1) - horizontal(line3) - horizontal(line5) - horizontal(line8) - horizontal(line10) - horizontal(line12) - horizontal(line14) - horizontal(line16) - horizontal(line18) - horizontal(line20) - horizontal(line22) - - vertical(line2) - vertical(line4) - vertical(line6) - vertical(line7) - vertical(line9) - vertical(line11) - vertical(line13) - vertical(line15) - vertical(line17) - vertical(line19) - vertical(line21) - vertical(line23) - - horizontalDistance([line5.start, line4.start]) == valveDiameter / 2 - verticalDistance([line4.start, line7.end]) == valveHeadLength - horizontalDistance([line1.end, line1.start]) == valveHeadThickness / 2 - verticalDistance([line4.start, line6.end]) == 80 - verticalDistance([line23.start, line9.start]) == stemHeadLength - verticalDistance([line12.start, line11.start]) == stepLength - - equalLength([line19, line15, line11]) - equalLength([ - line20, - line18, - line16, - line14, - line12, - line10 - ]) -} - -valveSectionRegion = region(segments = [valveSketch.line1, valveSketch.line2]) - -valveHead = revolve(valveSectionRegion, angle = 360, axis = Y) diff --git a/content/pages/docs/kcl-samples/engine-valve/project.toml b/content/pages/docs/kcl-samples/engine-valve/project.toml deleted file mode 100644 index bdaf4757..00000000 --- a/content/pages/docs/kcl-samples/engine-valve/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "644db243-d22d-4277-b8c7-8a8b59e5b077" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/exhaust-manifold/.gitignore b/content/pages/docs/kcl-samples/exhaust-manifold/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/exhaust-manifold/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/exhaust-manifold/main.kcl b/content/pages/docs/kcl-samples/exhaust-manifold/main.kcl deleted file mode 100644 index 426224a1..00000000 --- a/content/pages/docs/kcl-samples/exhaust-manifold/main.kcl +++ /dev/null @@ -1,326 +0,0 @@ -// Exhaust Manifold -// A welded exhaust header for an inline 4-cylinder engine -// Categories: Automotive & Transportation; Mechanical Components - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define parameters -primaryTubeDiameter = 1.625 -wallThickness = 0.080 -plateHeight = 0.125 -bendRadius = 3 -tubeWallMidRadius = primaryTubeDiameter / 2 - (wallThickness / 2) - -// Draw a primary tube for each cylinder with specified lengths and angles -sweepPlane001 = { - origin = [0.0, 0.0, 0.0], - xAxis = [0.0, 1.0, 0.0], - yAxis = [0.0, 0.0, 1.0] -} -pathSketch001 = sketch(on = sweepPlane001) { - line1 = line(start = [var 0in, var 0.13in], end = [var -0.14in, var 3.08in]) - arc2 = arc(start = [var 2.45in, var 5.91in], end = [var -0.38in, var 3.04in], center = [var 3in, var 3.13in]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var 3.19in, var 5.43in], end = [var 8.45in, var 7.02in]) - coincident([arc2.start, line3.start]) - arc4 = arc(start = [var 8.55in, var 7.14in], end = [var 10.95in, var 10.33in], center = [var 7.87in, var 10.08in]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var 10.98in, var 10.53in], end = [var 10.42in, var 15.32in]) - coincident([arc4.end, line5.start]) - vertical(line1) - verticalDistance([line1.start, line1.end]) == 3in - vertical(line1) - coincident([ORIGIN, line1.start]) - tangent([line3, arc2]) - tangent([line3, arc4]) - tangent([line5, arc4]) - verticalDistance([line1.start, line5.end]) == 15.3 - radius(arc2) == bendRadius - radius(arc4) == bendRadius - horizontalDistance([line1.start, line5.end]) == 10.4 - verticalDistance([line1.start, line3.start]) == 6 - horizontalDistance([line1.start, line3.start]) == 2.5 - horizontalDistance([line1.start, arc4.start]) == 8.65in -} - -sectionPlane001 = { - origin = [0.0, 0.0, 0.0], - xAxis = [1.0, 0.0, 0.0], - yAxis = [0.0, 1.0, 0.0] -} -sectionSketch001 = sketch(on = sectionPlane001) { - circle1 = circle(start = [var 0.81in, var 0in], center = [var 0in, var -0.11in]) - circle2 = circle(start = [var 0.73in, var 0in], center = [var -0.07in, var 0.03in]) - - horizontalDistance([circle2.center, circle2.start]) == tubeWallMidRadius - coincident([circle2.center, ORIGIN]) - coincident([circle1.center, circle2.center]) - horizontalDistance([circle2.center, circle1.start]) == primaryTubeDiameter / 2 - line1 = line(start = [var -0in, var -0in], end = [var 0.77in, var 0in], construction = true) - coincident([line1.start, circle2.center]) - coincident([line1.end, circle2.start]) - horizontal(line1) - line2 = line(start = [var 0.77in, var -0in], end = [var 0.81in, var 0in], construction = true) - coincident([line2.start, circle2.start]) - coincident([line2.end, circle1.start]) - horizontal(line2) -} -sectionRegion001 = region(segments = [sectionSketch001.circle1]) -primaryTube001 = sweep(sectionRegion001, path = pathSketch001) -hide(sectionSketch001) -hide(pathSketch001) - -// Clone the first tube and apply the slight angle offset for the second cylinder -primaryTube002 = clone(primaryTube001) - |> rotate(axis = [0, 0, 1], angle = -1deg) - |> translate(x = 2, global = true) - -// Draw the third primary tube -sweepPlane002 = { - origin = [4.0, 0.0, 0.0], - xAxis = [sin(-24.3deg), cos(-24.3deg), 0.0], - yAxis = [0.0, 0.0, 1.0] -} -pathSketch003 = sketch(on = sweepPlane002) { - line1 = line(start = [var 0in, var 0.125in], end = [var 0in, var 5.125in]) - arc2 = arc(start = [var 2.47905547in, var 8.07942326in], end = [var 0in, var 5.125in], center = [var 3in, var 5.125in]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var 2.47905547in, var 8.07942326in], end = [var 7.40309401in, var 8.94766401in]) - coincident([arc2.start, line3.start]) - arc4 = arc(start = [var 7.40309401in, var 8.94766401in], end = [var 9.87072787in, var 12.16355325in], center = [var 6.88214948in, var 11.90208728in]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var 9.87072787in, var 12.16355325in], end = [var 9.60926191in, var 15.15213727in]) - coincident([arc4.end, line5.start]) - - horizontalDistance([line1.start, ORIGIN]) == 0in - verticalDistance([ORIGIN, line1.start]) == plateHeight - 0.005 - vertical(line1) - verticalDistance([line1.start, line1.end]) == 5in - tangent([line1, arc2]) - tangent([line3, arc2]) - tangent([line3, arc4]) - tangent([line5, arc4]) - radius(arc2) == bendRadius - radius(arc4) == bendRadius - horizontalDistance([line1.start, line3.start]) == 2.47905547in - verticalDistance([line1.start, line3.start]) == 7.95442326in - horizontalDistance([line1.start, line3.end]) == 7.40309401in - verticalDistance([line1.start, line3.end]) == 8.82266401in - distance([line5.start, line5.end]) == 3in - horizontalDistance([line1.start, line5.end]) == 9.61in - verticalDistance([line1.start, line5.end]) == 15.03in -} - -sectionPlane003 = { - origin = [4.0, 0.0, 0.0], - xAxis = [1.0, 0.0, 0.0], - yAxis = [0.0, 1.0, 0.0] -} -sectionSketch003 = sketch(on = sectionPlane003) { - circle1 = circle(start = [var 0.8125in, var 0in], center = [var 0in, var 0in]) - circle2 = circle(start = [var 0.7325in, var 0in], center = [var 0in, var 0in]) - - horizontalDistance([circle2.center, circle2.start]) == tubeWallMidRadius - verticalDistance([circle2.center, circle2.start]) == 0in - coincident([circle2.center, ORIGIN]) - coincident([circle1.center, circle2.center]) - horizontalDistance([circle1.center, circle1.start]) == primaryTubeDiameter / 2 - verticalDistance([circle1.center, circle1.start]) == 0in -} -sectionRegion003 = region(segments = [sectionSketch003.circle1]) -primaryTube003 = sweep(sectionRegion003, path = pathSketch003) -hide(sectionSketch003) -hide(pathSketch003) - -// Clone the third tube and apply the final angle offset for the fourth cylinder -primaryTube004 = clone(primaryTube003) - |> rotate(axis = [0, 0, 1], angle = -0.9deg) - |> translate(x = 2, global = true) - -// Create the mounting flange for the header -flangeSketch = sketch(on = XY) { - line1 = line(start = [var 4.3in, var -1.25in], end = [var 1.7in, var -1.25in]) - arc2 = arc(start = [var 1.50716372in, var -1.17981333in], end = [var 1.7in, var -1.25in], center = [var 1.7in, var -0.95in]) - coincident([line1.end, arc2.end]) - arc3 = arc(start = [var 1.50716372in, var -1.17981333in], end = [var 0.35014602in, var -1.17981333in], center = [var 0.92865487in, var -1.86925333in]) - coincident([arc2.start, arc3.start]) - arc4 = arc(start = [var 0.15730974in, var -1.25in], end = [var 0.35014602in, var -1.17981333in], center = [var 0.15730974in, var -0.95in]) - coincident([arc3.end, arc4.end]) - line5 = line(start = [var 0.15730974in, var -1.25in], end = [var -1.24269026in, var -1.25in]) - coincident([arc4.start, line5.start]) - line6 = line(start = [var -1.24269026in, var -1.25in], end = [var -1.24269026in, var 1.35in]) - coincident([line5.end, line6.start]) - line7 = line(start = [var -1.24269026in, var 1.35in], end = [var 1.85730974in, var 1.35in]) - coincident([line6.end, line7.start]) - arc8 = arc(start = [var 2.05014602in, var 1.27981333in], end = [var 1.85730974in, var 1.35in], center = [var 1.85730974in, var 1.05in]) - coincident([line7.end, arc8.end]) - arc9 = arc(start = [var 2.05014602in, var 1.27981333in], end = [var 3.97850885in, var 1.27981333in], center = [var 3.01432743in, var 2.42888in]) - coincident([arc8.start, arc9.start]) - arc10 = arc(start = [var 4.17134513in, var 1.35in], end = [var 3.97850885in, var 1.27981333in], center = [var 4.17134513in, var 1.05in]) - coincident([arc9.end, arc10.end]) - line11 = line(start = [var 4.17134513in, var 1.35in], end = [var 7.27134513in, var 1.35in]) - coincident([arc10.start, line11.start]) - line12 = line(start = [var 7.27134513in, var 1.35in], end = [var 7.27134513in, var -1.25in]) - coincident([line11.end, line12.start]) - line13 = line(start = [var 7.27134513in, var -1.25in], end = [var 5.87134513in, var -1.25in]) - coincident([line12.end, line13.start]) - arc14 = arc(start = [var 5.67850885in, var -1.17981333in], end = [var 5.87134513in, var -1.25in], center = [var 5.87134513in, var -0.95in]) - coincident([line13.end, arc14.end]) - arc15 = arc(start = [var 5.67850885in, var -1.17981333in], end = [var 4.52149115in, var -1.17981333in], center = [var 5.1in, var -1.86925333in]) - coincident([arc14.start, arc15.start]) - arc16 = arc(start = [var 4.3in, var -1.25in], end = [var 4.52149115in, var -1.17981333in], center = [var 4.32567654in, var -0.94645056in]) - coincident([arc15.end, arc16.end]) - coincident([arc16.start, line1.start]) - - circle17 = circle(start = [var 0.7325in, var 0in], center = [var 0in, var 0in]) - circle18 = circle(start = [var 2.7325in, var 0in], center = [var 2in, var 0in]) - circle19 = circle(start = [var 4.7325in, var 0in], center = [var 4in, var 0in]) - circle20 = circle(start = [var 6.7325in, var 0in], center = [var 6in, var 0in]) - circle21 = circle(start = [var -0.85in, var -0.975in], center = [var -0.975in, var -0.975in]) - circle22 = circle(start = [var 1.1in, var 0.975in], center = [var 0.975in, var 0.975in]) - circle23 = circle(start = [var 5.15in, var 0.975in], center = [var 5.025in, var 0.975in]) - circle24 = circle(start = [var 7.1in, var -0.975in], center = [var 6.975in, var -0.975in]) - - horizontalDistance([ORIGIN, line1.start]) == 4.3in - verticalDistance([line1.start, ORIGIN]) == 1.25in - horizontalDistance([ORIGIN, line1.end]) == 1.7in - verticalDistance([line1.end, ORIGIN]) == 1.25in - horizontalDistance([ORIGIN, arc2.start]) == 1.50716372in - verticalDistance([arc2.start, ORIGIN]) == 1.17981333in - horizontalDistance([ORIGIN, arc2.center]) == 1.7in - verticalDistance([arc2.center, ORIGIN]) == 0.95in - horizontalDistance([ORIGIN, arc3.end]) == 0.35014602in - verticalDistance([arc3.end, ORIGIN]) == 1.17981333in - horizontalDistance([ORIGIN, arc3.center]) == 0.92865487in - verticalDistance([arc3.center, ORIGIN]) == 1.86925333in - horizontalDistance([ORIGIN, arc4.start]) == 0.15730974in - verticalDistance([arc4.start, ORIGIN]) == 1.25in - horizontalDistance([ORIGIN, arc4.center]) == 0.15730974in - verticalDistance([arc4.center, ORIGIN]) == 0.95in - horizontalDistance([line5.end, ORIGIN]) == 1.24269026in - verticalDistance([line5.end, ORIGIN]) == 1.25in - horizontalDistance([line6.end, ORIGIN]) == 1.24269026in - verticalDistance([ORIGIN, line6.end]) == 1.35in - horizontalDistance([ORIGIN, line7.end]) == 1.85730974in - verticalDistance([ORIGIN, line7.end]) == 1.35in - horizontalDistance([ORIGIN, arc8.start]) == 2.05014602in - verticalDistance([ORIGIN, arc8.start]) == 1.27981333in - horizontalDistance([ORIGIN, arc8.center]) == 1.85730974in - verticalDistance([ORIGIN, arc8.center]) == 1.05in - horizontalDistance([ORIGIN, arc9.end]) == 3.97850885in - verticalDistance([ORIGIN, arc9.end]) == 1.27981333in - horizontalDistance([ORIGIN, arc9.center]) == 3.01432743in - verticalDistance([ORIGIN, arc9.center]) == 2.42888in - horizontalDistance([ORIGIN, arc10.start]) == 4.17134513in - verticalDistance([ORIGIN, arc10.start]) == 1.35in - horizontalDistance([ORIGIN, arc10.center]) == 4.17134513in - verticalDistance([ORIGIN, arc10.center]) == 1.05in - horizontalDistance([ORIGIN, line11.end]) == 7.27134513in - verticalDistance([ORIGIN, line11.end]) == 1.35in - horizontalDistance([ORIGIN, line12.end]) == 7.27134513in - verticalDistance([line12.end, ORIGIN]) == 1.25in - horizontalDistance([ORIGIN, line13.end]) == 5.87134513in - verticalDistance([line13.end, ORIGIN]) == 1.25in - horizontalDistance([ORIGIN, arc14.start]) == 5.67850885in - verticalDistance([arc14.start, ORIGIN]) == 1.17981333in - horizontalDistance([ORIGIN, arc14.center]) == 5.87134513in - verticalDistance([arc14.center, ORIGIN]) == 0.95in - horizontalDistance([ORIGIN, arc15.end]) == 4.52149115in - verticalDistance([arc15.end, ORIGIN]) == 1.17981333in - horizontalDistance([ORIGIN, arc15.center]) == 5.1in - verticalDistance([arc15.center, ORIGIN]) == 1.86925333in - horizontalDistance([ORIGIN, arc16.center]) == 4.32567654in - verticalDistance([arc16.center, ORIGIN]) == 0.94645056in - - coincident([circle17.center, ORIGIN]) - horizontalDistance([circle17.center, circle17.start]) == 0.7325in - verticalDistance([circle17.center, circle17.start]) == 0in - - horizontalDistance([ORIGIN, circle18.center]) == 2in - verticalDistance([ORIGIN, circle18.center]) == 0in - horizontalDistance([circle18.center, circle18.start]) == 0.7325in - verticalDistance([circle18.center, circle18.start]) == 0in - - horizontalDistance([ORIGIN, circle19.center]) == 4in - verticalDistance([ORIGIN, circle19.center]) == 0in - horizontalDistance([circle19.center, circle19.start]) == 0.7325in - verticalDistance([circle19.center, circle19.start]) == 0in - - horizontalDistance([ORIGIN, circle20.center]) == 6in - verticalDistance([ORIGIN, circle20.center]) == 0in - horizontalDistance([circle20.center, circle20.start]) == 0.7325in - verticalDistance([circle20.center, circle20.start]) == 0in - - horizontalDistance([circle21.center, ORIGIN]) == 0.975in - verticalDistance([circle21.center, ORIGIN]) == 0.975in - horizontalDistance([circle21.center, circle21.start]) == 0.125in - verticalDistance([circle21.center, circle21.start]) == 0in - - horizontalDistance([ORIGIN, circle22.center]) == 0.975in - verticalDistance([ORIGIN, circle22.center]) == 0.975in - horizontalDistance([circle22.center, circle22.start]) == 0.125in - verticalDistance([circle22.center, circle22.start]) == 0in - - horizontalDistance([ORIGIN, circle23.center]) == 5.025in - verticalDistance([ORIGIN, circle23.center]) == 0.975in - horizontalDistance([circle23.center, circle23.start]) == 0.125in - verticalDistance([circle23.center, circle23.start]) == 0in - - horizontalDistance([ORIGIN, circle24.center]) == 6.975in - verticalDistance([circle24.center, ORIGIN]) == 0.975in - horizontalDistance([circle24.center, circle24.start]) == 0.125in - verticalDistance([circle24.center, circle24.start]) == 0in -} -flangeRegion = region(segments = [flangeSketch.line1, flangeSketch.arc2], direction = CW) -flangeExtrude = extrude(flangeRegion, length = plateHeight) -hide(flangeSketch) - -flangeTopLeftFillet = fillet( - flangeExtrude, - radius = 1.5, - edges = [ - { - sideFaces = [ - flangeRegion.tags.line6, - flangeRegion.tags.line7 - ] - } - ], -) -flangeTopFillets = fillet( - flangeTopLeftFillet, - radius = 1.5, - edges = [ - { - sideFaces = [ - flangeRegion.tags.line11, - flangeRegion.tags.line12 - ] - } - ], -) -flangeBottomLeftFillet = fillet( - flangeTopFillets, - radius = 0.25, - edges = [ - { - sideFaces = [ - flangeRegion.tags.line5, - flangeRegion.tags.line6 - ] - } - ], -) -flangeBody = fillet( - flangeBottomLeftFillet, - radius = 0.25, - edges = [ - { - sideFaces = [ - flangeRegion.tags.line12, - flangeRegion.tags.line13 - ] - } - ], -) diff --git a/content/pages/docs/kcl-samples/exhaust-manifold/project.toml b/content/pages/docs/kcl-samples/exhaust-manifold/project.toml deleted file mode 100644 index 90144412..00000000 --- a/content/pages/docs/kcl-samples/exhaust-manifold/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "e3c05b32-9828-4c3a-b17e-907a71b16e0c" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/field-monitor-stand/.gitignore b/content/pages/docs/kcl-samples/field-monitor-stand/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/field-monitor-stand/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/field-monitor-stand/main.kcl b/content/pages/docs/kcl-samples/field-monitor-stand/main.kcl deleted file mode 100644 index 16191e71..00000000 --- a/content/pages/docs/kcl-samples/field-monitor-stand/main.kcl +++ /dev/null @@ -1,162 +0,0 @@ -// Field monitor stand -// Stand for a Feelworld FW760 7 inch Field Monitor -// Categories: Electronics & Computing; 3D Printable - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -plateLength = 121 -plateLengthBase = 60 -width = 3 -plateWidth = 62 + 4 -holeRadius = 4 / 2 -holeDistanceY = 52.1 + 2 * holeRadius -holeDistanceX = 75.2 + 2 * holeRadius -plateHoleDistanceY1 = plateWidth / 2 + holeDistanceY / 2 -plateHoleDistanceY2 = plateWidth / 2 - (holeDistanceY / 2) -plateHoleDistanceX1 = plateLength - 21 -plateHoleDistanceX2 = plateLength - 21 - holeDistanceX -plateAngle = 110deg -filletRadius = 5 -holeCutDepth = 10 -holeCols = 2 -holeRows = 2 -plateHoleAxis = [ - 0mm, - cos(plateAngle) * 1mm, - sin(plateAngle) * 1mm -] -plateWidthAxis = [1mm, 0mm, 0mm] - -gussetLength = 15 -gussetWidth = 2 -plateInnerBaseX = width * (cos(plateAngle) - 1) / sin(plateAngle) -gussetRise = -gussetLength * tan(plateAngle) - -// Model the base extrusion of the part -bodyProfile = sketch(on = YZ) { - line1 = line(start = [var -60mm, var 0mm], end = [var 0mm, var 0mm]) - line2 = line(start = [var 0mm, var 0mm], end = [var -41.38mm, var 113.7mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var -41.38mm, var 113.7mm], end = [var -44.2mm, var 112.68mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -44.2mm, var 112.68mm], end = [var -4.28mm, var 3mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var -4.28mm, var 3mm], end = [var -60mm, var 3mm]) - coincident([line4.end, line5.start]) - line6 = line(start = [var -60mm, var 3mm], end = [var -60mm, var 0mm]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) - - coincident([line1.end, ORIGIN]) - horizontal(line1) - horizontal(line5) - vertical(line6) - parallel([line2, line4]) - perpendicular([line2, line3]) - - distance([line1.start, line1.end]) == plateLengthBase - distance([line2.start, line2.end]) == plateLength - distance([line3.start, line3.end]) == width - distance([line6.start, line6.end]) == width - angleDimension(lines = [line1, line2], sector = 1, labelPosition = [3.15mm, 3.38mm]) == plateAngle -} - -bodyRegion = region(segments = [bodyProfile.line1, bodyProfile.line2]) -// Extrude the body of the mount to desired width -body = extrude( - bodyRegion, - length = plateWidth, - tagStart = $capStart001, - tagEnd = $capEnd001, -) -hide([bodyProfile]) - -// Model a supporting gusset on the interior -gussetProfile = sketch(on = YZ) { - line1 = line(start = [var -4.28mm, var 3mm], end = [var -19.28mm, var 3mm]) - line2 = line(start = [var -19.28mm, var 3mm], end = [var -19.28mm, var 44.21mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var -19.28mm, var 44.21mm], end = [var -4.28mm, var 3mm]) - coincident([line2.end, line3.start]) - coincident([line3.end, line1.start]) - - horizontal(line1) - vertical(line2) - - horizontalDistance([line1.start, ORIGIN]) == -plateInnerBaseX - verticalDistance([ORIGIN, line1.start]) == width - distance([line1.start, line1.end]) == gussetLength - distance([line2.start, line2.end]) == gussetRise -} - -gussetRegion = region(segments = [ - gussetProfile.line1, - gussetProfile.line2 -]) -// Extrude the gusset to desired thickness -gusset = extrude(gussetRegion, length = gussetWidth) -hide([gussetProfile]) - -plateOuterPlane = { - origin = { x = 0mm, y = 0mm, z = 0mm }, - xAxis = { - x = 0, - y = cos(plateAngle), - z = sin(plateAngle) - }, - yAxis = { x = 1, y = 0, z = 0 } -} - -// Model the mounting holes -holeProfile = sketch(on = plateOuterPlane) { - hole = circle(start = [var 22.8mm, var 4.95mm], center = [var 20.8mm, var 4.95mm]) - - horizontalDistance([ORIGIN, hole.center]) == plateHoleDistanceX2 - verticalDistance([ORIGIN, hole.center]) == plateHoleDistanceY2 - horizontalDistance([hole.center, hole.start]) == holeRadius - verticalDistance([hole.center, hole.start]) == 0mm -} - -// Extrude all holes, then subtract -holeRegion = region(segments = [holeProfile.hole]) -holeCutter = extrude(holeRegion, length = -holeCutDepth) -hide([holeProfile]) - -// Place a hole at each position -holeCutterRow = patternLinear3d( - holeCutter, - instances = holeCols, - distance = holeDistanceX, - axis = plateHoleAxis, -) - -holeCutters = patternLinear3d( - holeCutterRow, - instances = holeRows, - distance = holeDistanceY, - axis = plateWidthAxis, -) - -bodyCut = subtract(body, tools = holeCutters) - -// Fillet the exterior edges -bodyFinal = fillet( - bodyCut, - radius = filletRadius, - edges = [ - { - sideFaces = [bodyRegion.tags.line3, capStart001] - }, - { - sideFaces = [bodyRegion.tags.line3, capEnd001] - }, - { - sideFaces = [bodyRegion.tags.line6, capStart001] - }, - { - sideFaces = [bodyRegion.tags.line6, capEnd001] - } - ], -) diff --git a/content/pages/docs/kcl-samples/field-monitor-stand/project.toml b/content/pages/docs/kcl-samples/field-monitor-stand/project.toml deleted file mode 100644 index 146d1981..00000000 --- a/content/pages/docs/kcl-samples/field-monitor-stand/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "2b4a8c93-9966-464d-8470-b3e245e76405" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/flange/.gitignore b/content/pages/docs/kcl-samples/flange/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/flange/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/flange/main.kcl b/content/pages/docs/kcl-samples/flange/main.kcl deleted file mode 100644 index 5b5d4b0c..00000000 --- a/content/pages/docs/kcl-samples/flange/main.kcl +++ /dev/null @@ -1,192 +0,0 @@ -// Flange -// A flange is a flat rim, collar, or rib, typically forged or cast, that is used to strengthen an object, guide it, or attach it to another object. Flanges are known for their use in various applications, including piping, plumbing, and mechanical engineering, among others. -// Categories: Mechanical Components; Architecture & Construction - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define parameters -mountingHoleDia = .625 -baseDia = 4.625 -pipeDia = 1.25 -totalThickness = 0.813 -topTotalDiameter = 2.313 -bottomThickness = 0.06 -bottomTotalDiameter = 2.5 -mountingHolePlacementDiameter = 3.5 -baseThickness = .625 -topTotalThickness = totalThickness - (bottomThickness + baseThickness) -nHoles = 4 - -mountingHoleRadius = mountingHoleDia / 2 -mountingHolePlacementRadius = mountingHolePlacementDiameter / 2 -baseRadius = baseDia / 2 -topTotalRadius = topTotalDiameter / 2 -bottomTotalRadius = bottomTotalDiameter / 2 -pipeRadius = pipeDia / 2 - -// Create the base of the flange and add the mounting holes -baseProfile = sketch(on = XY) { - outerCircle = circle(start = [var 2.4in, var 0in], center = [var 0in, var 0in]) - outerRadiusGuide = line(start = [var 0in, var 0in], end = [var 2.4in, var 0in], construction = true) - - // Create the circular pattern for the mounting holes - rightCenterGuide = line(start = [var 0in, var 0in], end = [var 1.75in, var 0in], construction = true) - topCenterGuide = line(start = [var 0in, var 0in], end = [var 0in, var 1.75in], construction = true) - leftCenterGuide = line(start = [var 0in, var 0in], end = [var -1.75in, var 0in], construction = true) - bottomCenterGuide = line(start = [var 0in, var 0in], end = [var 0in, var -1.75in], construction = true) - - rightRadiusGuide = line(start = [var 1.75in, var 0in], end = [var 2.1in, var 0in], construction = true) - topRadiusGuide = line(start = [var 0in, var 1.75in], end = [var 0in, var 2.1in], construction = true) - leftRadiusGuide = line(start = [var -1.75in, var 0in], end = [var -2.1in, var 0in], construction = true) - bottomRadiusGuide = line(start = [var 0in, var -1.75in], end = [var 0in, var -2.1in], construction = true) - - rightHole = circle(start = [var 2.1in, var 0in], center = [var 1.75in, var 0in]) - topHole = circle(start = [var 0in, var 2.1in], center = [var 0in, var 1.75in]) - leftHole = circle(start = [var -2.1in, var 0in], center = [var -1.75in, var 0in]) - bottomHole = circle(start = [var 0in, var -2.1in], center = [var 0in, var -1.75in]) - - coincident([outerCircle.center, ORIGIN]) - coincident([ - outerRadiusGuide.start, - outerCircle.center - ]) - coincident([ - outerRadiusGuide.end, - outerCircle.start - ]) - - coincident([rightCenterGuide.start, ORIGIN]) - coincident([topCenterGuide.start, ORIGIN]) - coincident([leftCenterGuide.start, ORIGIN]) - coincident([bottomCenterGuide.start, ORIGIN]) - - coincident([rightCenterGuide.end, rightHole.center]) - coincident([topCenterGuide.end, topHole.center]) - coincident([leftCenterGuide.end, leftHole.center]) - coincident([ - bottomCenterGuide.end, - bottomHole.center - ]) - - coincident([ - rightRadiusGuide.start, - rightHole.center - ]) - coincident([rightRadiusGuide.end, rightHole.start]) - coincident([topRadiusGuide.start, topHole.center]) - coincident([topRadiusGuide.end, topHole.start]) - coincident([leftRadiusGuide.start, leftHole.center]) - coincident([leftRadiusGuide.end, leftHole.start]) - coincident([ - bottomRadiusGuide.start, - bottomHole.center - ]) - coincident([ - bottomRadiusGuide.end, - bottomHole.start - ]) - - horizontal(outerRadiusGuide) - horizontal(rightCenterGuide) - vertical(topCenterGuide) - horizontal(leftCenterGuide) - vertical(bottomCenterGuide) - horizontal(rightRadiusGuide) - vertical(topRadiusGuide) - horizontal(leftRadiusGuide) - vertical(bottomRadiusGuide) - - distance([ - outerRadiusGuide.start, - outerRadiusGuide.end - ]) == baseRadius - horizontalDistance([ - rightCenterGuide.start, - rightCenterGuide.end - ]) == mountingHolePlacementRadius - verticalDistance([ - topCenterGuide.start, - topCenterGuide.end - ]) == mountingHolePlacementRadius - horizontalDistance([ - leftCenterGuide.start, - leftCenterGuide.end - ]) == -mountingHolePlacementRadius - verticalDistance([ - bottomCenterGuide.start, - bottomCenterGuide.end - ]) == -mountingHolePlacementRadius - distance([ - rightRadiusGuide.start, - rightRadiusGuide.end - ]) == mountingHoleRadius - distance([ - topRadiusGuide.start, - topRadiusGuide.end - ]) == mountingHoleRadius - distance([ - leftRadiusGuide.start, - leftRadiusGuide.end - ]) == mountingHoleRadius - distance([ - bottomRadiusGuide.start, - bottomRadiusGuide.end - ]) == mountingHoleRadius -} - -baseRegion = region(segments = [baseProfile.outerCircle]) -hiddenBaseProfile = hide(baseProfile) -flangeBase = extrude(baseRegion, length = baseThickness) - -// Create the extrusion on the top of the flange base -topBossProfile = sketch(on = faceOf(flangeBase, face = END)) { - circle1 = circle(start = [var 1.2in, var 0in], center = [var 0in, var 0in]) - radiusGuide = line(start = [var 0in, var 0in], end = [var 1.2in, var 0in], construction = true) - - coincident([circle1.center, ORIGIN]) - coincident([radiusGuide.start, circle1.center]) - coincident([radiusGuide.end, circle1.start]) - - horizontal(radiusGuide) - distance([radiusGuide.start, radiusGuide.end]) == topTotalRadius -} - -topBossRegion = region(segments = [topBossProfile.circle1]) -hiddenTopBossProfile = hide(topBossProfile) -flangeWithTopBoss = extrude(topBossRegion, length = topTotalThickness) - -// Create the extrusion on the bottom of the flange base -bottomBossProfile = sketch(on = faceOf(flangeBase, face = START)) { - circle1 = circle(start = [var 1.3in, var 0in], center = [var 0in, var 0in]) - radiusGuide = line(start = [var 0in, var 0in], end = [var 1.3in, var 0in], construction = true) - - coincident([circle1.center, ORIGIN]) - coincident([radiusGuide.start, circle1.center]) - coincident([radiusGuide.end, circle1.start]) - - horizontal(radiusGuide) - distance([radiusGuide.start, radiusGuide.end]) == bottomTotalRadius -} - -bottomBossRegion = region(segments = [bottomBossProfile.circle1]) -hiddenBottomBossProfile = hide(bottomBossProfile) -flangeWithBottomBoss = extrude(bottomBossRegion, length = bottomThickness) - -// Cut a hole through the entire body -pipeHoleProfile = sketch(on = faceOf(flangeWithTopBoss, face = END)) { - circle1 = circle(start = [var 0.7in, var 0in], center = [var 0in, var 0in]) - radiusGuide = line(start = [var 0in, var 0in], end = [var 0.7in, var 0in], construction = true) - - coincident([circle1.center, ORIGIN]) - coincident([radiusGuide.start, circle1.center]) - coincident([radiusGuide.end, circle1.start]) - - horizontal(radiusGuide) - distance([radiusGuide.start, radiusGuide.end]) == pipeRadius -} - -pipeHoleRegion = region(segments = [pipeHoleProfile.circle1]) -hiddenPipeHoleProfile = hide(pipeHoleProfile) -pipeHoleCutter = extrude(pipeHoleRegion, length = -totalThickness, method = NEW) -flange = subtract([flangeWithBottomBoss], tools = [pipeHoleCutter]) diff --git a/content/pages/docs/kcl-samples/flange/project.toml b/content/pages/docs/kcl-samples/flange/project.toml deleted file mode 100644 index 51d6c1be..00000000 --- a/content/pages/docs/kcl-samples/flange/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "141bff51-2946-40c1-8d9c-761c0a93afdf" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/flat-bladed-impeller/.gitignore b/content/pages/docs/kcl-samples/flat-bladed-impeller/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/flat-bladed-impeller/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/flat-bladed-impeller/main.kcl b/content/pages/docs/kcl-samples/flat-bladed-impeller/main.kcl deleted file mode 100644 index 846e879e..00000000 --- a/content/pages/docs/kcl-samples/flat-bladed-impeller/main.kcl +++ /dev/null @@ -1,123 +0,0 @@ -// Impeller (Flat-bladed) -// A parametric impeller with straight, flat blades used in centrifugal fans or pumps. Moves air or fluid radially outward from the center. Useful for mechanical design and prototyping. -// Categories: Industrial & Manufacturing; Mechanical Components; Parametric - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// parameters -bladeCount = 4 // number of blades -outerDiameter = 120 // total impeller diameter -hubOutsideDiameter = 35 // outer diameter of the central hub -boreDiameter = 25 // shaft bore diameter -baseThickness = 5 // thickness of the back plate -hubHeight = 35 // height of cylindrical hub -bladeLength = 80 // radial length of blade (root to tip) -bladeHeight = 40 // vertical height of each blade -bladeThickness = 3 // width (thickness) of each blade - - -// derived parameters -outerRadius = outerDiameter / 2 -bladeRootRadius = hubOutsideDiameter / 2 + (outerDiameter - hubOutsideDiameter) / 4 - -// blade profile (positioned mid-height) -bladePlane = offsetPlane(XY, offset = -bladeHeight / 2) -bladeProfile = sketch(on = bladePlane) { - rootGuide = line(start = [var 0mm, var 0mm], end = [var 40mm, var 0mm], construction = true) - line1 = line(start = [var 40mm, var 0mm], end = [var 120mm, var 0mm]) - line2 = line(start = [var 120mm, var 0mm], end = [var 120mm, var 3mm]) - line3 = line(start = [var 120mm, var 3mm], end = [var 40mm, var 3mm]) - line4 = line(start = [var 40mm, var 3mm], end = [var 40mm, var 0mm]) - - coincident([rootGuide.start, ORIGIN]) - coincident([rootGuide.end, line1.start]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - - horizontal(rootGuide) - horizontal(line1) - vertical(line2) - horizontal(line3) - vertical(line4) - - distance([rootGuide.start, rootGuide.end]) == bladeRootRadius - distance([line1.start, line1.end]) == bladeLength - distance([line2.start, line2.end]) == bladeThickness -} - -bladeRegion = region(segments = [bladeProfile.line1, bladeProfile.line2]) -hide(bladeProfile) -blade = extrude(bladeRegion, length = bladeHeight) - -// pattern blades around center -blades = patternCircular3d( - blade, - axis = [0, 0, 1], - center = [0, 0, 0], - instances = bladeCount, - arcDegrees = 360, -) - -// back plate (base disk) -diskPlane = offsetPlane(XY, offset = -baseThickness / 2) -disk = sketch(on = diskPlane) { - diskRadiusGuide = line(start = [var 0mm, var 0mm], end = [var 60mm, var 0mm], construction = true) - circle1 = circle(start = [var 60mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([diskRadiusGuide.start, ORIGIN]) - coincident([circle1.center, diskRadiusGuide.start]) - coincident([circle1.start, diskRadiusGuide.end]) - - horizontal(diskRadiusGuide) - distance([ - diskRadiusGuide.start, - diskRadiusGuide.end - ]) == outerRadius -} - -region002 = region(segments = [disk.circle1]) -hide(disk) -backPlate = extrude(region002, length = baseThickness) - -// hub cylinder -hubCircle = sketch(on = faceOf(backPlate, face = END)) { - hubRadiusGuide = line(start = [var 0mm, var 0mm], end = [var 18mm, var 0mm], construction = true) - circle1 = circle(start = [var 18mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([hubRadiusGuide.start, ORIGIN]) - coincident([circle1.center, hubRadiusGuide.start]) - coincident([circle1.start, hubRadiusGuide.end]) - - horizontal(hubRadiusGuide) - distance([ - hubRadiusGuide.start, - hubRadiusGuide.end - ]) == hubOutsideDiameter / 2 -} - -region003 = region(segments = [hubCircle.circle1]) -hide(hubCircle) -hub = extrude(region003, length = hubHeight) - -// bore cutout -boreCircle = sketch(on = faceOf(backPlate, face = START)) { - boreRadiusGuide = line(start = [var 0mm, var 0mm], end = [var 13mm, var 0mm], construction = true) - circle1 = circle(start = [var 13mm, var 0mm], center = [var 0mm, var 0mm]) - - coincident([boreRadiusGuide.start, ORIGIN]) - coincident([circle1.center, boreRadiusGuide.start]) - coincident([circle1.start, boreRadiusGuide.end]) - - horizontal(boreRadiusGuide) - distance([ - boreRadiusGuide.start, - boreRadiusGuide.end - ]) == boreDiameter / 2 -} - -region004 = region(segments = [boreCircle.circle1]) -hide(boreCircle) -boreTool = extrude(region004, method = NEW, length = -(baseThickness + hubHeight)) -boreCut = subtract(hub, tools = [boreTool]) diff --git a/content/pages/docs/kcl-samples/flat-bladed-impeller/project.toml b/content/pages/docs/kcl-samples/flat-bladed-impeller/project.toml deleted file mode 100644 index 1e1e9381..00000000 --- a/content/pages/docs/kcl-samples/flat-bladed-impeller/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "fc2a6da7-88bf-47bf-8c83-016eac42a61f" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/focusrite-scarlett-mounting-bracket/main.kcl b/content/pages/docs/kcl-samples/focusrite-scarlett-mounting-bracket/main.kcl deleted file mode 100644 index 7d472bbd..00000000 --- a/content/pages/docs/kcl-samples/focusrite-scarlett-mounting-bracket/main.kcl +++ /dev/null @@ -1,193 +0,0 @@ -// Mounting bracket for the Focusrite Scarlett Solo audio interface -// This is a bracket that holds an audio device underneath a desk or shelf. The audio device has dimensions of 144mm wide, 80mm length and 45mm depth with fillets of 6mm. This mounting bracket is designed to be 3D printed with PLA material -// Categories: Electronics & Computing; 3D Printable - -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -radius = 6.0 -width = 144.0 -length = 80.0 -depth = 45.0 -thk = 4 -holeDiam = 5 -tabLength = 25 -tabWidth = 12 -tabThk = 4 - -bodySketch = sketch(on = XZ) { - line1 = line(start = [var -76mm, var 49mm], end = [var -76mm, var -4mm]) - line2 = line(start = [var -76mm, var -4mm], end = [var 76mm, var -4mm]) - line3 = line(start = [var 76mm, var -4mm], end = [var 76mm, var 49mm]) - line4 = line(start = [var 76mm, var 49mm], end = [var 72mm, var 49mm]) - line5 = line(start = [var 72mm, var 49mm], end = [var 72mm, var 0mm]) - line6 = line(start = [var 72mm, var 0mm], end = [var -72mm, var 0mm]) - line7 = line(start = [var -72mm, var 0mm], end = [var -72mm, var 49mm]) - line8 = line(start = [var -72mm, var 49mm], end = [var -76mm, var 49mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line7.start]) - coincident([line7.end, line8.start]) - coincident([line8.end, line1.start]) -} -bodyRegion = region(segments = [bodySketch.line1, bodySketch.line2]) -bodyBlank = extrude(bodyRegion, length = length + 2 * thk, symmetric = true) -bracketBody = fillet( - bodyBlank, - radius = radius, - edges = [ - { - sideFaces = [ - bodyRegion.tags.line6, - bodyRegion.tags.line7 - ] - }, - { - sideFaces = [ - bodyRegion.tags.line1, - bodyRegion.tags.line2 - ] - }, - { - sideFaces = [ - bodyRegion.tags.line2, - bodyRegion.tags.line3 - ] - }, - { - sideFaces = [ - bodyRegion.tags.line5, - bodyRegion.tags.line6 - ] - } - ], -) - -tabPlane = offsetPlane(XY, offset = depth + thk) - -rightTabSketch = sketch(on = tabPlane) { - line1 = line(start = [var 76mm, var 44mm], end = [var 88mm, var 35.666666667mm]) - line2 = line(start = [var 88mm, var 35.666666667mm], end = [var 88mm, var 19mm]) - line3 = line(start = [var 88mm, var 19mm], end = [var 76mm, var 10.666666667mm]) - line4 = line(start = [var 76mm, var 10.666666667mm], end = [var 76mm, var 44mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - mountingHole = circle(start = [var 84.5mm, var 27.333333333mm], center = [var 82mm, var 27.333333333mm]) -} -rightTabRegion = region( - segments = [ - rightTabSketch.line1, - rightTabSketch.line2 - ], - direction = CW, -) -rightTabCut = extrude(rightTabRegion, length = -tabThk) -rightTab = fillet( - rightTabCut, - radius = holeDiam / 2, - edges = [ - { - sideFaces = [ - rightTabRegion.tags.line1, - rightTabRegion.tags.line2 - ] - }, - { - sideFaces = [ - rightTabRegion.tags.line2, - rightTabRegion.tags.line3 - ] - } - ], -) - |> patternLinear3d(axis = [0, -1, 0], instances = 2, distance = length + 2 * thk - (tabLength * 4 / 3)) - -leftTabSketch = sketch(on = tabPlane) { - line1 = line(start = [var -76mm, var 44mm], end = [var -88mm, var 35.666666667mm]) - line2 = line(start = [var -88mm, var 35.666666667mm], end = [var -88mm, var 19mm]) - line3 = line(start = [var -88mm, var 19mm], end = [var -76mm, var 10.666666667mm]) - line4 = line(start = [var -76mm, var 10.666666667mm], end = [var -76mm, var 44mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - mountingHole = circle(start = [var -79.5mm, var 27.333333333mm], center = [var -82mm, var 27.333333333mm]) -} -leftTabRegion = region( - segments = [ - leftTabSketch.line1, - leftTabSketch.line2 - ], - direction = CCW, -) -leftTabCut = extrude(leftTabRegion, length = -tabThk) -leftTab = fillet( - leftTabCut, - radius = holeDiam / 2, - edges = [ - { - sideFaces = [ - leftTabRegion.tags.line1, - leftTabRegion.tags.line2 - ] - }, - { - sideFaces = [ - leftTabRegion.tags.line2, - leftTabRegion.tags.line3 - ] - } - ], -) - |> patternLinear3d(axis = [0, -1, 0], instances = 2, distance = length + 2 * thk - (tabLength * 4 / 3)) - -retPlane = { - origin = { x = -width / 2 + 20, y = 0, z = 0 }, - xAxis = { x = 0, y = 1, z = 0 }, - yAxis = { x = 0, y = 0, z = 1 }, - zAxis = { x = 1, y = 0, z = 0 } -} - -frontRetentionSketch = sketch(on = retPlane) { - line1 = line(start = [var -44mm, var 0mm], end = [var -44mm, var 4mm]) - line2 = line(start = [var -44mm, var 4mm], end = [var -40mm, var 0mm]) - line3 = line(start = [var -40mm, var 0mm], end = [var -44mm, var 0mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line1.start]) -} -frontRetention = extrude( - region(segments = [ - frontRetentionSketch.line1, - frontRetentionSketch.line2 - ]), - length = width - 40, -) - -backRetentionSketch = sketch(on = retPlane) { - line1 = line(start = [var 44mm, var 0mm], end = [var 44mm, var 4mm]) - line2 = line(start = [var 44mm, var 4mm], end = [var 40mm, var 4mm]) - line3 = line(start = [var 40mm, var 4mm], end = [var 40mm, var 0mm]) - line4 = line(start = [var 40mm, var 0mm], end = [var 44mm, var 0mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) -} -backRetention = extrude( - region(segments = [ - backRetentionSketch.line1, - backRetentionSketch.line2 - ]), - length = width - 40, -) - -hide(bodySketch) -hide(rightTabSketch) -hide(leftTabSketch) -hide(frontRetentionSketch) -hide(backRetentionSketch) diff --git a/content/pages/docs/kcl-samples/food-service-spatula/main.kcl b/content/pages/docs/kcl-samples/food-service-spatula/main.kcl deleted file mode 100644 index cd485b7e..00000000 --- a/content/pages/docs/kcl-samples/food-service-spatula/main.kcl +++ /dev/null @@ -1,283 +0,0 @@ -// Food Service Spatula -// Use these spatulas for mixing, flipping, and scraping. -// Categories: Home & Lifestyle; Tools - -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -flipperThickness = 3.5 -flipperFilletRadius = 5.0 -handleWidth = 15.0 -gripLength = 150.0 -gripFilletRadius = 3.0 -gripSlotWidth = 8.0 - -flipperSketch = sketch(on = XY) { - line1 = line(start = [var -70mm, var -32mm], end = [var 0mm, var -30mm]) - line2 = line(start = [var 0mm, var -30mm], end = [var 0mm, var 30mm]) - line3 = line(start = [var 0mm, var 30mm], end = [var -70mm, var 32mm]) - arc4 = arc(start = [var -70mm, var 32mm], end = [var -70mm, var -32mm], center = [var 35.242576935mm, var 0mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, arc4.start]) - coincident([arc4.end, line1.start]) - - centerSlotLine1 = line(start = [var -25mm, var 5mm], end = [var -55mm, var 5mm]) - centerSlotArc2 = arc(start = [var -55mm, var 5mm], end = [var -55mm, var -5mm], center = [var -55mm, var 0mm]) - centerSlotLine3 = line(start = [var -55mm, var -5mm], end = [var -25mm, var -5mm]) - centerSlotArc4 = arc(start = [var -25mm, var -5mm], end = [var -25mm, var 5mm], center = [var -25mm, var 0mm]) - coincident([ - centerSlotLine1.end, - centerSlotArc2.start - ]) - coincident([ - centerSlotArc2.end, - centerSlotLine3.start - ]) - coincident([ - centerSlotLine3.end, - centerSlotArc4.start - ]) - coincident([ - centerSlotArc4.end, - centerSlotLine1.start - ]) - - upperSlotLine1 = line( - start = [ - var -24.833425849mm, - var 22.997224535mm - ], - end = [ - var -54.833425849mm, - var 23.997224535mm - ], - ) - upperSlotArc2 = arc( - start = [ - var -54.833425849mm, - var 23.997224535mm - ], - end = [ - var -55.166574151mm, - var 14.002775465mm - ], - center = [var -55mm, var 19mm], - ) - upperSlotLine3 = line( - start = [ - var -55.166574151mm, - var 14.002775465mm - ], - end = [ - var -25.166574151mm, - var 13.002775465mm - ], - ) - upperSlotArc4 = arc( - start = [ - var -25.166574151mm, - var 13.002775465mm - ], - end = [ - var -24.833425849mm, - var 22.997224535mm - ], - center = [var -25mm, var 18mm], - ) - coincident([ - upperSlotLine1.end, - upperSlotArc2.start - ]) - coincident([ - upperSlotArc2.end, - upperSlotLine3.start - ]) - coincident([ - upperSlotLine3.end, - upperSlotArc4.start - ]) - coincident([ - upperSlotArc4.end, - upperSlotLine1.start - ]) - - lowerSlotLine1 = line( - start = [ - var -25.166574151mm, - var -13.002775465mm - ], - end = [ - var -55.166574151mm, - var -14.002775465mm - ], - ) - lowerSlotArc2 = arc( - start = [ - var -55.166574151mm, - var -14.002775465mm - ], - end = [ - var -54.833425849mm, - var -23.997224535mm - ], - center = [var -55mm, var -19mm], - ) - lowerSlotLine3 = line( - start = [ - var -54.833425849mm, - var -23.997224535mm - ], - end = [ - var -24.833425849mm, - var -22.997224535mm - ], - ) - lowerSlotArc4 = arc( - start = [ - var -24.833425849mm, - var -22.997224535mm - ], - end = [ - var -25.166574151mm, - var -13.002775465mm - ], - center = [var -25mm, var -18mm], - ) - coincident([ - lowerSlotLine1.end, - lowerSlotArc2.start - ]) - coincident([ - lowerSlotArc2.end, - lowerSlotLine3.start - ]) - coincident([ - lowerSlotLine3.end, - lowerSlotArc4.start - ]) - coincident([ - lowerSlotArc4.end, - lowerSlotLine1.start - ]) -} -flipperRegion = region(segments = [ - flipperSketch.line1, - flipperSketch.line2 -]) -flipperBlank = extrude(flipperRegion, length = flipperThickness) -flipper = fillet( - flipperBlank, - radius = flipperFilletRadius, - edges = [ - { - sideFaces = [ - flipperRegion.tags.line1, - flipperRegion.tags.line2 - ] - }, - { - sideFaces = [ - flipperRegion.tags.line2, - flipperRegion.tags.line3 - ] - } - ], -) - -handleSketch = sketch(on = offsetPlane(XZ, offset = -handleWidth / 2)) { - line1 = line(start = [var 0mm, var 3.5mm], end = [var 31.819805mm, var 35.319805mm]) - line2 = line(start = [var 31.819805mm, var 35.319805mm], end = [var 172.773698mm, var 86.622826mm]) - line3 = line(start = [var 172.773698mm, var 86.622826mm], end = [var 171.063597mm, var 91.321289mm]) - line4 = line(start = [var 171.063597mm, var 91.321289mm], end = [var 29.06808mm, var 39.639147mm]) - line5 = line(start = [var 29.06808mm, var 39.639147mm], end = [var -7.071068mm, var 3.499999mm]) - line6 = line(start = [var -7.071068mm, var 3.499999mm], end = [var 0mm, var 3.5mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) -} -handleRegion = region(segments = [handleSketch.line1, handleSketch.line2]) -handleBlank = extrude(handleRegion, length = handleWidth) -handle = fillet( - handleBlank, - radius = 4, - edges = [ - { - sideFaces = [ - handleRegion.tags.line1, - handleRegion.tags.line2 - ] - }, - { - sideFaces = [ - handleRegion.tags.line4, - handleRegion.tags.line5 - ] - } - ], -) - -handlePlane = { - origin = [208.593833, 0.0, 75.921946], - xAxis = [0.342020, -0.0, -0.939693], - yAxis = [0.0, 1.0, 0.0], - zAxis = [0.939693, -0.0, 0.342020] -} - -gripSketch = sketch(on = handlePlane) { - line1 = line(start = [var -26.806746mm, var -10mm], end = [var -22.806746mm, var -10mm]) - arc2 = arc(start = [var -22.806746mm, var -10mm], end = [var -19.806746mm, var -7mm], center = [var -22.806746mm, var -7mm]) - line3 = line(start = [var -19.806746mm, var -7mm], end = [var -19.806746mm, var 7mm]) - arc4 = arc(start = [var -19.806746mm, var 7mm], end = [var -22.806746mm, var 10mm], center = [var -22.806746mm, var 7mm]) - line5 = line(start = [var -22.806746mm, var 10mm], end = [var -26.806746mm, var 10mm]) - arc6 = arc(start = [var -26.806746mm, var 10mm], end = [var -29.806746mm, var 7mm], center = [var -26.806746mm, var 7mm]) - line7 = line(start = [var -29.806746mm, var 7mm], end = [var -29.806746mm, var -7mm]) - arc8 = arc(start = [var -29.806746mm, var -7mm], end = [var -26.806746mm, var -10mm], center = [var -26.806746mm, var -7mm]) - coincident([line1.end, arc2.start]) - coincident([arc2.end, line3.start]) - coincident([line3.end, arc4.start]) - coincident([arc4.end, line5.start]) - coincident([line5.end, arc6.start]) - coincident([arc6.end, line7.start]) - coincident([line7.end, arc8.start]) - coincident([arc8.end, line1.start]) -} -gripBlank = extrude(region(segments = [gripSketch.line1, gripSketch.arc2]), length = -gripLength) - -gripHolePlane = { - origin = [190.56114818, 0, 90.43648769], - xAxis = [0.939692712639, 0, 0.342019890961], - yAxis = [0, 1, 0], - zAxis = [-0.342019890961, 0, 0.939692712639] -} -gripHoleSketch = sketch(on = gripHolePlane) { - line1 = line(start = [var 0mm, var 4mm], end = [var -10mm, var 4mm]) - arc2 = arc(start = [var -10mm, var 4mm], end = [var -10mm, var -4mm], center = [var -10mm, var 0mm]) - line3 = line(start = [var -10mm, var -4mm], end = [var 0mm, var -4mm]) - arc4 = arc(start = [var 0mm, var -4mm], end = [var 0mm, var 4mm], center = [var 0mm, var 0mm]) - coincident([line1.end, arc2.start]) - coincident([arc2.end, line3.start]) - coincident([line3.end, arc4.start]) - coincident([arc4.end, line1.start]) -} -gripHole = extrude( - region(segments = [ - gripHoleSketch.line1, - gripHoleSketch.arc2 - ]), - length = 30, - symmetric = true, -) -grip = subtract(gripBlank, tools = [gripHole]) - -[flipper, handle] - |> appearance(color = "#bfc2c4", metalness = 70, roughness = 30) -grip - |> appearance(color = "#202020") - -hide(flipperSketch) -hide(handleSketch) -hide(gripSketch) -hide(gripHoleSketch) diff --git a/content/pages/docs/kcl-samples/fun-stacker-toy/.gitignore b/content/pages/docs/kcl-samples/fun-stacker-toy/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/fun-stacker-toy/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/fun-stacker-toy/main.kcl b/content/pages/docs/kcl-samples/fun-stacker-toy/main.kcl deleted file mode 100644 index 9f86096a..00000000 --- a/content/pages/docs/kcl-samples/fun-stacker-toy/main.kcl +++ /dev/null @@ -1,135 +0,0 @@ -// Fun-Stacker! -// The fun stacking toy from Zoo for babies 6 months and older made using zds. -// Categories: Toys, Games, & Recreation; 3D Printable - -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -ringradius = 1in -numrings = 5 -postheight = ringradius * (numrings + 1) * 2 - -sketch001 = sketch(on = XZ) { - line1 = line(start = [var 0in, var 0in], end = [var 0in, var 12in]) - coincident([line1.start, ORIGIN]) - vertical(line1) - distance([line1.start, line1.end]) == postheight - line2 = line(start = [var 0in, var 0in], end = [var 3.25in, var 0in]) - coincident([line2.start, line1.start]) - horizontal(line2) - distance([line2.start, line2.end]) == 3.25inch - line3 = line(start = [var 0in, var 12in], end = [var 1.5in, var 12in]) - coincident([line3.start, line1.end]) - horizontal(line3) - distance([line3.start, line3.end]) == 1.5inch - line4 = line(start = [var 1.79in, var 11.43in], end = [var 1.78in, var 10.98in]) - vertical(line4) - distance([line4.start, line4.end]) == 0.5inch - arc1 = arc(start = [var 1.78in, var 10.98in], end = [var 3.25in, var 0in], center = [var 43.58in, var 10.98in]) - coincident([arc1.start, line4.end]) - coincident([arc1.end, line2.end]) - circle1 = circle(start = [var 4.77in, var 0.34in], center = [var 4.02in, var 1in]) - radius(circle1) == ringradius - circle2 = circle(start = [var 4.52in, var 2.61in], center = [var 3.58in, var 2.95in]) - radius(circle2) == ringradius - circle3 = circle(start = [var 4.23in, var 5.02in], center = [var 3.23in, var 4.92in]) - radius(circle3) == ringradius - circle4 = circle(start = [var 3.98in, var 6.81in], center = [var 2.99in, var 6.91in]) - radius(circle4) == ringradius - circle5 = circle(start = [var 3.76in, var 9.28in], center = [var 2.84in, var 8.9in]) - radius(circle5) == ringradius - tangent([circle1, arc1]) - tangent([line2, circle1]) - tangent([circle2, circle1]) - tangent([circle2, arc1]) - tangent([circle3, circle2]) - tangent([circle3, arc1]) - tangent([circle4, circle3]) - tangent([circle4, arc1]) - tangent([circle5, circle4]) - tangent([circle5, arc1]) - tangent([line4, arc1]) - arc2 = arc(start = [var 1.99in, var 11.48in], end = [var 1.47in, var 11.86in], center = [var 1.39in, var 11.48in]) - coincident([arc2.start, line4.start]) - coincident([line3.end, arc2.end]) - tangent([line3, arc2]) - tangent([line4, arc2]) - distance([arc2.center, arc2.end]) == 0.51in - radius(arc1) == 49.32in -} -region001 = region(point = [0in, 1.5in], sketch = sketch001) -revolve001 = revolve(region001, angle = 360deg, axis = Y) - |> appearance(color = "#ffffff") -region002 = region(point = [3.95in, 1.5in], sketch = sketch001) -revolve002 = revolve(region002, angle = 360deg, axis = Y) - |> appearance(color = "#ff0000") -region003 = region(point = [3.5in, 2.5in], sketch = sketch001) -revolve003 = revolve(region003, angle = 360deg, axis = Y) - |> appearance(color = "#ff7b00") -region004 = region(point = [3.5in, 4.5in], sketch = sketch001) -revolve004 = revolve(region004, angle = 360deg, axis = Y) - |> appearance(color = "#ffff00") -region005 = region(point = [3.5in, 6.5in], sketch = sketch001) -revolve005 = revolve(region005, angle = 360deg, axis = Y) - |> appearance(color = "#00ff00") -region006 = region(point = [93.4958mm, 212.6842mm], sketch = sketch001) -revolve006 = revolve(region006, angle = 360deg, axis = Y) - |> appearance(color = "#0000ff") -sketch002 = sketch(on = XY) { - line1 = line(start = [var -6in, var -6in], end = [var 6in, var -6in]) - line2 = line(start = [var 6in, var -6in], end = [var 6in, var 6in]) - line3 = line(start = [var 6in, var 6in], end = [var -6in, var 6in]) - line4 = line(start = [var -6in, var 6in], end = [var -6in, var -6in]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - parallel([line2, line4]) - parallel([line3, line1]) - perpendicular([line1, line2]) - horizontal(line3) - distance([line2.start, line2.end]) == postheight - distance([line1.start, line1.end]) == postheight - point1 = point(at = [0in, 0in]) - line5 = line(start = [var 0in, var 0in], end = [var -6in, var -6in], construction = true) - coincident([line5.start, point1]) - coincident([line5.end, line4.end]) - line6 = line(start = [var 0in, var 0in], end = [var 6in, var 6in], construction = true) - coincident([line6.start, line5.start]) - coincident([line6.end, line3.start]) - parallel([line6, line5]) - equalLength([line6, line5]) -} -region007 = region(segments = [sketch002.line1, sketch002.line2]) -extrude001 = extrude(region007, length = -1in) - |> appearance(color = "#ffffff") -fillet001 = fillet( - extrude001, - radius = 3in, - edges = [ - { - sideFaces = [ - region007.tags.line2, - region007.tags.line1 - ] - }, - { - sideFaces = [ - region007.tags.line3, - region007.tags.line2 - ] - }, - { - sideFaces = [ - region007.tags.line3, - region007.tags.line4 - ] - }, - { - sideFaces = [ - region007.tags.line4, - region007.tags.line1 - ] - } - ], -) -hide(sketch002) diff --git a/content/pages/docs/kcl-samples/fun-stacker-toy/project.toml b/content/pages/docs/kcl-samples/fun-stacker-toy/project.toml deleted file mode 100644 index 61019711..00000000 --- a/content/pages/docs/kcl-samples/fun-stacker-toy/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "6b0a0a55-463e-4eb1-a15f-684d71535ac9" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/gallows-bracket/.gitignore b/content/pages/docs/kcl-samples/gallows-bracket/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/gallows-bracket/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/gallows-bracket/main.kcl b/content/pages/docs/kcl-samples/gallows-bracket/main.kcl deleted file mode 100644 index 374923c0..00000000 --- a/content/pages/docs/kcl-samples/gallows-bracket/main.kcl +++ /dev/null @@ -1,723 +0,0 @@ -// Gallows Bracket -// A gallows bracket is a metal bracket that is used to support a chimney breast after it has been removed. The bracket is typically made of steel or cast iron, and it is attached to the remaining chimney stack. The bracket provides support for the chimney breast, preventing it from collapsing. -// Categories: Architecture & Construction -// Sketch-solve reconstruction with matching feature order. - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -depth = 450 -height = 1250 -width = 2400 -ironWidth = 75 -ironThickness = 6 - -// Drawings recommend 450mm spacing -bracketsNeeded = ceil(width / 450) - -boltRadius = 4 -clearanceBoltRadius = boltRadius + 0.5 -csgFriendlyOffset = 1 - -// Recommendations from drawings -bottomBoltOffset = 75 -distanceBetweenBolts = 450 - -assert(height, isGreaterThan = bottomBoltOffset + distanceBetweenBolts, error = "You must have at least 525mm of height to get sufficient bolt spacing") - -strutLength = sqrt(2 * (min([height, depth]) - ironThickness) ^ 2) -strutSectionWidth = ironWidth - ironThickness - -// Solver top support angle iron -beamProfileSketch = sketch(on = -XZ) { - beamBottomOuter = line(start = [var 0mm, var 0mm], end = [var 75mm, var 0mm]) - beamOuterLip = line(start = [var 75mm, var 0mm], end = [var 75mm, var -6mm]) - beamInnerTop = line(start = [var 75mm, var -6mm], end = [var 6mm, var -6mm]) - beamInnerWeb = line(start = [var 6mm, var -6mm], end = [var 6mm, var -75mm]) - beamOuterWeb = line(start = [var 6mm, var -75mm], end = [var 0mm, var -75mm]) - beamCloseEdge = line(start = [var 0mm, var -75mm], end = [var 0mm, var 0mm]) - - coincident([ - beamBottomOuter.end, - beamOuterLip.start - ]) - coincident([beamOuterLip.end, beamInnerTop.start]) - coincident([beamInnerTop.end, beamInnerWeb.start]) - coincident([beamInnerWeb.end, beamOuterWeb.start]) - coincident([beamOuterWeb.end, beamCloseEdge.start]) - coincident([ - beamCloseEdge.end, - beamBottomOuter.start - ]) - - horizontal(beamBottomOuter) - vertical(beamOuterLip) - horizontal(beamInnerTop) - vertical(beamInnerWeb) - horizontal(beamOuterWeb) - vertical(beamCloseEdge) - - coincident([beamBottomOuter.start, ORIGIN]) - - horizontalDistance([ - beamBottomOuter.start, - beamBottomOuter.end - ]) == ironWidth - verticalDistance([beamOuterLip.start, beamOuterLip.end]) == -ironThickness - horizontalDistance([beamCloseEdge.end, beamInnerTop.end]) == ironThickness - verticalDistance([beamCloseEdge.end, beamOuterWeb.start]) == -ironWidth -} - -beamRegion = region(segments = [ - beamProfileSketch.beamBottomOuter, - beamProfileSketch.beamOuterLip -]) -beamBlank = extrude(beamRegion, length = width + csgFriendlyOffset * 2) -hide(beamProfileSketch) - -beam = beamBlank - |> rotate(pitch = 90deg, global = false) - |> translate( - y = -ironWidth, - x = depth, - z = height, - global = true, - ) - -// Solver vertical bracket angle -verticalProfileSketch = sketch(on = -XZ) { - verticalBottomOuter = line(start = [var 0mm, var 0mm], end = [var 75mm, var 0mm]) - verticalOuterLip = line(start = [var 75mm, var 0mm], end = [var 75mm, var -6mm]) - verticalInnerTop = line(start = [var 75mm, var -6mm], end = [var 6mm, var -6mm]) - verticalInnerWeb = line(start = [var 6mm, var -6mm], end = [var 6mm, var -75mm]) - verticalOuterWeb = line(start = [var 6mm, var -75mm], end = [var 0mm, var -75mm]) - verticalCloseEdge = line(start = [var 0mm, var -75mm], end = [var 0mm, var 0mm]) - - coincident([ - verticalBottomOuter.end, - verticalOuterLip.start - ]) - coincident([ - verticalOuterLip.end, - verticalInnerTop.start - ]) - coincident([ - verticalInnerTop.end, - verticalInnerWeb.start - ]) - coincident([ - verticalInnerWeb.end, - verticalOuterWeb.start - ]) - coincident([ - verticalOuterWeb.end, - verticalCloseEdge.start - ]) - coincident([ - verticalCloseEdge.end, - verticalBottomOuter.start - ]) - - horizontal(verticalBottomOuter) - vertical(verticalOuterLip) - horizontal(verticalInnerTop) - vertical(verticalInnerWeb) - horizontal(verticalOuterWeb) - vertical(verticalCloseEdge) - - coincident([verticalBottomOuter.start, ORIGIN]) - - horizontalDistance([ - verticalBottomOuter.start, - verticalBottomOuter.end - ]) == ironWidth - verticalDistance([ - verticalOuterLip.start, - verticalOuterLip.end - ]) == -ironThickness - horizontalDistance([ - verticalCloseEdge.end, - verticalInnerTop.end - ]) == ironThickness - verticalDistance([ - verticalCloseEdge.end, - verticalOuterWeb.start - ]) == -ironWidth -} - -verticalRegion = region(segments = [ - verticalProfileSketch.verticalBottomOuter, - verticalProfileSketch.verticalOuterLip -]) -verticalBlank = extrude(verticalRegion, length = height + csgFriendlyOffset * 2) -hide(verticalProfileSketch) - -verticalEndMiterRun = ironWidth + csgFriendlyOffset -verticalEndMiterRise = verticalEndMiterRun * tan(45deg) -verticalEndMiterStartX = csgFriendlyOffset - (csgFriendlyOffset * sin(45deg)) -verticalEndMiterStartY = height + csgFriendlyOffset + csgFriendlyOffset * cos(45deg) - -verticalEndMiterSketch = sketch(on = XY) { - verticalEndMiterEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - verticalEndRightEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - verticalEndTopEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - verticalEndLeftEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - - coincident([ - verticalEndMiterEdge.end, - verticalEndRightEdge.start - ]) - coincident([ - verticalEndRightEdge.end, - verticalEndTopEdge.start - ]) - coincident([ - verticalEndTopEdge.end, - verticalEndLeftEdge.start - ]) - coincident([ - verticalEndLeftEdge.end, - verticalEndMiterEdge.start - ]) - - vertical(verticalEndRightEdge) - horizontal(verticalEndTopEdge) - vertical(verticalEndLeftEdge) - - horizontalDistance([ORIGIN, verticalEndMiterEdge.start]) == verticalEndMiterStartX - verticalDistance([ORIGIN, verticalEndMiterEdge.start]) == verticalEndMiterStartY - horizontalDistance([ - verticalEndMiterEdge.start, - verticalEndMiterEdge.end - ]) == verticalEndMiterRun - verticalDistance([ - verticalEndMiterEdge.start, - verticalEndMiterEdge.end - ]) == -verticalEndMiterRise - verticalDistance([ - verticalEndRightEdge.start, - verticalEndRightEdge.end - ]) == verticalEndMiterRise + csgFriendlyOffset - horizontalDistance([ - verticalEndTopEdge.start, - verticalEndTopEdge.end - ]) == -verticalEndMiterRun - verticalDistance([ - verticalEndLeftEdge.start, - verticalEndLeftEdge.end - ]) == -csgFriendlyOffset -} - -verticalEndMiterRegion = region(segments = [ - verticalEndMiterSketch.verticalEndMiterEdge, - verticalEndMiterSketch.verticalEndRightEdge -]) -verticalEndMiterTool = extrude(verticalEndMiterRegion, length = -(ironWidth + csgFriendlyOffset * 2)) - |> scale(x = -1) - |> flipSurface() -hide(verticalEndMiterSketch) - -verticalMitered = subtract(verticalBlank, tools = verticalEndMiterTool) -vertical = verticalMitered - |> rotate(roll = 90deg, yaw = 180deg, global = false) - -// Solver vertical bolt-hole pattern -verticalHolesNeeded = ceil((height - bottomBoltOffset) / distanceBetweenBolts) -verticalHolePlane = offsetPlane(YZ, offset = -csgFriendlyOffset) -verticalHoleSketch = sketch(on = verticalHolePlane) { - verticalHoleOffsetAcross = line(start = [var 0mm, var 0mm], end = [var -38mm, var 0mm], construction = true) - verticalHoleOffsetUp = line(start = [var -38mm, var 0mm], end = [var -38mm, var 75mm], construction = true) - verticalHoleRadiusGuide = line(start = [var -38mm, var 75mm], end = [var -33.5mm, var 75mm], construction = true) - verticalHoleCircle = circle(start = [var -33.5mm, var 75mm], center = [var -38mm, var 75mm]) - - coincident([verticalHoleOffsetAcross.start, ORIGIN]) - coincident([ - verticalHoleOffsetAcross.end, - verticalHoleOffsetUp.start - ]) - coincident([ - verticalHoleOffsetUp.end, - verticalHoleRadiusGuide.start - ]) - coincident([ - verticalHoleOffsetUp.end, - verticalHoleCircle.center - ]) - coincident([ - verticalHoleRadiusGuide.end, - verticalHoleCircle.start - ]) - - horizontal(verticalHoleOffsetAcross) - vertical(verticalHoleOffsetUp) - horizontal(verticalHoleRadiusGuide) - - horizontalDistance([ - verticalHoleOffsetAcross.start, - verticalHoleOffsetAcross.end - ]) == -ironWidth / 2 - verticalDistance([ - verticalHoleOffsetUp.start, - verticalHoleOffsetUp.end - ]) == bottomBoltOffset - horizontalDistance([ - verticalHoleRadiusGuide.start, - verticalHoleRadiusGuide.end - ]) == clearanceBoltRadius - radius(verticalHoleCircle) == clearanceBoltRadius -} - -verticalHoleRegion = region(segments = [verticalHoleSketch.verticalHoleCircle]) -verticalHoleSeed = extrude(verticalHoleRegion, length = ironThickness + csgFriendlyOffset * 2) -hide(verticalHoleSketch) - -verticalHoleCutters = patternLinear3d( - verticalHoleSeed, - instances = verticalHolesNeeded, - distance = (height - bottomBoltOffset) / verticalHolesNeeded, - axis = [0, 0, 1], -) -verticalWithHoles = subtract(vertical, tools = verticalHoleCutters) - -// Solver horizontal bracket angle -horizontalProfileSketch = sketch(on = -XZ) { - horizontalBottomOuter = line(start = [var 0mm, var 0mm], end = [var 75mm, var 0mm]) - horizontalOuterLip = line(start = [var 75mm, var 0mm], end = [var 75mm, var -6mm]) - horizontalInnerTop = line(start = [var 75mm, var -6mm], end = [var 6mm, var -6mm]) - horizontalInnerWeb = line(start = [var 6mm, var -6mm], end = [var 6mm, var -75mm]) - horizontalOuterWeb = line(start = [var 6mm, var -75mm], end = [var 0mm, var -75mm]) - horizontalCloseEdge = line(start = [var 0mm, var -75mm], end = [var 0mm, var 0mm]) - - coincident([ - horizontalBottomOuter.end, - horizontalOuterLip.start - ]) - coincident([ - horizontalOuterLip.end, - horizontalInnerTop.start - ]) - coincident([ - horizontalInnerTop.end, - horizontalInnerWeb.start - ]) - coincident([ - horizontalInnerWeb.end, - horizontalOuterWeb.start - ]) - coincident([ - horizontalOuterWeb.end, - horizontalCloseEdge.start - ]) - coincident([ - horizontalCloseEdge.end, - horizontalBottomOuter.start - ]) - - horizontal(horizontalBottomOuter) - vertical(horizontalOuterLip) - horizontal(horizontalInnerTop) - vertical(horizontalInnerWeb) - horizontal(horizontalOuterWeb) - vertical(horizontalCloseEdge) - - coincident([horizontalBottomOuter.start, ORIGIN]) - - horizontalDistance([ - horizontalBottomOuter.start, - horizontalBottomOuter.end - ]) == ironWidth - verticalDistance([ - horizontalOuterLip.start, - horizontalOuterLip.end - ]) == -ironThickness - horizontalDistance([ - horizontalCloseEdge.end, - horizontalInnerTop.end - ]) == ironThickness - verticalDistance([ - horizontalCloseEdge.end, - horizontalOuterWeb.start - ]) == -ironWidth -} - -horizontalRegion = region(segments = [ - horizontalProfileSketch.horizontalBottomOuter, - horizontalProfileSketch.horizontalOuterLip -]) -horizontalBlank = extrude(horizontalRegion, length = depth + csgFriendlyOffset * 2) -hide(horizontalProfileSketch) - -horizontalStartMiterRun = ironWidth + csgFriendlyOffset -horizontalStartMiterRise = horizontalStartMiterRun * tan(45deg) -horizontalStartMiterStartX = csgFriendlyOffset - (csgFriendlyOffset * sin(45deg)) -horizontalStartMiterStartY = csgFriendlyOffset - (csgFriendlyOffset * cos(45deg)) - -horizontalStartMiterSketch = sketch(on = XY) { - horizontalStartMiterEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - horizontalStartRightEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - horizontalStartBottomEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - horizontalStartLeftEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - - coincident([ - horizontalStartMiterEdge.end, - horizontalStartRightEdge.start - ]) - coincident([ - horizontalStartRightEdge.end, - horizontalStartBottomEdge.start - ]) - coincident([ - horizontalStartBottomEdge.end, - horizontalStartLeftEdge.start - ]) - coincident([ - horizontalStartLeftEdge.end, - horizontalStartMiterEdge.start - ]) - - vertical(horizontalStartRightEdge) - horizontal(horizontalStartBottomEdge) - vertical(horizontalStartLeftEdge) - - horizontalDistance([ORIGIN, horizontalStartMiterEdge.start]) == horizontalStartMiterStartX - verticalDistance([ORIGIN, horizontalStartMiterEdge.start]) == horizontalStartMiterStartY - horizontalDistance([ - horizontalStartMiterEdge.start, - horizontalStartMiterEdge.end - ]) == horizontalStartMiterRun - verticalDistance([ - horizontalStartMiterEdge.start, - horizontalStartMiterEdge.end - ]) == horizontalStartMiterRise - verticalDistance([ - horizontalStartRightEdge.start, - horizontalStartRightEdge.end - ]) == -(horizontalStartMiterRise + csgFriendlyOffset) - horizontalDistance([ - horizontalStartBottomEdge.start, - horizontalStartBottomEdge.end - ]) == -horizontalStartMiterRun - verticalDistance([ - horizontalStartLeftEdge.start, - horizontalStartLeftEdge.end - ]) == csgFriendlyOffset -} - -horizontalStartMiterRegion = region(segments = [ - horizontalStartMiterSketch.horizontalStartMiterEdge, - horizontalStartMiterSketch.horizontalStartRightEdge -]) -horizontalStartMiterTool = extrude(horizontalStartMiterRegion, length = -(ironWidth + csgFriendlyOffset * 2)) - |> scale(x = -1) - |> flipSurface() -hide(horizontalStartMiterSketch) - -horizontalMitered = subtract(horizontalBlank, tools = horizontalStartMiterTool) -horizontal = horizontalMitered - |> rotate(pitch = 270deg, yaw = -90deg, global = false) - |> translate(z = height + csgFriendlyOffset, global = true) - -// Solver horizontal bolt hole -horizontalHolePlane = offsetPlane(XY, offset = height - ironThickness) -horizontalHoleSketch = sketch(on = horizontalHolePlane) { - horizontalHoleOffsetForward = line(start = [var 0mm, var 0mm], end = [var 413mm, var 0mm], construction = true) - horizontalHoleOffsetAcross = line(start = [var 413mm, var 0mm], end = [var 413mm, var -38mm], construction = true) - horizontalHoleRadiusGuide = line(start = [var 413mm, var -38mm], end = [var 417.5mm, var -38mm], construction = true) - horizontalHoleCircle = circle(start = [var 417.5mm, var -38mm], center = [var 413mm, var -38mm]) - - coincident([ - horizontalHoleOffsetForward.start, - ORIGIN - ]) - coincident([ - horizontalHoleOffsetForward.end, - horizontalHoleOffsetAcross.start - ]) - coincident([ - horizontalHoleOffsetAcross.end, - horizontalHoleRadiusGuide.start - ]) - coincident([ - horizontalHoleOffsetAcross.end, - horizontalHoleCircle.center - ]) - coincident([ - horizontalHoleRadiusGuide.end, - horizontalHoleCircle.start - ]) - - horizontal(horizontalHoleOffsetForward) - vertical(horizontalHoleOffsetAcross) - horizontal(horizontalHoleRadiusGuide) - - horizontalDistance([ - horizontalHoleOffsetForward.start, - horizontalHoleOffsetForward.end - ]) == depth - (ironWidth / 2) - verticalDistance([ - horizontalHoleOffsetAcross.start, - horizontalHoleOffsetAcross.end - ]) == -ironWidth / 2 - horizontalDistance([ - horizontalHoleRadiusGuide.start, - horizontalHoleRadiusGuide.end - ]) == clearanceBoltRadius - radius(horizontalHoleCircle) == clearanceBoltRadius -} - -horizontalHoleRegion = region(segments = [ - horizontalHoleSketch.horizontalHoleCircle -]) -horizontalHoleSeed = extrude(horizontalHoleRegion, length = ironThickness + csgFriendlyOffset * 2) -hide(horizontalHoleSketch) - -horizontalWithHoles = subtract(horizontal, tools = horizontalHoleSeed) - -// Solver diagonal strut -strutProfileSketch = sketch(on = -XZ) { - strutBottomOuter = line(start = [var 0mm, var 0mm], end = [var 69mm, var 0mm]) - strutOuterLip = line(start = [var 69mm, var 0mm], end = [var 69mm, var -6mm]) - strutInnerTop = line(start = [var 69mm, var -6mm], end = [var 6mm, var -6mm]) - strutInnerWeb = line(start = [var 6mm, var -6mm], end = [var 6mm, var -69mm]) - strutOuterWeb = line(start = [var 6mm, var -69mm], end = [var 0mm, var -69mm]) - strutCloseEdge = line(start = [var 0mm, var -69mm], end = [var 0mm, var 0mm]) - - coincident([ - strutBottomOuter.end, - strutOuterLip.start - ]) - coincident([strutOuterLip.end, strutInnerTop.start]) - coincident([strutInnerTop.end, strutInnerWeb.start]) - coincident([strutInnerWeb.end, strutOuterWeb.start]) - coincident([ - strutOuterWeb.end, - strutCloseEdge.start - ]) - coincident([ - strutCloseEdge.end, - strutBottomOuter.start - ]) - - horizontal(strutBottomOuter) - vertical(strutOuterLip) - horizontal(strutInnerTop) - vertical(strutInnerWeb) - horizontal(strutOuterWeb) - vertical(strutCloseEdge) - - coincident([strutBottomOuter.start, ORIGIN]) - - horizontalDistance([ - strutBottomOuter.start, - strutBottomOuter.end - ]) == strutSectionWidth - verticalDistance([strutOuterLip.start, strutOuterLip.end]) == -ironThickness - horizontalDistance([strutCloseEdge.end, strutInnerTop.end]) == ironThickness - verticalDistance([ - strutCloseEdge.end, - strutOuterWeb.start - ]) == -strutSectionWidth -} - -strutRegion = region(segments = [ - strutProfileSketch.strutBottomOuter, - strutProfileSketch.strutOuterLip -]) -strutBlank = extrude(strutRegion, length = strutLength + csgFriendlyOffset * 2) -hide(strutProfileSketch) - -strutStartMiterRun = strutSectionWidth + csgFriendlyOffset -strutStartMiterRise = strutStartMiterRun * tan(45deg) -strutStartMiterStartX = -strutSectionWidth - csgFriendlyOffset - (csgFriendlyOffset * sin(-45deg)) -strutStartMiterStartY = csgFriendlyOffset - (csgFriendlyOffset * cos(-45deg)) - -strutStartMiterSketch = sketch(on = XY) { - strutStartMiterEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - strutStartRightEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - strutStartBottomEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - strutStartLeftEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - - coincident([ - strutStartMiterEdge.end, - strutStartRightEdge.start - ]) - coincident([ - strutStartRightEdge.end, - strutStartBottomEdge.start - ]) - coincident([ - strutStartBottomEdge.end, - strutStartLeftEdge.start - ]) - coincident([ - strutStartLeftEdge.end, - strutStartMiterEdge.start - ]) - - vertical(strutStartRightEdge) - horizontal(strutStartBottomEdge) - vertical(strutStartLeftEdge) - - horizontalDistance([ORIGIN, strutStartMiterEdge.start]) == strutStartMiterStartX - verticalDistance([ORIGIN, strutStartMiterEdge.start]) == strutStartMiterStartY - horizontalDistance([ - strutStartMiterEdge.start, - strutStartMiterEdge.end - ]) == strutStartMiterRun - verticalDistance([ - strutStartMiterEdge.start, - strutStartMiterEdge.end - ]) == strutStartMiterRise - verticalDistance([ - strutStartRightEdge.start, - strutStartRightEdge.end - ]) == -(strutStartMiterRise + csgFriendlyOffset) - horizontalDistance([ - strutStartBottomEdge.start, - strutStartBottomEdge.end - ]) == -strutStartMiterRun - verticalDistance([ - strutStartLeftEdge.start, - strutStartLeftEdge.end - ]) == csgFriendlyOffset -} - -strutStartMiterRegion = region(segments = [ - strutStartMiterSketch.strutStartMiterEdge, - strutStartMiterSketch.strutStartRightEdge -]) -strutStartMiterTool = extrude(strutStartMiterRegion, length = -(strutSectionWidth + csgFriendlyOffset * 2)) - |> translate( - x = 0, - y = 0, - z = csgFriendlyOffset, - global = true, - ) -hide(strutStartMiterSketch) - -strutStartMitered = subtract(strutBlank, tools = strutStartMiterTool) - -strutEndMiterRun = strutSectionWidth + csgFriendlyOffset -strutEndMiterRise = strutEndMiterRun * tan(45deg) -strutEndMiterStartX = -strutSectionWidth - csgFriendlyOffset - (csgFriendlyOffset * sin(-45deg)) -strutEndMiterStartY = strutLength + csgFriendlyOffset + csgFriendlyOffset * cos(-45deg) - -strutEndMiterSketch = sketch(on = XY) { - strutEndMiterEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - strutEndRightEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - strutEndTopEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - strutEndLeftEdge = line(start = [var 0mm, var 0mm], end = [var 0mm, var 0mm]) - - coincident([ - strutEndMiterEdge.end, - strutEndRightEdge.start - ]) - coincident([ - strutEndRightEdge.end, - strutEndTopEdge.start - ]) - coincident([ - strutEndTopEdge.end, - strutEndLeftEdge.start - ]) - coincident([ - strutEndLeftEdge.end, - strutEndMiterEdge.start - ]) - - vertical(strutEndRightEdge) - horizontal(strutEndTopEdge) - vertical(strutEndLeftEdge) - - horizontalDistance([ORIGIN, strutEndMiterEdge.start]) == strutEndMiterStartX - verticalDistance([ORIGIN, strutEndMiterEdge.start]) == strutEndMiterStartY - horizontalDistance([ - strutEndMiterEdge.start, - strutEndMiterEdge.end - ]) == strutEndMiterRun - verticalDistance([ - strutEndMiterEdge.start, - strutEndMiterEdge.end - ]) == -strutEndMiterRise - verticalDistance([ - strutEndRightEdge.start, - strutEndRightEdge.end - ]) == strutEndMiterRise + csgFriendlyOffset - horizontalDistance([ - strutEndTopEdge.start, - strutEndTopEdge.end - ]) == -strutEndMiterRun - verticalDistance([ - strutEndLeftEdge.start, - strutEndLeftEdge.end - ]) == -csgFriendlyOffset -} - -strutEndMiterRegion = region(segments = [ - strutEndMiterSketch.strutEndMiterEdge, - strutEndMiterSketch.strutEndRightEdge -]) -strutEndMiterTool = extrude(strutEndMiterRegion, length = -(strutSectionWidth + csgFriendlyOffset * 2)) - |> translate( - x = 0, - y = 0, - z = csgFriendlyOffset, - global = true, - ) -hide(strutEndMiterSketch) - -strutMitered = subtract(strutStartMitered, tools = strutEndMiterTool) -strut = strutMitered - |> rotate(pitch = 270deg, yaw = -90deg, global = false) - |> translate(x = -strutLength - csgFriendlyOffset, z = ironWidth - ironThickness, global = true) - |> rotate(pitch = -45deg, global = true) - |> translate( - y = -ironThickness, - x = depth, - z = height - ironThickness, - global = true, - ) - -// Solver wall leg -legProfile = sketch(on = -YZ) { - legBottomEdge = line(start = [var 0mm, var 0mm], end = [var 75mm, var 0mm]) - legRightEdge = line(start = [var 75mm, var 0mm], end = [var 75mm, var 75mm]) - legTopEdge = line(start = [var 75mm, var 75mm], end = [var 0mm, var 75mm]) - legLeftEdge = line(start = [var 0mm, var 75mm], end = [var 0mm, var 0mm]) - - coincident([legBottomEdge.end, legRightEdge.start]) - coincident([legRightEdge.end, legTopEdge.start]) - coincident([legTopEdge.end, legLeftEdge.start]) - coincident([legLeftEdge.end, legBottomEdge.start]) - - horizontal(legBottomEdge) - vertical(legRightEdge) - horizontal(legTopEdge) - vertical(legLeftEdge) - - coincident([legBottomEdge.start, ORIGIN]) - horizontalDistance([legBottomEdge.start, legBottomEdge.end]) == ironWidth - verticalDistance([legRightEdge.start, legRightEdge.end]) == ironWidth -} - -legRegion = region(segments = [ - legProfile.legBottomEdge, - legProfile.legRightEdge -]) -hide(legProfile) - -// Leg to insert into party wall -leg = extrude(legRegion, length = 100) - |> translate(z = height - ironWidth, global = true) - -// Solver bracket array -bracketArray = patternLinear3d( - [ - verticalWithHoles, - horizontalWithHoles, - strut, - leg - ], - instances = bracketsNeeded, - distance = (width - (bracketsNeeded * ironWidth)) / (bracketsNeeded - 1) + ironWidth, - axis = [0, 1, 0], -) diff --git a/content/pages/docs/kcl-samples/gallows-bracket/project.toml b/content/pages/docs/kcl-samples/gallows-bracket/project.toml deleted file mode 100644 index 8da4b527..00000000 --- a/content/pages/docs/kcl-samples/gallows-bracket/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "e44b36a0-2bda-4d41-a74e-2f762e52894b" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/gas-impeller/.gitignore b/content/pages/docs/kcl-samples/gas-impeller/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/gas-impeller/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/gas-impeller/main.kcl b/content/pages/docs/kcl-samples/gas-impeller/main.kcl deleted file mode 100644 index 088eab53..00000000 --- a/content/pages/docs/kcl-samples/gas-impeller/main.kcl +++ /dev/null @@ -1,265 +0,0 @@ -// Gas Impeller -// The rotating component in a turbomachine (compressor, blower, or turbocharger) that adds energy to a gas by spinning it at speed -// Categories: Industrial & Manufacturing; Mechanical Components - -// Project settings -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Key parameters -impellerHeight = 60 -impellerDiameter = 160 -bladeInstanceCount = 9 -bladeSectionThickness = 2 -bladeTwistAngle = 65deg -shaftBoreDiameter = 8.8 - -// Sketch: hub profile and blade envelope profile -// This sketch contains two closed regions: -// 1. The inner region for the revolved hub body. -// 2. The outer region for the revolved blade envelope used in the blade intersection step. -hubAndBladeEnvelopeSketch = sketch(on = YZ) { - // Hub root, shaft bore boundary, and lower outer lip. - shaftWall = line(start = [var 4.4mm, var 0mm], end = [var 4.4mm, var 60mm]) - hubTopLand = line(start = [var 4.4mm, var 60mm], end = [var 7.33mm, var 60mm]) - coincident([shaftWall.end, hubTopLand.start]) - - hubShoulderBlendArc = arc(start = [var 8.31mm, var 59.22mm], end = [var 7.33mm, var 60mm], center = [var 7.33mm, var 59mm]) - coincident([ - hubTopLand.end, - hubShoulderBlendArc.end - ]) - - outerLipDrop = line(start = [var 80mm, var 2mm], end = [var 80mm, var 0mm]) - baseFloor = line(start = [var 80mm, var 0mm], end = [var 4.4mm, var 0mm]) - coincident([outerLipDrop.end, baseFloor.start]) - coincident([baseFloor.end, shaftWall.start]) - vertical(shaftWall) - horizontal(baseFloor) - vertical(outerLipDrop) - horizontal(hubTopLand) - tangent([hubTopLand, hubShoulderBlendArc]) - - // Hub-driving construction guides and dimensional constraints. - shaftRadiusGuide = line(start = [var 0mm, var 0mm], end = [var 4.4mm, var 0mm], construction = true) - coincident([shaftRadiusGuide.start, ORIGIN]) - coincident([shaftRadiusGuide.end, baseFloor.end]) - horizontal(shaftRadiusGuide) - horizontalDistance([ - shaftRadiusGuide.start, - shaftRadiusGuide.end - ]) == shaftBoreDiameter / 2 - verticalDistance([shaftWall.start, shaftWall.end]) == impellerHeight - horizontalDistance([hubTopLand.start, hubTopLand.end]) == shaftBoreDiameter / 3 - - // Outer impeller envelope and supporting construction geometry. - outerEnvelopeArc = arc(start = [var 8.31mm, var 59.22mm], end = [var 80mm, var 2mm], center = [var 80mm, var 75.52mm]) - coincident([ - outerEnvelopeArc.start, - hubShoulderBlendArc.start - ]) - coincident([ - outerEnvelopeArc.end, - outerLipDrop.start - ]) - - outerEnvelopeChordGuide = line(start = [var 8.31mm, var 59.22mm], end = [var 80mm, var 2mm], construction = true) - coincident([ - outerEnvelopeChordGuide.start, - hubShoulderBlendArc.start - ]) - coincident([ - outerEnvelopeChordGuide.end, - outerLipDrop.start - ]) - - outerEnvelopeRadiusGuide = line(start = [var 8.31mm, var 59.22mm], end = [var 80mm, var 75.52mm], construction = true) - coincident([ - outerEnvelopeRadiusGuide.start, - hubShoulderBlendArc.start - ]) - - outerEnvelopeCenterDropGuide = line(start = [var 80mm, var 75.52mm], end = [var 80mm, var 2mm], construction = true) - coincident([ - outerEnvelopeRadiusGuide.end, - outerEnvelopeCenterDropGuide.start - ]) - coincident([ - outerEnvelopeCenterDropGuide.end, - outerEnvelopeArc.end - ]) - - outerEnvelopePerpendicularGuide = line(start = [var 80mm, var 75.52mm], end = [var 44.15mm, var 30.61mm], construction = true) - coincident([ - outerEnvelopePerpendicularGuide.start, - outerEnvelopeCenterDropGuide.start - ]) - coincident([ - outerEnvelopePerpendicularGuide.end, - outerEnvelopeChordGuide - ]) - perpendicular([ - outerEnvelopePerpendicularGuide, - outerEnvelopeChordGuide - ]) - tangent([outerEnvelopeArc, hubShoulderBlendArc]) - verticalDistance([outerLipDrop.end, outerLipDrop.start]) == impellerHeight / 30 - coincident([ - outerEnvelopeArc.center, - outerEnvelopePerpendicularGuide.start - ]) - vertical(outerEnvelopeCenterDropGuide) - - // Secondary closed region for the revolved blade envelope body. - bladeEnvelopeTopEdge = line(start = [var 7.33mm, var 60mm], end = [var 68mm, var 60mm]) - coincident([ - bladeEnvelopeTopEdge.start, - hubTopLand.end - ]) - - bladeEnvelopeOuterWall = line(start = [var 80mm, var 2mm], end = [var 80mm, var 48mm]) - coincident([ - bladeEnvelopeOuterWall.start, - outerEnvelopeCenterDropGuide.end - ]) - - bladeEnvelopeTipArc = arc(start = [var 80mm, var 48mm], end = [var 68mm, var 60mm], center = [var 68mm, var 48mm]) - coincident([ - bladeEnvelopeTipArc.start, - bladeEnvelopeOuterWall.end - ]) - coincident([ - bladeEnvelopeTipArc.end, - bladeEnvelopeTopEdge.end - ]) - horizontal(bladeEnvelopeTopEdge) - vertical(bladeEnvelopeOuterWall) - radius(bladeEnvelopeTipArc) == impellerHeight / 5 - - bladeEnvelopeTipRadiusGuide = line(start = [var 80mm, var 48mm], end = [var 68mm, var 48mm], construction = true) - coincident([ - bladeEnvelopeTipRadiusGuide.start, - bladeEnvelopeTipArc.start - ]) - coincident([ - bladeEnvelopeTipRadiusGuide.end, - bladeEnvelopeTipArc.center - ]) - - bladeEnvelopeTipCenterlineGuide = line(start = [var 68mm, var 60mm], end = [var 68mm, var 48mm], construction = true) - coincident([ - bladeEnvelopeTipCenterlineGuide.start, - bladeEnvelopeTipArc.end - ]) - coincident([ - bladeEnvelopeTipCenterlineGuide.end, - bladeEnvelopeTipRadiusGuide.end - ]) - vertical(bladeEnvelopeTipCenterlineGuide) - horizontal(bladeEnvelopeTipRadiusGuide) - horizontalDistance([ - shaftRadiusGuide.start, - baseFloor.start - ]) == impellerDiameter / 2 - - hubShoulderRadiusGuide = line(start = [var 7.33mm, var 59mm], end = [var 7.33mm, var 60mm]) - coincident([ - hubShoulderRadiusGuide.start, - hubShoulderBlendArc.center - ]) - coincident([ - hubShoulderRadiusGuide.end, - hubShoulderBlendArc.end - ]) - verticalDistance([ - hubShoulderRadiusGuide.end, - hubShoulderRadiusGuide.start - ]) == -1 -} - -// Revolved bodies from the shared sketch -hubRegion = region( - segments = [ - hubAndBladeEnvelopeSketch.shaftWall, - hubAndBladeEnvelopeSketch.hubTopLand - ], - direction = CW, -) -impellerHub = revolve(hubRegion, axis = Y) - -bladeEnvelopeRegion = region( - segments = [ - hubAndBladeEnvelopeSketch.bladeEnvelopeTopEdge, - hubAndBladeEnvelopeSketch.bladeEnvelopeTipArc - ], - direction = CW, -) -bladeEnvelope = revolve(bladeEnvelopeRegion, axis = Y) - -// Sketch: blade cutter profile -// This twisted rectangular profile intersects the blade envelope to isolate one blade. -bladeCutterSketch = sketch(on = XY) { - bladeCutterBottomEdge = line(start = [var 4.4mm, var 0mm], end = [var 84.4mm, var 0mm]) - bladeCutterOuterEdge = line(start = [var 84.4mm, var 0mm], end = [var 84.4mm, var 2mm]) - coincident([ - bladeCutterBottomEdge.end, - bladeCutterOuterEdge.start - ]) - - bladeCutterTopEdge = line(start = [var 84.4mm, var 2mm], end = [var 4.4mm, var 2mm]) - coincident([ - bladeCutterOuterEdge.end, - bladeCutterTopEdge.start - ]) - - bladeCutterInnerEdge = line(start = [var 4.4mm, var 2mm], end = [var 4.4mm, var 0mm]) - coincident([ - bladeCutterTopEdge.end, - bladeCutterInnerEdge.start - ]) - coincident([ - bladeCutterInnerEdge.end, - bladeCutterBottomEdge.start - ]) - - // Cutter-driving construction guide and dimensional constraints. - bladeCutterInnerRadiusGuide = line(start = [var 0mm, var 0mm], end = [var 4.4mm, var 0mm], construction = true) - coincident([ - bladeCutterInnerRadiusGuide.start, - ORIGIN - ]) - coincident([ - bladeCutterInnerRadiusGuide.end, - bladeCutterInnerEdge.end - ]) - horizontal(bladeCutterInnerRadiusGuide) - horizontal(bladeCutterBottomEdge) - horizontal(bladeCutterTopEdge) - vertical(bladeCutterOuterEdge) - vertical(bladeCutterInnerEdge) - horizontalDistance([ - bladeCutterInnerRadiusGuide.start, - bladeCutterInnerRadiusGuide.end - ]) == shaftBoreDiameter / 2 - horizontalDistance([ - bladeCutterBottomEdge.start, - bladeCutterBottomEdge.end - ]) == impellerDiameter / 2 - verticalDistance([ - bladeCutterOuterEdge.start, - bladeCutterOuterEdge.end - ]) == bladeSectionThickness -} - -// Blade cutter solid -bladeCutterRegion = region(segments = [ - bladeCutterSketch.bladeCutterBottomEdge -]) -bladeCutter = extrude(bladeCutterRegion, twistAngle = bladeTwistAngle, length = 65) - -// Final blade geometry -// Intersect the blade envelope with the twisted cutter, then circularly pattern the result. -blades = intersect([bladeEnvelope, bladeCutter]) - |> patternCircular3d(instances = bladeInstanceCount, axis = [0, 0, 1], center = [0, 0, 0]) - -hide(hubAndBladeEnvelopeSketch) -hide(bladeCutterSketch) diff --git a/content/pages/docs/kcl-samples/gas-impeller/project.toml b/content/pages/docs/kcl-samples/gas-impeller/project.toml deleted file mode 100644 index af52db4e..00000000 --- a/content/pages/docs/kcl-samples/gas-impeller/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "a2e5bd69-b56a-457e-964c-41a99fbfab4c" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/gdt-tutorial/.gitignore b/content/pages/docs/kcl-samples/gdt-tutorial/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/gdt-tutorial/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/gdt-tutorial/main.kcl b/content/pages/docs/kcl-samples/gdt-tutorial/main.kcl deleted file mode 100644 index 9736ad0a..00000000 --- a/content/pages/docs/kcl-samples/gdt-tutorial/main.kcl +++ /dev/null @@ -1,81 +0,0 @@ -// GD&T Basics in Zoo Design Studio -// A simple sample project demonstrating how to use GD&T in Zoo Design Studio. This project keeps the geometry and annotations intentionally minimal so users can quickly understand what GD&T is, how it works in the app, and how to start applying it to their own designs. Future updates may add more examples while keeping the project beginner-friendly. -// Categories: Science & Education; Industrial & Manufacturing - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -sketch001 = sketch(on = XY) { - line1 = line(start = [var -99.36mm, var 49.61mm], end = [var 100.64mm, var 49.61mm]) - line2 = line(start = [var 100.64mm, var 49.61mm], end = [var 100.64mm, var -50.39mm]) - line3 = line(start = [var 100.64mm, var -50.39mm], end = [var -99.36mm, var -50.39mm]) - line4 = line(start = [var -99.36mm, var -50.39mm], end = [var -99.36mm, var 49.61mm]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - parallel([line2, line4]) - parallel([line3, line1]) - perpendicular([line1, line2]) - horizontal(line3) - horizontalDistance([line1.start, line1.end]) == 200 - verticalDistance([line2.end, line2.start]) == 100 -} -hidden001 = hide(sketch001) -region001 = region(segments = [sketch001.line1, sketch001.line2]) -extrude001 = extrude( - region001, - length = 100, - tagEnd = $capEnd001, - tagStart = $capStart001, -) - -gdt::datum( - face = region001.tags.line2, - name = "A", - framePlane = XZ, - leaderScale = 1, -) - -gdt::distance( - tolerance = 0.1mm, - framePosition = [0, 30], - framePlane = XZ, - fontSize = 9.3333mm, - edges = [ - { - sideFaces = [capEnd001, region001.tags.line3] - } - ], -) - -gdt::flatness( - faces = [region001.tags.line1], - tolerance = 0.001mm, - precision = 3, - framePlane = XY, - leaderScale = 1, - fontSize = 10mm, -) - -gdt::perpendicularity( - faces = [capEnd001], - tolerance = 0.1mm, - datums = ["A"], - framePlane = XZ, - leaderScale = 1, -) -gdt::parallelism( - faces = [region001.tags.line4], - tolerance = 0.2mm, - datums = ["A"], - framePlane = XZ, - framePosition = [-100, 100], - leaderScale = 1, -) - -gdt::annotation( - faces = [region001.tags.line3], - annotation = "BREAK ALL SHARP EDGES", - framePosition = [100, -100], - leaderScale = 1, -) diff --git a/content/pages/docs/kcl-samples/gdt-tutorial/project.toml b/content/pages/docs/kcl-samples/gdt-tutorial/project.toml deleted file mode 100644 index 26f2c47e..00000000 --- a/content/pages/docs/kcl-samples/gdt-tutorial/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "a25243ce-a679-409e-b553-5a5b33633f7e" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/gear-rack/.gitignore b/content/pages/docs/kcl-samples/gear-rack/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/gear-rack/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/gear-rack/main.kcl b/content/pages/docs/kcl-samples/gear-rack/main.kcl deleted file mode 100644 index c9ea72ce..00000000 --- a/content/pages/docs/kcl-samples/gear-rack/main.kcl +++ /dev/null @@ -1,90 +0,0 @@ -// 100mm Gear Rack -// A flat bar or rail that is engraved with teeth along its length. These teeth are designed to mesh with the teeth of a gear, known as a pinion. When the pinion, a small cylindrical gear, rotates, its teeth engage with the teeth on the rack, causing the rack to move linearly. Conversely, linear motion applied to the rack will cause the pinion to rotate. -// Categories: Mechanical Components; Robotics & Automation - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -length = 100 -width = 5 -height = 12 -minHeight = 10.875 - -// Create the body of the rack -sketch001 = sketch(on = XY) { - line1 = line(start = [var -50mm, var 0mm], end = [var 50mm, var 0mm]) - line2 = line(start = [var 50mm, var 0mm], end = [var 50mm, var 10.88mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 50mm, var 10.88mm], end = [var -50mm, var 10.88mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -50mm, var 10.88mm], end = [var -50mm, var 0mm]) - coincident([line3.end, line4.start]) - horizontal(line1) - horizontal(line3) - vertical(line2) - vertical(line4) - distance([line1.start, line1.end]) == length - distance([line2.start, line2.end]) == minHeight - coincident([line1.start, line4.end]) - verticalDistance([line4.end, ORIGIN]) == 0mm - horizontalDistance([ORIGIN, line2.start]) == length / 2 -} -region001 = region(segments = [sketch001.line1]) -rackBody = extrude(region001, length = width) -hide(sketch001) - -// Offset repeated top features to avoid engine collisions when multiple solids share the same base plane. -topFeaturePlane = offsetPlane(XY, offset = width) - -toothProfile = sketch(on = topFeaturePlane) { - arc1 = arc(start = [var -50mm, var 10.88mm], end = [var -49.84mm, var 10.98mm], center = [var -50mm, var 11.05mm]) - line2 = line(start = [var -49.84mm, var 10.98mm], end = [var -49.5mm, var 11.87mm]) - coincident([arc1.end, line2.start]) - tangent([arc1, line2]) - arc3 = arc(start = [var -49.35mm, var 11.98mm], end = [var -49.5mm, var 11.87mm], center = [var -49.35mm, var 11.81mm]) - coincident([line2.end, arc3.end]) - tangent([line2, arc3]) - line4 = line(start = [var -49.35mm, var 11.98mm], end = [var -49.16mm, var 11.98mm]) - coincident([arc3.start, line4.start]) - tangent([arc3, line4]) - arc5 = arc(start = [var -49mm, var 11.87mm], end = [var -49.16mm, var 11.98mm], center = [var -49.16mm, var 11.81mm]) - coincident([line4.end, arc5.end]) - tangent([line4, arc5]) - line6 = line(start = [var -49mm, var 11.87mm], end = [var -48.66mm, var 10.98mm]) - coincident([arc5.start, line6.start]) - tangent([arc5, line6]) - horizontal(line4) - radius(arc1) == 0.17 - radius(arc3) == 0.17 - radius(arc5) == 0.17 - distance([line4.start, line4.end]) == 0.19 - line1 = line(start = [var -50mm, var 10.88mm], end = [var -48.5mm, var 10.88mm]) - coincident([line1.start, arc1.start]) - horizontal(line1) - horizontalDistance([line1.start, line1.end]) == 1.5 - line3 = line(start = [var -50mm, var 11.05mm], end = [var -50mm, var 10.88mm], construction = true) - coincident([line3.start, arc1.center]) - coincident([line3.end, line1.start]) - vertical(line3) - line5 = line(start = [var -48.5mm, var 10.88mm], end = [var -48.5mm, var 11.05mm], construction = true) - coincident([line5.start, line1.end]) - vertical(line5) - verticalDistance([line5.start, arc5.end]) == 1.1 - horizontalDistance([line3.end, ORIGIN]) == length / 2 - arc2 = arc(start = [var -48.66mm, var 10.98mm], end = [var -48.5mm, var 10.88mm], center = [var -48.5mm, var 11.05mm]) - coincident([arc2.start, line6.end]) - tangent([line6, arc2]) - coincident([arc2.end, line5.start]) - coincident([arc2.center, line5.end]) - radius(arc2) == 0.17 - equalLength([line2, line6]) - verticalDistance([ORIGIN, arc2.end]) == minHeight -} -toothRegion = region(segments = [toothProfile.line1]) -singleTooth = extrude(toothRegion, length = -width) -hide(toothProfile) - -// Pattern the single tooth over the length of the rack body -teeth = singleTooth - |> patternLinear3d(axis = [10, 0, 0], distance = 1.59, instances = 63) diff --git a/content/pages/docs/kcl-samples/gear-rack/project.toml b/content/pages/docs/kcl-samples/gear-rack/project.toml deleted file mode 100644 index fa0408f6..00000000 --- a/content/pages/docs/kcl-samples/gear-rack/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "f21e0bbb-7bdd-4205-a777-0cb8950fa035" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/.gitignore b/content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/main.kcl b/content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/main.kcl deleted file mode 100644 index 523b7f2b..00000000 --- a/content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/main.kcl +++ /dev/null @@ -1,47 +0,0 @@ -// Gingerbread Man Cookie Cutter -// A gingerbread man cookie cutter is a charming kitchen tool designed in the iconic silhouette of a little person. Typically crafted from metal (often tin or stainless steel) or durable plastic, this cookie cutter features the distinctive outline of a stylized human figure with a round head, a simple torso, and extended arms and legs. The cutter's edges are sharp enough to cleanly slice through cookie dough but blunt enough to be handled safely. -// Categories: Home & Lifestyle; Tools; 3D Printable - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -thickness = 100 -wallThickness = 10 -scaleFactor = 1.2 - -// create a sketch for the body of the gingerbread man -bodyHalf = sketch(on = XY) { - line1 = line(start = [var 0mm, var 0mm], end = [var -88mm, var -112mm]) - arc2 = arc(start = [var -170mm, var -53mm], end = [var -88mm, var -112mm], center = [var -127.75mm, var -80.77mm]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var -170mm, var -53mm], end = [var -77mm, var 57mm]) - coincident([arc2.start, line3.start]) - line4 = line(start = [var -77mm, var 57mm], end = [var -77mm, var 213mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var -77mm, var 213mm], end = [var -187mm, var 130mm]) - coincident([line4.end, line5.start]) - arc6 = arc(start = [var -232mm, var 195mm], end = [var -187mm, var 130mm], center = [var -210.83mm, var 161.58mm]) - coincident([line5.end, arc6.end]) - line7 = line(start = [var -232mm, var 195mm], end = [var -108mm, var 290mm]) - coincident([arc6.start, line7.start]) - arc8 = arc(start = [var -59mm, var 312mm], end = [var -108mm, var 290mm], center = [var -36.89mm, var 197.18mm]) - coincident([line7.end, arc8.end]) - line9 = line(start = [var -59mm, var 312mm], end = [var -59mm, var 335mm]) - coincident([arc8.start, line9.start]) - arc10 = arc(start = [var 0mm, var 549mm], end = [var -59mm, var 335mm], center = [var 0.6mm, var 433.7mm]) - coincident([line9.end, arc10.end]) - vertical(line4) - vertical(line9) -} - -bodyProfile = bodyHalf - |> mirror2d(axis = Y) - |> scale(x = scaleFactor, y = scaleFactor, z = 1) - -bodyRegion = region(point = [0mm, 260mm], sketch = bodyProfile) - -// create the body -cutter = extrude(bodyRegion, length = thickness) - |> shell(thickness = wallThickness, faces = [START, END]) - -hide([bodyHalf, bodyProfile]) diff --git a/content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/project.toml b/content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/project.toml deleted file mode 100644 index afdabedc..00000000 --- a/content/pages/docs/kcl-samples/gingerbread-man-cookie-cutter/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "4f130547-66c4-4c10-8a51-8dc5da234c13" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/gingerbread-man/.gitignore b/content/pages/docs/kcl-samples/gingerbread-man/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/gingerbread-man/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/gingerbread-man/main.kcl b/content/pages/docs/kcl-samples/gingerbread-man/main.kcl deleted file mode 100644 index 03ef3553..00000000 --- a/content/pages/docs/kcl-samples/gingerbread-man/main.kcl +++ /dev/null @@ -1,390 +0,0 @@ -// Gingerbread Man -// A gingerbread man is a classic holiday cookie shaped like a stylized human figure. Typically made from gingerbread dough - a sweet, spiced mixture containing ginger, cinnamon, nutmeg, cloves, molasses, and brown sugar - these charming cookies are flat with a distinctive form featuring a round head, torso, arms, and legs. The traditional gingerbread man is decorated with icing to create facial features (eyes, mouth, sometimes a nose) and details like buttons down the front, cuffs at the wrists and ankles, and sometimes a bow tie. Candies like raisins, chocolate chips, or colorful gumdrops might be used for embellishments. -// Categories: Art & Design - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -thickness = 50 -eyeDiameter = 30 -gumDropDiameter = 60 -decorationThickness = 10 -mouthInnerScale = 0.85 -mouthInnerScaleCenterX = -1mm -mouthInnerScaleCenterY = 401mm - -bodySketch = sketch(on = XY) { - centerline = line(start = [var 0mm, var 0mm], end = [var 0mm, var 549mm], construction = true) - torsoRiseGuide = line(start = [var 0mm, var 0mm], end = [var 0mm, var 57mm], construction = true) - torsoReachGuide = line(start = [var 0mm, var 57mm], end = [var 77mm, var 57mm], construction = true) - - line1 = line(start = [var 0mm, var 0mm], end = [var -88mm, var -112mm]) - coincident([line1.start, centerline.start]) - coincident([torsoRiseGuide.start, ORIGIN]) - coincident([ - torsoRiseGuide.end, - torsoReachGuide.start - ]) - - arc2 = arc(start = [var -170mm, var -53mm], end = [var -88mm, var -112mm], center = [var -127.75mm, var -80.77mm]) - coincident([line1.end, arc2.end]) - - line3 = line(start = [var -170mm, var -53mm], end = [var -77mm, var 57mm]) - coincident([arc2.start, line3.start]) - - line4 = line(start = [var -77mm, var 57mm], end = [var -77mm, var 213mm]) - coincident([line3.end, line4.start]) - - line5 = line(start = [var -77mm, var 213mm], end = [var -187mm, var 130mm]) - coincident([line4.end, line5.start]) - - arc6 = arc(start = [var -232mm, var 195mm], end = [var -187mm, var 130mm], center = [var -210.83mm, var 161.58mm]) - coincident([line5.end, arc6.end]) - - line7 = line(start = [var -232mm, var 195mm], end = [var -108mm, var 290mm]) - coincident([arc6.start, line7.start]) - - arc8 = arc(start = [var -59mm, var 312mm], end = [var -108mm, var 290mm], center = [var -36.89mm, var 197.18mm]) - coincident([line7.end, arc8.end]) - - line9 = line(start = [var -59mm, var 312mm], end = [var -59mm, var 335mm]) - coincident([arc8.start, line9.start]) - - arc10 = arc(start = [var 0mm, var 549mm], end = [var -59mm, var 335mm], center = [var 0.6mm, var 433.7mm]) - coincident([line9.end, arc10.end]) - coincident([arc10.start, centerline.end]) - - arc11 = arc(start = [var 59mm, var 335mm], end = [var 0mm, var 549mm], center = [var -0.6mm, var 433.7mm]) - coincident([arc10.start, arc11.end]) - - line12 = line(start = [var 59mm, var 335mm], end = [var 59mm, var 312mm]) - coincident([arc11.start, line12.start]) - - arc13 = arc(start = [var 108mm, var 290mm], end = [var 59mm, var 312mm], center = [var 36.89mm, var 197.18mm]) - coincident([line12.end, arc13.end]) - - line14 = line(start = [var 108mm, var 290mm], end = [var 232mm, var 195mm]) - coincident([arc13.start, line14.start]) - - arc15 = arc(start = [var 187mm, var 130mm], end = [var 232mm, var 195mm], center = [var 210.83mm, var 161.58mm]) - coincident([line14.end, arc15.end]) - - line16 = line(start = [var 187mm, var 130mm], end = [var 77mm, var 213mm]) - coincident([arc15.start, line16.start]) - - line17 = line(start = [var 77mm, var 213mm], end = [var 77mm, var 57mm]) - coincident([line16.end, line17.start]) - coincident([torsoReachGuide.end, line17.end]) - - line18 = line(start = [var 77mm, var 57mm], end = [var 170mm, var -53mm]) - coincident([line17.end, line18.start]) - - arc19 = arc(start = [var 88mm, var -112mm], end = [var 170mm, var -53mm], center = [var 127.75mm, var -80.77mm]) - coincident([line18.end, arc19.end]) - - line20 = line(start = [var 88mm, var -112mm], end = [var 0mm, var 0mm]) - coincident([arc19.start, line20.start]) - coincident([line20.end, line1.start]) - coincident([centerline.start, ORIGIN]) - - vertical(centerline) - vertical(torsoRiseGuide) - horizontal(torsoReachGuide) - vertical(line4) - vertical(line9) - vertical(line12) - vertical(line17) - equalLength([line4, line17]) - equalLength([line9, line12]) - distance([centerline.start, centerline.end]) == 549mm - verticalDistance([ - torsoRiseGuide.start, - torsoRiseGuide.end - ]) == 57mm - horizontalDistance([ - torsoReachGuide.start, - torsoReachGuide.end - ]) == 77mm -} -bodyRegion = region(segments = [ - bodySketch.line1, - bodySketch.arc2, - bodySketch.line3, - bodySketch.line4, - bodySketch.line5, - bodySketch.arc6, - bodySketch.line7, - bodySketch.arc8, - bodySketch.line9, - bodySketch.arc10, - bodySketch.arc11, - bodySketch.line12, - bodySketch.arc13, - bodySketch.line14, - bodySketch.arc15, - bodySketch.line16, - bodySketch.line17, - bodySketch.line18, - bodySketch.arc19, - bodySketch.line20 -]) -body = extrude(bodyRegion, length = thickness) - |> appearance(color = "#ad5b25") -hide(bodySketch) - -decorationPlane = offsetPlane(XY, offset = thickness) - -innerMouthSketch = sketch(on = decorationPlane) { - mouthRiseGuide = line(start = [var 0mm, var 0mm], end = [var 0mm, var 401mm], construction = true) - mouthReachGuide = line(start = [var -41mm, var 401mm], end = [var 0mm, var 401mm], construction = true) - arc1 = arc(start = [var -41mm, var 401mm], end = [var 36.53mm, var 402.72mm], center = [var -3mm, var 436.27mm]) - coincident([mouthRiseGuide.start, ORIGIN]) - coincident([ - mouthRiseGuide.end, - mouthReachGuide.end - ]) - coincident([mouthReachGuide.start, arc1.start]) - arc2 = arc(start = [var 53.36mm, var 390.87mm], end = [var 36.53mm, var 402.72mm], center = [var 43.77mm, var 395.13mm]) - coincident([arc1.end, arc2.end]) - arc3 = arc(start = [var -56.28mm, var 391.65mm], end = [var 53.36mm, var 390.87mm], center = [var -1.27mm, var 417.95mm]) - coincident([arc2.start, arc3.end]) - arc4 = arc(start = [var -41mm, var 401mm], end = [var -56.28mm, var 391.65mm], center = [var -48.34mm, var 395.83mm]) - coincident([arc3.start, arc4.end]) - vertical(mouthRiseGuide) - horizontal(mouthReachGuide) - verticalDistance([ - mouthRiseGuide.start, - mouthRiseGuide.end - ]) == 401mm - horizontalDistance([ - mouthReachGuide.start, - mouthReachGuide.end - ]) == 41mm - coincident([arc1.start, arc4.start]) -} -innerMouthRegion = region(segments = [ - innerMouthSketch.arc1, - innerMouthSketch.arc2, - innerMouthSketch.arc3, - innerMouthSketch.arc4 -]) -mouthInner = extrude(innerMouthRegion, length = decorationThickness) - |> translate(x = 0mm - mouthInnerScaleCenterX, y = 0mm - mouthInnerScaleCenterY, global = true) - |> translate(x = mouthInnerScaleCenterX, y = mouthInnerScaleCenterY, global = true) -hide(innerMouthSketch) - -mouthSketch = sketch(on = decorationPlane) { - mouthRiseGuide = line(start = [var 0mm, var 0mm], end = [var 0mm, var 405.86mm], construction = true) - mouthReachGuide = line(start = [var -37.56mm, var 405.86mm], end = [var 0mm, var 405.86mm], construction = true) - arc1 = arc(start = [var -37.56mm, var 405.86mm], end = [var 32.63mm, var 404.52mm], center = [var -1.73mm, var 443.68mm]) - coincident([mouthRiseGuide.start, ORIGIN]) - coincident([ - mouthRiseGuide.end, - mouthReachGuide.end - ]) - coincident([mouthReachGuide.start, arc1.start]) - arc2 = arc(start = [var 56.91mm, var 389.24mm], end = [var 32.63mm, var 404.52mm], center = [var 43.64mm, var 395.07mm]) - coincident([arc1.end, arc2.end]) - arc3 = arc(start = [var -60.97mm, var 391.45mm], end = [var 56.91mm, var 389.24mm], center = [var -1.57mm, var 414.93mm]) - coincident([arc2.start, arc3.end]) - arc4 = arc(start = [var -37.56mm, var 405.86mm], end = [var -60.97mm, var 391.45mm], center = [var -46.34mm, var 393.9mm]) - coincident([arc3.start, arc4.end]) - vertical(mouthRiseGuide) - horizontal(mouthReachGuide) - verticalDistance([ - mouthRiseGuide.start, - mouthRiseGuide.end - ]) == 405.86mm - horizontalDistance([ - mouthReachGuide.start, - mouthReachGuide.end - ]) == 37.56mm - coincident([arc4.start, arc1.start]) -} -mouthRegion = region(segments = [ - mouthSketch.arc1, - mouthSketch.arc2, - mouthSketch.arc3, - mouthSketch.arc4 -]) -mouthOuter = extrude(mouthRegion, length = decorationThickness) -mouth = subtract([mouthOuter], tools = [mouthInner]) - |> appearance(color = "#ff0000") -hide(mouthSketch) - -eyesSketch = sketch(on = decorationPlane) { - eyeRiseGuide = line(start = [var 0mm, var 0mm], end = [var 0mm, var 440mm], construction = true) - eyeReachGuide = line(start = [var -55mm, var 440mm], end = [var 0mm, var 440mm], construction = true) - circle1 = circle(start = [var -40mm, var 440mm], center = [var -55mm, var 440mm]) - coincident([eyeRiseGuide.start, ORIGIN]) - coincident([eyeRiseGuide.end, eyeReachGuide.end]) - coincident([eyeReachGuide.start, circle1.center]) - vertical(eyeRiseGuide) - horizontal(eyeReachGuide) - verticalDistance([eyeRiseGuide.start, eyeRiseGuide.end]) == 440mm - horizontalDistance([eyeReachGuide.start, eyeReachGuide.end]) == 55mm - distance([circle1.center, circle1.start]) == eyeDiameter / 2 -} -eyesRegion = region(segments = [eyesSketch.circle1]) -eyes = extrude(eyesRegion, length = decorationThickness) - |> appearance(color = "#ffffff") - |> patternLinear3d(instances = 2, distance = 110, axis = [1, 0, 0]) -hide(eyesSketch) - -buttonsSketch = sketch(on = decorationPlane) { - buttonGuide = line(start = [var 0mm, var 0mm], end = [var 0mm, var 250mm], construction = true) - circle1 = circle(start = [var 30mm, var 250mm], center = [var 0mm, var 250mm]) - coincident([buttonGuide.start, ORIGIN]) - coincident([buttonGuide.end, circle1.center]) - vertical(buttonGuide) - distance([buttonGuide.start, buttonGuide.end]) == 250mm - distance([circle1.center, circle1.start]) == gumDropDiameter / 2 -} -buttonsRegion = region(segments = [buttonsSketch.circle1]) -buttons = extrude(buttonsRegion, length = decorationThickness) - |> appearance(color = "#fb00ff") - |> patternLinear3d(instances = 2, distance = 75, axis = [0, -1, 0]) -hide(buttonsSketch) - -eyebrowSketch = sketch(on = decorationPlane) { - eyebrowRiseGuide = line(start = [var 0mm, var 0mm], end = [var 0mm, var 503.47mm], construction = true) - eyebrowReachGuide = line(start = [var -37.9mm, var 503.47mm], end = [var 0mm, var 503.47mm], construction = true) - arc1 = arc(start = [var -37.9mm, var 503.47mm], end = [var -73.02mm, var 483.5mm], center = [var -45.82mm, var 476.53mm]) - coincident([eyebrowRiseGuide.start, ORIGIN]) - coincident([ - eyebrowRiseGuide.end, - eyebrowReachGuide.end - ]) - coincident([eyebrowReachGuide.start, arc1.start]) - arc2 = arc(start = [var -37.9mm, var 503.47mm], end = [var -34.91mm, var 514.62mm], center = [var -36.27mm, var 509.01mm]) - coincident([arc1.start, arc2.start]) - arc3 = arc(start = [var -34.91mm, var 514.62mm], end = [var -86.17mm, var 485mm], center = [var -45.03mm, var 472.96mm]) - coincident([arc2.end, arc3.start]) - tangent([arc1, arc2]) - tangent([arc2, arc3]) - vertical(eyebrowRiseGuide) - horizontal(eyebrowReachGuide) - verticalDistance([ - eyebrowRiseGuide.start, - eyebrowRiseGuide.end - ]) == 503.47mm - horizontalDistance([ - eyebrowReachGuide.start, - eyebrowReachGuide.end - ]) == 37.9mm - arc5 = arc(start = [var -86.17mm, var 485mm], end = [var -73.02mm, var 483.5mm], center = [var -79.72mm, var 483.11mm]) - coincident([arc5.start, arc3.end]) - coincident([arc5.end, arc1.end]) -} -eyebrowRegion = region(segments = [eyebrowSketch.arc2, eyebrowSketch.arc3], direction = CCW) -eyebrow = extrude(eyebrowRegion, length = decorationThickness) - |> appearance(color = "#00fffb") - |> patternCircular3d( - instances = 2, - axis = [0, 1, 0], - center = [ - 0, - 0, - thickness + decorationThickness / 2 - ], - arcDegrees = 360, - rotateDuplicates = true, - ) -hide(eyebrowSketch) - -beltSketch = sketch(on = decorationPlane) { - beltAnchor = line(start = [var -59.59mm, var 99.65mm], end = [var 0mm, var 0mm], construction = true) - arc1 = arc(start = [var -59.59mm, var 99.65mm], end = [var -21.76mm, var 95.98mm], center = [var -39.39mm, var 111.05mm]) - coincident([beltAnchor.start, arc1.start]) - coincident([beltAnchor.end, ORIGIN]) - arc2 = arc(start = [var 17.69mm, var 96.41mm], end = [var -21.76mm, var 95.98mm], center = [var -1.82mm, var 76.97mm]) - coincident([arc1.end, arc2.end]) - arc3 = arc(start = [var 17.69mm, var 96.41mm], end = [var 59.1mm, var 96.85mm], center = [var 38.3mm, var 105.84mm]) - coincident([arc2.start, arc3.start]) - arc4 = arc(start = [var 69.37mm, var 92.09mm], end = [var 59.1mm, var 96.85mm], center = [var 63.86mm, var 93.67mm]) - coincident([arc3.end, arc4.end]) - arc5 = arc(start = [var 41.83mm, var 72.03mm], end = [var 69.37mm, var 92.09mm], center = [var 43.12mm, var 99.2mm]) - coincident([arc4.start, arc5.end]) - arc6 = arc(start = [var 10.66mm, var 89.4mm], end = [var 41.83mm, var 72.03mm], center = [var 43.78mm, var 112.2mm]) - coincident([arc5.start, arc6.end]) - arc7 = arc(start = [var 10.66mm, var 89.4mm], end = [var -14.61mm, var 87.41mm], center = [var -1.4mm, var 81.1mm]) - coincident([arc6.start, arc7.start]) - arc8 = arc(start = [var -43.82mm, var 78.02mm], end = [var -14.61mm, var 87.41mm], center = [var -33.66mm, var 96.56mm]) - coincident([arc7.end, arc8.end]) - arc9 = arc(start = [var -66.06mm, var 99.61mm], end = [var -43.82mm, var 78.02mm], center = [var -15.29mm, var 129.69mm]) - coincident([arc8.start, arc9.end]) - arc10 = arc(start = [var -59.59mm, var 99.65mm], end = [var -66.06mm, var 99.61mm], center = [var -62.85mm, var 103.25mm]) - coincident([arc9.start, arc10.end]) - tangent([arc6, arc7]) - horizontalDistance([beltAnchor.start, beltAnchor.end]) == 59.59mm - verticalDistance([beltAnchor.end, beltAnchor.start]) == 99.65mm - coincident([arc10.start, arc1.start]) -} -beltRegion = region(segments = [ - beltSketch.arc1, - beltSketch.arc2, - beltSketch.arc3, - beltSketch.arc4, - beltSketch.arc5, - beltSketch.arc6, - beltSketch.arc7, - beltSketch.arc8, - beltSketch.arc9, - beltSketch.arc10 -]) -belt = extrude(beltRegion, length = decorationThickness) - |> appearance(color = "#ffffff") - |> patternCircular3d( - instances = 1, - axis = [0, 1, 0], - center = [ - 0, - 0, - thickness + decorationThickness / 2 - ], - arcDegrees = 360, - rotateDuplicates = false, - ) -hide(beltSketch) - -cuffSketch = sketch(on = decorationPlane) { - cuffRiseGuide = line(start = [var 0mm, var 0mm], end = [var 0mm, var 184.88mm], construction = true) - cuffReachGuide = line(start = [var -224.97mm, var 184.88mm], end = [var 0mm, var 184.88mm], construction = true) - arc1 = arc(start = [var -224.97mm, var 184.88mm], end = [var -207.34mm, var 167.5mm], center = [var -209.07mm, var 183.37mm]) - coincident([cuffRiseGuide.start, ORIGIN]) - coincident([cuffRiseGuide.end, cuffReachGuide.end]) - coincident([cuffReachGuide.start, arc1.start]) - arc2 = arc(start = [var -189.21mm, var 143.41mm], end = [var -207.34mm, var 167.5mm], center = [var -205.3mm, var 150.17mm]) - coincident([arc1.end, arc2.end]) - arc3 = arc(start = [var -196.41mm, var 145.15mm], end = [var -189.21mm, var 143.41mm], center = [var -192.67mm, var 144.86mm]) - coincident([arc2.start, arc3.end]) - arc4 = arc(start = [var -196.41mm, var 145.15mm], end = [var -208.33mm, var 158.31mm], center = [var -208.6mm, var 146.08mm]) - coincident([arc3.start, arc4.start]) - arc5 = arc(start = [var -232.92mm, var 185.38mm], end = [var -208.33mm, var 158.31mm], center = [var -207.76mm, var 183.53mm]) - coincident([arc4.end, arc5.end]) - arc6 = arc(start = [var -224.97mm, var 184.88mm], end = [var -232.92mm, var 185.38mm], center = [var -228.95mm, var 185.09mm]) - coincident([arc5.start, arc6.end]) - tangent([arc3, arc4]) - vertical(cuffRiseGuide) - horizontal(cuffReachGuide) - verticalDistance([cuffRiseGuide.start, cuffRiseGuide.end]) == 184.88mm - horizontalDistance([ - cuffReachGuide.start, - cuffReachGuide.end - ]) == 224.97mm - coincident([arc6.start, arc1.start]) -} -cuffRegion = region(segments = [cuffSketch.arc1, cuffSketch.arc2], direction = CW) -cuffs = extrude(cuffRegion, length = decorationThickness) - |> appearance(color = "#ffffff") - |> patternCircular3d( - instances = 2, - axis = [0, 1, 0], - center = [ - 0, - 0, - thickness + decorationThickness / 2 - ], - arcDegrees = 360, - rotateDuplicates = true, - ) -hide(cuffSketch) diff --git a/content/pages/docs/kcl-samples/gingerbread-man/project.toml b/content/pages/docs/kcl-samples/gingerbread-man/project.toml deleted file mode 100644 index ce5d8e49..00000000 --- a/content/pages/docs/kcl-samples/gingerbread-man/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "9e034333-8d5f-4de7-8402-b368d34c6216" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/golf-tee/.gitignore b/content/pages/docs/kcl-samples/golf-tee/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/golf-tee/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/golf-tee/main.kcl b/content/pages/docs/kcl-samples/golf-tee/main.kcl deleted file mode 100644 index 63d7be7c..00000000 --- a/content/pages/docs/kcl-samples/golf-tee/main.kcl +++ /dev/null @@ -1,55 +0,0 @@ -// Golf Tee -// A parametric model of a golf tee with realistic proportions, including a pointed tip, cylindrical shaft, and flared cup to hold the ball. Designed for prototyping, printing, or sports equipment simulations. -// Categories: Toys, Games, & Recreation; 3D Printable; Parametric - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Primary dimensions -teeHeight = 70 -tipHeight = 10 -cupHeight = 14.6 -cupDepth = 2 -shaftDiameter = 4.5 -cupDiameter = 14.6 - -// Derived values for constraints -shaftRadius = shaftDiameter / 2 -cupOuterRadius = cupDiameter / 2 - -// Revolve profile on YZ -teeProfile = sketch(on = YZ) { - tipEdge = line(start = [var 0mm, var 0mm], end = [var 2.25mm, var 10mm]) - coincident([tipEdge.start, ORIGIN]) - - shaftEdge = line(start = [var 2.25mm, var 10mm], end = [var 2.25mm, var 55.4mm]) - coincident([tipEdge.end, shaftEdge.start]) - - flareEdge = line(start = [var 2.25mm, var 55.4mm], end = [var 7.3mm, var 70mm]) - coincident([shaftEdge.end, flareEdge.start]) - - cupLipArc = arc(start = [var 0mm, var 68mm], end = [var 7.3mm, var 70mm], center = [var 0mm, var 82.32mm]) - coincident([cupLipArc.end, flareEdge.end]) - - axisEdge = line(start = [var 0mm, var 68mm], end = [var 0mm, var 0mm]) - coincident([axisEdge.start, cupLipArc.start]) - coincident([axisEdge.end, tipEdge.start]) - - cupDepthGuide = line(start = [var 0mm, var 68mm], end = [var 0mm, var 82.32mm], construction = true) - coincident([cupDepthGuide.start, axisEdge.start]) - coincident([cupDepthGuide.end, cupLipArc.center]) - - vertical(axisEdge) - vertical(shaftEdge) - vertical(cupDepthGuide) - - verticalDistance([axisEdge.end, cupLipArc.end]) == teeHeight - verticalDistance([tipEdge.start, tipEdge.end]) == tipHeight - verticalDistance([flareEdge.start, flareEdge.end]) == cupHeight - verticalDistance([cupDepthGuide.start, cupLipArc.end]) == cupDepth - horizontalDistance([axisEdge.end, shaftEdge.start]) == shaftRadius - horizontalDistance([cupDepthGuide.start, cupLipArc.end]) == cupOuterRadius -} - -teeRegion = region(segments = [teeProfile.tipEdge]) -hide(teeProfile) -golfTee = revolve(teeRegion, axis = Y, angle = 360) diff --git a/content/pages/docs/kcl-samples/golf-tee/project.toml b/content/pages/docs/kcl-samples/golf-tee/project.toml deleted file mode 100644 index d3825269..00000000 --- a/content/pages/docs/kcl-samples/golf-tee/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "53d6c20a-0623-41ff-a24a-9579613b7ed3" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/gridfinity-baseplate-magnets/main.kcl b/content/pages/docs/kcl-samples/gridfinity-baseplate-magnets/main.kcl deleted file mode 100644 index c9c69f36..00000000 --- a/content/pages/docs/kcl-samples/gridfinity-baseplate-magnets/main.kcl +++ /dev/null @@ -1,298 +0,0 @@ -// Gridfinity Baseplate With Magnets -// A two-by-three Gridfinity baseplate profile, ready for magnetic bin retention. -// Categories: Home & Lifestyle; 3D Printable; Parametric - -// Set units in millimeters (mm) -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -binLength = 42.0 -cornerRadius = 4.0 -firstStep = 0.7 -secondStep = 1.8 -thirdStep = 2.15 -magOuterDiam = 6.5 -magDepth = 2.4 - -countBinWidth = 2 -countBinLength = 3 - -height = firstStep + secondStep + thirdStep - -baseFacePlane = offsetPlane(YZ, offset = cornerRadius) -baseFaceSketch = sketch(on = baseFacePlane) { - line1 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 4.65mm]) - line2 = line(start = [var 0mm, var 4.65mm], end = [var 2.15mm, var 2.5mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 2.15mm, var 2.5mm], end = [var 2.15mm, var 0.7mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 2.15mm, var 0.7mm], end = [var 2.85mm, var 0mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 2.85mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line4.end, line5.start]) - coincident([line5.end, line1.start]) - coincident([line1.start, ORIGIN]) - guide1 = line(start = [var 0mm, var 0mm], end = [var 2.15mm, var 0mm], construction = true) - coincident([guide1.start, line1.start]) - guide2 = line(start = [var 2.15mm, var 0mm], end = [var 2.15mm, var 2.5mm], construction = true) - coincident([guide1.end, guide2.start]) - coincident([guide2.end, line2.end]) - guide3 = line(start = [var 0mm, var 0mm], end = [var 2.85mm, var 0mm], construction = true) - coincident([guide3.start, line1.start]) - coincident([guide3.end, line4.end]) - guide4 = line(start = [var 2.15mm, var 0mm], end = [var 2.15mm, var 0.7mm], construction = true) - coincident([guide4.start, guide1.end]) - coincident([guide4.end, line3.end]) - vertical(line1) - vertical(line3) - horizontal(guide1) - vertical(guide2) - horizontal(guide3) - vertical(guide4) - distance([line1.start, line1.end]) == height - distance([guide1.start, guide1.end]) == thirdStep - distance([guide2.start, guide2.end]) == firstStep + secondStep - distance([guide3.start, guide3.end]) == thirdStep + firstStep - distance([guide4.start, guide4.end]) == firstStep -} -baseFaceRegion = region(segments = [baseFaceSketch.line1]) -singleSide = extrude(baseFaceRegion, length = binLength - (cornerRadius * 2)) - -sides = patternCircular3d( - singleSide, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [binLength / 2, binLength / 2, 0], - instances = 4, - rotateDuplicates = true, -) - -axis000 = { - direction = [0.0, 1.0], - origin = [cornerRadius, cornerRadius] -} - -cornerFaceRegion = region(segments = [baseFaceSketch.line1]) -singleCorner = revolve(cornerFaceRegion, angle = -90deg, axis = axis000) -hide(baseFaceSketch) - -corners = patternCircular3d( - singleCorner, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [binLength / 2, binLength / 2, 0], - instances = 4, - rotateDuplicates = true, -) - -basePlateSides = patternLinear3d( - sides, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength) - -basePlateCorners = patternLinear3d( - corners, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength) - -// Recreate the two legacy magnet-base layers. The first layer has four -// magnet bores per cell; the lower layer retains the same rounded center -// opening without those bores. -magnetBaseSketch = sketch(on = XY) { - bottomEdge = line(start = [var 0mm, var 0mm], end = [var 42mm, var 0mm]) - rightEdge = line(start = [var 42mm, var 0mm], end = [var 42mm, var 42mm]) - topEdge = line(start = [var 42mm, var 42mm], end = [var 0mm, var 42mm]) - leftEdge = line(start = [var 0mm, var 42mm], end = [var 0mm, var 0mm]) - coincident([bottomEdge.end, rightEdge.start]) - coincident([rightEdge.end, topEdge.start]) - coincident([topEdge.end, leftEdge.start]) - coincident([leftEdge.end, bottomEdge.start]) - coincident([bottomEdge.start, ORIGIN]) - horizontal(bottomEdge) - vertical(rightEdge) - horizontal(topEdge) - vertical(leftEdge) - distance([bottomEdge.start, bottomEdge.end]) == binLength - distance([rightEdge.start, rightEdge.end]) == binLength - - centerLine1 = line(start = [var 2.85mm, var 13mm], end = [var 2.85mm, var 29mm]) - centerLine2 = line(start = [var 2.85mm, var 29mm], end = [var 9.75mm, var 29mm]) - centerArc3 = arc(start = [var 9.75mm, var 29mm], end = [var 13mm, var 32.25mm], center = [var 9.75mm, var 32.25mm]) - centerLine4 = line(start = [var 13mm, var 32.25mm], end = [var 13mm, var 39.15mm]) - centerLine5 = line(start = [var 13mm, var 39.15mm], end = [var 29mm, var 39.15mm]) - centerLine6 = line(start = [var 29mm, var 39.15mm], end = [var 29mm, var 32.25mm]) - centerArc7 = arc(start = [var 29mm, var 32.25mm], end = [var 32.25mm, var 29mm], center = [var 32.25mm, var 32.25mm]) - centerLine8 = line(start = [var 32.25mm, var 29mm], end = [var 39.15mm, var 29mm]) - centerLine9 = line(start = [var 39.15mm, var 29mm], end = [var 39.15mm, var 13mm]) - centerLine10 = line(start = [var 39.15mm, var 13mm], end = [var 32.25mm, var 13mm]) - centerArc11 = arc(start = [var 32.25mm, var 13mm], end = [var 29mm, var 9.75mm], center = [var 32.25mm, var 9.75mm]) - centerLine12 = line(start = [var 29mm, var 9.75mm], end = [var 29mm, var 2.85mm]) - centerLine13 = line(start = [var 29mm, var 2.85mm], end = [var 13mm, var 2.85mm]) - centerLine14 = line(start = [var 13mm, var 2.85mm], end = [var 13mm, var 9.75mm]) - centerArc15 = arc(start = [var 13mm, var 9.75mm], end = [var 9.75mm, var 13mm], center = [var 9.75mm, var 9.75mm]) - centerLine16 = line(start = [var 9.75mm, var 13mm], end = [var 2.85mm, var 13mm]) - coincident([centerLine1.end, centerLine2.start]) - coincident([centerLine2.end, centerArc3.start]) - coincident([centerArc3.end, centerLine4.start]) - coincident([centerLine4.end, centerLine5.start]) - coincident([centerLine5.end, centerLine6.start]) - coincident([centerLine6.end, centerArc7.start]) - coincident([centerArc7.end, centerLine8.start]) - coincident([centerLine8.end, centerLine9.start]) - coincident([centerLine9.end, centerLine10.start]) - coincident([centerLine10.end, centerArc11.start]) - coincident([centerArc11.end, centerLine12.start]) - coincident([centerLine12.end, centerLine13.start]) - coincident([centerLine13.end, centerLine14.start]) - coincident([centerLine14.end, centerArc15.start]) - coincident([centerArc15.end, centerLine16.start]) - coincident([centerLine16.end, centerLine1.start]) - - bore1 = circle(start = [var 11.25mm, var 8mm], center = [var 8mm, var 8mm]) - bore2 = circle(start = [var 37.25mm, var 8mm], center = [var 34mm, var 8mm]) - bore3 = circle(start = [var 37.25mm, var 34mm], center = [var 34mm, var 34mm]) - bore4 = circle(start = [var 11.25mm, var 34mm], center = [var 8mm, var 34mm]) - radius(bore1) == magOuterDiam / 2 - radius(bore2) == magOuterDiam / 2 - radius(bore3) == magOuterDiam / 2 - radius(bore4) == magOuterDiam / 2 -} -magnetBaseRegion = region(segments = [ - magnetBaseSketch.bottomEdge, - magnetBaseSketch.rightEdge -]) - -magnetLayerCut = extrude(magnetBaseRegion, length = -magDepth) -magnetLayer = fillet( - magnetLayerCut, - radius = cornerRadius, - edges = [ - { - sideFaces = [ - magnetBaseRegion.tags.bottomEdge, - magnetBaseRegion.tags.rightEdge - ] - }, - { - sideFaces = [ - magnetBaseRegion.tags.rightEdge, - magnetBaseRegion.tags.topEdge - ] - }, - { - sideFaces = [ - magnetBaseRegion.tags.topEdge, - magnetBaseRegion.tags.leftEdge - ] - }, - { - sideFaces = [ - magnetBaseRegion.tags.leftEdge, - magnetBaseRegion.tags.bottomEdge - ] - } - ], -) -magnetLayers = patternLinear3d( - magnetLayer, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength) - -lowerMagnetBaseSketch = sketch(on = offsetPlane(XY, offset = -magDepth)) { - bottomEdge = line(start = [var 0mm, var 0mm], end = [var 42mm, var 0mm]) - rightEdge = line(start = [var 42mm, var 0mm], end = [var 42mm, var 42mm]) - topEdge = line(start = [var 42mm, var 42mm], end = [var 0mm, var 42mm]) - leftEdge = line(start = [var 0mm, var 42mm], end = [var 0mm, var 0mm]) - coincident([bottomEdge.end, rightEdge.start]) - coincident([rightEdge.end, topEdge.start]) - coincident([topEdge.end, leftEdge.start]) - coincident([leftEdge.end, bottomEdge.start]) - - centerLine1 = line(start = [var 2.85mm, var 13mm], end = [var 2.85mm, var 29mm]) - centerLine2 = line(start = [var 2.85mm, var 29mm], end = [var 9.75mm, var 29mm]) - centerArc3 = arc(start = [var 9.75mm, var 29mm], end = [var 13mm, var 32.25mm], center = [var 9.75mm, var 32.25mm]) - centerLine4 = line(start = [var 13mm, var 32.25mm], end = [var 13mm, var 39.15mm]) - centerLine5 = line(start = [var 13mm, var 39.15mm], end = [var 29mm, var 39.15mm]) - centerLine6 = line(start = [var 29mm, var 39.15mm], end = [var 29mm, var 32.25mm]) - centerArc7 = arc(start = [var 29mm, var 32.25mm], end = [var 32.25mm, var 29mm], center = [var 32.25mm, var 32.25mm]) - centerLine8 = line(start = [var 32.25mm, var 29mm], end = [var 39.15mm, var 29mm]) - centerLine9 = line(start = [var 39.15mm, var 29mm], end = [var 39.15mm, var 13mm]) - centerLine10 = line(start = [var 39.15mm, var 13mm], end = [var 32.25mm, var 13mm]) - centerArc11 = arc(start = [var 32.25mm, var 13mm], end = [var 29mm, var 9.75mm], center = [var 32.25mm, var 9.75mm]) - centerLine12 = line(start = [var 29mm, var 9.75mm], end = [var 29mm, var 2.85mm]) - centerLine13 = line(start = [var 29mm, var 2.85mm], end = [var 13mm, var 2.85mm]) - centerLine14 = line(start = [var 13mm, var 2.85mm], end = [var 13mm, var 9.75mm]) - centerArc15 = arc(start = [var 13mm, var 9.75mm], end = [var 9.75mm, var 13mm], center = [var 9.75mm, var 9.75mm]) - centerLine16 = line(start = [var 9.75mm, var 13mm], end = [var 2.85mm, var 13mm]) - coincident([centerLine1.end, centerLine2.start]) - coincident([centerLine2.end, centerArc3.start]) - coincident([centerArc3.end, centerLine4.start]) - coincident([centerLine4.end, centerLine5.start]) - coincident([centerLine5.end, centerLine6.start]) - coincident([centerLine6.end, centerArc7.start]) - coincident([centerArc7.end, centerLine8.start]) - coincident([centerLine8.end, centerLine9.start]) - coincident([centerLine9.end, centerLine10.start]) - coincident([centerLine10.end, centerArc11.start]) - coincident([centerArc11.end, centerLine12.start]) - coincident([centerLine12.end, centerLine13.start]) - coincident([centerLine13.end, centerLine14.start]) - coincident([centerLine14.end, centerArc15.start]) - coincident([centerArc15.end, centerLine16.start]) - coincident([centerLine16.end, centerLine1.start]) -} -lowerMagnetBaseRegion = region(segments = [ - lowerMagnetBaseSketch.bottomEdge, - lowerMagnetBaseSketch.rightEdge -]) -lowerMagnetBaseCut = extrude(lowerMagnetBaseRegion, length = -magDepth) -lowerMagnetBase = fillet( - lowerMagnetBaseCut, - radius = cornerRadius, - edges = [ - { - sideFaces = [ - lowerMagnetBaseRegion.tags.bottomEdge, - lowerMagnetBaseRegion.tags.rightEdge - ] - }, - { - sideFaces = [ - lowerMagnetBaseRegion.tags.rightEdge, - lowerMagnetBaseRegion.tags.topEdge - ] - }, - { - sideFaces = [ - lowerMagnetBaseRegion.tags.topEdge, - lowerMagnetBaseRegion.tags.leftEdge - ] - }, - { - sideFaces = [ - lowerMagnetBaseRegion.tags.leftEdge, - lowerMagnetBaseRegion.tags.bottomEdge - ] - } - ], -) -lowerMagnetBases = patternLinear3d( - lowerMagnetBase, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength) - -hide([ - magnetBaseSketch, - lowerMagnetBaseSketch -]) diff --git a/content/pages/docs/kcl-samples/gridfinity-baseplate/.gitignore b/content/pages/docs/kcl-samples/gridfinity-baseplate/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/gridfinity-baseplate/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/gridfinity-baseplate/main.kcl b/content/pages/docs/kcl-samples/gridfinity-baseplate/main.kcl deleted file mode 100644 index d8d602f1..00000000 --- a/content/pages/docs/kcl-samples/gridfinity-baseplate/main.kcl +++ /dev/null @@ -1,99 +0,0 @@ -// Gridfinity Baseplate -// Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion -// Categories: Home & Lifestyle; 3D Printable; Parametric - -// Set units in millimeters (mm) -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -binLength = 42.0 -cornerRadius = 4.0 -firstStep = 0.7 -secondStep = 1.8 -thirdStep = 2.15 - -countBinWidth = 2 -countBinLength = 3 - -height = firstStep + secondStep + thirdStep - -baseFacePlane = offsetPlane(YZ, offset = cornerRadius) -baseFaceSketch = sketch(on = baseFacePlane) { - line1 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 4.65mm]) - line2 = line(start = [var 0mm, var 4.65mm], end = [var 2.15mm, var 2.5mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 2.15mm, var 2.5mm], end = [var 2.15mm, var 0.7mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 2.15mm, var 0.7mm], end = [var 2.85mm, var 0mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 2.85mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line4.end, line5.start]) - coincident([line5.end, line1.start]) - coincident([line1.start, ORIGIN]) - guide1 = line(start = [var 0mm, var 0mm], end = [var 2.15mm, var 0mm], construction = true) - coincident([guide1.start, line1.start]) - guide2 = line(start = [var 2.15mm, var 0mm], end = [var 2.15mm, var 2.5mm], construction = true) - coincident([guide1.end, guide2.start]) - coincident([guide2.end, line2.end]) - guide3 = line(start = [var 0mm, var 0mm], end = [var 2.85mm, var 0mm], construction = true) - coincident([guide3.start, line1.start]) - coincident([guide3.end, line4.end]) - guide4 = line(start = [var 2.15mm, var 0mm], end = [var 2.15mm, var 0.7mm], construction = true) - coincident([guide4.start, guide1.end]) - coincident([guide4.end, line3.end]) - vertical(line1) - vertical(line3) - horizontal(guide1) - vertical(guide2) - horizontal(guide3) - vertical(guide4) - distance([line1.start, line1.end]) == height - distance([guide1.start, guide1.end]) == thirdStep - distance([guide2.start, guide2.end]) == firstStep + secondStep - distance([guide3.start, guide3.end]) == thirdStep + firstStep - distance([guide4.start, guide4.end]) == firstStep -} -baseFaceRegion = region(segments = [baseFaceSketch.line1]) -singleSide = extrude(baseFaceRegion, length = binLength - (cornerRadius * 2)) - -sides = patternCircular3d( - singleSide, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [binLength / 2, binLength / 2, 0], - instances = 4, - rotateDuplicates = true, -) - -axis000 = { - direction = [0.0, 1.0], - origin = [cornerRadius, cornerRadius] -} - -cornerFaceRegion = region(segments = [baseFaceSketch.line1]) -singleCorner = revolve(cornerFaceRegion, angle = -90deg, axis = axis000) -hide(baseFaceSketch) - -corners = patternCircular3d( - singleCorner, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [binLength / 2, binLength / 2, 0], - instances = 4, - rotateDuplicates = true, -) - -basePlateSides = patternLinear3d( - sides, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength) - -basePlateCorners = patternLinear3d( - corners, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength) diff --git a/content/pages/docs/kcl-samples/gridfinity-baseplate/project.toml b/content/pages/docs/kcl-samples/gridfinity-baseplate/project.toml deleted file mode 100644 index 9d061fca..00000000 --- a/content/pages/docs/kcl-samples/gridfinity-baseplate/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "73d0c7ea-4643-4017-a485-8536b6cfebc5" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/.gitignore b/content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/main.kcl b/content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/main.kcl deleted file mode 100644 index dbb33607..00000000 --- a/content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/main.kcl +++ /dev/null @@ -1,492 +0,0 @@ -// Gridfinity Bins With A Stacking Lip -// Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion. This Gridfinity bins version includes a lip to allowable stacking Gridfinity bins -// Categories: Home & Lifestyle; 3D Printable; Parametric - -// Set units in millimeters (mm) -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -binLength = 41.5 -binHeight = 7.0 -binBaseLength = 2.95 -binTol = 0.25 -binThk = 1.2 -cornerRadius = 3.75 -firstStep = 0.8 -secondStep = 1.8 -thirdStep = 2.15 -magOuterDiam = 6.5 -magOffset = 4.8 -magDepth = 2.4 -lipRadius = 0.5 -lipStep1 = 1.4 -lipStep2 = 1.2 -lipStep3 = 0.7 -lipStep4 = 1.8 -lipStep5 = 1.9 - -countBinWidth = 2 -countBinLength = 3 -countBinHeight = 1 - -height = firstStep + secondStep + thirdStep -lipHeight = lipStep1 + lipStep2 + lipStep3 + lipStep4 + lipStep5 -totalWidth = (binLength + 2 * binTol) * countBinWidth -totalLength = (binLength + 2 * binTol) * countBinLength -baseFaceStartX = binBaseLength + binTol -baseFaceMidX = binTol + thirdStep -baseFaceTopY = firstStep + secondStep -baseFaceHeight = height -binTopRightX = totalWidth - cornerRadius -binTopOuterX = totalWidth -binTopTopY = totalLength -binTopInnerY = totalLength - cornerRadius - -baseFacePlane = offsetPlane(YZ, offset = cornerRadius + binTol) -baseFaceSketch = sketch(on = baseFacePlane) { - baseOffset = line(start = [var 0mm, var 0mm], end = [var 3.2mm, var 0mm], construction = true) - coincident([baseOffset.start, ORIGIN]) - line1 = line(start = [var 3.2mm, var 0mm], end = [var 3.2mm, var 4.75mm]) - coincident([baseOffset.end, line1.start]) - line2 = line(start = [var 3.2mm, var 4.75mm], end = [var 0.25mm, var 4.75mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 0.25mm, var 4.75mm], end = [var 2.4mm, var 2.6mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 2.4mm, var 2.6mm], end = [var 2.4mm, var 0.8mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 2.4mm, var 0.8mm], end = [var 3.2mm, var 0mm]) - coincident([line4.end, line5.start]) - coincident([line5.end, line1.start]) - midBaseGuide = line(start = [var 0mm, var 0mm], end = [var 2.4mm, var 0mm], construction = true) - coincident([midBaseGuide.start, baseOffset.start]) - midTopGuide = line(start = [var 2.4mm, var 0mm], end = [var 2.4mm, var 2.6mm], construction = true) - coincident([midTopGuide.start, midBaseGuide.end]) - coincident([midTopGuide.end, line4.start]) - horizontal(baseOffset) - vertical(line1) - horizontal(line2) - vertical(line4) - horizontal(midBaseGuide) - vertical(midTopGuide) - distance([baseOffset.start, baseOffset.end]) == binBaseLength + binTol - distance([line1.start, line1.end]) == height - distance([line2.end, line2.start]) == binBaseLength - distance([midBaseGuide.start, midBaseGuide.end]) == binTol + thirdStep - distance([midTopGuide.start, midTopGuide.end]) == firstStep + secondStep - distance([line4.start, line4.end]) == secondStep -} -baseFaceRegion = region(segments = [baseFaceSketch.line1]) -singleSide = extrude(baseFaceRegion, length = binLength - (cornerRadius * 2)) - -sides = patternCircular3d( - singleSide, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [ - (binLength + 2 * binTol) / 2, - (binLength + 2 * binTol) / 2, - 0 - ], - instances = 4, - rotateDuplicates = true, -) - -axis000 = { - direction = [0.0, 1.0], - origin = [ - cornerRadius + binTol, - cornerRadius + binTol - ] -} - -cornerFaceRegion = region(segments = [baseFaceSketch.line1]) -singleCorner = revolve(cornerFaceRegion, angle = -90deg, axis = axis000) -hide(baseFaceSketch) - -corners = patternCircular3d( - singleCorner, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [ - (binLength + 2 * binTol) / 2, - (binLength + 2 * binTol) / 2, - 0 - ], - instances = 4, - rotateDuplicates = true, -) - -singleBinFillSketch = sketch(on = XY) { - line1 = line(start = [var 4.0mm, var 3.2mm], end = [var 38.0mm, var 3.2mm]) - arc2 = arc(start = [var 38.0mm, var 3.2mm], end = [var 38.8mm, var 4.0mm], center = [var 38.0mm, var 4.0mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 38.8mm, var 4.0mm], end = [var 38.8mm, var 38.0mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var 38.8mm, var 38.0mm], end = [var 38.0mm, var 38.8mm], center = [var 38.0mm, var 38.0mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var 38.0mm, var 38.8mm], end = [var 4.0mm, var 38.8mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var 4.0mm, var 38.8mm], end = [var 3.2mm, var 38.0mm], center = [var 4.0mm, var 38.0mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var 3.2mm, var 38.0mm], end = [var 3.2mm, var 4.0mm]) - coincident([arc6.end, line7.start]) - arc8 = arc(start = [var 3.2mm, var 4.0mm], end = [var 4.0mm, var 3.2mm], center = [var 4.0mm, var 4.0mm]) - coincident([line7.end, arc8.start]) - coincident([arc8.end, line1.start]) - guide1 = line(start = [var 0mm, var 0mm], end = [var 4.0mm, var 0mm], construction = true) - coincident([guide1.start, ORIGIN]) - guide2 = line(start = [var 4.0mm, var 0mm], end = [var 4.0mm, var 3.2mm], construction = true) - coincident([guide2.start, guide1.end]) - coincident([guide2.end, line1.start]) - horizontal(line1) - vertical(line3) - horizontal(line5) - vertical(line7) - horizontal(guide1) - vertical(guide2) - radius(arc2) == firstStep - radius(arc4) == firstStep - radius(arc6) == firstStep - radius(arc8) == firstStep - distance([guide1.start, guide1.end]) == 4.0mm - distance([guide2.start, guide2.end]) == 3.2mm - distance([line1.start, line1.end]) == 34.0mm - distance([line3.start, line3.end]) == 34.0mm -} -singleBinFillRegion = region(segments = [singleBinFillSketch.line1]) -singleBinFill = extrude(singleBinFillRegion, length = height) -hide(singleBinFillSketch) -magPocketPlane = planeOf(singleBinFill, face = START) -magPocketSketch = sketch(on = magPocketPlane) { - magPocket = circle( - start = [ - -magOffset - binBaseLength - binTol + magOuterDiam / 2, - magOffset + binBaseLength + binTol - ], - center = [ - -magOffset - binBaseLength - binTol, - magOffset + binBaseLength + binTol - ], - ) -} -magPocketRegion = region(segments = [magPocketSketch.magPocket]) -magPocketRegions = patternCircular2d( - magPocketRegion, - arcDegrees = 360deg, - center = [ - (-binLength + 2 * binTol) / 2, - (binLength + 2 * binTol) / 2 - ], - instances = 4, - rotateDuplicates = true, -) -magPocketCutters = extrude(magPocketRegions, length = -magDepth) -hide(magPocketSketch) -singleBinFillWithPockets = subtract(singleBinFill, tools = magPocketCutters) - -binSides = patternLinear3d( - sides, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength + binTol * 2, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength + binTol * 2) - -binCorners = patternLinear3d( - corners, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength + binTol * 2, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength + binTol * 2) - -binFill = patternLinear3d( - singleBinFillWithPockets, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength + binTol * 2, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength + binTol * 2) - -binTopPlane = offsetPlane(XY, offset = height) -binTopSketch = sketch(on = binTopPlane) { - line1 = line(start = [var 3.75mm, var 0mm], end = [var 80.25mm, var 0mm]) - arc2 = arc(start = [var 80.25mm, var 0mm], end = [var 84.0mm, var 3.75mm], center = [var 80.25mm, var 3.75mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 84.0mm, var 3.75mm], end = [var 84.0mm, var 122.25mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var 84.0mm, var 122.25mm], end = [var 80.25mm, var 126.0mm], center = [var 80.25mm, var 122.25mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var 80.25mm, var 126.0mm], end = [var 3.75mm, var 126.0mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var 3.75mm, var 126.0mm], end = [var 0mm, var 122.25mm], center = [var 3.75mm, var 122.25mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var 0mm, var 122.25mm], end = [var 0mm, var 3.75mm]) - coincident([arc6.end, line7.start]) - arc8 = arc(start = [var 0mm, var 3.75mm], end = [var 3.75mm, var 0mm], center = [var 3.75mm, var 3.75mm]) - coincident([line7.end, arc8.start]) - coincident([arc8.end, line1.start]) - guide1 = line(start = [var 0mm, var 0mm], end = [var 3.75mm, var 0mm], construction = true) - coincident([guide1.start, ORIGIN]) - coincident([guide1.end, line1.start]) - guide2 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 3.75mm], construction = true) - coincident([guide2.start, ORIGIN]) - coincident([guide2.end, line7.end]) - horizontal(line1) - vertical(line3) - horizontal(line5) - vertical(line7) - horizontal(guide1) - vertical(guide2) - radius(arc2) == cornerRadius - radius(arc4) == cornerRadius - radius(arc6) == cornerRadius - radius(arc8) == cornerRadius - distance([guide1.start, guide1.end]) == cornerRadius - distance([line1.start, line1.end]) == totalWidth - (2 * cornerRadius) - distance([line3.start, line3.end]) == totalLength - (2 * cornerRadius) - distance([guide2.start, guide2.end]) == cornerRadius -} -binTopRegion = region(segments = [binTopSketch.line1]) -binTop = extrude(binTopRegion, length = binHeight * countBinHeight) - |> shell(faces = [END], thickness = binThk) -hide(binTopSketch) - -plane000 = { - origin = [ - cornerRadius, - 0.0, - height + binHeight * countBinHeight - ], - xAxis = [0.0, 1.0, 0.0], - yAxis = [0.0, 0.0, 1.0] -} - -plane001 = { - origin = [ - 0.0, - countBinLength * (binLength + 2 * binTol) - cornerRadius, - height + binHeight * countBinHeight - ], - xAxis = [1.0, 0.0, 0.0], - yAxis = [0.0, 0.0, 1.0] -} - -plane002 = { - origin = [ - countBinWidth * (binLength + 2 * binTol) - cornerRadius, - 0.0, - height + binHeight * countBinHeight - ], - xAxis = [0.0, 1.0, 0.0], - yAxis = [0.0, 0.0, 1.0] -} - -lipLengthSketch = sketch(on = plane000) { - line1 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 5.792893mm]) - line3 = line(start = [0.853553, 6.146446], end = [1.9, 5.1]) - line4 = line(start = [var 1.9mm, var 5.1mm], end = [var 1.9mm, var 3.3mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [1.9, 3.3], end = [2.6, 2.6]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 2.6mm, var 2.6mm], end = [var 2.6mm, var 1.4mm]) - coincident([line5.end, line6.start]) - line7 = line(start = [2.6, 1.4], end = [1.2, 0]) - coincident([line6.end, line7.start]) - line8 = line(start = [var 1.2mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line7.end, line8.start]) - coincident([line8.end, line1.start]) - coincident([line1.start, ORIGIN]) - guide1 = line(start = [var 0mm, var 0mm], end = [var 1.9mm, var 0mm], construction = true) - coincident([guide1.start, line1.start]) - guide2 = line(start = [var 1.9mm, var 0mm], end = [var 1.9mm, var 5.1mm], construction = true) - coincident([guide2.start, guide1.end]) - coincident([guide2.end, line4.start]) - guide3 = line(start = [var 0mm, var 0mm], end = [var 2.6mm, var 0mm], construction = true) - coincident([guide3.start, line1.start]) - guide4 = line(start = [var 2.6mm, var 0mm], end = [var 2.6mm, var 2.6mm], construction = true) - coincident([guide4.start, guide3.end]) - coincident([guide4.end, line6.start]) - vertical(line1) - vertical(line4) - vertical(line6) - horizontal(line8) - horizontal(guide1) - vertical(guide2) - horizontal(guide3) - vertical(guide4) - distance([line1.start, line1.end]) == 5.792893mm - distance([guide1.start, guide1.end]) == 1.9mm - distance([guide2.start, guide2.end]) == 5.1mm - distance([line4.start, line4.end]) == lipStep4 - distance([guide3.start, guide3.end]) == 2.6mm - distance([guide4.start, guide4.end]) == 2.6mm - distance([line6.start, line6.end]) == lipStep2 - distance([line8.start, line8.end]) == lipStep2 - arc1 = arc(start = [var 0.85mm, var 6.15mm], end = [var 0.04mm, var 5.79mm], center = [var 0.52mm, var 5.8mm]) - coincident([arc1.start, line3.start]) - coincident([arc1.end, line1.end]) - tangent([line1, arc1]) -} -lipLengthRegion = region(segments = [lipLengthSketch.line1]) -lipSingleLength = extrude(lipLengthRegion, length = binLength * countBinWidth - (2 * cornerRadius) + 2 * binTol * countBinWidth) - -lipWidthSketch = sketch(on = plane001) { - line1 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 5.792893mm]) - line3 = line(start = [0.853553, 6.146446], end = [1.9, 5.1]) - line4 = line(start = [var 1.9mm, var 5.1mm], end = [var 1.9mm, var 3.3mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [1.9, 3.3], end = [2.6, 2.6]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 2.6mm, var 2.6mm], end = [var 2.6mm, var 1.4mm]) - coincident([line5.end, line6.start]) - line7 = line(start = [2.6, 1.4], end = [1.2, 0]) - coincident([line6.end, line7.start]) - line8 = line(start = [var 1.2mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line7.end, line8.start]) - coincident([line8.end, line1.start]) - coincident([line1.start, ORIGIN]) - guide1 = line(start = [var 0mm, var 0mm], end = [var 1.9mm, var 0mm], construction = true) - coincident([guide1.start, line1.start]) - guide2 = line(start = [var 1.9mm, var 0mm], end = [var 1.9mm, var 5.1mm], construction = true) - coincident([guide2.start, guide1.end]) - coincident([guide2.end, line4.start]) - guide3 = line(start = [var 0mm, var 0mm], end = [var 2.6mm, var 0mm], construction = true) - coincident([guide3.start, line1.start]) - guide4 = line(start = [var 2.6mm, var 0mm], end = [var 2.6mm, var 2.6mm], construction = true) - coincident([guide4.start, guide3.end]) - coincident([guide4.end, line6.start]) - vertical(line1) - vertical(line4) - vertical(line6) - horizontal(line8) - horizontal(guide1) - vertical(guide2) - horizontal(guide3) - vertical(guide4) - distance([line1.start, line1.end]) == 5.792893mm - distance([guide1.start, guide1.end]) == 1.9mm - distance([guide2.start, guide2.end]) == 5.1mm - distance([line4.start, line4.end]) == lipStep4 - distance([guide3.start, guide3.end]) == 2.6mm - distance([guide4.start, guide4.end]) == 2.6mm - distance([line6.start, line6.end]) == lipStep2 - distance([line8.start, line8.end]) == lipStep2 - arc1 = arc(start = [var 0.85mm, var 6.15mm], end = [var 0.03mm, var 5.8mm], center = [var 0.49mm, var 5.85mm]) - coincident([arc1.start, line3.start]) - coincident([arc1.end, line1.end]) - tangent([line1, arc1]) -} -lipWidthRegion = region(segments = [lipWidthSketch.line1]) -lipSingleWidth = extrude(lipWidthRegion, length = binLength * countBinLength - (2 * cornerRadius) + 2 * binTol * countBinLength) -hide(lipWidthSketch) - -lipLengths = patternCircular3d( - lipSingleLength, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [ - (binLength + 2 * binTol) / 2 * countBinWidth, - (binLength + 2 * binTol) / 2 * countBinLength, - 0 - ], - instances = 2, - rotateDuplicates = true, -) - -lipWidths = patternCircular3d( - lipSingleWidth, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [ - (binLength + 2 * binTol) / 2 * countBinWidth, - (binLength + 2 * binTol) / 2 * countBinLength, - 0 - ], - instances = 2, - rotateDuplicates = true, -) - -axis001 = { - direction = [0.0, 1.0], - origin = [cornerRadius, cornerRadius] -} - -lipLengthCornerRegion = region(segments = [lipLengthSketch.line1]) -lipSingleLengthCorner = revolve(lipLengthCornerRegion, angle = -90deg, axis = axis001) -hide(lipLengthSketch) - -lipWidthCornerSketch = sketch(on = plane002) { - line1 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 5.792893mm]) - arc2 = arc(start = [var 0mm, var 5.792893mm], end = [var 0.853553mm, var 6.146446mm], center = [var 0.5mm, var 5.792893mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [0.853553, 6.146446], end = [1.9, 5.1]) - coincident([arc2.end, line3.start]) - line4 = line(start = [var 1.9mm, var 5.1mm], end = [var 1.9mm, var 3.3mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [1.9, 3.3], end = [2.6, 2.6]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 2.6mm, var 2.6mm], end = [var 2.6mm, var 1.4mm]) - coincident([line5.end, line6.start]) - line7 = line(start = [2.6, 1.4], end = [1.2, 0]) - coincident([line6.end, line7.start]) - line8 = line(start = [var 1.2mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line7.end, line8.start]) - coincident([line8.end, line1.start]) - coincident([line1.start, ORIGIN]) - guide1 = line(start = [var 0mm, var 0mm], end = [var 1.9mm, var 0mm], construction = true) - coincident([guide1.start, line1.start]) - guide2 = line(start = [var 1.9mm, var 0mm], end = [var 1.9mm, var 5.1mm], construction = true) - coincident([guide2.start, guide1.end]) - coincident([guide2.end, line4.start]) - guide3 = line(start = [var 0mm, var 0mm], end = [var 2.6mm, var 0mm], construction = true) - coincident([guide3.start, line1.start]) - guide4 = line(start = [var 2.6mm, var 0mm], end = [var 2.6mm, var 2.6mm], construction = true) - coincident([guide4.start, guide3.end]) - coincident([guide4.end, line6.start]) - vertical(line1) - vertical(line4) - vertical(line6) - horizontal(line8) - horizontal(guide1) - vertical(guide2) - horizontal(guide3) - vertical(guide4) - radius(arc2) == lipRadius - distance([line1.start, line1.end]) == 5.792893mm - distance([guide1.start, guide1.end]) == 1.9mm - distance([guide2.start, guide2.end]) == 5.1mm - distance([line4.start, line4.end]) == lipStep4 - distance([guide3.start, guide3.end]) == 2.6mm - distance([guide4.start, guide4.end]) == 2.6mm - distance([line6.start, line6.end]) == lipStep2 - distance([line8.start, line8.end]) == lipStep2 -} -lipWidthCornerRegion = region(segments = [lipWidthCornerSketch.line1]) -lipSingleWidthCorner = revolve(lipWidthCornerRegion, angle = 90deg, axis = axis001) -hide(lipWidthCornerSketch) - -lipCorners000 = patternCircular3d( - lipSingleLengthCorner, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [ - (binLength + 2 * binTol) / 2 * countBinWidth, - (binLength + 2 * binTol) / 2 * countBinLength, - 0 - ], - instances = 2, - rotateDuplicates = true, -) - -lipCorners001 = patternCircular3d( - lipSingleWidthCorner, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [ - (binLength + 2 * binTol) / 2 * countBinWidth, - (binLength + 2 * binTol) / 2 * countBinLength, - 0 - ], - instances = 2, - rotateDuplicates = true, -) diff --git a/content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/project.toml b/content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/project.toml deleted file mode 100644 index e175c127..00000000 --- a/content/pages/docs/kcl-samples/gridfinity-bins-stacking-lip/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "ea3452ad-d387-4d71-b479-d2a543716b02" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/gridfinity-bins/.gitignore b/content/pages/docs/kcl-samples/gridfinity-bins/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/gridfinity-bins/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/gridfinity-bins/main.kcl b/content/pages/docs/kcl-samples/gridfinity-bins/main.kcl deleted file mode 100644 index 040a54f1..00000000 --- a/content/pages/docs/kcl-samples/gridfinity-bins/main.kcl +++ /dev/null @@ -1,245 +0,0 @@ -// Gridfinity Bins -// Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion -// Categories: Home & Lifestyle; 3D Printable; Parametric - -// Set units in millimeters (mm) -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -binLength = 41.5 -binHeight = 7.0 -binBaseLength = 2.95 -binTol = 0.25 -binThk = 1.2 -cornerRadius = 3.75 -firstStep = 0.8 -secondStep = 1.8 -thirdStep = 2.15 -magOuterDiam = 6.5 -magOffset = 4.8 -magDepth = 2.4 - -countBinWidth = 2 -countBinLength = 3 -countBinHeight = 2 - -height = firstStep + secondStep + thirdStep -totalWidth = (binLength + 2 * binTol) * countBinWidth -totalLength = (binLength + 2 * binTol) * countBinLength -baseFaceStartX = binBaseLength + binTol -baseFaceMidX = binTol + thirdStep -baseFaceTopY = firstStep + secondStep -baseFaceHeight = height -binTopRightX = totalWidth - cornerRadius -binTopOuterX = totalWidth -binTopTopY = totalLength -binTopInnerY = totalLength - cornerRadius - -baseFacePlane = offsetPlane(YZ, offset = cornerRadius + binTol) -baseFaceSketch = sketch(on = baseFacePlane) { - baseOffset = line(start = [var 0mm, var 0mm], end = [var 3.2mm, var 0mm], construction = true) - coincident([baseOffset.start, ORIGIN]) - line1 = line(start = [var 3.2mm, var 0mm], end = [var 3.2mm, var 4.75mm]) - coincident([baseOffset.end, line1.start]) - line2 = line(start = [var 3.2mm, var 4.75mm], end = [var 0.25mm, var 4.75mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 0.25mm, var 4.75mm], end = [var 2.4mm, var 2.6mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 2.4mm, var 2.6mm], end = [var 2.4mm, var 0.8mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 2.4mm, var 0.8mm], end = [var 3.2mm, var 0mm]) - coincident([line4.end, line5.start]) - coincident([line5.end, line1.start]) - midBaseGuide = line(start = [var 0mm, var 0mm], end = [var 2.4mm, var 0mm], construction = true) - coincident([midBaseGuide.start, baseOffset.start]) - midTopGuide = line(start = [var 2.4mm, var 0mm], end = [var 2.4mm, var 2.6mm], construction = true) - coincident([midTopGuide.start, midBaseGuide.end]) - coincident([midTopGuide.end, line4.start]) - horizontal(baseOffset) - vertical(line1) - horizontal(line2) - vertical(line4) - horizontal(midBaseGuide) - vertical(midTopGuide) - distance([baseOffset.start, baseOffset.end]) == binBaseLength + binTol - distance([line1.start, line1.end]) == height - distance([line2.end, line2.start]) == binBaseLength - distance([midBaseGuide.start, midBaseGuide.end]) == binTol + thirdStep - distance([midTopGuide.start, midTopGuide.end]) == firstStep + secondStep - distance([line4.start, line4.end]) == secondStep -} -baseFaceRegion = region(segments = [baseFaceSketch.line1]) -singleSide = extrude(baseFaceRegion, length = binLength - (cornerRadius * 2)) - -sides = patternCircular3d( - singleSide, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [ - (binLength + 2 * binTol) / 2, - (binLength + 2 * binTol) / 2, - 0 - ], - instances = 4, - rotateDuplicates = true, -) - -axis000 = { - direction = [0.0, 1.0], - origin = [ - cornerRadius + binTol, - cornerRadius + binTol - ] -} - -cornerFaceRegion = region(segments = [baseFaceSketch.line1]) -singleCorner = revolve(cornerFaceRegion, angle = -90deg, axis = axis000) -hide(baseFaceSketch) - -corners = patternCircular3d( - singleCorner, - arcDegrees = 360deg, - axis = [0, 0, 1], - center = [ - (binLength + 2 * binTol) / 2, - (binLength + 2 * binTol) / 2, - 0 - ], - instances = 4, - rotateDuplicates = true, -) - -singleBinFillSketch = sketch(on = XY) { - line1 = line(start = [var 4.0mm, var 3.2mm], end = [var 38.0mm, var 3.2mm]) - arc2 = arc(start = [var 38.0mm, var 3.2mm], end = [var 38.8mm, var 4.0mm], center = [var 38.0mm, var 4.0mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 38.8mm, var 4.0mm], end = [var 38.8mm, var 38.0mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var 38.8mm, var 38.0mm], end = [var 38.0mm, var 38.8mm], center = [var 38.0mm, var 38.0mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var 38.0mm, var 38.8mm], end = [var 4.0mm, var 38.8mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var 4.0mm, var 38.8mm], end = [var 3.2mm, var 38.0mm], center = [var 4.0mm, var 38.0mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var 3.2mm, var 38.0mm], end = [var 3.2mm, var 4.0mm]) - coincident([arc6.end, line7.start]) - arc8 = arc(start = [var 3.2mm, var 4.0mm], end = [var 4.0mm, var 3.2mm], center = [var 4.0mm, var 4.0mm]) - coincident([line7.end, arc8.start]) - coincident([arc8.end, line1.start]) - guide1 = line(start = [var 0mm, var 0mm], end = [var 4.0mm, var 0mm], construction = true) - coincident([guide1.start, ORIGIN]) - guide2 = line(start = [var 4.0mm, var 0mm], end = [var 4.0mm, var 3.2mm], construction = true) - coincident([guide2.start, guide1.end]) - coincident([guide2.end, line1.start]) - horizontal(line1) - vertical(line3) - horizontal(line5) - vertical(line7) - horizontal(guide1) - vertical(guide2) - radius(arc2) == firstStep - radius(arc4) == firstStep - radius(arc6) == firstStep - radius(arc8) == firstStep - distance([guide1.start, guide1.end]) == 4.0mm - distance([guide2.start, guide2.end]) == 3.2mm - distance([line1.start, line1.end]) == 34.0mm - distance([line3.start, line3.end]) == 34.0mm -} -singleBinFillRegion = region(segments = [singleBinFillSketch.line1]) -singleBinFill = extrude(singleBinFillRegion, length = height) -hide(singleBinFillSketch) -magPocketPlane = planeOf(singleBinFill, face = START) -magPocketSketch = sketch(on = magPocketPlane) { - magPocket = circle( - start = [ - -magOffset - binBaseLength - binTol + magOuterDiam / 2, - magOffset + binBaseLength + binTol - ], - center = [ - -magOffset - binBaseLength - binTol, - magOffset + binBaseLength + binTol - ], - ) -} -magPocketRegion = region(segments = [magPocketSketch.magPocket]) -magPocketRegions = patternCircular2d( - magPocketRegion, - arcDegrees = 360deg, - center = [ - (-binLength + 2 * binTol) / 2, - (binLength + 2 * binTol) / 2 - ], - instances = 4, - rotateDuplicates = true, -) -magPocketCutters = extrude(magPocketRegions, length = -magDepth) -hide(magPocketSketch) -singleBinFillWithPockets = subtract(singleBinFill, tools = magPocketCutters) - -binSides = patternLinear3d( - sides, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength + binTol * 2, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength + binTol * 2) - -binCorners = patternLinear3d( - corners, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength + binTol * 2, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength + binTol * 2) - -binFill = patternLinear3d( - singleBinFillWithPockets, - axis = [1.0, 0.0, 0.0], - instances = countBinWidth, - distance = binLength + binTol * 2, -) - |> patternLinear3d(axis = [0.0, 1.0, 0.0], instances = countBinLength, distance = binLength + binTol * 2) - -binTopPlane = offsetPlane(XY, offset = height) -binTopSketch = sketch(on = binTopPlane) { - line1 = line(start = [var 3.75mm, var 0mm], end = [var 80.25mm, var 0mm]) - arc2 = arc(start = [var 80.25mm, var 0mm], end = [var 84.0mm, var 3.75mm], center = [var 80.25mm, var 3.75mm]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 84.0mm, var 3.75mm], end = [var 84.0mm, var 122.25mm]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var 84.0mm, var 122.25mm], end = [var 80.25mm, var 126.0mm], center = [var 80.25mm, var 122.25mm]) - coincident([line3.end, arc4.start]) - line5 = line(start = [var 80.25mm, var 126.0mm], end = [var 3.75mm, var 126.0mm]) - coincident([arc4.end, line5.start]) - arc6 = arc(start = [var 3.75mm, var 126.0mm], end = [var 0mm, var 122.25mm], center = [var 3.75mm, var 122.25mm]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var 0mm, var 122.25mm], end = [var 0mm, var 3.75mm]) - coincident([arc6.end, line7.start]) - arc8 = arc(start = [var 0mm, var 3.75mm], end = [var 3.75mm, var 0mm], center = [var 3.75mm, var 3.75mm]) - coincident([line7.end, arc8.start]) - coincident([arc8.end, line1.start]) - guide1 = line(start = [var 0mm, var 0mm], end = [var 3.75mm, var 0mm], construction = true) - coincident([guide1.start, ORIGIN]) - coincident([guide1.end, line1.start]) - guide2 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 3.75mm], construction = true) - coincident([guide2.start, ORIGIN]) - coincident([guide2.end, line7.end]) - horizontal(line1) - vertical(line3) - horizontal(line5) - vertical(line7) - horizontal(guide1) - vertical(guide2) - radius(arc2) == cornerRadius - radius(arc4) == cornerRadius - radius(arc6) == cornerRadius - radius(arc8) == cornerRadius - distance([guide1.start, guide1.end]) == cornerRadius - distance([line1.start, line1.end]) == totalWidth - (2 * cornerRadius) - distance([line3.start, line3.end]) == totalLength - (2 * cornerRadius) - distance([guide2.start, guide2.end]) == cornerRadius -} -binTopRegion = region(segments = [binTopSketch.line1]) -binTop = extrude(binTopRegion, length = binHeight * countBinHeight) - |> shell(faces = [END], thickness = binThk) -hide(binTopSketch) diff --git a/content/pages/docs/kcl-samples/gridfinity-bins/project.toml b/content/pages/docs/kcl-samples/gridfinity-bins/project.toml deleted file mode 100644 index b55666bf..00000000 --- a/content/pages/docs/kcl-samples/gridfinity-bins/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "f42971e5-6b90-4a6b-bf36-4107c9ec9fb4" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/hammer/.gitignore b/content/pages/docs/kcl-samples/hammer/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/hammer/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/hammer/main.kcl b/content/pages/docs/kcl-samples/hammer/main.kcl deleted file mode 100644 index 58b1ec56..00000000 --- a/content/pages/docs/kcl-samples/hammer/main.kcl +++ /dev/null @@ -1,162 +0,0 @@ -// Claw Hammer -// Often used in construction, a claw hammer is a levered metal hand tool that is used to strike and extract nails -// Categories: Tools; Architecture & Construction - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Sketch the side profile of the hammer head -sketch001 = sketch(on = XZ) { - line1 = line(start = [var 0.33in, var 11.26in], end = [var 0.33in, var 11.36in]) - arc2 = arc(start = [var 0.95in, var 11.92in], end = [var 0.33in, var 11.36in], center = [var 0.89in, var 11.36in]) - coincident([line1.end, arc2.end]) - arc3 = arc(start = [var 2.72in, var 11.26in], end = [var 0.95in, var 11.92in], center = [var 0.57in, var 8.2in]) - coincident([arc2.start, arc3.end]) - line4 = line(start = [var 2.72in, var 11.26in], end = [var 2.83in, var 11.42in]) - coincident([arc3.start, line4.start]) - line5 = line(start = [var 2.83in, var 11.42in], end = [var 2.48in, var 11.78in]) - coincident([line4.end, line5.start]) - arc6 = arc(start = [var 2.48in, var 11.78in], end = [var -0.91in, var 12.78in], center = [var -0.13in, var 9.17in]) - coincident([line5.end, arc6.start]) - arc7 = arc(start = [var -1.67in, var 12.85in], end = [var -0.91in, var 12.78in], center = [var -1.18in, var 14.03in]) - coincident([arc6.end, arc7.end]) - line8 = line(start = [var -1.67in, var 12.85in], end = [var -1.92in, var 12.85in]) - coincident([arc7.start, line8.start]) - arc9 = arc(start = [var -1.92in, var 12.85in], end = [var -1.97in, var 12.8in], center = [var -1.92in, var 12.8in]) - coincident([line8.end, arc9.start]) - line10 = line(start = [var -1.97in, var 12.8in], end = [var -1.97in, var 11.68in]) - coincident([arc9.end, line10.start]) - arc11 = arc(start = [var -1.97in, var 11.68in], end = [var -1.92in, var 11.62in], center = [var -1.92in, var 11.68in]) - coincident([line10.end, arc11.start]) - line12 = line(start = [var -1.92in, var 11.62in], end = [var -1.67in, var 11.62in]) - coincident([arc11.end, line12.start]) - line13 = line(start = [var -1.67in, var 11.62in], end = [var -1.58in, var 11.66in]) - coincident([line12.end, line13.start]) - arc14 = arc(start = [var -0.33in, var 11.26in], end = [var -1.58in, var 11.66in], center = [var -1.19in, var 10.74in]) - coincident([line13.end, arc14.end]) - line15 = line(start = [var -0.33in, var 11.26in], end = [var 0.33in, var 11.26in]) - coincident([arc14.start, line15.start]) -} -region001 = region(segments = [sketch001.line1, sketch001.arc2]) -hidden001 = hide(sketch001) -headSideProfile = extrude(region001, length = 3, symmetric = true) - -// Sketch the top profile of the hammer head -headTopProfile = offsetPlane(XY, offset = 13) -sketch002 = sketch(on = headTopProfile) { - line1 = line(start = [var -4in, var -1.6in], end = [var -1.97in, var -0.56in]) - arc2 = arc(start = [var -1.97in, var -0.56in], end = [var -1.92in, var -0.61in], center = [var -1.92in, var -0.56in]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var -1.92in, var -0.61in], end = [var -1.67in, var -0.61in]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -0.91in, var -0.61in], end = [var -1.67in, var -0.61in], center = [var -1.29in, var -1.7in]) - coincident([line3.end, arc4.end]) - arc5 = arc(start = [var -0.91in, var -0.61in], end = [var 3.39in, var -1.15in], center = [var 2.49in, var 9.08in]) - coincident([arc4.start, arc5.start]) - line6 = line(start = [var 3.39in, var -1.15in], end = [var 3.39in, var -1.6in]) - coincident([arc5.end, line6.start]) - line7 = line(start = [var 3.39in, var -1.6in], end = [var -4in, var -1.6in]) - coincident([line6.end, line7.start]) - radius(arc2) == 0.05in - tangent([arc4, arc5]) -} -region002 = region(segments = [sketch002.line1, sketch002.arc2]) -hidden002 = hide(sketch002) -leftSideCut = extrude(region002, length = -14) - -sketch003 = sketch(on = headTopProfile) { - line1 = line(start = [var 3.39in, var -0.56in], end = [var 3.29in, var -0.55in]) - arc2 = arc(start = [var 1.86in, var -0.37in], end = [var 3.29in, var -0.55in], center = [var 3.79in, var 8.91in]) - coincident([line1.end, arc2.end]) - arc3 = arc(start = [var 1.86in, var 0.37in], end = [var 1.86in, var -0.37in], center = [var 1.94in, var 0in]) - coincident([arc2.start, arc3.end]) - arc4 = arc(start = [var 3.39in, var 0.56in], end = [var 1.86in, var 0.37in], center = [var 3.79in, var -8.95in]) - coincident([arc3.start, arc4.end]) - line5 = line(start = [var 3.39in, var 0.56in], end = [var 3.39in, var -0.56in]) - coincident([arc4.start, line5.start]) -} -region003 = region(segments = [sketch003.line1, sketch003.arc2]) -hidden007 = hide(sketch003) -rearCut = extrude(region003, length = -14) - -sketch004 = sketch(on = headTopProfile) { - line1 = line(start = [var -4in, var 1.6in], end = [var -1.97in, var 0.56in]) - arc2 = arc(start = [var -1.92in, var 0.61in], end = [var -1.97in, var 0.56in], center = [var -1.92in, var 0.56in]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var -1.92in, var 0.61in], end = [var -1.67in, var 0.61in]) - coincident([arc2.start, line3.start]) - arc4 = arc(start = [var -1.67in, var 0.61in], end = [var -0.91in, var 0.61in], center = [var -1.29in, var 1.7in]) - coincident([line3.end, arc4.start]) - arc5 = arc(start = [var 3.39in, var 1.15in], end = [var -0.91in, var 0.61in], center = [var 2.49in, var -9.08in]) - coincident([arc4.end, arc5.end]) - line6 = line(start = [var 3.39in, var 1.15in], end = [var 3.39in, var 1.6in]) - coincident([arc5.start, line6.start]) - line7 = line(start = [var 3.39in, var 1.6in], end = [var -4in, var 1.6in]) - coincident([line6.end, line7.start]) - radius(arc2) == 0.05in -} -region004 = region(segments = [sketch004.line1, sketch004.arc2]) -hidden004 = hide(sketch004) -rightSideCut = extrude(region004, length = -14) - -// Subtract the top profiles from the side profile to create a CSG hammer shape -firstProfiles = subtract(headSideProfile, tools = [leftSideCut, rearCut, rightSideCut]) - -// Extrude a polygon through the center of the hammer head to create the mounting hole for the handle -sketch005 = sketch(on = XY) { - line1 = line(start = [var 0.28in, var 0in], end = [var 0.23in, var 0.16in]) - line2 = line(start = [var 0.23in, var 0.16in], end = [var 0.09in, var 0.27in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 0.09in, var 0.27in], end = [var -0.09in, var 0.27in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -0.09in, var 0.27in], end = [var -0.23in, var 0.16in]) - coincident([line3.end, line4.start]) - line5 = line(start = [var -0.23in, var 0.16in], end = [var -0.28in, var 0in]) - coincident([line4.end, line5.start]) - line6 = line(start = [var -0.28in, var 0in], end = [var -0.23in, var -0.16in]) - coincident([line5.end, line6.start]) - line7 = line(start = [var -0.23in, var -0.16in], end = [var -0.09in, var -0.27in]) - coincident([line6.end, line7.start]) - line8 = line(start = [var -0.09in, var -0.27in], end = [var 0.09in, var -0.27in]) - coincident([line7.end, line8.start]) - line9 = line(start = [var 0.09in, var -0.27in], end = [var 0.23in, var -0.16in]) - coincident([line8.end, line9.start]) - line10 = line(start = [var 0.23in, var -0.16in], end = [var 0.28in, var 0in]) - coincident([line9.end, line10.start]) -} -region005 = region(segments = [sketch005.line1, sketch005.line2]) -hidden003 = hide(sketch005) -handleHole = extrude(region005, length = 14) - -// Add an additional fillet feature to support the handle, and union it to the rest of the head -sketch006 = sketch(on = offsetPlane(XY, offset = 11.5)) { - circle1 = circle(start = [var 0.45in, var 0in], center = [var 0in, var 0in]) -} -region006 = region(segments = [sketch006.circle1]) -hidden005 = hide(sketch006) -baseSupport = extrude(region006, length = 1, tagStart = $capStart001) - -// Union all pieces into a single solid, then cut the handle hole -hammerHead = union([firstProfiles, baseSupport]) - |> subtract(tools = [handleHole]) - -// Draw a profile for the handle, then revolve around the center axis -handleSketch = sketch(on = XZ) { - line1 = line(start = [var 0.01in, var 0in], end = [var 0.57in, var 0in]) - arc2 = arc(start = [var 0.57in, var 0in], end = [var 0.62in, var 0.05in], center = [var 0.57in, var 0.05in]) - coincident([line1.end, arc2.start]) - arc3 = arc(start = [var 0.62in, var 0.05in], end = [var 0.38in, var 7.94in], center = [var -127.87in, var 0.05in]) - coincident([arc2.end, arc3.start]) - arc4 = arc(start = [var 0.28in, var 12.8in], end = [var 0.38in, var 7.94in], center = [var 59.74in, var 11.59in]) - coincident([arc3.end, arc4.end]) - line5 = line(start = [var 0.28in, var 12.8in], end = [var 0.01in, var 12.8in]) - coincident([arc4.start, line5.start]) - line6 = line(start = [var 0.01in, var 12.8in], end = [var 0.01in, var 0in]) - coincident([line5.end, line6.start]) - tangent([arc2, arc3]) - radius(arc3) == 128.49in -} -region007 = region(segments = [handleSketch.line1, handleSketch.arc2]) -hidden006 = hide(handleSketch) -handle = revolve(region007, angle = 360deg, axis = Y) - |> appearance(color = "#f14f04") diff --git a/content/pages/docs/kcl-samples/hammer/project.toml b/content/pages/docs/kcl-samples/hammer/project.toml deleted file mode 100644 index 6e833134..00000000 --- a/content/pages/docs/kcl-samples/hammer/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "d2cf389e-837c-4940-9c2f-c874137ff46f" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/hand-trolley/axle.kcl b/content/pages/docs/kcl-samples/hand-trolley/axle.kcl deleted file mode 100644 index 37f6dacd..00000000 --- a/content/pages/docs/kcl-samples/hand-trolley/axle.kcl +++ /dev/null @@ -1,454 +0,0 @@ -// Hand Trolley Axle - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -// Import parameters -import * from "parameters.kcl" - -// Model the lifting grate as a sheet metal part -sketch001 = sketch(on = -YZ) { - line1 = line(start = [var -10in, var 0in], end = [var -10in, var 0.09in]) - line2 = line(start = [var -10in, var 0.09in], end = [var 1in, var 0.09in]) - coincident([line1.end, line2.start]) - arc3 = arc(start = [var 1in, var 0.09in], end = [var 1.1125in, var 0.2025in], center = [var 1in, var 0.2025in]) - coincident([line2.end, arc3.start]) - line4 = line(start = [var 1.1125in, var 0.2025in], end = [var 1.1125in, var 1.7025in]) - coincident([arc3.end, line4.start]) - line5 = line(start = [var 1.1125in, var 1.7025in], end = [var 1.2025in, var 1.7025in]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 1.2025in, var 1.7025in], end = [var 1.2025in, var 0.2025in]) - coincident([line5.end, line6.start]) - arc7 = arc(start = [var 1in, var 0in], end = [var 1.2025in, var 0.2025in], center = [var 1in, var 0.2025in]) - coincident([line6.end, arc7.end]) - line8 = line(start = [var 1in, var 0in], end = [var -10in, var 0in]) - coincident([arc7.start, line8.start]) -} -region001 = region(segments = [sketch001.line1, sketch001.line2]) -grate = extrude( - region001, - length = frameWidth + tubeDiameter, - symmetric = true, - tagStart = $capStart001, - tagEnd = $capEnd001, -) - |> fillet( - radius = 1, - edges = [ - { - sideFaces = [region001.tags.line5, capStart001] - }, - { - sideFaces = [region001.tags.line1, capEnd001] - }, - { - sideFaces = [region001.tags.line5, capEnd001] - }, - { - sideFaces = [region001.tags.line1, capStart001] - } - ], - ) - -// Model the path of the outer rail of the trolley frame -outerRail = sketch(on = offsetPlane(XZ, offset = tubeDiameter / 2)) { - line1 = line(start = [var -10in, var 0.09in], end = [var -10in, var 48.5in]) - arc2 = arc(start = [var -7.5in, var 51in], end = [var -10in, var 48.5in], center = [var -7.5in, var 48.5in]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var -7.5in, var 51in], end = [var 0in, var 51in]) - coincident([arc2.start, line3.start]) - line4 = line(start = [var 0in, var 51in], end = [var 7.5in, var 51in]) - coincident([line3.end, line4.start]) - arc5 = arc(start = [var 10in, var 48.5in], end = [var 7.5in, var 51in], center = [var 7.5in, var 48.5in]) - coincident([line4.end, arc5.end]) - line6 = line(start = [var 10in, var 48.5in], end = [var 10in, var 0.09in]) - coincident([arc5.start, line6.start]) -} - -// Sweep the tube profile around the outer rail path to give it a thickness -sketch002 = sketch(on = offsetPlane(XY, offset = grateThickness)) { - circle1 = circle(start = [var -9.5in, var -0.5in], center = [var -10in, var -0.5in]) -} -region002 = region(segments = [sketch002.circle1]) -outerRailThicken = sweep(region002, path = outerRail) - -// The minimum allowable straight length should equal double the bend radius -centerRail = sketch(on = YZ) { - line1 = line(start = [var -0.5in, var 0.09in], end = [var -0.5in, var 5.09in]) - arc2 = arc(start = [var -0.5in, var 5.09in], end = [var -0.834936491in, var 6.34in], center = [var -3in, var 5.09in]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var -0.834936491in, var 6.34in], end = [var -3.334936491in, var 10.670127019in]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -3.669872981in, var 11.920127019in], end = [var -3.334936491in, var 10.670127019in], center = [var -1.169872981in, var 11.920127019in]) - coincident([line3.end, arc4.end]) - line5 = line(start = [var -3.669872981in, var 11.920127019in], end = [var -3.669872981in, var 41.4125in]) - coincident([arc4.start, line5.start]) - arc6 = arc(start = [var -3.669872981in, var 41.4125in], end = [var -4.402106028in, var 43.180266953in], center = [var -6.169872981in, var 41.4125in]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -4.402106028in, var 43.180266953in], end = [var -7.937639934in, var 46.715800859in]) - coincident([arc6.end, line7.start]) - arc8 = arc(start = [var -6.169872981in, var 50.983567812in], end = [var -7.937639934in, var 46.715800859in], center = [var -6.169872981in, var 48.483567812in]) - coincident([line7.end, arc8.end]) - line9 = line(start = [var -6.169872981in, var 50.983567812in], end = [var -0.5in, var 50.983567812in]) - coincident([arc8.start, line9.start]) -} - -// Sweep the tube profile around the center rail path to give it a thickness -sketch003 = sketch(on = XY) { - circle1 = circle(start = [var 0.5in, var -0.5in], center = [var 0in, var -0.5in]) -} -region003 = region(segments = [sketch003.circle1]) -centerRailThicken = sweep(region003, path = centerRail) - -// Model supporting ribs for the trolley frame -sketch004 = sketch(on = offsetPlane(XY, offset = 14)) { - arc1 = arc(start = [var -9.55in, var -0.6in], end = [var 9.55in, var -0.6in], center = [var 0in, var 16.007843137in]) - line2 = line(start = [var 9.55in, var -0.6in], end = [var 9.505135868in, var -0.521979428in]) - coincident([arc1.end, line2.start]) - arc3 = arc(start = [var -9.505135868in, var -0.521979428in], end = [var 9.505135868in, var -0.521979428in], center = [var 0in, var 16.007843137in]) - coincident([line2.end, arc3.end]) - line4 = line(start = [var -9.505135868in, var -0.521979428in], end = [var -9.55in, var -0.6in]) - coincident([arc3.start, line4.start]) -} -region004 = region(segments = [sketch004.arc1, sketch004.line2]) -rib = extrude(region004, length = 1) - |> patternLinear3d(instances = 3, distance = 9.8307909936667, axis = [0, 0, 1]) - -// Create welded brackets to support the axle -sketch005 = sketch(on = offsetPlane(YZ, offset = frameWidth / 2)) { - line1 = line(start = [var -1in, var 2in], end = [var -1in, var 2.54in]) - arc2 = arc(start = [var -1in, var 2.54in], end = [var -1.05625in, var 2.637427858in], center = [var -1.1125in, var 2.54in]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var -1.05625in, var 2.637427858in], end = [var -3.290595542in, var 3.927427858in]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -3.364715686in, var 4.204048002in], end = [var -3.290595542in, var 3.927427858in], center = [var -3.189345542in, var 4.102798002in]) - coincident([line3.end, arc4.end]) - arc5 = arc(start = [var -3.364715686in, var 4.204048002in], end = [var -3.364715686in, var 5.704048002in], center = [var -4.663753792in, var 4.954048002in]) - coincident([arc4.start, arc5.start]) - arc6 = arc(start = [var -3.290595542in, var 5.980668146in], end = [var -3.364715686in, var 5.704048002in], center = [var -3.189345542in, var 5.805298002in]) - coincident([arc5.end, arc6.end]) - line7 = line(start = [var -3.290595542in, var 5.980668146in], end = [var -1.05625in, var 7.270668146in]) - coincident([arc6.start, line7.start]) - arc8 = arc(start = [var -1.05625in, var 7.270668146in], end = [var -1in, var 7.368096004in], center = [var -1.1125in, var 7.368096004in]) - coincident([line7.end, arc8.start]) - line9 = line(start = [var -1in, var 7.368096004in], end = [var -1in, var 7.908096004in]) - coincident([arc8.end, line9.start]) - line10 = line(start = [var -1in, var 7.908096004in], end = [var -0.91in, var 7.908096004in]) - coincident([line9.end, line10.start]) - line11 = line(start = [var -0.91in, var 7.908096004in], end = [var -0.91in, var 7.368096004in]) - coincident([line10.end, line11.start]) - arc12 = arc(start = [var -1.01125in, var 7.19272586in], end = [var -0.91in, var 7.368096004in], center = [var -1.1125in, var 7.368096004in]) - coincident([line11.end, arc12.end]) - line13 = line(start = [var -1.01125in, var 7.19272586in], end = [var -3.245595542in, var 5.90272586in]) - coincident([arc12.start, line13.start]) - arc14 = arc(start = [var -3.245595542in, var 5.90272586in], end = [var -3.2867734in, var 5.749048002in], center = [var -3.189345542in, var 5.805298002in]) - coincident([line13.end, arc14.start]) - arc15 = arc(start = [var -3.2867734in, var 4.159048002in], end = [var -3.2867734in, var 5.749048002in], center = [var -4.663753792in, var 4.954048002in]) - coincident([arc14.end, arc15.end]) - arc16 = arc(start = [var -3.2867734in, var 4.159048002in], end = [var -3.245595542in, var 4.005370144in], center = [var -3.189345542in, var 4.102798002in]) - coincident([arc15.start, arc16.start]) - line17 = line(start = [var -3.245595542in, var 4.005370144in], end = [var -1.01125in, var 2.715370144in]) - coincident([arc16.end, line17.start]) - arc18 = arc(start = [var -0.91in, var 2.54in], end = [var -1.01125in, var 2.715370144in], center = [var -1.1125in, var 2.54in]) - coincident([line17.end, arc18.end]) - line19 = line(start = [var -0.91in, var 2.54in], end = [var -0.91in, var 2in]) - coincident([arc18.start, line19.start]) - line20 = line(start = [var -0.91in, var 2in], end = [var -1in, var 2in]) - coincident([line19.end, line20.start]) -} -region005 = region(segments = [sketch005.line1, sketch005.arc2]) -brackets = extrude(region005, length = 0.75 * tubeDiameter, symmetric = true) - -// Model a bearing for the axle on each bracket -sketch006 = sketch(on = offsetPlane(YZ, offset = frameWidth / 2)) { - outerCircle = circle(start = [var -3.17in, var 5in], center = [var -3.67in, var 5in]) - innerCircle = circle(start = [var -3.295in, var 5in], center = [var -3.67in, var 5in]) -} -region006 = region(segments = [sketch006.outerCircle]) -axlebearing = extrude(region006, length = tubeDiameter, symmetric = true) - -patternLinear3d( - [brackets, axlebearing], - instances = 2, - distance = frameWidth, - axis = [-1, 0, 0], -) - -sketch008 = sketch(on = -YZ) { - circle1 = circle(start = [var 4.045in, var 5in], center = [var 3.67in, var 5in]) -} -region008 = region(segments = [sketch008.circle1]) -axle = extrude(region008, length = frameWidth + 4, symmetric = true) - -// Revolve a wheel that mounts to the trolley axle -sketch009 = sketch(on = offsetPlane(XY, offset = wheelDiameter / 2)) { - line1 = line(start = [var -10.65in, var -3.295in], end = [var -13.35in, var -3.295in]) - line2 = line(start = [var -13.35in, var -3.295in], end = [var -13.35in, var -3.67in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var -13.35in, var -3.67in], end = [var -13.85in, var -3.67in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -13.85in, var -3.67in], end = [var -13.85in, var -3.23in]) - coincident([line3.end, line4.start]) - arc5 = arc(start = [var -13.667431149in, var -3.03076106in], end = [var -13.85in, var -3.23in], center = [var -13.65in, var -3.23in]) - coincident([line4.end, arc5.end]) - line6 = line( - start = [var -13.667431149in, var -3.03076106in], - end = [ - var -12.531769193in, - var -2.931403514in - ], - ) - coincident([arc5.start, line6.start]) - arc7 = arc( - start = [ - var -12.531769193in, - var -2.931403514in - ], - end = [ - var -12.440484767in, - var -2.831784044in - ], - center = [ - var -12.540484767in, - var -2.831784044in - ], - ) - coincident([line6.end, arc7.start]) - line8 = line( - start = [ - var -12.440484767in, - var -2.831784044in - ], - end = [ - var -12.440484767in, - var -1.551784044in - ], - ) - coincident([arc7.end, line8.start]) - arc9 = arc( - start = [ - var -12.440484767in, - var -1.551784044in - ], - end = [ - var -12.531769193in, - var -1.452164574in - ], - center = [ - var -12.540484767in, - var -1.551784044in - ], - ) - coincident([line8.end, arc9.start]) - line10 = line( - start = [ - var -12.531769193in, - var -1.452164574in - ], - end = [ - var -13.478154156in, - var -1.369366618in - ], - ) - coincident([arc9.end, line10.start]) - arc11 = arc( - start = [ - var -13.659961947in, - var -1.187558827in - ], - end = [ - var -13.478154156in, - var -1.369366618in - ], - center = [ - var -13.460723007in, - var -1.170127679in - ], - ) - coincident([line10.end, arc11.end]) - line12 = line( - start = [ - var -13.659961947in, - var -1.187558827in - ], - end = [var -13.727071869in, var -0.42048891in], - ) - coincident([arc11.start, line12.start]) - line13 = line(start = [var -13.727071869in, var -0.42048891in], end = [var -13.577071869in, var -0.42048891in]) - coincident([line12.end, line13.start]) - line14 = line( - start = [var -13.577071869in, var -0.42048891in], - end = [ - var -13.516062849in, - var -1.117825198in - ], - ) - coincident([line13.end, line14.start]) - line15 = line( - start = [ - var -13.516062849in, - var -1.117825198in - ], - end = [ - var -11.516062849in, - var -1.117825198in - ], - ) - coincident([line14.end, line15.start]) - line16 = line( - start = [ - var -11.516062849in, - var -1.117825198in - ], - end = [var -11.455053829in, var -0.42048891in], - ) - coincident([line15.end, line16.start]) - line17 = line(start = [var -11.455053829in, var -0.42048891in], end = [var -11.335053829in, var -0.42048891in]) - coincident([line16.end, line17.start]) - line18 = line( - start = [var -11.335053829in, var -0.42048891in], - end = [ - var -11.402163751in, - var -1.187558827in - ], - ) - coincident([line17.end, line18.start]) - arc19 = arc( - start = [ - var -11.583971542in, - var -1.369366618in - ], - end = [ - var -11.402163751in, - var -1.187558827in - ], - center = [ - var -11.601402691in, - var -1.170127679in - ], - ) - coincident([line18.end, arc19.end]) - line20 = line( - start = [ - var -11.583971542in, - var -1.369366618in - ], - end = [ - var -12.012335262in, - var -1.406843588in - ], - ) - coincident([arc19.start, line20.start]) - arc21 = arc( - start = [ - var -12.012335262in, - var -1.406843588in - ], - end = [ - var -12.103619688in, - var -1.506463058in - ], - center = [ - var -12.003619688in, - var -1.506463058in - ], - ) - coincident([line20.end, arc21.start]) - line22 = line( - start = [ - var -12.103619688in, - var -1.506463058in - ], - end = [ - var -12.103619688in, - var -2.416463058in - ], - ) - coincident([arc21.end, line22.start]) - arc23 = arc( - start = [ - var -12.103619688in, - var -2.416463058in - ], - end = [ - var -12.012335262in, - var -2.516082527in - ], - center = [ - var -12.003619688in, - var -2.416463058in - ], - ) - coincident([line22.end, arc23.start]) - line24 = line( - start = [ - var -12.012335262in, - var -2.516082527in - ], - end = [var -10.65in, var -2.635271419in], - ) - coincident([arc23.end, line24.start]) - line25 = line(start = [var -10.65in, var -2.635271419in], end = [var -10.65in, var -3.295in]) - coincident([line24.end, line25.start]) -} -region009 = region(segments = [sketch009.line1, sketch009.line2]) -wheel = revolve( - region009, - axis = { - direction = [1.0, 0.0], - origin = [0.0, -3.67] - }, -) - -sketch010 = sketch(on = offsetPlane(XY, offset = wheelDiameter / 2)) { - line1 = line(start = [var -13.55in, var -1.05in], end = [var -13.67676317in, var -0.33109034in]) - arc2 = arc(start = [var -13.67676317in, var 1.091904762in], end = [var -13.67676317in, var -0.33109034in], center = [var -9.641660043in, var 0.380407211in]) - coincident([line1.end, arc2.end]) - arc3 = arc(start = [var -13.67676317in, var 1.091904762in], end = [var -13.661570923in, var 1.26555294in], center = [var -14.661570923in, var 1.26555294in]) - coincident([arc2.start, arc3.start]) - arc4 = arc(start = [var -13.561570923in, var 1.36555294in], end = [var -13.661570923in, var 1.26555294in], center = [var -13.561570923in, var 1.26555294in]) - coincident([arc3.end, arc4.end]) - line5 = line(start = [var -13.561570923in, var 1.36555294in], end = [var -11.311570923in, var 1.36555294in]) - coincident([arc4.start, line5.start]) - arc6 = arc(start = [var -11.211570923in, var 1.26555294in], end = [var -11.311570923in, var 1.36555294in], center = [var -11.311570923in, var 1.26555294in]) - coincident([line5.end, arc6.end]) - arc7 = arc(start = [var -11.211570923in, var 1.26555294in], end = [var -11.196378676in, var 1.091904762in], center = [var -10.211570923in, var 1.26555294in]) - coincident([arc6.start, arc7.start]) - arc8 = arc(start = [var -11.196378676in, var -0.33109034in], end = [var -11.196378676in, var 1.091904762in], center = [var -15.231481802in, var 0.380407211in]) - coincident([arc7.end, arc8.end]) - line9 = line(start = [var -11.196378676in, var -0.33109034in], end = [var -11.323141845in, var -1.05in]) - coincident([arc8.start, line9.start]) - line10 = line(start = [var -11.323141845in, var -1.05in], end = [var -13.55in, var -1.05in]) - coincident([line9.end, line10.start]) -} -region010 = region(segments = [sketch010.line1, sketch010.arc2]) -tire = revolve( - region010, - axis = { - direction = [1.0, 0.0], - origin = [0.0, -3.67] - }, -) - |> appearance(color = "#010101", metalness = 10, roughness = 70) - -patternCircular3d( - [wheel, tire], - instances = 2, - axis = [0, 0, 1], - center = [0, -3.67, 0], -) - -appearance( - [ - grate, - brackets, - axlebearing, - outerRailThicken, - centerRailThicken, - rib, - wheel - ], - color, - metalness = 40, - roughness, -) diff --git a/content/pages/docs/kcl-samples/hand-trolley/main.kcl b/content/pages/docs/kcl-samples/hand-trolley/main.kcl deleted file mode 100644 index 4f508543..00000000 --- a/content/pages/docs/kcl-samples/hand-trolley/main.kcl +++ /dev/null @@ -1,15 +0,0 @@ -// Hand Trolley -// A hand trolley, also known as a hand truck, is a small, wheeled cart with a weldment frame, used to move heavy or bulky items over short distances. It's essentially a simple lever system that makes lifting and moving objects much easier -// Categories: Automotive & Transportation; Industrial & Manufacturing - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -// Import parameters -import * from "parameters.kcl" -import "wheel.kcl" as wheel -import "weldment.kcl" as weldment - -import "axle.kcl" as axle -wheel - |> patternCircular3d(instances = 2, axis = [0, 0, 1], center = [0, -3.67, 0]) diff --git a/content/pages/docs/kcl-samples/hand-trolley/parameters.kcl b/content/pages/docs/kcl-samples/hand-trolley/parameters.kcl deleted file mode 100644 index 72a47d60..00000000 --- a/content/pages/docs/kcl-samples/hand-trolley/parameters.kcl +++ /dev/null @@ -1,19 +0,0 @@ -// Parameters for Hand Trolley - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -// Define parameters -export frameWidth = 20 -export tubeDiameter = 1 -export height = 51 -export grateDepth = 10 -export grateThickness = 0.090 -export wheelDiameter = 10 -export color = "#c00c0c" -export metalness = 40 -export roughness = 30 - -// Calculate stock material bend radii -export tubeBend = tubeDiameter * 2.5 -export bendRadius = grateThickness * 1.25 diff --git a/content/pages/docs/kcl-samples/hand-trolley/weldment.kcl b/content/pages/docs/kcl-samples/hand-trolley/weldment.kcl deleted file mode 100644 index c9a57b4a..00000000 --- a/content/pages/docs/kcl-samples/hand-trolley/weldment.kcl +++ /dev/null @@ -1,187 +0,0 @@ -// Hand Trolley Weldment -// A weldment is a frame constructed from welded metal pieces - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -// Import parameters -import * from "parameters.kcl" - -// Model the lifting grate as a sheet metal part -sketch001 = sketch(on = -YZ) { - line1 = line(start = [var -10in, var 0in], end = [var -10in, var 0.09in]) - line2 = line(start = [var -10in, var 0.09in], end = [var 1in, var 0.09in]) - coincident([line1.end, line2.start]) - arc3 = arc(start = [var 1in, var 0.09in], end = [var 1.1125in, var 0.2025in], center = [var 1in, var 0.2025in]) - coincident([line2.end, arc3.start]) - line4 = line(start = [var 1.1125in, var 0.2025in], end = [var 1.1125in, var 1.7025in]) - coincident([arc3.end, line4.start]) - line5 = line(start = [var 1.1125in, var 1.7025in], end = [var 1.2025in, var 1.7025in]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 1.2025in, var 1.7025in], end = [var 1.2025in, var 0.2025in]) - coincident([line5.end, line6.start]) - arc7 = arc(start = [var 1in, var 0in], end = [var 1.2025in, var 0.2025in], center = [var 1in, var 0.2025in]) - coincident([line6.end, arc7.end]) - line8 = line(start = [var 1in, var 0in], end = [var -10in, var 0in]) - coincident([arc7.start, line8.start]) -} -region001 = region(segments = [sketch001.line1, sketch001.line2]) -grate = extrude( - region001, - length = frameWidth + tubeDiameter, - symmetric = true, - tagStart = $capStart001, - tagEnd = $capEnd001, -) - |> fillet( - radius = 1, - edges = [ - { - sideFaces = [region001.tags.line5, capStart001] - }, - { - sideFaces = [region001.tags.line1, capEnd001] - }, - { - sideFaces = [region001.tags.line5, capEnd001] - }, - { - sideFaces = [region001.tags.line1, capStart001] - } - ], - ) - -// Model the path of the outer rail of the trolley frame -outerRail = sketch(on = offsetPlane(XZ, offset = tubeDiameter / 2)) { - line1 = line(start = [var -10in, var 0.09in], end = [var -10in, var 48.5in]) - arc2 = arc(start = [var -7.5in, var 51in], end = [var -10in, var 48.5in], center = [var -7.5in, var 48.5in]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var -7.5in, var 51in], end = [var 0in, var 51in]) - coincident([arc2.start, line3.start]) - line4 = line(start = [var 0in, var 51in], end = [var 7.5in, var 51in]) - coincident([line3.end, line4.start]) - arc5 = arc(start = [var 10in, var 48.5in], end = [var 7.5in, var 51in], center = [var 7.5in, var 48.5in]) - coincident([line4.end, arc5.end]) - line6 = line(start = [var 10in, var 48.5in], end = [var 10in, var 0.09in]) - coincident([arc5.start, line6.start]) -} - -// Sweep the tube profile around the outer rail path to give it a thickness -sketch002 = sketch(on = offsetPlane(XY, offset = grateThickness)) { - circle1 = circle(start = [var -9.5in, var -0.5in], center = [var -10in, var -0.5in]) -} -region002 = region(segments = [sketch002.circle1]) -outerRailThicken = sweep(region002, path = outerRail) - -// The minimum allowable straight length should equal double the bend radius -centerRail = sketch(on = YZ) { - line1 = line(start = [var -0.5in, var 0.09in], end = [var -0.5in, var 5.09in]) - arc2 = arc(start = [var -0.5in, var 5.09in], end = [var -0.834936491in, var 6.34in], center = [var -3in, var 5.09in]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var -0.834936491in, var 6.34in], end = [var -3.334936491in, var 10.670127019in]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -3.669872981in, var 11.920127019in], end = [var -3.334936491in, var 10.670127019in], center = [var -1.169872981in, var 11.920127019in]) - coincident([line3.end, arc4.end]) - line5 = line(start = [var -3.669872981in, var 11.920127019in], end = [var -3.669872981in, var 41.4125in]) - coincident([arc4.start, line5.start]) - arc6 = arc(start = [var -3.669872981in, var 41.4125in], end = [var -4.402106028in, var 43.180266953in], center = [var -6.169872981in, var 41.4125in]) - coincident([line5.end, arc6.start]) - line7 = line(start = [var -4.402106028in, var 43.180266953in], end = [var -7.937639934in, var 46.715800859in]) - coincident([arc6.end, line7.start]) - arc8 = arc(start = [var -6.169872981in, var 50.983567812in], end = [var -7.937639934in, var 46.715800859in], center = [var -6.169872981in, var 48.483567812in]) - coincident([line7.end, arc8.end]) - line9 = line(start = [var -6.169872981in, var 50.983567812in], end = [var -0.5in, var 50.983567812in]) - coincident([arc8.start, line9.start]) -} - -// Sweep the tube profile around the center rail path to give it a thickness -sketch003 = sketch(on = XY) { - circle1 = circle(start = [var 0.5in, var -0.5in], center = [var 0in, var -0.5in]) -} -region003 = region(segments = [sketch003.circle1]) -centerRailThicken = sweep(region003, path = centerRail) - -// Model supporting ribs for the trolley frame -sketch004 = sketch(on = offsetPlane(XY, offset = 14)) { - arc1 = arc(start = [var -9.55in, var -0.6in], end = [var 9.55in, var -0.6in], center = [var 0in, var 16.007843137in]) - line2 = line(start = [var 9.55in, var -0.6in], end = [var 9.505135868in, var -0.521979428in]) - coincident([arc1.end, line2.start]) - arc3 = arc(start = [var -9.505135868in, var -0.521979428in], end = [var 9.505135868in, var -0.521979428in], center = [var 0in, var 16.007843137in]) - coincident([line2.end, arc3.end]) - line4 = line(start = [var -9.505135868in, var -0.521979428in], end = [var -9.55in, var -0.6in]) - coincident([arc3.start, line4.start]) -} -region004 = region(segments = [sketch004.arc1, sketch004.line2]) -rib = extrude(region004, length = 1) - |> patternLinear3d(instances = 3, distance = 9.8307909936667, axis = [0, 0, 1]) - -// Create welded brackets to support the axle -sketch005 = sketch(on = offsetPlane(YZ, offset = frameWidth / 2)) { - line1 = line(start = [var -1in, var 2in], end = [var -1in, var 2.54in]) - arc2 = arc(start = [var -1in, var 2.54in], end = [var -1.05625in, var 2.637427858in], center = [var -1.1125in, var 2.54in]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var -1.05625in, var 2.637427858in], end = [var -3.290595542in, var 3.927427858in]) - coincident([arc2.end, line3.start]) - arc4 = arc(start = [var -3.364715686in, var 4.204048002in], end = [var -3.290595542in, var 3.927427858in], center = [var -3.189345542in, var 4.102798002in]) - coincident([line3.end, arc4.end]) - arc5 = arc(start = [var -3.364715686in, var 4.204048002in], end = [var -3.364715686in, var 5.704048002in], center = [var -4.663753792in, var 4.954048002in]) - coincident([arc4.start, arc5.start]) - arc6 = arc(start = [var -3.290595542in, var 5.980668146in], end = [var -3.364715686in, var 5.704048002in], center = [var -3.189345542in, var 5.805298002in]) - coincident([arc5.end, arc6.end]) - line7 = line(start = [var -3.290595542in, var 5.980668146in], end = [var -1.05625in, var 7.270668146in]) - coincident([arc6.start, line7.start]) - arc8 = arc(start = [var -1.05625in, var 7.270668146in], end = [var -1in, var 7.368096004in], center = [var -1.1125in, var 7.368096004in]) - coincident([line7.end, arc8.start]) - line9 = line(start = [var -1in, var 7.368096004in], end = [var -1in, var 7.908096004in]) - coincident([arc8.end, line9.start]) - line10 = line(start = [var -1in, var 7.908096004in], end = [var -0.91in, var 7.908096004in]) - coincident([line9.end, line10.start]) - line11 = line(start = [var -0.91in, var 7.908096004in], end = [var -0.91in, var 7.368096004in]) - coincident([line10.end, line11.start]) - arc12 = arc(start = [var -1.01125in, var 7.19272586in], end = [var -0.91in, var 7.368096004in], center = [var -1.1125in, var 7.368096004in]) - coincident([line11.end, arc12.end]) - line13 = line(start = [var -1.01125in, var 7.19272586in], end = [var -3.245595542in, var 5.90272586in]) - coincident([arc12.start, line13.start]) - arc14 = arc(start = [var -3.245595542in, var 5.90272586in], end = [var -3.2867734in, var 5.749048002in], center = [var -3.189345542in, var 5.805298002in]) - coincident([line13.end, arc14.start]) - arc15 = arc(start = [var -3.2867734in, var 4.159048002in], end = [var -3.2867734in, var 5.749048002in], center = [var -4.663753792in, var 4.954048002in]) - coincident([arc14.end, arc15.end]) - arc16 = arc(start = [var -3.2867734in, var 4.159048002in], end = [var -3.245595542in, var 4.005370144in], center = [var -3.189345542in, var 4.102798002in]) - coincident([arc15.start, arc16.start]) - line17 = line(start = [var -3.245595542in, var 4.005370144in], end = [var -1.01125in, var 2.715370144in]) - coincident([arc16.end, line17.start]) - arc18 = arc(start = [var -0.91in, var 2.54in], end = [var -1.01125in, var 2.715370144in], center = [var -1.1125in, var 2.54in]) - coincident([line17.end, arc18.end]) - line19 = line(start = [var -0.91in, var 2.54in], end = [var -0.91in, var 2in]) - coincident([arc18.start, line19.start]) - line20 = line(start = [var -0.91in, var 2in], end = [var -1in, var 2in]) - coincident([line19.end, line20.start]) -} -region005 = region(segments = [sketch005.line1, sketch005.arc2]) -brackets = extrude(region005, length = 0.75 * tubeDiameter, symmetric = true) - -// Model a bearing for the axle on each bracket -sketch006 = sketch(on = offsetPlane(YZ, offset = frameWidth / 2)) { - outerCircle = circle(start = [var -3.17in, var 5in], center = [var -3.67in, var 5in]) - innerCircle = circle(start = [var -3.295in, var 5in], center = [var -3.67in, var 5in]) -} -region006 = region(segments = [sketch006.outerCircle]) -axlebearing = extrude(region006, length = tubeDiameter, symmetric = true) - -a = patternLinear3d( - [brackets, axlebearing], - instances = 2, - distance = frameWidth, - axis = [-1, 0, 0], -) - -[ - grate, - brackets, - axlebearing, - outerRailThicken, - centerRailThicken, - rib, - a -] - |> appearance(color = color, metalness = 40, roughness = roughness) diff --git a/content/pages/docs/kcl-samples/hand-trolley/wheel.kcl b/content/pages/docs/kcl-samples/hand-trolley/wheel.kcl deleted file mode 100644 index 090f4f9e..00000000 --- a/content/pages/docs/kcl-samples/hand-trolley/wheel.kcl +++ /dev/null @@ -1,261 +0,0 @@ -// Hand Trolley Wheel - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -// Import parameters -import * from "parameters.kcl" - -// Revolve a wheel that mounts to the trolley axle -sketch001 = sketch(on = offsetPlane(XY, offset = wheelDiameter / 2)) { - line1 = line(start = [var -10.65in, var -3.295in], end = [var -13.35in, var -3.295in]) - line2 = line(start = [var -13.35in, var -3.295in], end = [var -13.35in, var -3.67in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var -13.35in, var -3.67in], end = [var -13.85in, var -3.67in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -13.85in, var -3.67in], end = [var -13.85in, var -3.23in]) - coincident([line3.end, line4.start]) - arc5 = arc(start = [var -13.667431149in, var -3.03076106in], end = [var -13.85in, var -3.23in], center = [var -13.65in, var -3.23in]) - coincident([line4.end, arc5.end]) - line6 = line( - start = [var -13.667431149in, var -3.03076106in], - end = [ - var -12.531769193in, - var -2.931403514in - ], - ) - coincident([arc5.start, line6.start]) - arc7 = arc( - start = [ - var -12.531769193in, - var -2.931403514in - ], - end = [ - var -12.440484767in, - var -2.831784044in - ], - center = [ - var -12.540484767in, - var -2.831784044in - ], - ) - coincident([line6.end, arc7.start]) - line8 = line( - start = [ - var -12.440484767in, - var -2.831784044in - ], - end = [ - var -12.440484767in, - var -1.551784044in - ], - ) - coincident([arc7.end, line8.start]) - arc9 = arc( - start = [ - var -12.440484767in, - var -1.551784044in - ], - end = [ - var -12.531769193in, - var -1.452164574in - ], - center = [ - var -12.540484767in, - var -1.551784044in - ], - ) - coincident([line8.end, arc9.start]) - line10 = line( - start = [ - var -12.531769193in, - var -1.452164574in - ], - end = [ - var -13.478154156in, - var -1.369366618in - ], - ) - coincident([arc9.end, line10.start]) - arc11 = arc( - start = [ - var -13.659961947in, - var -1.187558827in - ], - end = [ - var -13.478154156in, - var -1.369366618in - ], - center = [ - var -13.460723007in, - var -1.170127679in - ], - ) - coincident([line10.end, arc11.end]) - line12 = line( - start = [ - var -13.659961947in, - var -1.187558827in - ], - end = [var -13.727071869in, var -0.42048891in], - ) - coincident([arc11.start, line12.start]) - line13 = line(start = [var -13.727071869in, var -0.42048891in], end = [var -13.577071869in, var -0.42048891in]) - coincident([line12.end, line13.start]) - line14 = line( - start = [var -13.577071869in, var -0.42048891in], - end = [ - var -13.516062849in, - var -1.117825198in - ], - ) - coincident([line13.end, line14.start]) - line15 = line( - start = [ - var -13.516062849in, - var -1.117825198in - ], - end = [ - var -11.516062849in, - var -1.117825198in - ], - ) - coincident([line14.end, line15.start]) - line16 = line( - start = [ - var -11.516062849in, - var -1.117825198in - ], - end = [var -11.455053829in, var -0.42048891in], - ) - coincident([line15.end, line16.start]) - line17 = line(start = [var -11.455053829in, var -0.42048891in], end = [var -11.335053829in, var -0.42048891in]) - coincident([line16.end, line17.start]) - line18 = line( - start = [var -11.335053829in, var -0.42048891in], - end = [ - var -11.402163751in, - var -1.187558827in - ], - ) - coincident([line17.end, line18.start]) - arc19 = arc( - start = [ - var -11.583971542in, - var -1.369366618in - ], - end = [ - var -11.402163751in, - var -1.187558827in - ], - center = [ - var -11.601402691in, - var -1.170127679in - ], - ) - coincident([line18.end, arc19.end]) - line20 = line( - start = [ - var -11.583971542in, - var -1.369366618in - ], - end = [ - var -12.012335262in, - var -1.406843588in - ], - ) - coincident([arc19.start, line20.start]) - arc21 = arc( - start = [ - var -12.012335262in, - var -1.406843588in - ], - end = [ - var -12.103619688in, - var -1.506463058in - ], - center = [ - var -12.003619688in, - var -1.506463058in - ], - ) - coincident([line20.end, arc21.start]) - line22 = line( - start = [ - var -12.103619688in, - var -1.506463058in - ], - end = [ - var -12.103619688in, - var -2.416463058in - ], - ) - coincident([arc21.end, line22.start]) - arc23 = arc( - start = [ - var -12.103619688in, - var -2.416463058in - ], - end = [ - var -12.012335262in, - var -2.516082527in - ], - center = [ - var -12.003619688in, - var -2.416463058in - ], - ) - coincident([line22.end, arc23.start]) - line24 = line( - start = [ - var -12.012335262in, - var -2.516082527in - ], - end = [var -10.65in, var -2.635271419in], - ) - coincident([arc23.end, line24.start]) - line25 = line(start = [var -10.65in, var -2.635271419in], end = [var -10.65in, var -3.295in]) - coincident([line24.end, line25.start]) -} -region001 = region(segments = [sketch001.line1, sketch001.line2]) -wheel = revolve( - region001, - axis = { - direction = [1.0, 0.0], - origin = [0.0, -3.67] - }, -) - |> appearance(color = color, metalness = metalness, roughness = roughness) - -sketch002 = sketch(on = offsetPlane(XY, offset = wheelDiameter / 2)) { - line1 = line(start = [var -13.55in, var -1.05in], end = [var -13.67676317in, var -0.33109034in]) - arc2 = arc(start = [var -13.67676317in, var 1.091904762in], end = [var -13.67676317in, var -0.33109034in], center = [var -9.641660043in, var 0.380407211in]) - coincident([line1.end, arc2.end]) - arc3 = arc(start = [var -13.67676317in, var 1.091904762in], end = [var -13.661570923in, var 1.26555294in], center = [var -14.661570923in, var 1.26555294in]) - coincident([arc2.start, arc3.start]) - arc4 = arc(start = [var -13.561570923in, var 1.36555294in], end = [var -13.661570923in, var 1.26555294in], center = [var -13.561570923in, var 1.26555294in]) - coincident([arc3.end, arc4.end]) - line5 = line(start = [var -13.561570923in, var 1.36555294in], end = [var -11.311570923in, var 1.36555294in]) - coincident([arc4.start, line5.start]) - arc6 = arc(start = [var -11.211570923in, var 1.26555294in], end = [var -11.311570923in, var 1.36555294in], center = [var -11.311570923in, var 1.26555294in]) - coincident([line5.end, arc6.end]) - arc7 = arc(start = [var -11.211570923in, var 1.26555294in], end = [var -11.196378676in, var 1.091904762in], center = [var -10.211570923in, var 1.26555294in]) - coincident([arc6.start, arc7.start]) - arc8 = arc(start = [var -11.196378676in, var -0.33109034in], end = [var -11.196378676in, var 1.091904762in], center = [var -15.231481802in, var 0.380407211in]) - coincident([arc7.end, arc8.end]) - line9 = line(start = [var -11.196378676in, var -0.33109034in], end = [var -11.323141845in, var -1.05in]) - coincident([arc8.start, line9.start]) - line10 = line(start = [var -11.323141845in, var -1.05in], end = [var -13.55in, var -1.05in]) - coincident([line9.end, line10.start]) -} -region002 = region(segments = [sketch002.line1, sketch002.arc2]) -tire = revolve( - region002, - axis = { - direction = [1.0, 0.0], - origin = [0.0, -3.67] - }, -) - |> appearance(color = "#010101", metalness = 10, roughness = 70) - -[wheel, tire] diff --git a/content/pages/docs/kcl-samples/helium-tank/.gitignore b/content/pages/docs/kcl-samples/helium-tank/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/helium-tank/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/helium-tank/main.kcl b/content/pages/docs/kcl-samples/helium-tank/main.kcl deleted file mode 100644 index 7fb3ea48..00000000 --- a/content/pages/docs/kcl-samples/helium-tank/main.kcl +++ /dev/null @@ -1,244 +0,0 @@ -// Helium Tank -// A helium tank is a portable pressure vessel used to store and dispense helium gas for a variety of commercial and entertainment purposes -// Categories: Industrial & Manufacturing - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -tankHeight = 2.5ft -tankDiameter = 9 -portDiameter = 1.25 -boltSize = 1 / 4 - -tankSketch = sketch(on = YZ) { - line1 = line(start = [var 0.63in, var 30in], end = [var 0.63in, var 29.4in]) - line2 = line(start = [var 0.63in, var 29.4in], end = [var 0.73in, var 29.4in]) - coincident([line1.end, line2.start]) - arc3 = arc(start = [var 0.82in, var 29.27in], end = [var 0.73in, var 29.4in], center = [var 0.73in, var 29.3in]) - coincident([line2.end, arc3.end]) - arc4 = arc(start = [var 0.82in, var 29.27in], end = [var 0.82in, var 28.86in], center = [var 1.38in, var 29.06in]) - coincident([arc3.start, arc4.start]) - arc5 = arc(start = [var 0.72in, var 28.72in], end = [var 0.82in, var 28.86in], center = [var 0.72in, var 28.82in]) - coincident([arc4.end, arc5.end]) - arc6 = arc(start = [var 0.72in, var 28.72in], end = [var 0.72in, var 28.52in], center = [var 0.72in, var 28.62in]) - coincident([arc5.start, arc6.start]) - arc7 = arc(start = [var 4.5in, var 24.75in], end = [var 0.72in, var 28.52in], center = [var 0.72in, var 24.75in]) - coincident([arc6.end, arc7.end]) - line8 = line(start = [var 4.5in, var 24.75in], end = [var 4.5in, var 1.5in]) - coincident([arc7.start, line8.start]) - arc9 = arc(start = [var 2.5in, var -0.5in], end = [var 4.5in, var 1.5in], center = [var 2.5in, var 1.5in]) - coincident([line8.end, arc9.end]) - line10 = line(start = [var 2.5in, var -0.5in], end = [var 0in, var -0.5in]) - coincident([arc9.start, line10.start]) - line11 = line(start = [var 0in, var -0.5in], end = [var 0in, var -0.37in]) - coincident([line10.end, line11.start]) - line12 = line(start = [var 0in, var -0.37in], end = [var 2.5in, var -0.37in]) - coincident([line11.end, line12.start]) - arc13 = arc(start = [var 2.5in, var -0.37in], end = [var 4.37in, var 1.5in], center = [var 2.5in, var 1.5in]) - coincident([line12.end, arc13.start]) - line14 = line(start = [var 4.37in, var 1.5in], end = [var 4.37in, var 24.75in]) - coincident([arc13.end, line14.start]) - arc15 = arc(start = [var 4.37in, var 24.75in], end = [var 1.3in, var 27.82in], center = [var 1.3in, var 24.75in]) - coincident([line14.end, arc15.start]) - line16 = line(start = [var 1.3in, var 27.82in], end = [var 0.53in, var 27.82in]) - coincident([arc15.end, line16.start]) - line17 = line(start = [var 0.53in, var 27.82in], end = [var 0.53in, var 30in]) - coincident([line16.end, line17.start]) - line18 = line(start = [var 0.53in, var 30in], end = [var 0.63in, var 30in]) - coincident([line17.end, line18.start]) - vertical(line8) - horizontal(line10) - vertical(line11) - horizontal(line12) - vertical(line14) - horizontal(line16) - vertical(line17) - horizontal(line18) - distance([line8.start, line8.end]) == 23.25in - distance([line10.start, line10.end]) == 2.5in - distance([line11.start, line11.end]) == 0.13in - distance([line12.start, line12.end]) == 2.5in - distance([line16.start, line16.end]) == 0.77in - distance([line17.start, line17.end]) == 2.18in - distance([line18.start, line18.end]) == 0.1in -} -tankRegion = region(segments = [tankSketch.line1]) -tankRevolve = revolve(tankRegion, angle = 220deg, axis = Y) -hide(tankSketch) - -valveBodyPlane = offsetPlane(XY, offset = tankHeight - 0.5) -valveBodySketch = sketch(on = valveBodyPlane) { - circle1 = circle(start = [var 0.66in, var 0in], center = [var 0in, var 0in]) - coincident([circle1.center, ORIGIN]) - radius(circle1) == 0.66in -} -valveBodyRegion = region(segments = [valveBodySketch.circle1]) -valveBody = extrude(valveBodyRegion, length = 1.5, tagEnd = $capEnd001) - |> fillet( - radius = 0.1, - edges = [ - { - sideFaces = [ - valveBodyRegion.tags.circle1, - capEnd001 - ] - } - ], - ) - |> appearance(color = "#9a4618") -hide(valveBodySketch) - -valvePortPlane = offsetPlane(YZ, offset = 0.001in) -valvePortSketch = sketch(on = valvePortPlane) { - outerCircle = circle(start = [var 0.5in, var 30.3in], center = [var 0in, var 30.3in]) - radius(outerCircle) == portDiameter / 3 - innerCircle = circle(start = [var 0.46in, var 30.3in], center = [var 0in, var 30.3in]) - radius(innerCircle) == portDiameter / 3.25 - coincident([outerCircle.center, innerCircle.center]) -} -valvePortRegion = region(segments = [valvePortSketch.innerCircle]) -valvePort = extrude(valvePortRegion, length = 1.3) - |> appearance(color = "#9a4618") -hide(valvePortSketch) - -bracketPlane = offsetPlane(XY, offset = tankHeight * 0.67) - -bracketSketch = sketch(on = bracketPlane) { - outerLine1 = line(start = [var 0in, var 4.5in], end = [var -0.1in, var 4.5in]) - outerArc2 = arc(start = [var -0.1in, var 4.5in], end = [var -2.68in, var 3.69in], center = [var -0.1in, var 0in]) - coincident([outerLine1.end, outerArc2.start]) - outerArc3 = arc(start = [var -3.07in, var 3.93in], end = [var -2.68in, var 3.69in], center = [var -2.82in, var 3.89in]) - coincident([outerArc2.end, outerArc3.end]) - outerLine4 = line(start = [var -3.07in, var 3.93in], end = [var -2.85in, var 5.2in]) - coincident([outerArc3.start, outerLine4.start]) - outerArc5 = arc(start = [var -2.6in, var 5.41in], end = [var -2.85in, var 5.2in], center = [var -2.6in, var 5.16in]) - coincident([outerLine4.end, outerArc5.end]) - outerLine6 = line(start = [var -2.6in, var 5.41in], end = [var 2.6in, var 5.41in]) - coincident([outerArc5.start, outerLine6.start]) - outerLine8 = line(start = [var 2.85in, var 5.2in], end = [var 3.07in, var 3.93in]) - outerArc10 = arc(start = [var 2.68in, var 3.69in], end = [var 0.1in, var 4.5in], center = [var 0.1in, var 0in]) - outerLine11 = line(start = [var 0.1in, var 4.5in], end = [var 0in, var 4.5in]) - coincident([outerArc10.end, outerLine11.start]) - coincident([outerLine11.end, outerLine1.start]) - horizontal(outerLine1) - horizontal(outerLine6) - horizontal(outerLine11) - distance([outerLine1.start, outerLine1.end]) == 0.1in - distance([outerLine6.start, outerLine6.end]) == 5.2in - distance([outerLine11.start, outerLine11.end]) == 0.1in - - innerLine1 = line(start = [var 0in, var 4.63in], end = [var -0.1in, var 4.63in]) - innerArc2 = arc(start = [var -0.1in, var 4.63in], end = [var -2.75in, var 3.79in], center = [var -0.1in, var 0in]) - coincident([innerLine1.end, innerArc2.start]) - innerArc3 = arc(start = [var -2.95in, var 3.91in], end = [var -2.75in, var 3.79in], center = [var -2.82in, var 3.89in]) - coincident([innerArc2.end, innerArc3.end]) - innerLine4 = line(start = [var -2.95in, var 3.91in], end = [var -2.72in, var 5.18in]) - coincident([innerArc3.start, innerLine4.start]) - innerArc5 = arc(start = [var -2.6in, var 5.28in], end = [var -2.72in, var 5.18in], center = [var -2.6in, var 5.16in]) - coincident([innerLine4.end, innerArc5.end]) - innerLine6 = line(start = [var -2.6in, var 5.28in], end = [var 2.6in, var 5.28in]) - coincident([innerArc5.start, innerLine6.start]) - innerLine8 = line(start = [var 2.72in, var 5.18in], end = [var 2.95in, var 3.91in]) - innerArc10 = arc(start = [var 2.75in, var 3.79in], end = [var 0.1in, var 4.63in], center = [var 0.1in, var 0in]) - innerLine11 = line(start = [var 0.1in, var 4.63in], end = [var 0in, var 4.63in]) - coincident([innerArc10.end, innerLine11.start]) - coincident([innerLine11.end, innerLine1.start]) - horizontal(innerLine1) - horizontal(innerLine6) - horizontal(innerLine11) - distance([innerLine1.start, innerLine1.end]) == 0.1in - distance([innerLine6.start, innerLine6.end]) == 5.2in - distance([innerLine11.start, innerLine11.end]) == 0.1in - - arc1 = arc(start = [var 2.85in, var 5.2in], end = [var 2.6in, var 5.41in], center = [var 2.6in, var 5.16in]) - arc2 = arc(start = [var 2.72in, var 5.18in], end = [var 2.6in, var 5.28in], center = [var 2.6in, var 5.16in]) - coincident([arc2.center, arc1.center]) - coincident([arc2.start, innerLine8.start]) - arc3 = arc(start = [var 2.68in, var 3.69in], end = [var 3.07in, var 3.93in], center = [var 2.82in, var 3.89in]) - coincident([arc3.end, outerLine8.end]) - arc4 = arc(start = [var 2.75in, var 3.79in], end = [var 2.95in, var 3.91in], center = [var 2.82in, var 3.89in]) - coincident([arc4.start, innerArc10.start]) - - // Close outer and inner boundaries robustly for region detection. - coincident([outerLine6.end, arc1.end]) - coincident([arc1.start, outerLine8.start]) - coincident([arc3.start, outerArc10.start]) - coincident([innerLine6.end, arc2.end]) - coincident([innerLine8.end, arc4.end]) -} -bracketRegion = region( - segments = [ - bracketSketch.outerLine6, - bracketSketch.arc1 - ], - direction = CW, -) -bracketBody = extrude(bracketRegion, length = 1, symmetric = true) -hide(bracketSketch) - -strapSleeveOuterSketch = sketch(on = bracketPlane) { - circle1 = circle(start = [var 4.85in, var 0.0625in], center = [var 0in, var 0.0625in]) - radius(circle1) == 4.75 -} -strapSleeveOuterRegion = region(segments = [strapSleeveOuterSketch.circle1]) -strapSleeveOuter = extrude(strapSleeveOuterRegion, length = 0.8, symmetric = true) -hide(strapSleeveOuterSketch) - -strapSleeveInnerSketch = sketch(on = bracketPlane) { - circle1 = circle(start = [var 4.75in, var 0.0625in], center = [var 0in, var 0.0625in]) - radius(circle1) == 4.65 -} -strapSleeveInnerRegion = region(segments = [strapSleeveInnerSketch.circle1]) -strapSleeveInner = extrude(strapSleeveInnerRegion, length = 0.82, symmetric = true) -hide(strapSleeveInnerSketch) -strapSleeve = subtract([strapSleeveOuter], tools = [strapSleeveInner]) -bracketSleeve = subtract([bracketBody], tools = [strapSleeve]) - -mountingHolePlane = offsetPlane(XZ, offset = -tankDiameter / 1.9) -mountingHoleSketch = sketch(on = mountingHolePlane) { - circle1 = circle(start = [var 2.13in, var 20.1in], center = [var 2in, var 20.1in]) - diameter(circle1) == boltSize -} -mountingHoleRegion = region(segments = [mountingHoleSketch.circle1]) -mountingHole = extrude(mountingHoleRegion, length = -5) -hide(mountingHoleSketch) -mountingHolePair = patternLinear3d( - mountingHole, - instances = 2, - distance = tankDiameter / 2.25, - axis = [-1, 0, 0], -) -bracket = subtract([bracketSleeve], tools = [mountingHolePair]) - |> appearance(color = "#cd0404") - -mountingStrapOuterSketch = sketch(on = bracketPlane) { - circle1 = circle(start = [var 4.84in, var 0.0775in], center = [var 0in, var 0.0775in]) - radius(circle1) == tankDiameter / 1.9 -} -mountingStrapOuterRegion = region(segments = [mountingStrapOuterSketch.circle1]) -mountingStrapOuter = extrude(mountingStrapOuterRegion, length = 0.75, symmetric = true) -hide(mountingStrapOuterSketch) - -mountingStrapInnerSketch = sketch(on = bracketPlane) { - circle1 = circle(start = [var 4.74in, var 0.0775in], center = [var 0in, var 0.0775in]) - radius(circle1) == tankDiameter / 1.9 - 0.1 -} -mountingStrapInnerRegion = region(segments = [mountingStrapInnerSketch.circle1]) -mountingStrapInner = extrude(mountingStrapInnerRegion, length = 0.77, symmetric = true) -hide(mountingStrapInnerSketch) -mountingStrap = subtract([mountingStrapOuter], tools = [mountingStrapInner]) - |> appearance(color = "#210d03") - -brackets = patternLinear3d( - bracket, - instances = 2, - distance = tankHeight * 0.33, - axis = [0, 0, -1], -) - -straps = patternLinear3d( - mountingStrap, - instances = 2, - distance = tankHeight * 0.33, - axis = [0, 0, -1], -) diff --git a/content/pages/docs/kcl-samples/helium-tank/project.toml b/content/pages/docs/kcl-samples/helium-tank/project.toml deleted file mode 100644 index 6cf922ee..00000000 --- a/content/pages/docs/kcl-samples/helium-tank/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "9512ad7e-0b58-425a-bbcc-e749e82d7a67" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/herringbone-gear/main.kcl b/content/pages/docs/kcl-samples/herringbone-gear/main.kcl deleted file mode 100644 index d5b35667..00000000 --- a/content/pages/docs/kcl-samples/herringbone-gear/main.kcl +++ /dev/null @@ -1,23 +0,0 @@ -// Herringbone Gear -// A double-helical involute gear with opposing tooth angles and an 8 mm center bore. -// Categories: Mechanical Components - -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -gearHeight = 8 -gearBody = gear::herringbone( - nTeeth = 25, - module = 1, - pressureAngle = 14deg, - helixAngle = 40deg, - gearHeight, -) - -boreSketch = sketch(on = XY) { - bore = circle(start = [var 4mm, var 0mm], center = [var 0mm, var 0mm]) - coincident([bore.center, ORIGIN]) - radius(bore) == 4mm -} -boreBody = extrude(region(segments = [boreSketch.bore]), length = gearHeight) -herringboneGear = subtract(gearBody, tools = [boreBody]) -hide(boreSketch) diff --git a/content/pages/docs/kcl-samples/hex-nut-with-chamfer/.gitignore b/content/pages/docs/kcl-samples/hex-nut-with-chamfer/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/hex-nut-with-chamfer/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/hex-nut-with-chamfer/main.kcl b/content/pages/docs/kcl-samples/hex-nut-with-chamfer/main.kcl deleted file mode 100644 index 09a3faa8..00000000 --- a/content/pages/docs/kcl-samples/hex-nut-with-chamfer/main.kcl +++ /dev/null @@ -1,116 +0,0 @@ -// Hex Nut with Chamfered Ends -// This model generates a hexagonal nut with: a hex exterior defined by across-flats dimension, circular chamfers applied to both end faces, and central through-hole -// Categories: Mechanical Components - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Parameters -// Nut -nutAcrossCorners = 20 // Across-corners distance of the hex -nutThickness = 10 // Overall thickness of the nut -hexCircumscribedRadius = nutAcrossCorners / 2 // Radius to the hex vertices - - -// Chamfer -chamferCircleRadius = hexCircumscribedRadius * 1.1 -chamferLength = 2.5 // Chamfer setback distance - - -// Hole -holeRadius = 4 // Through-hole radius - - -// Base profiles -// Hex exterior with center hole -hexProfile = sketch(on = XY) { - line1 = line(start = [var 10mm, var 0mm], end = [var 5mm, var 8.66mm]) - line2 = line(start = [var 5mm, var 8.66mm], end = [var -5mm, var 8.66mm]) - line3 = line(start = [var -5mm, var 8.66mm], end = [var -10mm, var 0mm]) - line4 = line(start = [var -10mm, var 0mm], end = [var -5mm, var -8.66mm]) - line5 = line(start = [var -5mm, var -8.66mm], end = [var 5mm, var -8.66mm]) - line6 = line(start = [var 5mm, var -8.66mm], end = [var 10mm, var 0mm]) - - circle1 = circle(start = [var 3.25mm, var 2.33mm], center = [var 0mm, var 0mm]) - circle2 = circle(start = [var 10mm, var 0mm], center = [var 0mm, var 0mm], construction = true) - line7 = line(start = [var 0mm, var 0mm], end = [var 10mm, var 0mm], construction = true) - - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line6.start]) - - coincident([circle2.center, ORIGIN]) - coincident([circle2.center, circle1.center]) - coincident([line7.start, circle2.center]) - - coincident([circle2.start, line6.end]) - coincident([line1.start, circle2.start]) - coincident([line7.end, circle2.start]) - - coincident([line2.start, circle2]) - coincident([line3.start, circle2]) - coincident([line4.start, circle2]) - coincident([line5.start, circle2]) - coincident([line6.start, circle2]) - - horizontal(line7) - horizontalDistance([line7.start, line7.end]) == nutAcrossCorners / 2 - equalLength([ - line1, - line2, - line3, - line4, - line5, - line6 - ]) - radius(circle1) == holeRadius -} - -region001 = region(segments = [hexProfile.line1, hexProfile.line2]) - -// Main nut body from the hex profile -nutSolid = extrude(region001, length = nutThickness) - -// Auxiliary circle used to build the chamfer source solid -chamferCircleSketch = sketch(on = XY) { - circle1 = circle(start = [var 9.57mm, var 2.89mm], center = [var 0mm, var 0mm]) - coincident([circle1.center, ORIGIN]) - radius(circle1) == nutAcrossCorners / 2 * 1.01 // Slight oversize keeps the boolean overlap stable -} - -region002 = region(segments = [chamferCircleSketch.circle1]) - -// Auxiliary solid whose end edges are chamfered before intersecting the nut body -chamferSourceSolid = extrude( - region002, - length = nutThickness, - tagStart = $chamferStartFace, - tagEnd = $chamferEndFace, -) - -// Apply chamfers to the auxiliary solid's circular end edges -chamferedCircularSolid = chamfer( - chamferSourceSolid, - length = chamferLength, - edges = [ - { - sideFaces = [region002.tags.circle1, chamferEndFace] - }, - { - sideFaces = [ - region002.tags.circle1, - chamferStartFace - ] - } - ], -) - -// Keep only the shared volume to imprint the chamfers into the hex body -nutWithChamfer = intersect([nutSolid, chamferedCircularSolid]) - -// Final appearance -appearance(nutWithChamfer, color = "#0040ff") - -hide(hexProfile) -hide(chamferCircleSketch) diff --git a/content/pages/docs/kcl-samples/hex-nut-with-chamfer/project.toml b/content/pages/docs/kcl-samples/hex-nut-with-chamfer/project.toml deleted file mode 100644 index 8ea5fdcf..00000000 --- a/content/pages/docs/kcl-samples/hex-nut-with-chamfer/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "bb1a72ea-3a49-4def-8fc9-8a6f8e1e6a34" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/hex-nut/.gitignore b/content/pages/docs/kcl-samples/hex-nut/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/hex-nut/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/hex-nut/main.kcl b/content/pages/docs/kcl-samples/hex-nut/main.kcl deleted file mode 100644 index 1e752126..00000000 --- a/content/pages/docs/kcl-samples/hex-nut/main.kcl +++ /dev/null @@ -1,65 +0,0 @@ -// Hex Nut -// A hex nut is a type of fastener with a threaded hole and a hexagonal outer shape, used in a wide variety of applications to secure parts together. The hexagonal shape allows for a greater torque to be applied with wrenches or tools, making it one of the most common nut types in hardware. -// Categories: Mechanical Components - -// Set Units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define parameters (5/16" - 24 thread size) -wallToWallLength = 0.5 -thickness = 0.266 -holeDiameter = 0.3125 - -nutSketch = sketch(on = XZ) { - circle1 = circle(start = [var 0.29in, var 0in], center = [var 0in, var 0in], construction = true) - coincident([circle1.center, ORIGIN]) - - line1 = line(start = [var -0.29in, var 0in], end = [var -0.15in, var 0.25in]) - line2 = line(start = [var -0.15in, var 0.25in], end = [var 0.14in, var 0.25in]) - coincident([line1.end, line2.start]) - - line3 = line(start = [var 0.14in, var 0.25in], end = [var 0.29in, var -0.03in]) - coincident([line2.end, line3.start]) - coincident([line3.end, circle1.start]) - - line4 = line(start = [var 0.29in, var -0.04in], end = [var 0.14in, var -0.25in]) - coincident([line4.start, line3.end]) - - line5 = line(start = [var 0.14in, var -0.25in], end = [var -0.15in, var -0.25in]) - coincident([line4.end, line5.start]) - - line6 = line(start = [var -0.15in, var -0.25in], end = [var -0.29in, var 0in]) - coincident([line5.end, line6.start]) - coincident([line6.end, line1.start]) - - coincident([line6.end, circle1]) - coincident([line2.start, circle1]) - coincident([line3.start, circle1]) - coincident([line5.start, circle1]) - coincident([line6.start, circle1]) - - equalLength([ - line5, - line6, - line1, - line2, - line3, - line4 - ]) - - line7 = line(start = [var -0in, var -0in], end = [var 0.29in, var -0.03in], construction = true) - coincident([line7.start, circle1.center]) - coincident([line7.end, line4.start]) - horizontal(line7) - - circle2 = circle(start = [var 0.14in, var 0.07in], center = [var 0in, var 0in]) - coincident([circle2.center, circle1.center]) - radius(circle2) == holeDiameter / 2 - horizontalDistance([line7.start, line7.end]) == holeDiameter -} - -sketchRegion = region(segments = [nutSketch.line1, nutSketch.line2], direction = CW) - -// Create a hex nut -hexNut = extrude(sketchRegion, length = thickness) -hide(nutSketch) diff --git a/content/pages/docs/kcl-samples/hex-nut/project.toml b/content/pages/docs/kcl-samples/hex-nut/project.toml deleted file mode 100644 index 7f255803..00000000 --- a/content/pages/docs/kcl-samples/hex-nut/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "ec76168f-70bf-4d74-b81d-37826889cf5d" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/i-beam/.gitignore b/content/pages/docs/kcl-samples/i-beam/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/i-beam/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/i-beam/main.kcl b/content/pages/docs/kcl-samples/i-beam/main.kcl deleted file mode 100644 index 1fa7d2dd..00000000 --- a/content/pages/docs/kcl-samples/i-beam/main.kcl +++ /dev/null @@ -1,128 +0,0 @@ -// I-beam -// A structural metal beam with an I shaped cross section. Often used in construction and architecture -// Categories: Architecture & Construction - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define parameters -beamLength = 6ft -beamHeight = 4 -flangeWidth = 2.663 -flangeThickness = 0.293 -webThickness = 0.193 -rootRadius = .457 - -beamSection = sketch(on = XZ) { - line1 = line(start = [var -1.33in, var 2in], end = [var 1.33in, var 2in], construction = true) - line2 = line(start = [var 1.33in, var 2in], end = [var 1.33in, var 1.71in], construction = true) - coincident([line1.end, line2.start]) - line3 = line(start = [var 1.33in, var 1.71in], end = [var -0.1in, var 1.71in], construction = true) - coincident([line2.end, line3.start]) - line4 = line(start = [var -0.1in, var 1.71in], end = [var -0.1in, var -1.71in], construction = true) - coincident([line3.end, line4.start]) - line5 = line(start = [var -0.1in, var -1.71in], end = [var 1.33in, var -1.71in], construction = true) - coincident([line4.end, line5.start]) - line6 = line(start = [var 1.33in, var -1.71in], end = [var 1.33in, var -2in], construction = true) - coincident([line5.end, line6.start]) - line7 = line(start = [var 1.33in, var -2in], end = [var -1.33in, var -2in], construction = true) - coincident([line6.end, line7.start]) - line8 = line(start = [var -1.33in, var -2in], end = [var -1.33in, var -1.71in], construction = true) - coincident([line7.end, line8.start]) - line9 = line(start = [var -1.33in, var -1.71in], end = [var 0.1in, var -1.71in], construction = true) - coincident([line8.end, line9.start]) - line10 = line(start = [var 0.1in, var -1.71in], end = [var 0.1in, var 1.71in], construction = true) - coincident([line9.end, line10.start]) - line11 = line(start = [var 0.1in, var 1.71in], end = [var -1.33in, var 1.71in], construction = true) - coincident([line10.end, line11.start]) - line12 = line(start = [var -1.33in, var 1.71in], end = [var -1.33in, var 2in], construction = true) - coincident([line11.end, line12.start]) - coincident([line12.end, line1.start]) - line13 = line(start = [var 0in, var -2.71in], end = [var 0in, var 2.86in], construction = true) - vertical([line13.start, ORIGIN]) - vertical([line13.end, ORIGIN]) - line14 = line(start = [var -2.69in, var 0in], end = [var 3.15in, var 0in], construction = true) - horizontal([line14.start, ORIGIN]) - horizontal([line14.end, ORIGIN]) - horizontal(line1) - horizontal(line3) - vertical(line2) - vertical(line4) - distance([line1.start, line1.end]) == flangeWidth - distance([line2.start, line2.end]) == flangeThickness - verticalDistance([line8.start, line12.end]) == beamHeight - symmetric([line2, line12], axis = line13) - symmetric([line3, line11], axis = line13) - symmetric([line1, line7], axis = line14) - symmetric([line5, line3], axis = line14) - symmetric([line6, line8], axis = line13) - symmetric([line5, line9], axis = line13) - symmetric([line5, line3], axis = line14) - coincident([line6, line2]) - symmetric([line10, line4], axis = line13) - distance([line4, line10]) == webThickness - line15 = line(start = [var -1.33in, var 2in], end = [var 1.33in, var 2in]) - line16 = line(start = [var 1.33in, var 2in], end = [var 1.33in, var 1.71in]) - coincident([line15.end, line16.start]) - line17 = line(start = [var 1.33in, var 1.71in], end = [var 0.55in, var 1.71in]) - coincident([line16.end, line17.start]) - line18 = line(start = [var 0.1in, var 1.25in], end = [var 0.1in, var -1.25in]) - line19 = line(start = [var 0.55in, var -1.71in], end = [var 1.33in, var -1.71in]) - line20 = line(start = [var 1.33in, var -1.71in], end = [var 1.33in, var -2in]) - coincident([line19.end, line20.start]) - line21 = line(start = [var 1.33in, var -2in], end = [var -1.33in, var -2in]) - coincident([line20.end, line21.start]) - line22 = line(start = [var -1.33in, var -2in], end = [var -1.33in, var -1.71in]) - coincident([line21.end, line22.start]) - line23 = line(start = [var -1.33in, var -1.71in], end = [var -0.55in, var -1.71in]) - coincident([line22.end, line23.start]) - line24 = line(start = [var -1.33in, var 2in], end = [var -1.33in, var 1.71in]) - coincident([line24.start, line15.start]) - line25 = line(start = [var -1.33in, var 1.71in], end = [var -0.55in, var 1.71in]) - coincident([line24.end, line25.start]) - line26 = line(start = [var -0.1in, var 1.25in], end = [var -0.1in, var -1.25in]) - arc1 = arc(start = [var 0.55in, var 1.71in], end = [var 0.1in, var 1.25in], center = [var 0.55in, var 1.25in]) - coincident([arc1.end, line18.start]) - coincident([line17.end, arc1.start]) - tangent([line17, arc1]) - arc2 = arc(start = [var 0.1in, var -1.25in], end = [var 0.55in, var -1.71in], center = [var 0.55in, var -1.25in]) - coincident([arc2.end, line19.start]) - coincident([line18.end, arc2.start]) - tangent([line18, arc2]) - arc3 = arc(start = [var -0.1in, var 1.25in], end = [var -0.55in, var 1.71in], center = [var -0.55in, var 1.25in]) - tangent([line25, arc3]) - arc4 = arc(start = [var -0.55in, var -1.71in], end = [var -0.1in, var -1.25in], center = [var -0.55in, var -1.25in]) - coincident([arc4.start, line23.end]) - coincident([line26.end, arc4.end]) - tangent([line26, arc4]) - tangent([line18, arc1]) - tangent([line19, arc2]) - tangent([line26, arc3]) - tangent([line23, arc4]) - radius(arc1) == rootRadius - equalRadius([arc1, arc3, arc4, arc2]) - coincident([line24.start, line12.end]) - coincident([line25.start, line12.start]) - coincident([line16.start, line2.start]) - coincident([line17.start, line3.start]) - coincident([line26.start, line4]) - coincident([arc3.start, line26.start]) - coincident([line25.end, line11]) - coincident([arc3.end, line25.end]) - coincident([arc4.end, line4]) - coincident([arc4.start, line9]) - coincident([arc2.start, line10]) - coincident([arc2.end, line5]) - coincident([arc1.end, line10]) - coincident([arc1.start, line3]) - coincident([line23.start, line9.start]) - coincident([line8.start, line22.start]) - coincident([line20.start, line6.start]) - coincident([line21.start, line7.start]) - equalLength([line18, line26]) - verticalDistance([arc1.end, arc1.center]) == 0in -} - -beamRegion = region(sketch = beamSection, point = [0, 0]) -hide(beamSection) -iBeam = extrude(beamRegion, length = beamLength, symmetric = true) diff --git a/content/pages/docs/kcl-samples/i-beam/project.toml b/content/pages/docs/kcl-samples/i-beam/project.toml deleted file mode 100644 index f8ff60bb..00000000 --- a/content/pages/docs/kcl-samples/i-beam/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "eb5317b6-c483-439e-a059-15702ddc1bda" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/inner-thread/.gitignore b/content/pages/docs/kcl-samples/inner-thread/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/inner-thread/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/inner-thread/main.kcl b/content/pages/docs/kcl-samples/inner-thread/main.kcl deleted file mode 100644 index f2f505ae..00000000 --- a/content/pages/docs/kcl-samples/inner-thread/main.kcl +++ /dev/null @@ -1,69 +0,0 @@ -// Inner Thread -// An example of an inner thread on a cylinder. -// Categories: Mechanical Components; Science & Education - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -outerCylinderRadius = 5mm - -outerCylinderSketch = sketch(on = XY) { - circle1 = circle(start = [var 5mm, var 0mm], center = [var 0mm, var 0mm]) - coincident([circle1.center, ORIGIN]) - horizontalDistance([circle1.center, circle1.start]) == outerCylinderRadius - verticalDistance([circle1.center, circle1.start]) == 0mm -} -outerCylinderRegion = region(segments = [outerCylinderSketch.circle1]) -hide(outerCylinderSketch) -outerCylinder = extrude(outerCylinderRegion, length = 10mm) - -innerSketch = sketch(on = XY) { - circle1 = circle(start = [var 4mm, var 0mm], center = [var 0mm, var 0mm]) - coincident([circle1.center, ORIGIN]) - horizontalDistance([circle1.center, circle1.start]) == 4mm - verticalDistance([circle1.center, circle1.start]) == 0mm -} -innerRegion = region(segments = [innerSketch.circle1]) -hide(innerSketch) -inner = extrude(innerRegion, length = 10mm) - -rectHeight = 0.5mm -rectWidth = 0.5mm - -threadProfile = sketch(on = XZ) { - line1 = line(start = [var 3.7mm, var -0.2mm], end = [var 4.3mm, var -0.2mm]) - line2 = line(start = [var 4.3mm, var -0.2mm], end = [var 4.3mm, var 0.2mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 4.3mm, var 0.2mm], end = [var 3.7mm, var 0.2mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 3.7mm, var 0.2mm], end = [var 3.7mm, var -0.2mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - - horizontal(line1) - vertical(line2) - horizontal(line3) - vertical(line4) - - horizontalDistance([ORIGIN, line1.start]) == outerCylinderRadius - (rectWidth * 5 / 2) - verticalDistance([ORIGIN, line1.start]) == -rectHeight / 2 - horizontalDistance([line1.start, line1.end]) == rectWidth - verticalDistance([line2.start, line2.end]) == rectHeight -} - -threadHelix = helix( - revolutions = 10, - angleStart = 0deg, - cylinder = inner, - length = outerCylinderRadius * 2 + rectHeight * 2, -) - -threadProfileRegion = region(segments = [ - threadProfile.line1, - threadProfile.line2 -]) -thread = sweep(threadProfileRegion, path = threadHelix) - -hide(threadProfile) -hide(threadHelix) - -innerThread = subtract([outerCylinder], tools = [inner, thread]) diff --git a/content/pages/docs/kcl-samples/inner-thread/project.toml b/content/pages/docs/kcl-samples/inner-thread/project.toml deleted file mode 100644 index 496103df..00000000 --- a/content/pages/docs/kcl-samples/inner-thread/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "8193aebd-17ed-4283-b8ff-936032ba803b" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/lattice-cubic/.gitignore b/content/pages/docs/kcl-samples/lattice-cubic/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/lattice-cubic/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/lattice-cubic/main.kcl b/content/pages/docs/kcl-samples/lattice-cubic/main.kcl deleted file mode 100644 index f4dcc1c1..00000000 --- a/content/pages/docs/kcl-samples/lattice-cubic/main.kcl +++ /dev/null @@ -1,119 +0,0 @@ -// cubic lattice model -// Parametric three dimensional grid of spheres and rods used for teaching crystal lattice geometry and spatial repetition -// Categories: Science & Education; Parametric - -// units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// project title -projectTitle = "cubic lattice ball and stick model" - -// project description -projectDescription = "parametric three dimensional grid of spheres and rods used for teaching crystal lattice geometry and spatial repetition" - -// parameters -gridInstancesPerAxis = 3 -gridSpacingLength = 20 -nodeSphereRadiusLength = 5 -rodCylinderRadiusLength = 0.5 -rodExtrudeLengthY = 2 * gridSpacingLength -nodeColorHexadecimal = "#ff0059" -rodColorHexadecimal = "#00fffb" - -// node sphere -nodeProfile = sketch(on = XZ) { - line1 = line(start = [var 0mm, var -5mm], end = [var 0mm, var 5mm]) - arc2 = arc(start = [var 0mm, var 5mm], end = [var 0mm, var -5mm], center = [var 0mm, var 0mm]) - coincident([line1.end, arc2.start]) - coincident([line1.start, arc2.end]) - coincident([arc2.center, ORIGIN]) - coincident([line1, arc2.center]) - vertical(line1) - distance([line1.start, line1.end]) == 2 * nodeSphereRadiusLength - radius(arc2) == nodeSphereRadiusLength -} -nodeRegion = region(segments = [nodeProfile.line1]) -nodeSphereSolid = revolve(nodeRegion, angle = 360deg, axis = Y) -hide(nodeProfile) -appearance(nodeSphereSolid, color = nodeColorHexadecimal) - -// nodes pattern -nodesPatternAlongX = patternLinear3d( - nodeSphereSolid, - instances = gridInstancesPerAxis, - distance = gridSpacingLength, - axis = X, -) -nodesPatternAlongXThenY = patternLinear3d( - nodesPatternAlongX, - instances = gridInstancesPerAxis, - distance = gridSpacingLength, - axis = Y, -) -nodesPatternAlongXThenYThenZ = patternLinear3d( - nodesPatternAlongXThenY, - instances = gridInstancesPerAxis, - distance = gridSpacingLength, - axis = Z, -) - -// rods -rodSketchOffset = 0.001mm -rodSketchPlane = offsetPlane(XZ, offset = rodSketchOffset) -rodYProfile = sketch(on = rodSketchPlane) { - circle1 = circle(start = [var 0.5mm, var 0mm], center = [var 0mm, var 0mm]) - coincident([circle1.center, ORIGIN]) - distance([circle1.center, circle1.start]) == rodCylinderRadiusLength -} -rodYRegion = region(segments = [rodYProfile.circle1]) -rodYCylinder = extrude(rodYRegion, length = -rodExtrudeLengthY) - |> translate(y = -rodSketchOffset, global = true) -hide(rodYProfile) -appearance([rodYCylinder], color = rodColorHexadecimal) - -rodsAlongYPatternAlongX = patternLinear3d( - rodYCylinder, - instances = gridInstancesPerAxis, - distance = gridSpacingLength, - axis = X, -) -rodsAlongYPatternAlongXThenZ = patternLinear3d( - rodsAlongYPatternAlongX, - instances = gridInstancesPerAxis, - distance = gridSpacingLength, - axis = Z, -) - -rodXCylinder = clone(rodYCylinder) - |> rotate(axis = Z, angle = 90) - |> translate(x = rodExtrudeLengthY, global = true) - -rodsAlongXPatternAlongY = patternLinear3d( - rodXCylinder, - instances = gridInstancesPerAxis, - distance = gridSpacingLength, - axis = Y, -) -rodsAlongX = patternLinear3d( - rodsAlongXPatternAlongY, - instances = gridInstancesPerAxis, - distance = gridSpacingLength, - axis = Z, -) - -rodZCylinder = clone(rodYCylinder) - |> rotate(axis = X, angle = 90, global = true) - |> translate(y = rodExtrudeLengthY, global = true) - -rodsAlongZPatternAlongX = patternLinear3d( - rodZCylinder, - instances = gridInstancesPerAxis, - distance = gridSpacingLength, - axis = X, -) -rodsAlongZ = patternLinear3d( - rodsAlongZPatternAlongX, - instances = gridInstancesPerAxis, - distance = gridSpacingLength, - axis = [0, -1, 0], -) diff --git a/content/pages/docs/kcl-samples/lattice-cubic/project.toml b/content/pages/docs/kcl-samples/lattice-cubic/project.toml deleted file mode 100644 index 0f6d60f0..00000000 --- a/content/pages/docs/kcl-samples/lattice-cubic/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "2c8db12f-cea6-4dbb-b6ed-b1f30a53c9d5" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/lego/.gitignore b/content/pages/docs/kcl-samples/lego/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/lego/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/lego/main.kcl b/content/pages/docs/kcl-samples/lego/main.kcl deleted file mode 100644 index c96d39a0..00000000 --- a/content/pages/docs/kcl-samples/lego/main.kcl +++ /dev/null @@ -1,114 +0,0 @@ -// Lego Brick -// A standard Lego brick. This is a small, plastic construction block toy that can be interlocked with other blocks to build various structures, models, and figures. There are a lot of hacks used in this code. -// Categories: Toys, Games, & Recreation; 3D Printable; Parametric - -// Set Units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define parameters -lbumps = 3 // number of bumps long -wbumps = 2 // number of bumps wide -pitch = 8.0 -clearance = 0.1 -bumpDiam = 4.8 -bumpHeight = 1.8 -height = 3.2 -t = (pitch - (2 * clearance) - bumpDiam) / 2.0 -postDiam = pitch - t // works out to 6.5 -totalLength = lbumps * pitch - (2.0 * clearance) -totalWidth = wbumps * pitch - (2.0 * clearance) -pegCenterX = -(pitch * (wbumps - 1) / 2) -pegCenterY = -(pitch * (lbumps - 1) / 2) -tubeCenterX = pegCenterX + pitch / 2 -tubeCenterY = pegCenterY + pitch / 2 - -// Calculate the number of segments in the length and width -lSegments = totalLength / lbumps -wSegments = totalWidth / wbumps - -// Make the base -sketch001 = sketch(on = XY) { - line1 = line(start = [var -7.9in, var -11.9in], end = [var 7.9in, var -11.9in]) - line2 = line(start = [var 7.9in, var -11.9in], end = [var 7.9in, var 11.9in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 7.9in, var 11.9in], end = [var -7.9in, var 11.9in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -7.9in, var 11.9in], end = [var -7.9in, var -11.9in]) - coincident([line3.end, line4.start]) -} -region001 = region(segments = [sketch001.line1, sketch001.line2]) -base = extrude(region001, length = height) -hide(sketch001) - -// Sketch and extrude a rectangular shape to create the shell underneath the lego. Will replace with shell function when able to call a face created from shell. -sketch002 = sketch(on = faceOf(base, face = START)) { - line1 = line(start = [var -6.4in, var -10.4in], end = [var 6.4in, var -10.4in]) - line2 = line(start = [var 6.4in, var -10.4in], end = [var 6.4in, var 10.4in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 6.4in, var 10.4in], end = [var -6.4in, var 10.4in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -6.4in, var 10.4in], end = [var -6.4in, var -10.4in]) - coincident([line3.end, line4.start]) -} -region002 = region(segments = [sketch002.line1, sketch002.line2]) -shellExtrude = extrude(region002, length = -(height - t)) -hide(sketch002) - -// Create the pegs on the top of the base -pegSketchPlane = faceOf(base, face = END) -pegSeedSketch = sketch(on = pegSketchPlane) { - pegCircle = circle(start = [var -1.6in, var -8in], center = [var -4in, var -8in]) - pegCenterGuide = line(start = [var -4in, var -8in], end = [var 0in, var 0in], construction = true) - coincident([pegCircle.center, pegCenterGuide.start]) - coincident([pegCenterGuide.end, ORIGIN]) - radius(pegCircle) == bumpDiam / 2 - horizontalDistance([ - pegCenterGuide.start, - pegCenterGuide.end - ]) == -pegCenterX - verticalDistance([ - pegCenterGuide.start, - pegCenterGuide.end - ]) == -pegCenterY -} -pegRegion = region(segments = [pegSeedSketch.pegCircle]) -pegSeed = extrude(pegRegion, length = bumpHeight, method = NEW) -hide(pegSeedSketch) -pegPattern = patternLinear3d( - pegSeed, - axis = [1, 0, 0], - instances = wbumps, - distance = pitch, -) - |> patternLinear3d(axis = [0, 1, 0], instances = lbumps, distance = pitch) - -// Create the tubes on the bottom of the base -tubeSketchPlane = faceOf(shellExtrude, face = START) -tubeSeedSketch = sketch(on = tubeSketchPlane) { - tubeCircle = circle(start = [var 2.4in, var -4in], center = [var 0in, var -4in]) - tubeCenterGuide = line(start = [var 0in, var -4in], end = [var 0in, var 0in], construction = true) - coincident([ - tubeCircle.center, - tubeCenterGuide.start - ]) - coincident([tubeCenterGuide.end, ORIGIN]) - radius(tubeCircle) == bumpDiam / 2 - horizontalDistance([ - tubeCenterGuide.start, - tubeCenterGuide.end - ]) == -tubeCenterX - verticalDistance([ - tubeCenterGuide.start, - tubeCenterGuide.end - ]) == -tubeCenterY -} -tubeRegion = region(segments = [tubeSeedSketch.tubeCircle]) -tubeSeed = extrude(tubeRegion, length = bumpHeight, method = NEW) -hide(tubeSeedSketch) -tubePattern = patternLinear3d( - tubeSeed, - axis = [1, 0, 0], - instances = wbumps - 1, - distance = pitch, -) - |> patternLinear3d(axis = [0, 1, 0], instances = lbumps - 1, distance = pitch) diff --git a/content/pages/docs/kcl-samples/lego/project.toml b/content/pages/docs/kcl-samples/lego/project.toml deleted file mode 100644 index 19770aaa..00000000 --- a/content/pages/docs/kcl-samples/lego/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "644d2430-3c6c-4451-af7a-3c6f02e9bc03" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/linear-shelf-system/.gitignore b/content/pages/docs/kcl-samples/linear-shelf-system/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/linear-shelf-system/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/linear-shelf-system/main.kcl b/content/pages/docs/kcl-samples/linear-shelf-system/main.kcl deleted file mode 100644 index 5ff65e8b..00000000 --- a/content/pages/docs/kcl-samples/linear-shelf-system/main.kcl +++ /dev/null @@ -1,180 +0,0 @@ -// Linear Shelf System -// A parametric, horizontally stackable shelf system for furniture layout and prototyping. -// Categories: Home & Lifestyle; Parametric - -// This model generates a configurable number of narrow shelf units arranged side-by-side. -// Each unit includes: -// - Two vertical side panels -// - A floor plinth with toe kick -// - Multiple evenly spaced shelves (with optional top cover) -// All geometric parameters (unit width, height, depth, shelf count, spacing, and material thickness) -// are customizable, allowing for rapid iteration of layout concepts such as storage walls, -// room dividers, or library-style shelving. -// Designed for clean stacking, clarity in construction, and modular expansion. - -@settings(defaultLengthUnit = m, kclVersion = 2.0) - -unitCount = 5 // number of shelf units arranged side-by-side (horizontal repeat) - - -// --- Global Dimensions --- -unitWidth = 0.4 // overall external width of the shelf -unitHeight = 2 // total height including top and base -unitDepth = 0.4 // depth from front to back - - -shelfBoardCount = 5 // number of usable shelf boards (excludes top cover) - - -// --- Panel & Shelf Geometry --- -panelThickness = 0.02 // thickness of side panels and shelf boards -sidePanelOffset = unitWidth - panelThickness // distance between origin points of left and right panel - - -// --- Base Spacer (Plinth) --- -baseHeight = 0.05 // elevation of bottom plinth from ground -baseInset = 0.03 // inward offset at the front (toe kick for foot clearance) -baseWidth = unitWidth - (panelThickness * 2) // internal width of base element -baseDepth = unitDepth - baseInset // shallower depth than full unit - - -// --- Shelf Placement --- -shelfStartZ = baseHeight // Z elevation of the first shelf board -shelfThickness = panelThickness // shelf board thickness -shelfWidth = baseWidth // width same as base -shelfDepth = unitDepth // full shelf depth - - -totalShelfBoards = shelfBoardCount + 1 // includes top cover board -availableVerticalSpace = unitHeight - baseHeight - shelfThickness -shelfSpacing = availableVerticalSpace / shelfBoardCount // vertical distance between shelf boards - - -// --- Side Panels --- -// Left and right vertical structural walls. -sidePanelProfile = sketch(on = XY) { - leftEdge = line(start = [var -0.2m, var 0m], end = [var -0.2m, var -0.4m]) - bottomEdge = line(start = [var -0.2m, var -0.4m], end = [var -0.18m, var -0.4m]) - coincident([leftEdge.end, bottomEdge.start]) - - rightEdge = line(start = [var -0.18m, var -0.4m], end = [var -0.18m, var 0m]) - coincident([bottomEdge.end, rightEdge.start]) - - topEdge = line(start = [var -0.18m, var 0m], end = [var -0.2m, var 0m]) - coincident([rightEdge.end, topEdge.start]) - coincident([topEdge.end, leftEdge.start]) - - originGuide = line(start = [var -0.2m, var 0m], end = [var 0m, var 0m], construction = true) - coincident([originGuide.start, leftEdge.start]) - coincident([originGuide.end, ORIGIN]) - - vertical(leftEdge) - horizontal(bottomEdge) - vertical(rightEdge) - horizontal(topEdge) - horizontal(originGuide) - - distance([leftEdge.start, leftEdge.end]) == unitDepth - distance([bottomEdge.start, bottomEdge.end]) == panelThickness - distance([originGuide.start, originGuide.end]) == unitWidth / 2 -} -sidePanelRegion = region(segments = [ - sidePanelProfile.leftEdge, - sidePanelProfile.bottomEdge -]) -sidePanel = extrude(sidePanelRegion, length = unitHeight) -hide(sidePanelProfile) -sidePanels = patternLinear3d( - sidePanel, - instances = 2, - distance = sidePanelOffset, - axis = [1, 0, 0], -) - -// --- Floor Base / Plinth --- -// Supporting base element between side panels. -baseProfile = sketch(on = XY) { - leftEdge = line(start = [var -0.18m, var 0m], end = [var -0.18m, var -0.37m]) - bottomEdge = line(start = [var -0.18m, var -0.37m], end = [var 0.18m, var -0.37m]) - coincident([leftEdge.end, bottomEdge.start]) - - rightEdge = line(start = [var 0.18m, var -0.37m], end = [var 0.18m, var 0m]) - coincident([bottomEdge.end, rightEdge.start]) - - topEdge = line(start = [var 0.18m, var 0m], end = [var -0.18m, var 0m]) - coincident([rightEdge.end, topEdge.start]) - coincident([topEdge.end, leftEdge.start]) - - originGuide = line(start = [var -0.18m, var 0m], end = [var 0m, var 0m], construction = true) - coincident([originGuide.start, leftEdge.start]) - coincident([originGuide.end, ORIGIN]) - - vertical(leftEdge) - horizontal(bottomEdge) - vertical(rightEdge) - horizontal(topEdge) - horizontal(originGuide) - - distance([leftEdge.start, leftEdge.end]) == baseDepth - distance([bottomEdge.start, bottomEdge.end]) == baseWidth - distance([originGuide.start, originGuide.end]) == baseWidth / 2 -} -baseRegion = region(segments = [ - baseProfile.leftEdge, - baseProfile.bottomEdge -]) -baseBlock = extrude(baseRegion, length = baseHeight) -hide(baseProfile) - -// --- First Shelf Board --- -firstShelfPlane = offsetPlane(XY, offset = shelfStartZ) -firstShelfProfile = sketch(on = firstShelfPlane) { - leftEdge = line(start = [var -0.18m, var 0m], end = [var -0.18m, var -0.4m]) - bottomEdge = line(start = [var -0.18m, var -0.4m], end = [var 0.18m, var -0.4m]) - coincident([leftEdge.end, bottomEdge.start]) - - rightEdge = line(start = [var 0.18m, var -0.4m], end = [var 0.18m, var 0m]) - coincident([bottomEdge.end, rightEdge.start]) - - topEdge = line(start = [var 0.18m, var 0m], end = [var -0.18m, var 0m]) - coincident([rightEdge.end, topEdge.start]) - coincident([topEdge.end, leftEdge.start]) - - originGuide = line(start = [var -0.18m, var 0m], end = [var 0m, var 0m], construction = true) - coincident([originGuide.start, leftEdge.start]) - coincident([originGuide.end, ORIGIN]) - - vertical(leftEdge) - horizontal(bottomEdge) - vertical(rightEdge) - horizontal(topEdge) - horizontal(originGuide) - - distance([leftEdge.start, leftEdge.end]) == shelfDepth - distance([bottomEdge.start, bottomEdge.end]) == shelfWidth - distance([originGuide.start, originGuide.end]) == shelfWidth / 2 -} -firstShelfRegion = region(segments = [ - firstShelfProfile.leftEdge, - firstShelfProfile.bottomEdge -]) -firstShelf = extrude(firstShelfRegion, length = shelfThickness) -hide(firstShelfProfile) - -// --- Shelf Stack --- -shelves = patternLinear3d( - firstShelf, - instances = totalShelfBoards, - distance = shelfSpacing, - axis = [0, 0, 1], -) - -// --- Modular Shelf Wall --- -// Repeats the complete shelf unit horizontally to create a wall of shelving. -// Includes side panels, base block, and shelf stack in each instance. -modularShelfArray = patternLinear3d( - [sidePanels, baseBlock, shelves], - instances = unitCount, - distance = unitWidth, - axis = [1, 0, 0], -) diff --git a/content/pages/docs/kcl-samples/linear-shelf-system/project.toml b/content/pages/docs/kcl-samples/linear-shelf-system/project.toml deleted file mode 100644 index 5b715be0..00000000 --- a/content/pages/docs/kcl-samples/linear-shelf-system/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "5a798269-637f-4729-aec6-9802874e241b" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/liquid-impeller/.gitignore b/content/pages/docs/kcl-samples/liquid-impeller/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/liquid-impeller/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/liquid-impeller/main.kcl b/content/pages/docs/kcl-samples/liquid-impeller/main.kcl deleted file mode 100644 index b3efcf30..00000000 --- a/content/pages/docs/kcl-samples/liquid-impeller/main.kcl +++ /dev/null @@ -1,99 +0,0 @@ -// Liquid Impeller -// An open-style impeller for use with incompressible fluid in a centrifugal pump -// Categories: Industrial & Manufacturing; Mechanical Components - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define parameters -impellerDiameter = 4 -plateHeight = 0.1 -vaneCount = 7 -vaneHeight = 0.3 -vaneThickness = 0.15 -mountDiameter = 0.25 - -// Draw the profile of the mounting hole -sketch001 = sketch(on = XY) { - circle1 = circle(start = [var 0.09in, var 0.09in], center = [var 0in, var 0in]) - coincident([circle1.center, ORIGIN]) - point1 = point(at = [var 0in, var 0in]) - line1 = line(start = [var -0.25in, var -0.09in], end = [var 0.25in, var -0.09in]) - line2 = line(start = [var 0.25in, var -0.09in], end = [var 0.25in, var 0.09in]) - line3 = line(start = [var 0.25in, var 0.09in], end = [var -0.25in, var 0.09in]) - line4 = line(start = [var -0.25in, var 0.09in], end = [var -0.25in, var -0.09in]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - parallel([line2, line4]) - parallel([line3, line1]) - perpendicular([line1, line2]) - horizontal(line3) - line5 = line(start = [var -0.25in, var -0.09in], end = [var 0.25in, var 0.09in], construction = true) - line6 = line(start = [var 0.25in, var -0.09in], end = [var -0.25in, var 0.09in], construction = true) - coincident([line5.start, line1.start]) - coincident([line5.end, line2.end]) - coincident([line6.start, line1.end]) - coincident([line6.end, line4.start]) - coincident([point1, line5]) - coincident([point1, line6]) - equalLength([line5, line6]) - coincident([point1, circle1.center]) - diameter(circle1) == mountDiameter - distance([line1.start, line1.end]) == 2 * mountDiameter - distance([line2.start, line2.end]) == mountDiameter * 0.65 -} -hide(sketch001) -region001 = region(segments = [sketch001.circle1, sketch001.line1], intersectionIndex = 0) -mountingHole = extrude(region001, length = plateHeight * 4, bidirectionalLength = plateHeight) - -// Revolve the base plate of the impeller -sketch002 = sketch(on = XZ) { - line1 = line(start = [var 0in, var 0in], end = [var 2in, var 0in]) - line2 = line(start = [var 2in, var 0in], end = [var 2in, var 0.1in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 2in, var 0.1in], end = [var 0.46in, var 0.1in]) - coincident([line2.end, line3.start]) - arc4 = arc(start = [var 0.39in, var 0.13in], end = [var 0.46in, var 0.1in], center = [var 0.46in, var 0.2in]) - coincident([line3.end, arc4.end]) - line5 = line(start = [var 0.39in, var 0.13in], end = [var 0.25in, var 0.27in]) - coincident([arc4.start, line5.start]) - line6 = line(start = [var 0.25in, var 0.27in], end = [var 0in, var 0.27in]) - coincident([line5.end, line6.start]) - line7 = line(start = [var 0in, var 0.27in], end = [var 0in, var 0in]) - coincident([line6.end, line7.start]) - coincident([line7.end, line1.start]) - distance([line1.start, line1.end]) == impellerDiameter / 2 - distance([line2.start, line2.end]) == plateHeight -} -hide(sketch002) -region002 = region(segments = [sketch002.line1, sketch002.line2]) -basePlate = revolve(region002, axis = Y) - // Subtract the mounting hole from the base plate - |> subtract(tools = mountingHole) - -// Model a vane of the impeller -sketch003 = sketch(on = offsetPlane(XY, offset = plateHeight)) { - arc1 = arc(start = [var 0.37in, var -0.8in], end = [var 1.93in, var 0.52in], center = [var 0.6in, var 0.52in]) - arc2 = arc(start = [var 0.39in, var -0.65in], end = [var 0.37in, var -0.8in], center = [var 0.38in, var -0.72in]) - coincident([arc1.start, arc2.end]) - arc3 = arc(start = [var 0.39in, var -0.65in], end = [var 1.78in, var 0.52in], center = [var 0.6in, var 0.52in]) - coincident([arc2.start, arc3.start]) - arc4 = arc(start = [var 1.93in, var 0.52in], end = [var 1.78in, var 0.52in], center = [var 1.86in, var 0.52in]) - coincident([arc3.end, arc4.end]) - coincident([arc1.end, arc4.start]) - radius(arc2) == 0.07in - diameter(arc3) == 2.37in - radius(arc4) == 0.07in -} -hide(sketch003) -region003 = region(segments = [sketch003.arc1, sketch003.arc2]) -vane = extrude(region003, length = vaneHeight) - // Pattern the vane around the Z axis - |> patternCircular3d( - useOriginal = true, - instances = vaneCount, - axis = Z, - center = [0, 0, 0], - ) diff --git a/content/pages/docs/kcl-samples/liquid-impeller/project.toml b/content/pages/docs/kcl-samples/liquid-impeller/project.toml deleted file mode 100644 index 4d8a170e..00000000 --- a/content/pages/docs/kcl-samples/liquid-impeller/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "995dd506-122f-4168-99be-ff1d9167306e" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/.gitignore b/content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/main.kcl b/content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/main.kcl deleted file mode 100644 index f9c96ffb..00000000 --- a/content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/main.kcl +++ /dev/null @@ -1,121 +0,0 @@ -// M4 Hex Socket Countersunk Head Screw -// Simplified M4 countersunk screw with a conical flush-mount head and internal hex socket drive for fast layout and fit checks. -// Categories: Mechanical Components - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -boltShankLength = 20 -boltShankDiameter = 3.87 -boltHeadDiameter = 7.9 -boltHeadTransitionHeight = 2.7 -socketAcrossCorners = 2.9 -socketDepth = 2.2 -socketRadius = socketAcrossCorners / 2 - -boltProfileSketch = sketch(on = XY) { - shankTopEdge = line(start = [var 0mm, var -20mm], end = [var -1.94mm, var -20mm]) - shankSideWall = line(start = [var -1.94mm, var -20mm], end = [var -1.94mm, var -2.7mm]) - coincident([shankTopEdge.end, shankSideWall.start]) - headTransitionEdge = line(start = [var -1.94mm, var -2.7mm], end = [var -3.95mm, var 0mm]) - coincident([ - shankSideWall.end, - headTransitionEdge.start - ]) - headTopEdge = line(start = [var -3.95mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([ - headTransitionEdge.end, - headTopEdge.start - ]) - boltAxis = line(start = [var 0mm, var 0mm], end = [var 0mm, var -20mm]) - coincident([headTopEdge.end, boltAxis.start]) - vertical(shankSideWall) - vertical(boltAxis) - horizontal(headTopEdge) - coincident([boltAxis.end, shankTopEdge.start]) - coincident([boltAxis.start, ORIGIN]) - horizontal(shankTopEdge) - verticalDistance([boltAxis.end, boltAxis.start]) == boltShankLength - horizontalDistance([shankTopEdge.end, shankTopEdge.start]) == boltShankDiameter / 2 - horizontalDistance([headTopEdge.start, headTopEdge.end]) == boltHeadDiameter / 2 - verticalDistance([ - headTransitionEdge.start, - headTransitionEdge.end - ]) == boltHeadTransitionHeight -} - -hexSocketSketch = sketch(on = XZ) { - socketReferenceCircle = circle(start = [var 1.45mm, var 0mm], center = [var 0mm, var 0mm], construction = true) - coincident([socketReferenceCircle.center, ORIGIN]) - upperRightFacet = line(start = [var 1.45mm, var 0mm], end = [var 0.73mm, var 1.26mm]) - topFacet = line(start = [var 0.73mm, var 1.26mm], end = [var -0.73mm, var 1.26mm]) - coincident([upperRightFacet.end, topFacet.start]) - coincident([topFacet.end, socketReferenceCircle]) - upperLeftFacet = line(start = [var -0.73mm, var 1.26mm], end = [var -1.45mm, var 0mm]) - coincident([ - upperLeftFacet.start, - socketReferenceCircle - ]) - coincident([ - upperLeftFacet.end, - socketReferenceCircle - ]) - lowerLeftFacet = line(start = [var -1.45mm, var 0mm], end = [var -0.73mm, var -1.26mm]) - coincident([ - lowerLeftFacet.start, - upperLeftFacet.end - ]) - coincident([ - lowerLeftFacet.end, - socketReferenceCircle - ]) - bottomFacet = line(start = [var -0.73mm, var -1.26mm], end = [var 0.73mm, var -1.26mm]) - coincident([bottomFacet.start, lowerLeftFacet.end]) - coincident([bottomFacet.end, socketReferenceCircle]) - lowerRightFacet = line(start = [var 0.73mm, var -1.26mm], end = [var 1.45mm, var 0mm]) - coincident([lowerRightFacet.start, bottomFacet.end]) - coincident([ - lowerRightFacet.end, - socketReferenceCircle.start - ]) - coincident([topFacet.start, socketReferenceCircle]) - equalLength([ - upperRightFacet, - topFacet, - upperLeftFacet, - lowerLeftFacet, - bottomFacet, - lowerRightFacet - ]) - socketRadiusGuide = line(start = [var 0mm, var 0mm], end = [var 1.45mm, var 0mm], construction = true) - coincident([ - socketRadiusGuide.start, - socketReferenceCircle.center - ]) - coincident([ - socketRadiusGuide.end, - lowerRightFacet.end - ]) - horizontal(socketRadiusGuide) - horizontalDistance([ - socketRadiusGuide.start, - socketRadiusGuide.end - ]) == socketRadius - coincident([topFacet.end, upperLeftFacet.start]) - coincident([ - socketRadiusGuide.end, - upperRightFacet.start - ]) -} - -boltProfileRegion = region(segments = [ - boltProfileSketch.shankTopEdge, - boltProfileSketch.shankSideWall -]) -boltBlank = revolve(boltProfileRegion, angle = 360deg, axis = Y) -hexSocketRegion = region(segments = [hexSocketSketch.upperRightFacet]) -hexSocketCut = extrude(hexSocketRegion, length = socketDepth) -bolt = subtract([boltBlank], tools = [hexSocketCut]) - |> appearance(color = "#acb1b9", metalness = 100, roughness = 50) - -hidden001 = hide(boltProfileSketch) -hidden002 = hide(hexSocketSketch) diff --git a/content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/project.toml b/content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/project.toml deleted file mode 100644 index 3c697579..00000000 --- a/content/pages/docs/kcl-samples/m4-hex-socket-countersunk-head-screw/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "0516b497-9501-4c78-abfe-431d4e4c62ca" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/m4-insert/.gitignore b/content/pages/docs/kcl-samples/m4-insert/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/m4-insert/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/m4-insert/main.kcl b/content/pages/docs/kcl-samples/m4-insert/main.kcl deleted file mode 100644 index 63ed915f..00000000 --- a/content/pages/docs/kcl-samples/m4-insert/main.kcl +++ /dev/null @@ -1,88 +0,0 @@ -// M4 Heat-Set Insert -// Simplified M4 heat-set threaded insert with stepped outer retention features, a tapered lead-in section, and a plain inner bore for envelope and fit modeling. -// Categories: Mechanical Components; 3D Printable - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -insertBodyMaxDiameter = 6.3 -insertGuideDiameter = 3.11 -insertLowerBandDiameter = 5.5 -insertOverallHeight = 8.1 - -topSectionHeight = 2.28 -midSectionHeight = 2.4 -bottomSectionHeight = 1.16 -ribWidth = 0.6 -taperAngle = 60deg - -insertColorHex = "#ff7e29" -insertMetalness = 100 -insertRoughness = 50 - -insertProfileSketch = sketch(on = XY) { - outerTopWall = line(start = [var -3.15mm, var 0mm], end = [var -3.15mm, var -2.28mm]) - topShoulder = line(start = [var -3.15mm, var -2.28mm], end = [var -2.55mm, var -2.28mm]) - coincident([outerTopWall.end, topShoulder.start]) - upperNeckWall = line(start = [var -2.55mm, var -2.28mm], end = [var -2.55mm, var -3.13mm]) - coincident([topShoulder.end, upperNeckWall.start]) - upperRib = line(start = [var -2.55mm, var -3.13mm], end = [var -3.11mm, var -3.13mm]) - coincident([upperNeckWall.end, upperRib.start]) - midWall = line(start = [var -3.11mm, var -3.13mm], end = [var -3.11mm, var -5.53mm]) - coincident([upperRib.end, midWall.start]) - taperFlank = line(start = [var -3.11mm, var -5.53mm], end = [var -2.15mm, var -6.09mm]) - coincident([midWall.end, taperFlank.start]) - lowerNeckWall = line(start = [var -2.15mm, var -6.09mm], end = [var -2.15mm, var -6.94mm]) - coincident([taperFlank.end, lowerNeckWall.start]) - lowerRib = line(start = [var -2.15mm, var -6.94mm], end = [var -2.75mm, var -6.94mm]) - coincident([lowerNeckWall.end, lowerRib.start]) - lowerBandWall = line(start = [var -2.75mm, var -6.94mm], end = [var -2.75mm, var -8.1mm]) - coincident([lowerRib.end, lowerBandWall.start]) - topBridge = line(start = [var -3.15mm, var 0mm], end = [var -1.56mm, var 0mm]) - innerWall = line(start = [var -1.56mm, var 0mm], end = [var -1.56mm, var -8.1mm]) - coincident([topBridge.end, innerWall.start]) - bottomBridge = line(start = [var -1.56mm, var -8.1mm], end = [var -2.75mm, var -8.1mm]) - coincident([innerWall.end, bottomBridge.start]) - coincident([bottomBridge.end, lowerBandWall.end]) - centerGuide = line(start = [var -1.56mm, var 0mm], end = [var 0mm, var 0mm], construction = true) - coincident([centerGuide.start, innerWall.start]) - coincident([centerGuide.end, ORIGIN]) - horizontal(topBridge) - horizontal(centerGuide) - horizontal(bottomBridge) - vertical(innerWall) - coincident([topBridge.start, outerTopWall.start]) - horizontal(topShoulder) - horizontal(upperRib) - horizontal(lowerRib) - vertical(lowerBandWall) - vertical(lowerNeckWall) - vertical(midWall) - vertical(upperNeckWall) - vertical(outerTopWall) - verticalDistance([outerTopWall.end, outerTopWall.start]) == topSectionHeight - verticalDistance([midWall.end, midWall.start]) == midSectionHeight - verticalDistance([lowerBandWall.end, lowerBandWall.start]) == bottomSectionHeight - equalLength([upperNeckWall, lowerNeckWall]) - horizontalDistance([topShoulder.start, topShoulder.end]) == ribWidth - equalLength([lowerRib, topShoulder]) - horizontalDistance([centerGuide.start, centerGuide.end]) == insertGuideDiameter / 2 - horizontalDistance([topBridge.start, centerGuide.end]) == insertBodyMaxDiameter / 2 - horizontalDistance([midWall.start, centerGuide.end]) == insertGuideDiameter - horizontalDistance([bottomBridge.end, centerGuide.end]) == insertLowerBandDiameter / 2 - verticalDistance([innerWall.end, innerWall.start]) == insertOverallHeight - angleDimension(lines = [midWall, taperFlank], sector = 1, labelPosition = [-2.83mm, -6.02mm]) == taperAngle -} - -insertProfileRegion = region(segments = [ - insertProfileSketch.outerTopWall, - insertProfileSketch.topShoulder -]) -insertBody = revolve(insertProfileRegion, angle = 360deg, axis = Y) -simpleInsert = appearance( - insertBody, - color = insertColorHex, - metalness = insertMetalness, - roughness = insertRoughness, -) - -hiddenInsertProfile = hide(insertProfileSketch) diff --git a/content/pages/docs/kcl-samples/m4-insert/project.toml b/content/pages/docs/kcl-samples/m4-insert/project.toml deleted file mode 100644 index 81089618..00000000 --- a/content/pages/docs/kcl-samples/m4-insert/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "17297569-6013-4edc-84fb-a0bf23bbc4c0" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/manhole-cover/main.kcl b/content/pages/docs/kcl-samples/manhole-cover/main.kcl deleted file mode 100644 index b146c6b1..00000000 --- a/content/pages/docs/kcl-samples/manhole-cover/main.kcl +++ /dev/null @@ -1,433 +0,0 @@ -// Vented Manhole Cover -// A cast-iron cover with traffic-safe ventilation slots and a side pick hole. -// Categories: Architecture & Construction - -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -coverDiameter = 22 + 3 / 4 -edgeThickness = 1 + 3 / 4 -pickHoleLength = 1 -pickHoleWidth = 2 -pickHoleDepth = 1 + 1 / 8 - -// The cover outline and all nine ventilation loops live in one sketch. The -// outer region therefore already contains the voids that legacy CSG created. -coverSketch = sketch(on = XY) { - coverCircle = circle(start = [var 11.375in, var 0in], center = [var 0in, var 0in]) - - slot1Side1 = line( - start = [var 5.67437in, var -8.539703in], - end = [ - var -5.940552836109in, - var 8.048125896852in - ], - ) - slot1Cap1 = arc( - start = [ - var -5.530976813964in, - var 8.334914115028in - ], - end = [ - var -5.940552836109in, - var 8.048125896852in - ], - center = [ - var -5.735764825036in, - var 8.19152000594in - ], - ) - slot1Side2 = line( - start = [ - var -5.530976813964in, - var 8.334914115028in - ], - end = [ - var 6.083946022144in, - var -8.252914781824in - ], - ) - slot1Cap2 = arc( - start = [var 5.67437in, var -8.539703in], - end = [ - var 6.083946022144in, - var -8.252914781824in - ], - center = [ - var 5.879158011072in, - var -8.396308890912in - ], - ) - - slot2Side1 = line( - start = [var 3.568886in, var -9.673446in], - end = [ - var -7.732864101861in, - var 6.46712588067in - ], - ) - slot2Cap1 = arc( - start = [ - var -7.323288079717in, - var 6.753914098846in - ], - end = [ - var -7.732864101861in, - var 6.46712588067in - ], - center = [ - var -7.528076090789in, - var 6.610519989758in - ], - ) - slot2Side2 = line( - start = [ - var -7.323288079717in, - var 6.753914098846in - ], - end = [ - var 3.978462022144in, - var -9.386657781824in - ], - ) - slot2Cap2 = arc( - start = [var 3.568886in, var -9.673446in], - end = [ - var 3.978462022144in, - var -9.386657781824in - ], - center = [ - var 3.773674011072in, - var -9.530051890912in - ], - ) - - slot3Side1 = line( - start = [var 1.114006in, var -10.3082in], - end = [ - var -9.162189433665in, - var 4.367728025482in - ], - ) - slot3Cap1 = arc( - start = [ - var -8.752613411521in, - var 4.654516243657in - ], - end = [ - var -9.162189433665in, - var 4.367728025482in - ], - center = [ - var -8.957401422593in, - var 4.511122134569in - ], - ) - slot3Side2 = line( - start = [ - var -8.752613411521in, - var 4.654516243657in - ], - end = [ - var 1.523582022144in, - var -10.021411781824in - ], - ) - slot3Cap2 = arc( - start = [var 1.114006in, var -10.3082in], - end = [ - var 1.523582022144in, - var -10.021411781824in - ], - center = [ - var 1.318794011072in, - var -10.164805890912in - ], - ) - - slot4Side1 = line( - start = [var -1.814767in, var -10.266164in], - end = [ - var -10.124168833418in, - var 1.600891665615in - ], - ) - slot4Cap1 = arc( - start = [ - var -9.714592811273in, - var 1.88767988379in - ], - end = [ - var -10.124168833418in, - var 1.600891665615in - ], - center = [ - var -9.919380822345in, - var 1.744285774702in - ], - ) - slot4Side2 = line( - start = [ - var -9.714592811273in, - var 1.88767988379in - ], - end = [ - var -1.405190977856in, - var -9.979375781824in - ], - ) - slot4Cap2 = arc( - start = [var -1.814767in, var -10.266164in], - end = [ - var -1.405190977856in, - var -9.979375781824in - ], - center = [ - var -1.609978988928in, - var -10.122769890912in - ], - ) - - slot5Side1 = line( - start = [var 7.46in, var -6.949in], - end = [ - var -3.841750101861in, - var 9.19157188067in - ], - ) - slot5Cap1 = arc( - start = [ - var -3.432174079717in, - var 9.478360098846in - ], - end = [ - var -3.841750101861in, - var 9.19157188067in - ], - center = [ - var -3.636962090789in, - var 9.334965989758in - ], - ) - slot5Side2 = line( - start = [ - var -3.432174079717in, - var 9.478360098846in - ], - end = [ - var 7.869576022144in, - var -6.662211781824in - ], - ) - slot5Cap2 = arc( - start = [var 7.46in, var -6.949in], - end = [ - var 7.869576022144in, - var -6.662211781824in - ], - center = [ - var 7.664788011072in, - var -6.805605890912in - ], - ) - - slot6Side1 = line( - start = [var 8.896in, var -4.8592in], - end = [ - var -1.380195433665in, - var 9.816728025482in - ], - ) - slot6Cap1 = arc( - start = [ - var -0.970619411521in, - var 10.103516243657in - ], - end = [ - var -1.380195433665in, - var 9.816728025482in - ], - center = [ - var -1.175407422593in, - var 9.960122134569in - ], - ) - slot6Side2 = line( - start = [ - var -0.970619411521in, - var 10.103516243657in - ], - end = [ - var 9.305576022144in, - var -4.572411781824in - ], - ) - slot6Cap2 = arc( - start = [var 8.896in, var -4.8592in], - end = [ - var 9.305576022144in, - var -4.572411781824in - ], - center = [ - var 9.100788011072in, - var -4.715805890912in - ], - ) - - slot7Side1 = line( - start = [var 9.8581in, var -2.0927in], - end = [ - var 1.548698166582in, - var 9.774355665615in - ], - ) - slot7Cap1 = arc( - start = [ - var 1.958274188727in, - var 10.06114388379in - ], - end = [ - var 1.548698166582in, - var 9.774355665615in - ], - center = [ - var 1.753486177655in, - var 9.917749774702in - ], - ) - slot7Side2 = line( - start = [ - var 1.958274188727in, - var 10.06114388379in - ], - end = [ - var 10.267676022144in, - var -1.805911781824in - ], - ) - slot7Cap2 = arc( - start = [var 9.8581in, var -2.0927in], - end = [ - var 10.267676022144in, - var -1.805911781824in - ], - center = [ - var 10.062888011072in, - var -1.949305890912in - ], - ) - - slot8Side1 = line( - start = [var -5.779208in, var -8.745042in], - end = [ - var -10.050861152081in, - var -2.644489065362in - ], - ) - slot8Cap1 = arc( - start = [ - var -9.641285129936in, - var -2.357700847187in - ], - end = [ - var -10.050861152081in, - var -2.644489065362in - ], - center = [ - var -9.846073141009in, - var -2.501094956274in - ], - ) - slot8Side2 = line( - start = [ - var -9.641285129936in, - var -2.357700847187in - ], - end = [ - var -5.369631977856in, - var -8.458253781824in - ], - ) - slot8Cap2 = arc( - start = [var -5.779208in, var -8.745042in], - end = [ - var -5.369631977856in, - var -8.458253781824in - ], - center = [ - var -5.574419988928in, - var -8.601647890912in - ], - ) - - slot9Side1 = line( - start = [var 9.7847in, var 2.1529in], - end = [ - var 5.513046847919in, - var 8.253452934638in - ], - ) - slot9Cap1 = arc( - start = [ - var 5.922622870064in, - var 8.540241152813in - ], - end = [ - var 5.513046847919in, - var 8.253452934638in - ], - center = [ - var 5.717834858991in, - var 8.396847043726in - ], - ) - slot9Side2 = line( - start = [ - var 5.922622870064in, - var 8.540241152813in - ], - end = [ - var 10.194276022144in, - var 2.439688218176in - ], - ) - slot9Cap2 = arc( - start = [var 9.7847in, var 2.1529in], - end = [ - var 10.194276022144in, - var 2.439688218176in - ], - center = [ - var 9.989488011072in, - var 2.296294109088in - ], - ) -} -coverRegion = region(segments = [coverSketch.coverCircle]) -ventedCover = extrude(coverRegion, length = edgeThickness, symmetric = true) - -pickHoleSketch = sketch(on = offsetPlane(YZ, offset = coverDiameter / 2)) { - topEdge = line(start = [var -1in, var 0.975in], end = [var 1in, var 0.975in]) - rightEdge = line(start = [var 1in, var 0.975in], end = [var 1in, var -0.15in]) - bottomEdge = line(start = [var 1in, var -0.15in], end = [var -1in, var -0.15in]) - leftEdge = line(start = [var -1in, var -0.15in], end = [var -1in, var 0.975in]) - coincident([topEdge.end, rightEdge.start]) - coincident([rightEdge.end, bottomEdge.start]) - coincident([bottomEdge.end, leftEdge.start]) - coincident([leftEdge.end, topEdge.start]) - horizontal(topEdge) - vertical(rightEdge) - horizontal(bottomEdge) - vertical(leftEdge) - horizontalDistance([topEdge.start, topEdge.end]) == pickHoleWidth - verticalDistance([rightEdge.end, rightEdge.start]) == pickHoleDepth - horizontalDistance([ORIGIN, topEdge.start]) == -pickHoleWidth / 2 - verticalDistance([ORIGIN, topEdge.start]) == edgeThickness / 2 + 0.1 -} -pickHoleRegion = region(segments = [ - pickHoleSketch.topEdge, - pickHoleSketch.rightEdge -]) -pickHole = extrude(pickHoleRegion, length = -pickHoleLength) -manhole = subtract(ventedCover, tools = [pickHole]) - -hide([coverSketch, pickHoleSketch]) diff --git a/content/pages/docs/kcl-samples/manifest.json b/content/pages/docs/kcl-samples/manifest.json deleted file mode 100644 index ed86db20..00000000 --- a/content/pages/docs/kcl-samples/manifest.json +++ /dev/null @@ -1,1807 +0,0 @@ -[ - { - "file": "main.kcl", - "categories": [ - "Tools", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "angle-gauge/main.kcl", - "multipleFiles": false, - "title": "Angle Gauge", - "description": "Simple angle gauge function to generate a gauge given an angle", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Medical & Assistive" - ], - "pathFromProjectDirectoryToFirstFile": "artificial-heart/main.kcl", - "multipleFiles": true, - "title": "Artificial Heart", - "description": "A model of a permanent electromagnetic blood pump", - "files": [ - "housing.kcl", - "impeller.kcl", - "main.kcl", - "plumbing.kcl", - "stator.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Electronics & Computing", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "axial-fan/main.kcl", - "multipleFiles": true, - "title": "PC Fan", - "description": "A small axial fan, used to push or draw airflow over components to remove excess heat", - "files": [ - "fan-housing.kcl", - "fan.kcl", - "main.kcl", - "motor.kcl", - "parameters.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "ball-bearing/main.kcl", - "multipleFiles": false, - "title": "Ball Bearing", - "description": "A ball bearing is a type of rolling-element bearing that uses balls to maintain the separation between the bearing races. The primary purpose of a ball bearing is to reduce rotational friction and support radial and axial loads.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "bench/main.kcl", - "multipleFiles": false, - "title": "Bench", - "description": "This is a slight remix of Depep1's original 3D Boaty (https://www.printables.com/model/1141963-3d-boaty). This is a tool used for benchmarking 3D FDM printers for bed adhesion, overhangs, bridging and top surface quality. The name of this file is a bit of misnomer, the shape of the object is a typical park bench.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "Toys, Games, & Recreation" - ], - "pathFromProjectDirectoryToFirstFile": "bench-for-kids/main.kcl", - "multipleFiles": false, - "title": "Bench for kids.", - "description": "Shaped like a friendly animal and sturdy enough for climbing.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Automotive & Transportation", - "Mechanical Components", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "bike-hub-washer/main.kcl", - "multipleFiles": false, - "title": "Bike hub washer", - "description": "Washer to protect the hub, it is made for the front wheel and might work for various generic front hubs.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education" - ], - "pathFromProjectDirectoryToFirstFile": "blend-tutorial/main.kcl", - "multipleFiles": false, - "title": "Blend Trim Operations", - "description": "Shows how to create a blend surface and use it for trim operations.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Medical & Assistive" - ], - "pathFromProjectDirectoryToFirstFile": "bone-plate/main.kcl", - "multipleFiles": false, - "title": "Bone Plate", - "description": "A bone plate is a medical device used in orthopedics to stabilize and fix bone fractures during the healing process. They are typically made of stainless steel or titanium and are secured to the bone with screws. Bone plates come in various types, including locking, compression, and bridge plates, each with specific applications", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle" - ], - "pathFromProjectDirectoryToFirstFile": "bottle/main.kcl", - "multipleFiles": false, - "title": "Bottle", - "description": "A simple bottle with a hollow, watertight interior", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "box/main.kcl", - "multipleFiles": false, - "title": "Box", - "description": "A box is a rectangular prism defined by it's length, width, and height.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction", - "Mechanical Components", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "bracket/main.kcl", - "multipleFiles": false, - "title": "Shelf Bracket", - "description": "This is a bracket that holds a shelf. It is made of aluminum and is designed to hold a force of 300 lbs. The bracket is 6 inches wide and the force is applied at the end of the shelf, 12 inches from the wall. The bracket has a factor of safety of 1.2. The legs of the bracket are 5 inches and 2 inches long. The thickness of the bracket is calculated from the constraints provided.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "bracket-with-slot/main.kcl", - "multipleFiles": false, - "title": "Adjustable L‑Bracket", - "description": "Sketch-solve reconstruction with matching feature order", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education" - ], - "pathFromProjectDirectoryToFirstFile": "c-shape-solid/main.kcl", - "multipleFiles": false, - "title": "C-Shape Solid (Abstract Geometry Demo)", - "description": "This is a simplified geometry study that demonstrates how to create a \"C\" shape by subtracting a rectangular wedge from a circular ring. This base logic is foundational to models like split washers and other circular parts with a gap.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Automotive & Transportation", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "camshaft/main.kcl", - "multipleFiles": false, - "title": "Camshaft", - "description": "A camshaft is a rotating shaft with cam lobes that open and close an engine’s intake and exhaust valves at precise times. The lobe shape and timing control valve lift and duration, directly affecting engine performance and efficiency.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Automotive & Transportation", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "car-wheel-assembly/main.kcl", - "multipleFiles": true, - "title": "Car Wheel Assembly", - "description": "A car wheel assembly with a rotor, tire, and lug nuts.", - "files": [ - "brake-rotor.kcl", - "car-tire.kcl", - "car-wheel.kcl", - "lug-nut.kcl", - "main.kcl", - "parameters.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Automotive & Transportation", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "cassette/main.kcl", - "multipleFiles": false, - "title": "Sprocket Cassette", - "description": "A sprocket cassette is a stack of sprockets on a splined hub for multiple gear ratios.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "ceiling-fan/main.kcl", - "multipleFiles": false, - "title": "Ceiling Propeller", - "description": "A twisted ceiling fan geometry made using boolean cutouts", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle" - ], - "pathFromProjectDirectoryToFirstFile": "clock/main.kcl", - "multipleFiles": false, - "title": "Clock", - "description": "A clock with roman numerals", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Automotive & Transportation", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "coilover-assembly/main.kcl", - "multipleFiles": true, - "title": "Coilover Assembly", - "description": "Consist of a lower and upper body combination with eye-end mounts at the top and bottom. 200 mm-long helical spring (44 mm OD, and wire diameter of 6 mm) captured between upper and lower seats; Internal piston rod running through the spring. Integrated bump-stop beneath the upper seat to limit compression stroke. The assembly provides adjustable ride height and damping when installed between chassis and wheel hub.", - "files": [ - "coilover-bottom.kcl", - "coilover-top.kcl", - "main.kcl", - "parameters.kcl", - "spring.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Electronics & Computing", - "Industrial & Manufacturing" - ], - "pathFromProjectDirectoryToFirstFile": "cold-plate/main.kcl", - "multipleFiles": false, - "title": "Cold Plate", - "description": "A cold plate is a thermal management device used to remove heat from a device or component, typically by transferring heat to a liquid coolant that flows through the plate. It's a conductive cooling solution, commonly made of materials like aluminum or copper, with internal channels or tubes for the coolant", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education" - ], - "pathFromProjectDirectoryToFirstFile": "color-cube/main.kcl", - "multipleFiles": false, - "title": "Color Cube", - "description": "This is a color cube centered about the origin. It is used to help determine orientation in the scene.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "cone/main.kcl", - "multipleFiles": false, - "title": "Cone", - "description": "A cone is defined by it's diameter and height.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Industrial & Manufacturing" - ], - "pathFromProjectDirectoryToFirstFile": "counterdrilled-weldment/main.kcl", - "multipleFiles": false, - "title": "Counterdrilled Weldment", - "description": "A metal weldment consisting of a counterdrilled plate, a centrally mounted housing tube, and four structural support fins.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "countersunk-plate/main.kcl", - "multipleFiles": false, - "title": "Plate with countersunk holes", - "description": "A small mounting plate with a countersunk hole at each end", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Electronics & Computing", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "cpu-cooler/main.kcl", - "multipleFiles": true, - "title": "CPU Cooler", - "description": "A CPU cooler is a device designed to dissipate heat generated by the CPU of a computer. They consist of a brazed heat sink made from aluminum or copper alloys, and one or two axial fans to move airflow across the heat sink.", - "files": [ - "fan-housing.kcl", - "fan.kcl", - "heat-sink.kcl", - "main.kcl", - "motor.kcl", - "mounting-wire.kcl", - "parameters.kcl", - "removable-sticker.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Automotive & Transportation" - ], - "pathFromProjectDirectoryToFirstFile": "crash-box/main.kcl", - "multipleFiles": false, - "title": "Crash-box with beam cutout and mounting holes", - "description": "A crash box is an energy-absorbing structural component mounted between a vehicle’s bumper beam and the main body. It is designed to deform in a controlled manner during low- to moderate-speed impacts, reducing crash forces transmitted to the chassis and lowering repair costs by localizing damage to a replaceable module.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "curtain-wall-anchor-plate/main.kcl", - "multipleFiles": false, - "title": "Curtain Wall Anchor Plate", - "description": "A structural steel L-plate used to anchor curtain wall systems to concrete slabs, with elongated holes for adjustability and bolts with nuts and base plates for secure fastening", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "Robotics & Automation" - ], - "pathFromProjectDirectoryToFirstFile": "cycloidal-gear/main.kcl", - "multipleFiles": false, - "title": "Cycloidal Gear", - "description": "A cycloidal gear is a gear with a continuous, curved tooth profile. They are used in watchmaking and high precision robotics actuation", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "cylinder/main.kcl", - "multipleFiles": false, - "title": "Cylinder", - "description": "A cylinder is a primitive shape defined by its diameter and length", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "3D Printable", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "desk-edge-stopper/main.kcl", - "multipleFiles": false, - "title": "Desk-Edge Stopper", - "description": "3-D-printable U-shaped guard that slides onto a desk edge and raises a vertical wall to keep pens, phones, cables, etc. from slipping off the tabletop.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle" - ], - "pathFromProjectDirectoryToFirstFile": "dining-table/main.kcl", - "multipleFiles": false, - "title": "Dining Table", - "description": "Simple dining table with rectangular tabletop, aprons and four legs with square section", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education" - ], - "pathFromProjectDirectoryToFirstFile": "dodecahedron/main.kcl", - "multipleFiles": false, - "title": "Dodecahedron", - "description": "A regular dodecahedron or pentagonal dodecahedron is a dodecahedron composed of regular pentagonal faces, three meeting at each vertex. This example shows constructing the a dodecahedron with a series of intersects.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "3D Printable", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "double-hook/main.kcl", - "multipleFiles": false, - "title": "Double hook", - "description": "Parametric double hook swept from a 5 mm circular section.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Electronics & Computing", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "enclosure/main.kcl", - "multipleFiles": false, - "title": "Enclosure", - "description": "An enclosure body and sealing lid for storing items", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Robotics & Automation", - "Industrial & Manufacturing" - ], - "pathFromProjectDirectoryToFirstFile": "end-effector-gripper-fingers/main.kcl", - "multipleFiles": false, - "title": "End Effector Grippers", - "description": "End effector grippers are devices attached to a robot's arm that allow it to interact with its environment and perform tasks like picking up, moving, and manipulating objects. They are essential for robots to perform useful work. Grippers are one type of end effector, but end effectors can also be tools like welding torches or cameras", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Automotive & Transportation", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "engine-valve/main.kcl", - "multipleFiles": false, - "title": "Engine Valve", - "description": "A mechanical valve used in internal combustion engines to control intake or exhaust flow", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Automotive & Transportation", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "exhaust-manifold/main.kcl", - "multipleFiles": false, - "title": "Exhaust Manifold", - "description": "A welded exhaust header for an inline 4-cylinder engine", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Electronics & Computing", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "field-monitor-stand/main.kcl", - "multipleFiles": false, - "title": "Field monitor stand", - "description": "Stand for a Feelworld FW760 7 inch Field Monitor", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "Architecture & Construction" - ], - "pathFromProjectDirectoryToFirstFile": "flange/main.kcl", - "multipleFiles": false, - "title": "Flange", - "description": "A flange is a flat rim, collar, or rib, typically forged or cast, that is used to strengthen an object, guide it, or attach it to another object. Flanges are known for their use in various applications, including piping, plumbing, and mechanical engineering, among others.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Industrial & Manufacturing", - "Mechanical Components", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "flat-bladed-impeller/main.kcl", - "multipleFiles": false, - "title": "Impeller (Flat-bladed)", - "description": "A parametric impeller with straight, flat blades used in centrifugal fans or pumps. Moves air or fluid radially outward from the center. Useful for mechanical design and prototyping.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Electronics & Computing", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "focusrite-scarlett-mounting-bracket/main.kcl", - "multipleFiles": false, - "title": "Mounting bracket for the Focusrite Scarlett Solo audio interface", - "description": "This is a bracket that holds an audio device underneath a desk or shelf. The audio device has dimensions of 144mm wide, 80mm length and 45mm depth with fillets of 6mm. This mounting bracket is designed to be 3D printed with PLA material", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "Tools" - ], - "pathFromProjectDirectoryToFirstFile": "food-service-spatula/main.kcl", - "multipleFiles": false, - "title": "Food Service Spatula", - "description": "Use these spatulas for mixing, flipping, and scraping.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Toys, Games, & Recreation", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "fun-stacker-toy/main.kcl", - "multipleFiles": false, - "title": "Fun-Stacker!", - "description": "The fun stacking toy from Zoo for babies 6 months and older made using zds.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction" - ], - "pathFromProjectDirectoryToFirstFile": "gallows-bracket/main.kcl", - "multipleFiles": false, - "title": "Gallows Bracket", - "description": "A gallows bracket is a metal bracket that is used to support a chimney breast after it has been removed. The bracket is typically made of steel or cast iron, and it is attached to the remaining chimney stack. The bracket provides support for the chimney breast, preventing it from collapsing.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Industrial & Manufacturing", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "gas-impeller/main.kcl", - "multipleFiles": false, - "title": "Gas Impeller", - "description": "The rotating component in a turbomachine (compressor, blower, or turbocharger) that adds energy to a gas by spinning it at speed", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education", - "Industrial & Manufacturing" - ], - "pathFromProjectDirectoryToFirstFile": "gdt-tutorial/main.kcl", - "multipleFiles": false, - "title": "GD&T Basics in Zoo Design Studio", - "description": "A simple sample project demonstrating how to use GD&T in Zoo Design Studio. This project keeps the geometry and annotations intentionally minimal so users can quickly understand what GD&T is, how it works in the app, and how to start applying it to their own designs. Future updates may add more examples while keeping the project beginner-friendly.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "Robotics & Automation" - ], - "pathFromProjectDirectoryToFirstFile": "gear-rack/main.kcl", - "multipleFiles": false, - "title": "100mm Gear Rack", - "description": "A flat bar or rail that is engraved with teeth along its length. These teeth are designed to mesh with the teeth of a gear, known as a pinion. When the pinion, a small cylindrical gear, rotates, its teeth engage with the teeth on the rack, causing the rack to move linearly. Conversely, linear motion applied to the rack will cause the pinion to rotate.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Art & Design" - ], - "pathFromProjectDirectoryToFirstFile": "gingerbread-man/main.kcl", - "multipleFiles": false, - "title": "Gingerbread Man", - "description": "A gingerbread man is a classic holiday cookie shaped like a stylized human figure. Typically made from gingerbread dough - a sweet, spiced mixture containing ginger, cinnamon, nutmeg, cloves, molasses, and brown sugar - these charming cookies are flat with a distinctive form featuring a round head, torso, arms, and legs. The traditional gingerbread man is decorated with icing to create facial features (eyes, mouth, sometimes a nose) and details like buttons down the front, cuffs at the wrists and ankles, and sometimes a bow tie. Candies like raisins, chocolate chips, or colorful gumdrops might be used for embellishments.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "Tools", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "gingerbread-man-cookie-cutter/main.kcl", - "multipleFiles": false, - "title": "Gingerbread Man Cookie Cutter", - "description": "A gingerbread man cookie cutter is a charming kitchen tool designed in the iconic silhouette of a little person. Typically crafted from metal (often tin or stainless steel) or durable plastic, this cookie cutter features the distinctive outline of a stylized human figure with a round head, a simple torso, and extended arms and legs. The cutter's edges are sharp enough to cleanly slice through cookie dough but blunt enough to be handled safely.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Toys, Games, & Recreation", - "3D Printable", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "golf-tee/main.kcl", - "multipleFiles": false, - "title": "Golf Tee", - "description": "A parametric model of a golf tee with realistic proportions, including a pointed tip, cylindrical shaft, and flared cup to hold the ball. Designed for prototyping, printing, or sports equipment simulations.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "3D Printable", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "gridfinity-baseplate/main.kcl", - "multipleFiles": false, - "title": "Gridfinity Baseplate", - "description": "Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "3D Printable", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "gridfinity-baseplate-magnets/main.kcl", - "multipleFiles": false, - "title": "Gridfinity Baseplate With Magnets", - "description": "A two-by-three Gridfinity baseplate profile, ready for magnetic bin retention.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "3D Printable", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "gridfinity-bins/main.kcl", - "multipleFiles": false, - "title": "Gridfinity Bins", - "description": "Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "3D Printable", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "gridfinity-bins-stacking-lip/main.kcl", - "multipleFiles": false, - "title": "Gridfinity Bins With A Stacking Lip", - "description": "Gridfinity is a system to help you work more efficiently. This is a system invented by Zack Freedman. There are two main components the baseplate and the bins. The components are comprised of a matrix of squares. Allowing easy stacking and expansion. This Gridfinity bins version includes a lip to allowable stacking Gridfinity bins", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Tools", - "Architecture & Construction" - ], - "pathFromProjectDirectoryToFirstFile": "hammer/main.kcl", - "multipleFiles": false, - "title": "Claw Hammer", - "description": "Often used in construction, a claw hammer is a levered metal hand tool that is used to strike and extract nails", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Automotive & Transportation", - "Industrial & Manufacturing" - ], - "pathFromProjectDirectoryToFirstFile": "hand-trolley/main.kcl", - "multipleFiles": true, - "title": "Hand Trolley", - "description": "A hand trolley, also known as a hand truck, is a small, wheeled cart with a weldment frame, used to move heavy or bulky items over short distances. It's essentially a simple lever system that makes lifting and moving objects much easier", - "files": [ - "axle.kcl", - "main.kcl", - "parameters.kcl", - "weldment.kcl", - "wheel.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Industrial & Manufacturing" - ], - "pathFromProjectDirectoryToFirstFile": "helium-tank/main.kcl", - "multipleFiles": false, - "title": "Helium Tank", - "description": "A helium tank is a portable pressure vessel used to store and dispense helium gas for a variety of commercial and entertainment purposes", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "herringbone-gear/main.kcl", - "multipleFiles": false, - "title": "Herringbone Gear", - "description": "A double-helical involute gear with opposing tooth angles and an 8 mm center bore.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "hex-nut/main.kcl", - "multipleFiles": false, - "title": "Hex Nut", - "description": "A hex nut is a type of fastener with a threaded hole and a hexagonal outer shape, used in a wide variety of applications to secure parts together. The hexagonal shape allows for a greater torque to be applied with wrenches or tools, making it one of the most common nut types in hardware.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "hex-nut-with-chamfer/main.kcl", - "multipleFiles": false, - "title": "Hex Nut with Chamfered Ends", - "description": "This model generates a hexagonal nut with: a hex exterior defined by across-flats dimension, circular chamfers applied to both end faces, and central through-hole", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction" - ], - "pathFromProjectDirectoryToFirstFile": "i-beam/main.kcl", - "multipleFiles": false, - "title": "I-beam", - "description": "A structural metal beam with an I shaped cross section. Often used in construction and architecture", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "Science & Education" - ], - "pathFromProjectDirectoryToFirstFile": "inner-thread/main.kcl", - "multipleFiles": false, - "title": "Inner Thread", - "description": "An example of an inner thread on a cylinder.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "lattice-cubic/main.kcl", - "multipleFiles": false, - "title": "cubic lattice model", - "description": "Parametric three dimensional grid of spheres and rods used for teaching crystal lattice geometry and spatial repetition", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Toys, Games, & Recreation", - "3D Printable", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "lego/main.kcl", - "multipleFiles": false, - "title": "Lego Brick", - "description": "A standard Lego brick. This is a small, plastic construction block toy that can be interlocked with other blocks to build various structures, models, and figures. There are a lot of hacks used in this code.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "linear-shelf-system/main.kcl", - "multipleFiles": false, - "title": "Linear Shelf System", - "description": "A parametric, horizontally stackable shelf system for furniture layout and prototyping.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Industrial & Manufacturing", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "liquid-impeller/main.kcl", - "multipleFiles": false, - "title": "Liquid Impeller", - "description": "An open-style impeller for use with incompressible fluid in a centrifugal pump", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "m4-hex-socket-countersunk-head-screw/main.kcl", - "multipleFiles": false, - "title": "M4 Hex Socket Countersunk Head Screw", - "description": "Simplified M4 countersunk screw with a conical flush-mount head and internal hex socket drive for fast layout and fit checks.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "m4-insert/main.kcl", - "multipleFiles": false, - "title": "M4 Heat-Set Insert", - "description": "Simplified M4 heat-set threaded insert with stepped outer retention features, a tapered lead-in section, and a plain inner bore for envelope and fit modeling.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction" - ], - "pathFromProjectDirectoryToFirstFile": "manhole-cover/main.kcl", - "multipleFiles": false, - "title": "Vented Manhole Cover", - "description": "A cast-iron cover with traffic-safe ventilation slots and a side pick hole.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "modular-shelf-grid/main.kcl", - "multipleFiles": false, - "title": "Modular Shelf Grid", - "description": "A parametric, grid-based shelving system for layout prototyping and modular storage design.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "Industrial & Manufacturing" - ], - "pathFromProjectDirectoryToFirstFile": "mounting-plate/main.kcl", - "multipleFiles": false, - "title": "Mounting Plate", - "description": "A flat support plate with four mounting holes, a center opening, and rounded vertical corners.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Robotics & Automation", - "Industrial & Manufacturing" - ], - "pathFromProjectDirectoryToFirstFile": "multi-axis-robot/main.kcl", - "multipleFiles": true, - "title": "Robot Arm", - "description": "A 4 axis robotic arm for industrial use. These machines can be used for assembly, packaging, organization of goods, and quality inspection processes", - "files": [ - "globals.kcl", - "main.kcl", - "robot-arm-base.kcl", - "robot-arm-j2.kcl", - "robot-arm-j3.kcl", - "robot-rotating-base.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "parametric-shelf-unit/main.kcl", - "multipleFiles": false, - "title": "Parametric Shelf Unit", - "description": "A modular and adjustable 3D shelf model designed for basic furniture design.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "Industrial & Manufacturing" - ], - "pathFromProjectDirectoryToFirstFile": "pillow-block-bearing/main.kcl", - "multipleFiles": true, - "title": "Pillow Block Bearing", - "description": "A bearing pillow block, also known as a plummer block or pillow block bearing, is a pedestal used to provide support for a rotating shaft with the help of compatible bearings and various accessories. Housing a bearing, the pillow block provides a secure and stable foundation that allows the shaft to rotate smoothly within its machinery setup. These components are essential in a wide range of mechanical systems and machinery, playing a key role in reducing friction and supporting radial and axial loads.", - "files": [ - "ball-bearing.kcl", - "block.kcl", - "main.kcl", - "parameters.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "pipe/main.kcl", - "multipleFiles": false, - "title": "Pipe", - "description": "Piping for the pipe flange assembly", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "pipe-elbow-90deg/main.kcl", - "multipleFiles": false, - "title": "90 Degree Pipe Elbow", - "description": "Quarter-turn elbow with two bolted flanges on a 94 x 71 mm pipe section.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "pipe-flange-assembly/main.kcl", - "multipleFiles": true, - "title": "Pipe and Flange Assembly", - "description": "A crucial component in various piping systems, designed to facilitate the connection, disconnection, and access to piping for inspection, cleaning, and modifications. This assembly combines pipes (long cylindrical conduits) with flanges (plate-like fittings) to create a secure yet detachable joint.", - "files": [ - "1120t74-pipe.kcl", - "68095k348-flange.kcl", - "91251a404-bolt.kcl", - "9472k188-gasket.kcl", - "95479a127-hex-nut.kcl", - "98017a257-washer.kcl", - "main.kcl", - "parameters.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "pipe-straight/main.kcl", - "multipleFiles": false, - "title": "Horizontal Pipe Spool", - "description": "Short, straight pipe section with two identical flat, bolted end flanges; used to connect flanged equipment or piping runs and to set a precise face-to-face length in real systems.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "pipe-with-bend/main.kcl", - "multipleFiles": false, - "title": "Pipe with bend", - "description": "A tubular section or hollow cylinder, usually but not necessarily of circular cross-section, used mainly to convey substances that can flow.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "Automotive & Transportation" - ], - "pathFromProjectDirectoryToFirstFile": "planetary-gearset/main.kcl", - "multipleFiles": false, - "title": "Helical Planetary Gearset", - "description": "A helical planetary gearset is a type of planetary gear system where the teeth of the sun gear, planet gears, and/or ring gear are helical rather than straight. This design allows for smoother, quieter operation, greater load-carrying capacity, and more flexible shaft alignment.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Aerospace", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "propeller/main.kcl", - "multipleFiles": false, - "title": "Propeller", - "description": "A propeller is a rotating set of blades on a hub that converts shaft power into thrust by accelerating air or water rearward", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Electronics & Computing" - ], - "pathFromProjectDirectoryToFirstFile": "rack-blanking-panel/main.kcl", - "multipleFiles": false, - "title": "Rack Blanking Panel - 1U", - "description": "A rack blanking panel, also known as a filler panel or spacer blank, is a flat piece of material (usually metal or plastic) designed to fill empty spaces within a server rack. These panels are primarily used to improve airflow and cooling efficiency in server racks", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Industrial & Manufacturing", - "Mechanical Components", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "radial-flow-centrifugal-impeller/main.kcl", - "multipleFiles": false, - "title": "Impeller (Radial-flow)", - "description": "Radial-flow impeller for centrifugal pumps—designed as a parametric base for blade and housing experiments.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle" - ], - "pathFromProjectDirectoryToFirstFile": "rectangle-table/main.kcl", - "multipleFiles": false, - "title": "Rectangle Table", - "description": "Simple metal table with rectangular tabletop and four legs with a square section", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle" - ], - "pathFromProjectDirectoryToFirstFile": "round-table/main.kcl", - "multipleFiles": false, - "title": "Round Table", - "description": "Simple round table with a base, single leg, and tabletop", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Tools", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "router-template-cross-bar/main.kcl", - "multipleFiles": false, - "title": "Router Template for a Cross bar", - "description": "A guide for routing a slate for a cross bar.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Tools", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "router-template-slate/main.kcl", - "multipleFiles": false, - "title": "Router Template for a Slate", - "description": "A guide for routing a slate for a cross bar.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Aerospace", - "Science & Education", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "saturn-v/main.kcl", - "multipleFiles": false, - "title": "Saturn V Rocket", - "description": "Modular construction of the iconic multi-stage rocket using parametric and revolve-based shapes", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "scrub-daddy-holder/main.kcl", - "multipleFiles": false, - "title": "Scrub Daddy Sponge Holder", - "description": "A scrub daddy is a sponge with a course texture which has the shape of a smiling face. This holder attaches magnetically to the wall of your sink or other locations where a sponge may be needed. The holder is designed to fit through the eye openings on the sponge. This is designed to fit magnets with a diameter of 6mm and thickness of 3 mm.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "shaft-grommet/main.kcl", - "multipleFiles": false, - "title": "Shaft Grommet", - "description": "Made of slippery plastic, these grommets allow shafts and bearings to spin freely in metal panels. The split construction lets you snap them around shafts you’ve already installed.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "Industrial & Manufacturing" - ], - "pathFromProjectDirectoryToFirstFile": "sheet-metal-bracket/main.kcl", - "multipleFiles": false, - "title": "Sheet Metal Bracket", - "description": "A component typically made from flat sheet metal through various manufacturing processes such as bending, punching, cutting, and forming. These brackets are used to support, attach, or mount other hardware components, often providing a structural or functional base for assembly.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Aerospace", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "single-impeller-blade/main.kcl", - "multipleFiles": false, - "title": "Impeller Blade (Single)", - "description": "A solid impeller blade created by lofting a root and a twisted tip profile. Useful for analyzing blade geometry, airflow shaping, or preparing for radial array placement.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Art & Design", - "3D Printable" - ], - "pathFromProjectDirectoryToFirstFile": "snowman/main.kcl", - "multipleFiles": false, - "title": "Snowman (stylized)", - "description": "Three stacked spheres with simple facial features and a top hat standing on a small platform", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "socket-head-cap-screw/main.kcl", - "multipleFiles": false, - "title": "Socket Head Cap Screw", - "description": "This is for a #10-24 screw that is 1.00 inches long. A socket head cap screw is a type of fastener that is widely used in a variety of applications requiring a high strength fastening solution. It is characterized by its cylindrical head and internal hexagonal drive, which allows for tightening with an Allen wrench or hex key.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "sphere/main.kcl", - "multipleFiles": false, - "title": "Sphere", - "description": "A sphere is a primitive shape defined by its diameter.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction", - "Art & Design", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "spinning-highrise-tower/main.kcl", - "multipleFiles": false, - "title": "Spinning Highrise Tower", - "description": "A conceptual high-rise tower with a central core and rotating floor slabs, demonstrating dynamic form through vertical repetition and transformation", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "split-washer-flat-version/main.kcl", - "multipleFiles": false, - "title": "Split Washer (Flat Version)", - "description": "A flat split washer is a small metal ring with a gap that helps keep a fastener from loosening under vibration.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "split-washer-spring-version/main.kcl", - "multipleFiles": false, - "title": "Split Washer (Spring Version)", - "description": "A spring lock washer is a small metal ring with a gap. Unlike flat washers, this one is twisted into a spiral shape, like a slice of a spring. It’s designed to stay slightly compressed, which helps hold bolts and nuts in place — even when things vibrate. This version shows how to model that twist using a helical sweep.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "Automotive & Transportation" - ], - "pathFromProjectDirectoryToFirstFile": "sprocket/main.kcl", - "multipleFiles": false, - "title": "Sprocket", - "description": "A standard hub sprocket is a toothed wheel that engages with a roller chain.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Toys, Games, & Recreation", - "Art & Design", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "stylized-car/main.kcl", - "multipleFiles": false, - "title": "Stylized Toy Car", - "description": "A simplified, parametric 3-D model of a small toy car intended for use as a low-poly prop in real-time engines, visualization scenes, or rapid prototyping.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Toys, Games, & Recreation", - "Art & Design", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "stylized-cybertruck/main.kcl", - "multipleFiles": false, - "title": "Stylized Toy Cybertruck", - "description": "A simplified, parametric 3-D model of a low-poly toy cybertruck, intended for use as a game-ready asset, concept visualization, or real-time rendering demo.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Toys, Games, & Recreation", - "Art & Design", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "stylized-dump-truck/main.kcl", - "multipleFiles": false, - "title": "Stylized Toy Dump Truck", - "description": "A simplified, parametric 3D toy dump truck with front cab, extended cargo bed, and four wheels.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Toys, Games, & Recreation", - "Art & Design", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "stylized-firetruck/main.kcl", - "multipleFiles": false, - "title": "Stylized Toy Fire Truck", - "description": "A toy parametric fire truck with extended rear compartment and roof ladder. Optimized for real-time rendering or schematic use in stylized design scenes.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Toys, Games, & Recreation", - "Art & Design", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "stylized-mini-bus/main.kcl", - "multipleFiles": false, - "title": "Stylized Toy Mini-Bus", - "description": "A simplified, parametric 3-D model of a toy compact van or mini-bus, intended for use as a low-poly prop in real-time engines, visualization scenes, or rapid prototyping.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Toys, Games, & Recreation", - "Art & Design", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "stylized-pickup-truck/main.kcl", - "multipleFiles": false, - "title": "Stylized Toy Pickup Truck", - "description": "A simplified, parametric 3-D model of a toy pickup truck intended for use as a low-poly prop in real-time engines, visualization scenes, or rapid prototyping.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Medical & Assistive" - ], - "pathFromProjectDirectoryToFirstFile": "surgical-drill-guide/main.kcl", - "multipleFiles": false, - "title": "Surgical Drill Guide", - "description": "A surgical drill guide is a tool used in medical procedures to assist in drilling holes to a desired depth, ensuring proper orientation and minimizing intraosseal pressure", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Industrial & Manufacturing", - "Mechanical Components", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "t-slot-frame/main.kcl", - "multipleFiles": false, - "title": "T-Slotted Rectangle Frame", - "description": "A box frame made up of T-slotted rails", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Industrial & Manufacturing", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "t-slot-rail/main.kcl", - "multipleFiles": false, - "title": "T-Slotted Framing Rail", - "description": "A T-slotted framing rail, or T-slot extrusion, is a rectangular or square aluminum profile with a \"T\" shaped slot along one or more sides. These slots allow for easy attachment of various hardware components like brackets, connectors, and fasteners, making it a versatile and customizable framing system.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Industrial & Manufacturing", - "Mechanical Components", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "t-slot-rectangle/main.kcl", - "multipleFiles": false, - "title": "T-Slotted Rectangle Frame", - "description": "A rectangular frame made up of T-slotted rails", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Industrial & Manufacturing", - "Mechanical Components", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "t-slot-shelf/main.kcl", - "multipleFiles": false, - "title": "T-Slotted Rectangle Frame with Shelf", - "description": "A box frame with interior shelf made up of T-slotted rails", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Home & Lifestyle" - ], - "pathFromProjectDirectoryToFirstFile": "teapot/main.kcl", - "multipleFiles": false, - "title": "Teapot", - "description": "A vessel with a spout and a handle used for serving tea and boiling water on a stovetop", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "thermal-block-insert/main.kcl", - "multipleFiles": false, - "title": "Thermal Block Insert", - "description": "Interlocking insulation insert for masonry walls, designed with a tongue-and-groove profile for modular alignment and thermal efficiency", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "torus/main.kcl", - "multipleFiles": false, - "title": "Torus", - "description": "A torus is defined by its diameter and height.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction", - "Science & Education" - ], - "pathFromProjectDirectoryToFirstFile": "truss-structure/main.kcl", - "multipleFiles": false, - "title": "Truss Structure", - "description": "A truss structure is a framework composed of triangular units made from straight members connected at joints, often called nodes. Trusses are widely used in architecture, civil engineering, and construction for their ability to support large loads with minimal material.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components", - "Industrial & Manufacturing", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "tube-manifold/main.kcl", - "multipleFiles": false, - "title": "Tube manifold", - "description": "A manifold is a type of fitting that can be used to split or merge fluid flow in a system. Clamped tubes are typically referred to by their inner diameters, so the fittings are parameterized by their outer diameters", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Electronics & Computing", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "usb-c/main.kcl", - "multipleFiles": false, - "title": "USB-C Connector Assembly", - "description": "Parametric model of a USB-C style connector shell, rear housing, and swept cable.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Architecture & Construction", - "Home & Lifestyle", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "utility-sink/main.kcl", - "multipleFiles": false, - "title": "Utility Sink", - "description": "A stainless steel sink unit with a configurable number of rectangular basins and under-counter storage compartments.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Tools", - "Industrial & Manufacturing" - ], - "pathFromProjectDirectoryToFirstFile": "v-block/main.kcl", - "multipleFiles": false, - "title": "V-Block", - "description": "Hold and support round workpieces.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Electronics & Computing" - ], - "pathFromProjectDirectoryToFirstFile": "walkie-talkie/main.kcl", - "multipleFiles": true, - "title": "Walkie Talkie", - "description": "A portable, handheld two-way radio device that allows users to communicate wirelessly over short to medium distances. It operates on specific radio frequencies and features a push-to-talk button for transmitting messages, making it ideal for quick and reliable communication in outdoor, work, or emergency settings.", - "files": [ - "antenna.kcl", - "body.kcl", - "button.kcl", - "case.kcl", - "knob.kcl", - "main.kcl", - "parameters.kcl", - "talk-button.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "washer/main.kcl", - "multipleFiles": false, - "title": "Washer", - "description": "A small, typically disk-shaped component with a hole in the middle, used in a wide range of applications, primarily in conjunction with fasteners like bolts and screws. Washers distribute the load of a fastener across a broader area. This is especially important when the fastening surface is soft or uneven, as it helps to prevent damage to the surface and ensures the load is evenly distributed, reducing the risk of the fastener becoming loose over time.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Science & Education", - "Parametric" - ], - "pathFromProjectDirectoryToFirstFile": "wedge/main.kcl", - "multipleFiles": false, - "title": "Wedge", - "description": "A wedge is a triangular prism defined by it's length, width, and height.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Automotive & Transportation", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "wheel-hub/main.kcl", - "multipleFiles": false, - "title": "Hub", - "description": "A wheel hub is the part that connects the wheel to the suspension", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Industrial & Manufacturing", - "Mechanical Components" - ], - "pathFromProjectDirectoryToFirstFile": "wind-turbine-blade-root-inserts/main.kcl", - "multipleFiles": false, - "title": "Wind Turbine Blade", - "description": "A 52 m hollow composite blade with sixteen root inserts for its pitch-bearing interface.", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Aerospace" - ], - "pathFromProjectDirectoryToFirstFile": "wing-spar/main.kcl", - "multipleFiles": false, - "title": "Wing Spar", - "description": "In a fixed-wing aircraft, the spar is often the main structural member of the wing, running spanwise at right angles (or thereabouts depending on wing sweep) to the fuselage. The spar carries flight loads and the weight of the wings while on the ground. Other structural and forming members such as ribs may be attached to the spars", - "files": [ - "main.kcl" - ] - }, - { - "file": "main.kcl", - "categories": [ - "Art & Design" - ], - "pathFromProjectDirectoryToFirstFile": "zoo-logo/main.kcl", - "multipleFiles": false, - "title": "Zoo Logo", - "description": "The logo for the Zoo Corporation", - "files": [ - "main.kcl" - ] - } -] \ No newline at end of file diff --git a/content/pages/docs/kcl-samples/modular-shelf-grid/.gitignore b/content/pages/docs/kcl-samples/modular-shelf-grid/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/modular-shelf-grid/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/modular-shelf-grid/main.kcl b/content/pages/docs/kcl-samples/modular-shelf-grid/main.kcl deleted file mode 100644 index fe68744b..00000000 --- a/content/pages/docs/kcl-samples/modular-shelf-grid/main.kcl +++ /dev/null @@ -1,131 +0,0 @@ -// Modular Shelf Grid -// A parametric, grid-based shelving system for layout prototyping and modular storage design. -// Categories: Home & Lifestyle; Parametric - -// This model generates a configurable number of uniform shelf modules, -// stacked in a grid defined by row and column counts. -// Each module is: -// - A rectangular box composed of two vertical side panels and two horizontal shelves -// - Open at the front for accessible storage -// All dimensions and counts are parametric, enabling rapid iteration -// for uses such as built-ins, modular wall storage, or retail shelving. - -@settings(defaultLengthUnit = m, kclVersion = 2.0) - -columnCount = 5 // number of shelf modules in horizontal direction (X axis) -rowCount = 3 // number of shelf modules in vertical direction (Z axis) - - -// --- Module Dimensions --- -unitWidth = 0.4 // external width of each module -unitHeight = 0.5 // external height of each module -unitDepth = 0.4 // depth from front to back - - -// --- Geometry Parameters --- -panelThickness = 0.02 // thickness for side walls and shelves -sidePanelOffset = unitWidth - panelThickness // spacing between left and right panels - - -// --- Shelf Geometry --- -shelfThickness = panelThickness // same as panel thickness -shelfWidth = unitWidth - (panelThickness * 2) // fits between side panels -shelfDepth = unitDepth // full shelf depth -shelfSpacing = unitHeight - shelfThickness // position of top shelf above bottom - - -// --- Reference Plane --- -basePlane = XY - -// --- Side Panels --- -// Left and right vertical panels forming module sides. -sidePanelProfile = sketch(on = basePlane) { - bottomEdge = line(start = [var -0.2m, var -0.4m], end = [var -0.18m, var -0.4m]) - innerEdge = line(start = [var -0.18m, var -0.4m], end = [var -0.18m, var 0m]) - coincident([bottomEdge.end, innerEdge.start]) - topEdge = line(start = [var -0.18m, var 0m], end = [var -0.2m, var 0m]) - coincident([innerEdge.end, topEdge.start]) - outerEdge = line(start = [var -0.2m, var 0m], end = [var -0.2m, var -0.4m]) - coincident([topEdge.end, outerEdge.start]) - coincident([outerEdge.end, bottomEdge.start]) - - horizontal(bottomEdge) - vertical(innerEdge) - horizontal(topEdge) - vertical(outerEdge) - - originGuide = line(start = [var -0.18m, var 0m], end = [var 0m, var 0m], construction = true) - coincident([originGuide.start, topEdge.start]) - coincident([originGuide.end, ORIGIN]) - horizontal(originGuide) - - horizontalDistance([outerEdge.start, ORIGIN]) == unitWidth / 2 - verticalDistance([outerEdge.end, outerEdge.start]) == unitDepth - horizontalDistance([bottomEdge.start, bottomEdge.end]) == panelThickness -} - -sidePanelRegion = region(segments = [sidePanelProfile.bottomEdge]) -sidePanel = extrude(sidePanelRegion, length = unitHeight) -sidePanels = patternLinear3d( - sidePanel, - instances = 2, - distance = sidePanelOffset, - axis = [1, 0, 0], -) - -// --- Shelf Boards --- -// Two shelves: one at the bottom, one at the top of each module. -firstShelfProfile = sketch(on = basePlane) { - leftEdge = line(start = [var -0.18m, var 0m], end = [var -0.18m, var -0.4m]) - backEdge = line(start = [var -0.18m, var -0.4m], end = [var 0.18m, var -0.4m]) - coincident([leftEdge.end, backEdge.start]) - rightEdge = line(start = [var 0.18m, var -0.4m], end = [var 0.18m, var 0m]) - coincident([backEdge.end, rightEdge.start]) - frontEdge = line(start = [var 0.18m, var 0m], end = [var -0.18m, var 0m]) - coincident([rightEdge.end, frontEdge.start]) - coincident([frontEdge.end, leftEdge.start]) - - vertical(leftEdge) - horizontal(backEdge) - vertical(rightEdge) - horizontal(frontEdge) - - centerGuide = line(start = [var -0.18m, var 0m], end = [var 0m, var 0m], construction = true) - coincident([centerGuide.start, frontEdge.end]) - coincident([centerGuide.end, ORIGIN]) - horizontal(centerGuide) - - horizontalDistance([leftEdge.start, ORIGIN]) == shelfWidth / 2 - verticalDistance([leftEdge.end, leftEdge.start]) == shelfDepth - horizontalDistance([backEdge.start, backEdge.end]) == shelfWidth -} - -firstShelfRegion = region(segments = [firstShelfProfile.leftEdge]) -firstShelf = extrude(firstShelfRegion, length = shelfThickness) - -// Stack two shelf boards inside the unit (bottom and top) -shelves = patternLinear3d( - firstShelf, - instances = 2, - distance = shelfSpacing, - axis = [0, 0, 1], -) - -hiddenSidePanelProfile = hide(sidePanelProfile) -hiddenFirstShelfProfile = hide(firstShelfProfile) - -// --- Grid of Shelf Modules --- -// Repeats the basic shelf module (side panels + two shelves) -// in both horizontal and vertical directions to form a full grid. -modularShelfArray = patternLinear3d( - [sidePanels, shelves], - instances = columnCount, - distance = unitWidth, - axis = [1, 0, 0], -) - |> patternLinear3d( - %, - instances = rowCount, - distance = unitHeight, - axis = [0, 0, 1], - ) diff --git a/content/pages/docs/kcl-samples/modular-shelf-grid/project.toml b/content/pages/docs/kcl-samples/modular-shelf-grid/project.toml deleted file mode 100644 index 43c86b51..00000000 --- a/content/pages/docs/kcl-samples/modular-shelf-grid/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "b566983d-e7a8-4791-8388-f31aabc13086" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/mounting-plate/main.kcl b/content/pages/docs/kcl-samples/mounting-plate/main.kcl deleted file mode 100644 index 68104e23..00000000 --- a/content/pages/docs/kcl-samples/mounting-plate/main.kcl +++ /dev/null @@ -1,94 +0,0 @@ -// Mounting Plate -// A flat support plate with four mounting holes, a center opening, and rounded vertical corners. -// Categories: Mechanical Components; Industrial & Manufacturing - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -plateLength = 10 -plateWidth = 6 -filletRadius = 0.5 -plateThickness = 0.5 -centerHoleRadius = 2 -holeRadius = 0.25 -holeIndex = 0.75 - -plateSketch = sketch(on = XY) { - topEdge = line(start = [var -3in, var 5in], end = [var 3in, var 5in]) - rightEdge = line(start = [var 3in, var 5in], end = [var 3in, var -5in]) - bottomEdge = line(start = [var 3in, var -5in], end = [var -3in, var -5in]) - leftEdge = line(start = [var -3in, var -5in], end = [var -3in, var 5in]) - coincident([topEdge.end, rightEdge.start]) - coincident([rightEdge.end, bottomEdge.start]) - coincident([bottomEdge.end, leftEdge.start]) - coincident([leftEdge.end, topEdge.start]) - horizontal(topEdge) - vertical(rightEdge) - horizontal(bottomEdge) - vertical(leftEdge) - horizontalDistance([topEdge.start, topEdge.end]) == plateWidth - verticalDistance([rightEdge.end, rightEdge.start]) == plateLength - horizontalDistance([ORIGIN, topEdge.start]) == -plateWidth / 2 - verticalDistance([ORIGIN, topEdge.start]) == plateLength / 2 - - upperLeft = circle(start = [var -2in, var 4.25in], center = [var -2.25in, var 4.25in]) - upperRight = circle(start = [var 2.5in, var 4.25in], center = [var 2.25in, var 4.25in]) - lowerLeft = circle(start = [var -2in, var -4.25in], center = [var -2.25in, var -4.25in]) - lowerRight = circle(start = [var 2.5in, var -4.25in], center = [var 2.25in, var -4.25in]) - centerHole = circle(start = [var 2in, var 0in], center = [var 0in, var 0in]) - - horizontalDistance([ORIGIN, upperLeft.center]) == -plateWidth / 2 + holeIndex - verticalDistance([ORIGIN, upperLeft.center]) == plateLength / 2 - holeIndex - horizontalDistance([ORIGIN, upperRight.center]) == plateWidth / 2 - holeIndex - verticalDistance([ORIGIN, upperRight.center]) == plateLength / 2 - holeIndex - horizontalDistance([ORIGIN, lowerLeft.center]) == -plateWidth / 2 + holeIndex - verticalDistance([ORIGIN, lowerLeft.center]) == -plateLength / 2 + holeIndex - horizontalDistance([ORIGIN, lowerRight.center]) == plateWidth / 2 - holeIndex - verticalDistance([ORIGIN, lowerRight.center]) == -plateLength / 2 + holeIndex - coincident([centerHole.center, ORIGIN]) - - radius(upperLeft) == holeRadius - radius(upperRight) == holeRadius - radius(lowerLeft) == holeRadius - radius(lowerRight) == holeRadius - radius(centerHole) == centerHoleRadius -} -plateRegion = region( - segments = [ - plateSketch.topEdge, - plateSketch.rightEdge - ], - direction = CW, -) -plateWithHoles = extrude(plateRegion, length = plateThickness) -part = fillet( - plateWithHoles, - radius = filletRadius, - edges = [ - { - sideFaces = [ - plateRegion.tags.bottomEdge, - plateRegion.tags.rightEdge - ] - }, - { - sideFaces = [ - plateRegion.tags.leftEdge, - plateRegion.tags.bottomEdge - ] - }, - { - sideFaces = [ - plateRegion.tags.leftEdge, - plateRegion.tags.topEdge - ] - }, - { - sideFaces = [ - plateRegion.tags.rightEdge, - plateRegion.tags.topEdge - ] - } - ], -) - -hide(plateSketch) diff --git a/content/pages/docs/kcl-samples/multi-axis-robot/.gitignore b/content/pages/docs/kcl-samples/multi-axis-robot/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/multi-axis-robot/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/multi-axis-robot/globals.kcl b/content/pages/docs/kcl-samples/multi-axis-robot/globals.kcl deleted file mode 100644 index 98619f66..00000000 --- a/content/pages/docs/kcl-samples/multi-axis-robot/globals.kcl +++ /dev/null @@ -1,61 +0,0 @@ -// Global constants for the multi-axis robot - -// Define Units -@settings(defaultLengthUnit = in, kclVersion = 1.0) - -// Export constants -export axisJ4 = 25deg -export axisJ3 = 60deg -export axisJ2 = 110deg -export axisJ1 = 80deg - -export basePlateRadius = 5.5 -export basePlateThickness = 0.5 -export baseChamfer = 2 -export baseHeight = 5 - -export axisJ2ArmLength = 31 -export axisJ2ArmWidth = 4 -export axisJ2ArmThickness = 2.5 -export axisJ2BasePivotX = axisJ2ArmWidth / 2 - 0.25 -export axisJ2BasePivotY = baseHeight + 3 -export axisJ2EndPivotX = axisJ2BasePivotX + axisJ2ArmLength * cos(axisJ2) -export axisJ2EndPivotY = axisJ2BasePivotY + axisJ2ArmLength * sin(axisJ2) -export axisJ2HubRadius = axisJ2ArmWidth / 2 - 0.1 - -export axisJ3C = axisJ3 - 180deg + axisJ2 -export axisJ3CArmLength = 20 -export axisJ3CArmWidth = 3.75 -export axisJ3CArmThickness = 2.5 -export axisJ3BasePivotX = axisJ2EndPivotX -export axisJ3BasePivotY = axisJ2EndPivotY -export axisJ3EndPivotX = axisJ3BasePivotX + axisJ3CArmLength * cos(axisJ3C) -export axisJ3EndPivotY = axisJ3BasePivotY + axisJ3CArmLength * sin(axisJ3C) -export axisJ3HubRadius = axisJ3CArmWidth / 2 - -export clawFingerLength = 6.8 -export clawFingerWidth = 1.0 -export clawFingerThickness = 1.5 -export clawOpening = 1.8 -export clawRootOffset = 0.35 -export clawTipBackset = 1.0 -export clawTipInset = 0.35 -export clawOuterTipDrop = 0.25 - -export plane001 = { - origin = [0.0, 0.0, baseHeight - 1.5 + 0.1], - xAxis = [1.0, 0.0, 0.0], - yAxis = [0.0, 1.0, 0.0] -} - -export plane002 = { - origin = [0.0, 0.0, 0.0], - xAxis = [sin(axisJ1): in, cos(axisJ1): in, 0.0], - yAxis = [0.0, 0.0, 1.0] -} - -export plane003 = { - origin = [-0.1, 0.0, 0.0], - xAxis = [sin(axisJ1): in, cos(axisJ1): in, 0.0], - yAxis = [0.0, 0.0, 1.0] -} diff --git a/content/pages/docs/kcl-samples/multi-axis-robot/main.kcl b/content/pages/docs/kcl-samples/multi-axis-robot/main.kcl deleted file mode 100644 index 430223bd..00000000 --- a/content/pages/docs/kcl-samples/multi-axis-robot/main.kcl +++ /dev/null @@ -1,12 +0,0 @@ -// Robot Arm -// A 4 axis robotic arm for industrial use. These machines can be used for assembly, packaging, organization of goods, and quality inspection processes -// Categories: Robotics & Automation; Industrial & Manufacturing - -// Set Units -@settings(defaultLengthUnit = in, kclVersion = 1.0) - -// Import parts -import "robot-arm-base.kcl" as robotArmBase -import "robot-rotating-base.kcl" as rotatingBase -import "robot-arm-j2.kcl" as j2RobotArm -import "robot-arm-j3.kcl" as j3RobotArm diff --git a/content/pages/docs/kcl-samples/multi-axis-robot/project.toml b/content/pages/docs/kcl-samples/multi-axis-robot/project.toml deleted file mode 100644 index 599bbd9f..00000000 --- a/content/pages/docs/kcl-samples/multi-axis-robot/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "fbc5ccdd-a1b0-4707-886b-3ea75bbb27c8" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-base.kcl b/content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-base.kcl deleted file mode 100644 index 7a80791c..00000000 --- a/content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-base.kcl +++ /dev/null @@ -1,143 +0,0 @@ -// Robot Arm Base - -// Set Units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Import Constants -import * from "globals.kcl" - -// Base Plate -sketch004 = sketch(on = XY) { - line1 = line(start = [var -5.5in, var -5.5in], end = [var 5.5in, var -5.5in]) - line2 = line(start = [var 5.5in, var -5.5in], end = [var 5.5in, var 5.5in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 5.5in, var 5.5in], end = [var -5.5in, var 5.5in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -5.5in, var 5.5in], end = [var -5.5in, var -5.5in]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 0in, var 0in], end = [var 4.43in, var 2.99in], construction = true) - coincident([line5.start, ORIGIN]) - line6 = line(start = [var 0in, var 0in], end = [var 2.99in, var 4.43in], construction = true) - coincident([line6.start, line5.start]) - line7 = line(start = [var 0in, var 0in], end = [var -2.99in, var 4.43in], construction = true) - coincident([line7.start, line6.start]) - line8 = line(start = [var 0in, var 0in], end = [var -4.43in, var 2.99in], construction = true) - coincident([line8.start, line7.start]) - line9 = line(start = [var 0in, var 0in], end = [var -4.43in, var -2.99in], construction = true) - coincident([line9.start, line8.start]) - line10 = line(start = [var 0in, var 0in], end = [var -2.99in, var -4.43in], construction = true) - coincident([line10.start, line9.start]) - line11 = line(start = [var 0in, var 0in], end = [var 2.99in, var -4.43in], construction = true) - coincident([line11.start, line10.start]) - line12 = line(start = [var 0in, var 0in], end = [var 4.43in, var -2.99in], construction = true) - coincident([line12.start, line11.start]) - equalLength([ - line11, - line12, - line5, - line6, - line7, - line8, - line9, - line10 - ]) - line13 = line(start = [var 0in, var 0in], end = [var 4.86in, var 0in], construction = true) - coincident([line13.start, line8.start]) - horizontal([line13.end, ORIGIN]) - line14 = line(start = [var 0in, var 0in], end = [var -4.41in, var 0in], construction = true) - coincident([line14.start, line10.start]) - horizontal([line14.end, ORIGIN]) - horizontal(line14) - horizontal(line13) - angleDimension(lines = [line13, line5], sector = 1) == 34 - line15 = line(start = [var 0in, var 0in], end = [var 0in, var 4.46in], construction = true) - coincident([line15.start, line5.start]) - vertical([line15.end, ORIGIN]) - line16 = line(start = [var 0in, var 0in], end = [var 0in, var -3.56in], construction = true) - coincident([line16.start, line15.start]) - vertical([line16.end, ORIGIN]) - vertical(line16) - vertical(line15) - angleDimension(lines = [line6, line15], sector = 1) == 34 - angleDimension(lines = [line15, line7], sector = 1) == 34 - angleDimension(lines = [line8, line14], sector = 1) == 34 - angleDimension(lines = [line14, line9], sector = 1) == 34 - angleDimension(lines = [line10, line16], sector = 1) == 34 - angleDimension(lines = [line16, line11], sector = 1) == 34 - angleDimension(lines = [line12, line13], sector = 1) == 34 - distance([line12.start, line12.end]) == 5.35 - circle1 = circle(start = [var 4.54in, var 2.61in], center = [var 4.43in, var 2.99in]) - coincident([circle1.center, line5.end]) - circle2 = circle(start = [var 3in, var 4.04in], center = [var 2.99in, var 4.43in]) - coincident([circle2.center, line6.end]) - circle3 = circle(start = [var -2.6in, var 4.34in], center = [var -2.99in, var 4.43in]) - coincident([circle3.center, line7.end]) - circle4 = circle(start = [var -4.32in, var 2.61in], center = [var -4.43in, var 2.99in]) - coincident([circle4.center, line8.end]) - circle5 = circle(start = [var -4.3in, var -3.37in], center = [var -4.43in, var -2.99in]) - coincident([circle5.center, line9.end]) - circle6 = circle(start = [var -2.63in, var -4.6in], center = [var -2.99in, var -4.43in]) - coincident([circle6.center, line10.end]) - circle7 = circle(start = [var 3.35in, var -4.62in], center = [var 2.99in, var -4.43in]) - coincident([circle7.center, line11.end]) - circle8 = circle(start = [var 4.59in, var -3.36in], center = [var 4.43in, var -2.99in]) - coincident([circle8.center, line12.end]) - equalRadius([ - circle8, - circle7, - circle6, - circle5, - circle4, - circle3, - circle2, - circle1 - ]) - radius(circle2) == .4 -} -region001 = region(segments = [sketch004.line1, sketch004.line2]) -hidden001 = hide(sketch004) -sketch001 = extrude(region001, length = basePlateThickness) - -// Base Motor for actuating first joint -sketch002 = sketch(on = faceOf(sketch001, face = END)) { - circle1 = circle(start = [var 4in, var 0in], center = [var 0in, var 0in]) -} -region002 = region(segments = [sketch002.circle1]) -extrude002 = extrude(region002, length = baseHeight - basePlateThickness - 1.5) - -sketch003 = sketch(on = faceOf(extrude002, face = END)) { - circle1 = circle(start = [var 0.5in, var 0in], center = [var 0in, var 0in]) -} -region003 = region(segments = [sketch003.circle1]) -extrude003 = extrude(region003, length = 1) - |> appearance(color = "#754110", roughness = 90, metalness = 90) -chamfer001 = chamfer( - sketch001, - length = 1, - edges = [ - { - sideFaces = [ - region001.tags.line1, - region001.tags.line2 - ] - }, - { - sideFaces = [ - region001.tags.line2, - region001.tags.line3 - ] - }, - { - sideFaces = [ - region001.tags.line3, - region001.tags.line4 - ] - }, - { - sideFaces = [ - region001.tags.line4, - region001.tags.line1 - ] - } - ], -) diff --git a/content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-j2.kcl b/content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-j2.kcl deleted file mode 100644 index 2fe8d793..00000000 --- a/content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-j2.kcl +++ /dev/null @@ -1,42 +0,0 @@ -// J2 Axis for Robot Arm - -// Set Units -@settings(defaultLengthUnit = in, kclVersion = 1.0) - -// Import Constants -import * from "globals.kcl" - -// Create Body of J2 Robot Arm -sketch011 = sketch(on = plane003) { - arc1 = arc(start = [var -0.13in, var 7.32in], end = [var 3.63in, var 8.68in], center = [var 1.75in, var 8in]) - line2 = line(start = [var 3.63in, var 8.68in], end = [var -6.97in, var 37.81in]) - coincident([arc1.end, line2.start]) - arc3 = arc(start = [var -6.97in, var 37.81in], end = [var -10.73in, var 36.45in], center = [var -8.85in, var 37.13in]) - coincident([line2.end, arc3.start]) - line4 = line(start = [var -10.73in, var 36.45in], end = [var -0.13in, var 7.32in]) - coincident([arc3.end, line4.start]) -} -region001 = region(segments = [sketch011.arc1, sketch011.line2]) -extrude011 = extrude(region001, length = -axisJ2ArmThickness) - -sketch012 = sketch(on = faceOf(extrude011, face = START)) { - circle1 = circle(start = [var 0.15in, var 8in], center = [var -1.75in, var 8in]) -} - -region002 = region(segments = [sketch012.circle1]) -extrude012 = extrude(region002, length = 0.15) - -sketch013 = sketch(on = faceOf(extrude011, face = START)) { - circle1 = circle(start = [var 10.75in, var 37.13in], center = [var 8.85in, var 37.13in]) -} - -region003 = region(segments = [sketch013.circle1]) -extrude013 = extrude(region003, length = 1) - -sketch016 = sketch(on = faceOf(extrude011, face = END)) { - circle1 = circle(start = [var -8.55in, var 37.13in], center = [var -8.85in, var 37.13in]) -} - -region005 = region(segments = [sketch016.circle1]) -extrude(region005, length = 1) - |> appearance(color = "#454545", metalness = 90, roughness = 90) diff --git a/content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-j3.kcl b/content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-j3.kcl deleted file mode 100644 index fc405935..00000000 --- a/content/pages/docs/kcl-samples/multi-axis-robot/robot-arm-j3.kcl +++ /dev/null @@ -1,103 +0,0 @@ -// J3 Robot Arm - -// Set Units -@settings(defaultLengthUnit = in, kclVersion = 1.0) - -// Import Constants -import * from "globals.kcl" - -// Create Body of J3 Robot Arm -sketch017 = sketch(on = plane002) { - arc1 = arc(start = [var -8.53in, var 38.98in], end = [var -9.18in, var 35.28in], center = [var -8.85in, var 37.13in]) - line2 = line(start = [var -9.18in, var 35.28in], end = [var 10.52in, var 31.81in]) - coincident([arc1.end, line2.start]) - arc3 = arc(start = [var 11.17in, var 35.5in], end = [var 10.52in, var 31.81in], center = [var 10.84in, var 33.66in]) - coincident([line2.end, arc3.end]) - line4 = line(start = [var 11.17in, var 35.5in], end = [var -8.53in, var 38.98in]) - coincident([arc3.start, line4.start]) - coincident([arc1.start, line4.end]) -} -region001 = region(point = [-10.7000292in, 37.454302in], sketch = sketch017) -extrude017 = extrude(region001, length = axisJ3CArmThickness) - -sketch018 = sketch(on = faceOf(extrude017, face = END)) { - circle1 = circle(start = [var -7in, var 37.13in], center = [var -8.85in, var 37.13in]) -} - -region002 = region(segments = [sketch018.circle1]) -extrude018 = extrude(region002, length = 0.15) - -// On the J3 Robot Arm Body, Create Mounting Clevis for Grabber Claw -sketch020 = sketch(on = faceOf(extrude017, face = START)) { - circle1 = circle(start = [var -8.97in, var 33.66in], center = [var -10.84in, var 33.66in]) -} -region003 = region(segments = [sketch020.circle1]) -extrude020 = extrude(region003, length = -0.5, method = NEW) - -sketch021 = sketch(on = faceOf(extrude017, face = END)) { - circle1 = circle(start = [var 12.71in, var 33.66in], center = [var 10.84in, var 33.66in]) -} - -region004 = region(segments = [sketch021.circle1]) -extrude021 = extrude(region004, length = -0.5, method = NEW) - -// Define Grabber Claw Constants -grabberLength = 7 - -sketch022 = sketch(on = faceOf(extrude021, face = START)) { - circle1 = circle(start = [var 0.1in, var 0in], center = [var 0in, var 0in]) -} - -region005 = region(segments = [sketch022.circle1]) -extrude022 = extrude(region005, length = -0.01) - -// Build Upper Claw Finger -sketch023 = sketch(on = faceOf(extrude022, face = START)) { - line1 = line(start = [var 10.84in, var 33.66in], end = [var 12.57in, var 33.35in]) - arc2 = arc(start = [var 16.55in, var 32.65in], end = [var 12.57in, var 33.35in], center = [var 14.35in, var 31.85in]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var 16.55in, var 32.65in], end = [var 17.7in, var 32.45in]) - coincident([arc2.start, line3.start]) - line4 = line(start = [var 17.7in, var 32.45in], end = [var 16.64in, var 34.15in]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 16.64in, var 34.15in], end = [var 14.9in, var 35.15in]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 14.9in, var 35.15in], end = [var 12.61in, var 34.74in]) - coincident([line5.end, line6.start]) - line7 = line(start = [var 12.61in, var 34.74in], end = [var 10.84in, var 33.66in]) - coincident([line6.end, line7.start]) -} - -region006 = region(segments = [sketch023.line1, sketch023.arc2]) -extrude023 = extrude(region006, length = -1.5, method = NEW) - -// Build Lower Claw Finger -sketch024 = sketch(on = faceOf(extrude022, face = START)) { - line1 = line(start = [var 10.84in, var 33.66in], end = [var 12.57in, var 33.35in]) - arc2 = arc(start = [var 12.57in, var 33.35in], end = [var 16.55in, var 32.65in], center = [var 14.76in, var 34.15in]) - coincident([line1.end, arc2.start]) - line3 = line(start = [var 16.55in, var 32.65in], end = [var 17.7in, var 32.45in]) - coincident([arc2.end, line3.start]) - line4 = line(start = [var 17.7in, var 32.45in], end = [var 16.12in, var 31.22in]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 16.12in, var 31.22in], end = [var 14.15in, var 30.87in]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 14.15in, var 30.87in], end = [var 12.13in, var 32.04in]) - coincident([line5.end, line6.start]) - line7 = line(start = [var 12.13in, var 32.04in], end = [var 10.84in, var 33.66in]) - coincident([line6.end, line7.start]) -} - -region007 = region(segments = [sketch024.line1, sketch024.arc2]) -extrude024 = extrude(region007, length = -1.5, method = NEW) -appearance( - [ - extrude020, - extrude021, - extrude023, - extrude024 - ], - color = "#6572b3", - metalness = 90, - roughness = 90, -) diff --git a/content/pages/docs/kcl-samples/multi-axis-robot/robot-rotating-base.kcl b/content/pages/docs/kcl-samples/multi-axis-robot/robot-rotating-base.kcl deleted file mode 100644 index 1539cbad..00000000 --- a/content/pages/docs/kcl-samples/multi-axis-robot/robot-rotating-base.kcl +++ /dev/null @@ -1,63 +0,0 @@ -// Robot Rotating Base - -// Set Units -@settings(defaultLengthUnit = in, kclVersion = 1.0) - -// Import Constants -import * from "globals.kcl" - -sketch005 = sketch(on = plane001) { - circle1 = circle(start = [var 3.9, var 0], center = [var 0, var 0]) - coincident([circle1.center, [0, 0]]) - diameter(circle1) == 7.8 -} -region001 = region(segments = [sketch005.circle1]) -extrude005 = extrude(region001, length = 1.5 - 0.1) - |> appearance(color = "#4f7d54", metalness = 90, roughness = 90) - -sketch006 = sketch(on = plane002) { - line1 = line(start = [var 3.5, var 5], end = [var 4.38, var 6.52]) - arc2 = arc(start = [var 4.38, var 6.52], end = [var -0.82, var 9.52], center = [var 1.78, var 8.02]) - line3 = line(start = [var -0.82, var 9.52], end = [var -3.43, var 5]) - line4 = line(start = [var -3.43, var 5], end = [var 3.5, var 5]) - coincident([line1.end, arc2.start]) - coincident([arc2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) -} -region002 = region(segments = [sketch006.line1, sketch006.arc2]) -extrude006 = extrude(region002, length = 1) - -sketch007 = sketch(on = faceOf(extrude006, face = END)) { - circle1 = circle(start = [var 4.5, var 8], center = [var 1.75, var 8]) - coincident([ - circle1.center, - [axisJ2BasePivotX, axisJ2BasePivotY] - ]) - diameter(circle1) == 5.5 -} -region003 = region(segments = [sketch007.circle1]) -extrude007 = extrude(region003, length = 1.5) - -sketch009 = sketch(on = faceOf(extrude007, face = END)) { - circle1 = circle(start = [var 2.25, var 8], center = [var 1.75, var 8]) - coincident([ - circle1.center, - [axisJ2BasePivotX, axisJ2BasePivotY] - ]) - diameter(circle1) == 1 -} -region004 = region(segments = [sketch009.circle1]) -extrude009 = extrude(region004, length = 0.15) - |> appearance(color = "#4f7d54", metalness = 90, roughness = 90) - -sketch010 = sketch(on = plane002) { - circle1 = circle(start = [var 2.05, var 8], center = [var 1.75, var 8]) - coincident([ - circle1.center, - [axisJ2BasePivotX, axisJ2BasePivotY] - ]) - diameter(circle1) == 0.6 -} -region005 = region(segments = [sketch010.circle1]) -extrude(region005, length = -1) diff --git a/content/pages/docs/kcl-samples/parametric-shelf-unit/.gitignore b/content/pages/docs/kcl-samples/parametric-shelf-unit/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/parametric-shelf-unit/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/parametric-shelf-unit/main.kcl b/content/pages/docs/kcl-samples/parametric-shelf-unit/main.kcl deleted file mode 100644 index ed470fc3..00000000 --- a/content/pages/docs/kcl-samples/parametric-shelf-unit/main.kcl +++ /dev/null @@ -1,126 +0,0 @@ -// Parametric Shelf Unit -// A modular and adjustable 3D shelf model designed for basic furniture design. -// Categories: Home & Lifestyle; Parametric - -// This model includes: -// - Two vertical side panels (left and right) -// - A floor base (spacer) at the bottom -// - Multiple evenly spaced horizontal shelf boards -// - Optional top board acting as a cover -// All elements are parametric and adaptable through clearly named variables. - -@settings(defaultLengthUnit = m, kclVersion = 2.0) - -// --- Global Dimensions --- -unitWidth = 1 // overall external width of the shelf -unitHeight = 2 // total height including top and base -unitDepth = 0.4 // depth from front to back - - -shelfBoardCount = 5 // number of usable shelf boards (excludes top cover) - - -// --- Panel & Shelf Geometry --- -panelThickness = 0.02 // thickness of side panels and shelf boards -sidePanelOffset = unitWidth - panelThickness // distance between origin points of left and right panel - - -// --- Base Spacer (Plinth) --- -baseHeight = 0.05 // elevation of bottom plinth from ground -baseInset = 0.03 // inward offset at the front (toe kick for foot clearance) -baseWidth = unitWidth - (panelThickness * 2) // internal width of base element -baseDepth = unitDepth - baseInset // shallower depth than full unit - - -// --- Shelf Placement --- -shelfStartZ = baseHeight // Z elevation of the first shelf board -shelfThickness = panelThickness // shelf board thickness -shelfWidth = baseWidth // width same as base -shelfDepth = unitDepth // full shelf depth - - -totalShelfBoards = shelfBoardCount + 1 // includes top cover board -availableVerticalSpace = unitHeight - baseHeight - shelfThickness -shelfSpacing = availableVerticalSpace / shelfBoardCount // vertical distance between shelf boards - - -// --- Side Panels --- -sidePanelProfile = sketch(on = XY) { - line1 = line(start = [var -0.5m, var -0.4m], end = [var -0.48m, var -0.4m]) - line2 = line(start = [var -0.48m, var -0.4m], end = [var -0.48m, var 0m]) - line3 = line(start = [var -0.48m, var 0m], end = [var -0.5m, var 0m]) - line4 = line(start = [var -0.5m, var 0m], end = [var -0.5m, var -0.4m]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - parallel([line2, line4]) - parallel([line3, line1]) - perpendicular([line1, line2]) - horizontal(line3) - line5 = line(start = [var -0.48m, var 0m], end = [var 0m, var 0m], construction = true) - coincident([line5.start, line3.start]) - coincident([line5.end, ORIGIN]) - horizontal(line5) - horizontalDistance([line4.start, line5.end]) == unitWidth / 2 - verticalDistance([line4.end, line4.start]) == unitDepth - horizontalDistance([line1.start, line1.end]) == panelThickness -} - -sidePanelRegion = region(segments = [sidePanelProfile.line1]) -sidePanel = extrude(sidePanelRegion, length = unitHeight) -sidePanels = patternLinear3d( - sidePanel, - instances = 2, - distance = sidePanelOffset, - axis = [1, 0, 0], -) - -// --- Floor Base / Plinth --- -// Supporting base element between side panels. -baseProfile = sketch(on = XY) { - line1 = line(start = [var -0.48m, var 0m], end = [var -0.48m, var -0.37m]) - line2 = line(start = [var -0.48m, var -0.37m], end = [var 0.48m, var -0.37m]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 0.48m, var -0.37m], end = [var 0.48m, var 0m]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 0.48m, var 0m], end = [var -0.48m, var 0m]) - coincident([line3.end, line4.start]) - vertical(line1) - horizontal(line2) - vertical(line3) -} -region001 = region(segments = [baseProfile.line1, baseProfile.line2]) -baseBlock = extrude(region001, length = baseHeight) - -// --- First Shelf Board --- -firstShelfPlane = offsetPlane(XY, offset = shelfStartZ) -firstShelfProfile = sketch(on = firstShelfPlane) { - line1 = line(start = [var -0.48m, var 0m], end = [var -0.48m, var -0.4m]) - line2 = line(start = [var -0.48m, var -0.4m], end = [var 0.48m, var -0.4m]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 0.48m, var -0.4m], end = [var 0.48m, var 0m]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 0.48m, var 0m], end = [var -0.48m, var 0m]) - coincident([line3.end, line4.start]) - vertical(line1) - horizontal(line2) - vertical(line3) -} -region002 = region(segments = [ - firstShelfProfile.line1, - firstShelfProfile.line2 -]) -firstShelf = extrude(region002, length = shelfThickness) - -// --- Shelf Stack --- -shelves = patternLinear3d( - firstShelf, - instances = totalShelfBoards, - distance = shelfSpacing, - axis = [0, 0, 1], -) - -hidden001 = hide(baseProfile) -hidden002 = hide(firstShelfProfile) -hidden003 = hide(sidePanelProfile) diff --git a/content/pages/docs/kcl-samples/parametric-shelf-unit/project.toml b/content/pages/docs/kcl-samples/parametric-shelf-unit/project.toml deleted file mode 100644 index df9ed474..00000000 --- a/content/pages/docs/kcl-samples/parametric-shelf-unit/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "d2ec0333-6bbf-4ef4-8f3c-41d604bfab00" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/pillow-block-bearing/ball-bearing.kcl b/content/pages/docs/kcl-samples/pillow-block-bearing/ball-bearing.kcl deleted file mode 100644 index ba78959e..00000000 --- a/content/pages/docs/kcl-samples/pillow-block-bearing/ball-bearing.kcl +++ /dev/null @@ -1,111 +0,0 @@ -// Pillow Block Bearing -// The ball bearing for the pillow block bearing assembly - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -// Import Parameters -import * from "parameters.kcl" - -// Create the sketch of one of the balls. The ball diameter is sized as a fraction of the difference between inner and outer radius of the bearing -ballsSketch = sketch(on = offsetPlane(XY, offset = stockThickness / 2)) { - arc1 = arc(start = [var 1.19375in, var 0.001in], end = [var 0.975in, var 0.001in], center = [var 1.084375in, var 0.001in]) - line2 = line(start = [var 1.19375in, var 0.001in], end = [var 0.975in, var 0.001in]) - coincident([arc1.start, line2.start]) -} - -region001 = region(segments = [ballsSketch.arc1, ballsSketch.line2]) -// Revolve the ball to make a sphere and pattern around the inside wall -balls = revolve(region001, axis = X) - |> patternCircular3d( - arcDegrees = 360, - axis = [0, 0, 1], - center = [0, 0, 0], - instances = 16, - rotateDuplicates = true, - ) - -// Create the sketch for the chain around the balls -chainSketch = sketch(on = offsetPlane(XY, offset = stockThickness / 2)) { - arc1 = arc(start = [var 1.1390625in, var 0.108253175in], end = [var 1.0296875in, var 0.108253175in], center = [var 1.084375in, var 0.013531647in]) - line2 = line(start = [var 1.1390625in, var 0.108253175in], end = [var 1.1390625in, var 0.135596925in]) - coincident([arc1.start, line2.start]) - line3 = line(start = [var 1.1390625in, var 0.135596925in], end = [var 1.0296875in, var 0.135596925in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 1.0296875in, var 0.135596925in], end = [var 1.0296875in, var 0.108253175in]) - coincident([line3.end, line4.start]) -} - -region002 = region(segments = [chainSketch.arc1, chainSketch.line2]) -// Revolve the chain sketch -chainHead = revolve(region002, axis = X) - |> patternCircular3d( - arcDegrees = 360, - axis = [0, 0, 1], - center = [0, 0, 0], - instances = 16, - rotateDuplicates = true, - ) - -// Create the sketch for the links in between the chains -linkSketch = sketch(on = XZ) { - circle1 = circle(start = [var 1.11171875in, var 0.25in], center = [var 1.084375in, var 0.25in]) -} - -// Create the walls of the bearing -sketch001 = sketch(on = XZ) { - line1 = line(start = [var 1.2425in, var 0.5in], end = [var 1.24162738in, var 0.450007615in]) - line2 = line(start = [var 1.24162738in, var 0.450007615in], end = [var 0.94912738in, var 0.450007615in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 0.94912738in, var 0.450007615in], end = [var 0.94912738in, var 0.105in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 0.94912738in, var 0.105in], end = [var 0.92412738in, var 0.105in]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 0.92412738in, var 0.105in], end = [var 0.917232629in, var 0.5in]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 0.917232629in, var 0.5in], end = [var 1.2425in, var 0.5in]) - coincident([line5.end, line6.start]) -} -region003 = region(segments = [sketch001.line1, sketch001.line2]) -bearingUpper = revolve(region003, angle = 360, axis = Y) - |> appearance(color = "#121212") - -sketch002 = sketch(on = XZ) { - line1 = line(start = [var 0.875in, var 0.025in], end = [var 0.925in, var 0.025in]) - line2 = line(start = [var 0.925in, var 0.025in], end = [var 0.935352762in, var 0.063637033in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 0.935352762in, var 0.063637033in], end = [var 0.985352762in, var 0.063637033in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 0.985352762in, var 0.063637033in], end = [var 0.995705524in, var 0.025in]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 0.995705524in, var 0.025in], end = [var 1.3125in, var 0.025in]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 1.3125in, var 0.025in], end = [var 1.3125in, var 0.525in]) - coincident([line5.end, line6.start]) - line7 = line(start = [var 1.3125in, var 0.525in], end = [var 1.2425in, var 0.525in]) - coincident([line6.end, line7.start]) - line8 = line(start = [var 1.2425in, var 0.525in], end = [var 1.235081597in, var 0.1in]) - coincident([line7.end, line8.start]) - line9 = line(start = [var 1.235081597in, var 0.1in], end = [var 0.925in, var 0.1in]) - coincident([line8.end, line9.start]) - line10 = line(start = [var 0.925in, var 0.1in], end = [var 0.915836091in, var 0.625in]) - coincident([line9.end, line10.start]) - line11 = line(start = [var 0.915836091in, var 0.625in], end = [var 0.875in, var 0.625in]) - coincident([line10.end, line11.start]) - line12 = line(start = [var 0.875in, var 0.625in], end = [var 0.875in, var 0.025in]) - coincident([line11.end, line12.start]) -} -region004 = region(segments = [sketch002.line1, sketch002.line2]) -bearingLower = revolve(region004, angle = 360, axis = Y) - |> appearance(color = "#f0f0f0") - -region005 = region(segments = [linkSketch.circle1]) -// Revolve the link sketch -revolve(region005, axis = Y, angle = 360 / 16) - |> patternCircular3d( - arcDegrees = 360, - axis = [0, 0, 1], - center = [0, 0, 0], - instances = 16, - rotateDuplicates = true, - ) diff --git a/content/pages/docs/kcl-samples/pillow-block-bearing/block.kcl b/content/pages/docs/kcl-samples/pillow-block-bearing/block.kcl deleted file mode 100644 index 6417a31e..00000000 --- a/content/pages/docs/kcl-samples/pillow-block-bearing/block.kcl +++ /dev/null @@ -1,93 +0,0 @@ -// Pillow Block Bearing -// The machined block for the pillow block bearing assembly. The block is dimensioned using the bolt pattern spacing, and each bolt hole includes a counterbore - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -// Import Parameters -import * from "parameters.kcl" - -// Calculate the dimensions of the block using the specified bolt spacing. The size of the block can be defined by adding a multiple of the counterbore diameter to the bolt spacing -blockLength = boltSpacingX + counterboreDiameter + boltDiameter -blockWidth = boltSpacingY + counterboreDiameter + boltDiameter - -// Draw the base plate -plateSketch = sketch(on = XY) { - line1 = line(start = [var -3.0625in, var -2.0625in], end = [var 3.0625in, var -2.0625in]) - line2 = line(start = [var 3.0625in, var -2.0625in], end = [var 3.0625in, var 2.0625in]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 3.0625in, var 2.0625in], end = [var -3.0625in, var 2.0625in]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -3.0625in, var 2.0625in], end = [var -3.0625in, var -2.0625in]) - coincident([line3.end, line4.start]) - bearingBore = circle(start = [var 1.3125in, var 0in], center = [var 0in, var 0in]) -} -region001 = region(segments = [plateSketch.line1, plateSketch.line2]) -plateBody = extrude(region001, length = stockThickness) - |> appearance(color = "#1e62eb") - |> fillet( - radius = boltDiameter * 1 / 3, - edges = [ - { - sideFaces = [ - region001.tags.line2, - region001.tags.line1 - ] - }, - { - sideFaces = [ - region001.tags.line4, - region001.tags.line1 - ] - }, - { - sideFaces = [ - region001.tags.line2, - region001.tags.line3 - ] - }, - { - sideFaces = [ - region001.tags.line4, - region001.tags.line3 - ] - } - ], - ) - -// Define hole positions -holePositions = [ - [-boltSpacingX / 2, -boltSpacingY / 2], - [-boltSpacingX / 2, boltSpacingY / 2], - [boltSpacingX / 2, -boltSpacingY / 2], - [boltSpacingX / 2, boltSpacingY / 2] -] - -// Create the counterbore and through-hole cutters explicitly so the physical -// result does not depend on the implicit face-extrusion behavior of sketch-v1. -counterboreSketch = sketch(on = offsetPlane(XY, offset = stockThickness)) { - bore = circle(start = [var -2.125in, var -1.5in], center = [var -2.5in, var -1.5in]) -} -counterboreSeed = extrude(region(segments = [counterboreSketch.bore]), length = -counterboreDepth) -counterboreCutters = patternLinear3d( - counterboreSeed, - instances = 2, - distance = boltSpacingY, - axis = Y, -) - |> patternLinear3d(instances = 2, distance = boltSpacingX, axis = X) -plateCounterbored = subtract(plateBody, tools = counterboreCutters) - -boltSketch = sketch(on = offsetPlane(XY, offset = stockThickness - counterboreDepth)) { - bore = circle(start = [var -2.3125in, var -1.5in], center = [var -2.5in, var -1.5in]) -} -boltSeed = extrude(region(segments = [boltSketch.bore]), length = -(stockThickness - counterboreDepth)) -boltCutters = patternLinear3d( - boltSeed, - instances = 2, - distance = boltSpacingY, - axis = Y, -) - |> patternLinear3d(instances = 2, distance = boltSpacingX, axis = X) -block = subtract(plateCounterbored, tools = boltCutters) - |> appearance(color = "#1e62eb") diff --git a/content/pages/docs/kcl-samples/pillow-block-bearing/main.kcl b/content/pages/docs/kcl-samples/pillow-block-bearing/main.kcl deleted file mode 100644 index fdbda68f..00000000 --- a/content/pages/docs/kcl-samples/pillow-block-bearing/main.kcl +++ /dev/null @@ -1,15 +0,0 @@ -// Pillow Block Bearing -// A bearing pillow block, also known as a plummer block or pillow block bearing, is a pedestal used to provide support for a rotating shaft with the help of compatible bearings and various accessories. Housing a bearing, the pillow block provides a secure and stable foundation that allows the shaft to rotate smoothly within its machinery setup. These components are essential in a wide range of mechanical systems and machinery, playing a key role in reducing friction and supporting radial and axial loads. -// Categories: Mechanical Components; Industrial & Manufacturing - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -// Import parts and parameters -import * from "parameters.kcl" -import "ball-bearing.kcl" as ballBearing -import "block.kcl" as block - -// Render each part -ballBearing -block diff --git a/content/pages/docs/kcl-samples/pillow-block-bearing/parameters.kcl b/content/pages/docs/kcl-samples/pillow-block-bearing/parameters.kcl deleted file mode 100644 index 52a7500d..00000000 --- a/content/pages/docs/kcl-samples/pillow-block-bearing/parameters.kcl +++ /dev/null @@ -1,18 +0,0 @@ -// Global parameters for the pillow block bearing - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -// Export parameters -export boltSpacingX = 5 -export boltSpacingY = 3 -export boltDiameter = 3 / 8 -export counterboreDiameter = 3 / 4 -export counterboreDepth = 3 / 16 -export stockThickness = .5 -export bearingBoreDiameter = 1 + 3 / 4 -export bearingOuterDiameter = bearingBoreDiameter * 1.5 -export sphereDia = (bearingOuterDiameter - bearingBoreDiameter) / 4 -export chainWidth = sphereDia / 2 -export chainThickness = sphereDia / 8 -export linkDiameter = sphereDia / 4 diff --git a/content/pages/docs/kcl-samples/pipe-elbow-90deg/.gitignore b/content/pages/docs/kcl-samples/pipe-elbow-90deg/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/pipe-elbow-90deg/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/pipe-elbow-90deg/main.kcl b/content/pages/docs/kcl-samples/pipe-elbow-90deg/main.kcl deleted file mode 100644 index cdf7e055..00000000 --- a/content/pages/docs/kcl-samples/pipe-elbow-90deg/main.kcl +++ /dev/null @@ -1,113 +0,0 @@ -// 90 Degree Pipe Elbow -// Quarter-turn elbow with two bolted flanges on a 94 x 71 mm pipe section. -// Categories: Architecture & Construction; Mechanical Components - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -elbowBendAngleDegrees = 90 -elbowCenterlineBendRadius = 80 -pipeOutsideDiameter = 94 -pipeWallThickness = 11.5 - -flangeOutsideDiameter = 130 -flangeThickness = 20 -boltHoleCount = 16 -boltHoleDiameter = 12 -boltCircleDiameter = pipeOutsideDiameter + (flangeOutsideDiameter - pipeOutsideDiameter) / 2 - -pipeInsideDiameter = pipeOutsideDiameter - (2 * pipeWallThickness) -flangeInsideDiameter = pipeInsideDiameter - -elbowSectionSketch = sketch(on = XY) { - elbowOuterCircle = circle(start = [var 107.34mm, var -15.97mm], center = [var 63mm, var 0mm]) - elbowCenterGuide = line(start = [var 0mm, var 0mm], end = [var 63mm, var 0mm], construction = true) - coincident([elbowCenterGuide.start, ORIGIN]) - coincident([ - elbowCenterGuide.end, - elbowOuterCircle.center - ]) - horizontal(elbowCenterGuide) - horizontalDistance([ - elbowCenterGuide.start, - elbowCenterGuide.end - ]) == elbowCenterlineBendRadius - - elbowInnerCircle = circle(start = [var 93.57mm, var 17.89mm], center = [var 62.79mm, var 0.22mm]) - coincident([ - elbowInnerCircle.center, - elbowOuterCircle.center - ]) - - radius(elbowOuterCircle) == pipeOutsideDiameter / 2 - radius(elbowInnerCircle) == pipeInsideDiameter / 2 -} -elbowSectionRegion = region(segments = [elbowSectionSketch.elbowOuterCircle]) -elbowBody = revolve(elbowSectionRegion, axis = Y, angle = -elbowBendAngleDegrees) - -flangeSketch = sketch(on = YZ) { - flangeOuterCircle = circle(start = [var 66.34mm, var 51.18mm], center = [var 0mm, var 63mm]) - flangeCenterGuide = line(start = [var 0mm, var 0mm], end = [var 0mm, var 63mm], construction = true) - coincident([flangeCenterGuide.start, ORIGIN]) - coincident([ - flangeCenterGuide.end, - flangeOuterCircle.center - ]) - vertical(flangeCenterGuide) - verticalDistance([ - flangeCenterGuide.start, - flangeCenterGuide.end - ]) == elbowCenterlineBendRadius - flangeInnerCircle = circle(start = [var 37.73mm, var 77.31mm], center = [var 0mm, var 63mm]) - coincident([ - flangeInnerCircle.center, - flangeOuterCircle.center - ]) - radius(flangeOuterCircle) == flangeOutsideDiameter / 2 - radius(flangeInnerCircle) == flangeInsideDiameter / 2 -} - -flangeRegion = region(segments = [flangeSketch.flangeOuterCircle]) -flangeBlank = extrude(flangeRegion, length = -flangeThickness) - -boltHoleSketch = sketch(on = YZ) { - boltHoleCircle = circle(start = [var 58.5mm, var 63mm], center = [var 53.5mm, var 63mm]) - boltHoleCenterGuide = line(start = [var 0mm, var 63mm], end = [var 53.5mm, var 63mm], construction = true) - boltHoleOffsetGuide = line(start = [var 0mm, var 0mm], end = [var 0mm, var 63mm], construction = true) - coincident([ - boltHoleCenterGuide.end, - boltHoleCircle.center - ]) - coincident([boltHoleOffsetGuide.start, ORIGIN]) - coincident([ - boltHoleOffsetGuide.end, - boltHoleCenterGuide.start - ]) - horizontal(boltHoleCenterGuide) - vertical(boltHoleOffsetGuide) - horizontalDistance([ - boltHoleCenterGuide.start, - boltHoleCenterGuide.end - ]) == boltCircleDiameter / 2 - verticalDistance([ - boltHoleOffsetGuide.start, - boltHoleOffsetGuide.end - ]) == elbowCenterlineBendRadius - radius(boltHoleCircle) == boltHoleDiameter / 2 -} - -boltHoleRegion = region(segments = [boltHoleSketch.boltHoleCircle]) -boltHoleBody = extrude(boltHoleRegion, length = -flangeThickness) -boltHoleBodies = patternCircular3d( - boltHoleBody, - instances = boltHoleCount, - axis = X, - center = [0, 0, elbowCenterlineBendRadius], -) -verticalFlange = subtract([flangeBlank], tools = [boltHoleBodies]) - -horizontalFlange = clone(verticalFlange) - |> rotate(axis = Y, angle = -90deg, global = true) - |> rotate(axis = Z, angle = 180deg, global = true) - -hide(elbowSectionSketch) -hide(flangeSketch) diff --git a/content/pages/docs/kcl-samples/pipe-elbow-90deg/project.toml b/content/pages/docs/kcl-samples/pipe-elbow-90deg/project.toml deleted file mode 100644 index 5440d0bf..00000000 --- a/content/pages/docs/kcl-samples/pipe-elbow-90deg/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "d2d3f985-2200-4e96-a49b-c0acf0c67fef" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/pipe-flange-assembly/1120t74-pipe.kcl b/content/pages/docs/kcl-samples/pipe-flange-assembly/1120t74-pipe.kcl deleted file mode 100644 index 5f93b1de..00000000 --- a/content/pages/docs/kcl-samples/pipe-flange-assembly/1120t74-pipe.kcl +++ /dev/null @@ -1,19 +0,0 @@ -// Pipe -// Piping for the pipe flange assembly - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -import pipeInnerDiameter, pipeOuterDiameter, pipeLength from "parameters.kcl" - -export fn pipe() { - pipeSketch = sketch(on = XZ) { - outerCircle = circle(start = [var 1.1875in, var 0in], center = [var 0in, var 0in]) - innerCircle = circle(start = [var 1in, var 0in], center = [var 0in, var 0in]) - } - - pipeRegion = region(segments = [pipeSketch.outerCircle]) - pipeBody = extrude(pipeRegion, length = pipeLength) - |> appearance(color = "#a24ed0") - - return pipeBody -} diff --git a/content/pages/docs/kcl-samples/pipe-flange-assembly/68095k348-flange.kcl b/content/pages/docs/kcl-samples/pipe-flange-assembly/68095k348-flange.kcl deleted file mode 100644 index f55d89e5..00000000 --- a/content/pages/docs/kcl-samples/pipe-flange-assembly/68095k348-flange.kcl +++ /dev/null @@ -1,54 +0,0 @@ -// Flange -// Flange used for mating two pipes together in the pipe flange assembly. - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -import pipeDiameter, mountingHoleDiameter, mountingHolePlacementDiameter, flangeDiameter, flangeTotalThickness, flangeBackHeight, flangeFrontHeight, flangeBaseThickness, flangeBackDiameter, flangeFrontDiameter from "parameters.kcl" - -export fn flange() { - baseSketch = sketch(on = XY) { - outerCircle = circle(start = [var 3in, var 0in], center = [var 0in, var 0in]) - } - baseRegion = region(segments = [baseSketch.outerCircle]) - flangeBase = extrude(baseRegion, length = flangeBaseThickness) - - mountingHoleSketch = sketch(on = offsetPlane(XY, offset = -flangeBackHeight)) { - mountingHole = circle(start = [var 0.375in, var 2.375in], center = [var 0in, var 2.375in]) - } - mountingHoleRegion = region(segments = [mountingHoleSketch.mountingHole]) - mountingHoleTool = extrude(mountingHoleRegion, length = flangeTotalThickness) - |> patternCircular3d( - instances = 4, - axis = Z, - center = [0, 0, 0], - arcDegrees = 360deg, - rotateDuplicates = false, - ) - flangeBaseWithHoles = subtract(flangeBase, tools = mountingHoleTool) - - backSketch = sketch(on = XY) { - outerCircle = circle(start = [var 1.81in, var 0in], center = [var 0in, var 0in]) - } - flangeBack = extrude(region(segments = [backSketch.outerCircle]), length = -flangeBackHeight) - - frontSketch = sketch(on = offsetPlane(XY, offset = flangeBaseThickness)) { - outerCircle = circle(start = [var 1.53in, var 0in], center = [var 0in, var 0in]) - } - flangeFront = extrude(region(segments = [frontSketch.outerCircle]), length = flangeFrontHeight) - - flangeBody = union([ - flangeBaseWithHoles, - flangeBack, - flangeFront - ]) - - pipeCutSketch = sketch(on = offsetPlane(XY, offset = -flangeBackHeight)) { - pipeCutCircle = circle(start = [var 1.22in, var 0in], center = [var 0in, var 0in]) - } - pipeCutTool = extrude(region(segments = [pipeCutSketch.pipeCutCircle]), length = flangeTotalThickness) - - flangeResult = subtract(flangeBody, tools = [pipeCutTool]) - |> appearance(color = "#bab0b0") - - return flangeResult -} diff --git a/content/pages/docs/kcl-samples/pipe-flange-assembly/91251a404-bolt.kcl b/content/pages/docs/kcl-samples/pipe-flange-assembly/91251a404-bolt.kcl deleted file mode 100644 index bb083089..00000000 --- a/content/pages/docs/kcl-samples/pipe-flange-assembly/91251a404-bolt.kcl +++ /dev/null @@ -1,61 +0,0 @@ -// Socket Head Cap Screw -// Screw for mating the flanges together in the pipe flange assembly - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -import boltLength, boltHeadLength from "parameters.kcl" - -export fn bolt() { - headSketch = sketch(on = XZ) { - headCircle = circle(start = [var 0.469in, var 0in], center = [var 0in, var 0in]) - } - headRegion = region(segments = [headSketch.headCircle]) - boltHead = extrude( - headRegion, - length = -boltHeadLength, - tagStart = $headStart, - tagEnd = $headEnd, - ) - |> fillet( - edges = [ - { - sideFaces = [headRegion.tags.headCircle, headStart] - }, - { - sideFaces = [headRegion.tags.headCircle, headEnd] - } - ], - radius = 0.020, - ) - - // Cut the drive with an independent sketch on the head's original plane. - // This avoids a face-derived cutter whose direction is ambiguous after the - // head fillets while preserving the legacy 75% recess depth. - hexSketch = sketch(on = offsetPlane(XZ, offset = -boltHeadLength)) { - hex1 = line(start = [var 0.25in, var 0.1443375673in], end = [var 0.25in, var -0.1443375673in]) - hex2 = line(start = [var 0.25in, var -0.1443375673in], end = [var 0in, var -0.2886751346in]) - coincident([hex1.end, hex2.start]) - hex3 = line(start = [var 0in, var -0.2886751346in], end = [var -0.25in, var -0.1443375673in]) - coincident([hex2.end, hex3.start]) - hex4 = line(start = [var -0.25in, var -0.1443375673in], end = [var -0.25in, var 0.1443375673in]) - coincident([hex3.end, hex4.start]) - hex5 = line(start = [var -0.25in, var 0.1443375673in], end = [var 0in, var 0.2886751346in]) - coincident([hex4.end, hex5.start]) - hex6 = line(start = [var 0in, var 0.2886751346in], end = [var 0.25in, var 0.1443375673in]) - coincident([hex5.end, hex6.start]) - coincident([hex6.end, hex1.start]) - } - hexRegion = region(segments = [hexSketch.hex1, hexSketch.hex2], direction = CW) - hexCut = extrude(hexRegion, length = boltHeadLength * 0.75) - recessedHead = subtract(boltHead, tools = [hexCut]) - - shaftSketch = sketch(on = XZ) { - shaftCircle = circle(start = [var 0.3125in, var 0in], center = [var 0in, var 0in]) - } - shaft = extrude(region(segments = [shaftSketch.shaftCircle]), length = boltLength) - - boltResult = union([recessedHead, shaft]) - |> appearance(color = "#4dd043", metalness = 90, roughness = 90) - - return boltResult -} diff --git a/content/pages/docs/kcl-samples/pipe-flange-assembly/9472k188-gasket.kcl b/content/pages/docs/kcl-samples/pipe-flange-assembly/9472k188-gasket.kcl deleted file mode 100644 index 2012fb4c..00000000 --- a/content/pages/docs/kcl-samples/pipe-flange-assembly/9472k188-gasket.kcl +++ /dev/null @@ -1,14 +0,0 @@ -// Gasket -// A seal between the two mating flange surfaces - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -import gasketOutsideDiameter, gasketInnerDiameter, gasketThickness from "parameters.kcl" - -gasketSketch = sketch(on = XY) { - outerCircle = circle(start = [var 2.0625in, var 0in], center = [var 0in, var 0in]) - innerCircle = circle(start = [var 1.1875in, var 0in], center = [var 0in, var 0in]) -} -gasketRegion = region(segments = [gasketSketch.outerCircle]) -extrude(gasketRegion, length = gasketThickness) - |> appearance(color = "#d0cb3e") diff --git a/content/pages/docs/kcl-samples/pipe-flange-assembly/95479a127-hex-nut.kcl b/content/pages/docs/kcl-samples/pipe-flange-assembly/95479a127-hex-nut.kcl deleted file mode 100644 index 0eb2763d..00000000 --- a/content/pages/docs/kcl-samples/pipe-flange-assembly/95479a127-hex-nut.kcl +++ /dev/null @@ -1,30 +0,0 @@ -// Hex Nut -// Hex nut for the screws in the pipe flange assembly - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -import hexNutDiameter, hexNutFlatToFlat, hexNutThickness, hexNutFlatLength from "parameters.kcl" - -export fn hexNut() { - nutSketch = sketch(on = XY) { - hex1 = line(start = [var 0.46875in, var 0.2706329387in], end = [var 0.46875in, var -0.2706329387in]) - hex2 = line(start = [var 0.46875in, var -0.2706329387in], end = [var 0in, var -0.5412658774in]) - coincident([hex1.end, hex2.start]) - hex3 = line(start = [var 0in, var -0.5412658774in], end = [var -0.46875in, var -0.2706329387in]) - coincident([hex2.end, hex3.start]) - hex4 = line(start = [var -0.46875in, var -0.2706329387in], end = [var -0.46875in, var 0.2706329387in]) - coincident([hex3.end, hex4.start]) - hex5 = line(start = [var -0.46875in, var 0.2706329387in], end = [var 0in, var 0.5412658774in]) - coincident([hex4.end, hex5.start]) - hex6 = line(start = [var 0in, var 0.5412658774in], end = [var 0.46875in, var 0.2706329387in]) - coincident([hex5.end, hex6.start]) - coincident([hex6.end, hex1.start]) - bore = circle(start = [var 0.3125in, var 0in], center = [var 0in, var 0in]) - } - - nutRegion = region(segments = [nutSketch.hex1, nutSketch.hex2], direction = CW) - nutBody = extrude(nutRegion, length = hexNutThickness) - |> appearance(color = "#4edfd5") - - return nutBody -} diff --git a/content/pages/docs/kcl-samples/pipe-flange-assembly/98017a257-washer.kcl b/content/pages/docs/kcl-samples/pipe-flange-assembly/98017a257-washer.kcl deleted file mode 100644 index 992a47ea..00000000 --- a/content/pages/docs/kcl-samples/pipe-flange-assembly/98017a257-washer.kcl +++ /dev/null @@ -1,19 +0,0 @@ -// Washer -// Washer for the screws in the pipe flange assembly - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -import washerInnerDia, washerOuterDia, washerThickness from "parameters.kcl" - -export fn washer() { - washerSketch = sketch(on = XY) { - outerCircle = circle(start = [var 0.594in, var 0in], center = [var 0in, var 0in]) - innerCircle = circle(start = [var 0.32in, var 0in], center = [var 0in, var 0in]) - } - - washerRegion = region(segments = [washerSketch.outerCircle]) - washerBody = extrude(washerRegion, length = washerThickness) - |> appearance(color = "#ee4f4f") - - return washerBody -} diff --git a/content/pages/docs/kcl-samples/pipe-flange-assembly/main.kcl b/content/pages/docs/kcl-samples/pipe-flange-assembly/main.kcl deleted file mode 100644 index c7218ecd..00000000 --- a/content/pages/docs/kcl-samples/pipe-flange-assembly/main.kcl +++ /dev/null @@ -1,72 +0,0 @@ -// Pipe and Flange Assembly -// A crucial component in various piping systems, designed to facilitate the connection, disconnection, and access to piping for inspection, cleaning, and modifications. This assembly combines pipes (long cylindrical conduits) with flanges (plate-like fittings) to create a secure yet detachable joint. -// Categories: Architecture & Construction; Mechanical Components - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -import * from "parameters.kcl" - -import "9472k188-gasket.kcl" as gasket -import flange from "68095k348-flange.kcl" -import washer from "98017a257-washer.kcl" -import bolt from "91251a404-bolt.kcl" -import hexNut from "95479a127-hex-nut.kcl" -import pipe from "1120t74-pipe.kcl" - -flange() -flange() - |> rotate(axis = [0, 1, 0], angle = 180deg) - |> translate(x = 0, y = 0, z = flangeBackHeight * 2 + gasketThickness) - -gasket - |> translate(x = 0, y = 0, z = -flangeBackHeight - gasketThickness) - -washer() - |> translate(x = mountingHolePlacementDiameter / 2, y = 0, z = flangeBaseThickness) - |> patternCircular3d( - instances = 4, - axis = Z, - center = [0, 0, 0], - arcDegrees = 360deg, - rotateDuplicates = false, - ) - |> patternLinear3d(instances = 2, distance = -(flangeBaseThickness * 2 + flangeBackHeight * 2 + gasketThickness + washerThickness), axis = Z) - -bolt() - |> translate(x = mountingHolePlacementDiameter / 2, y = 0, z = flangeBaseThickness + washerThickness) - |> rotate(roll = 90deg, pitch = 0deg, yaw = 0deg) - |> patternCircular3d( - instances = 4, - axis = Z, - center = [0, 0, 0], - arcDegrees = 360deg, - rotateDuplicates = false, - ) - -hexNut() - |> translate(x = mountingHolePlacementDiameter / 2, y = 0, z = -(flangeBackHeight * 2 + gasketThickness + flangeBaseThickness + washerThickness + hexNutThickness)) - |> patternCircular3d( - instances = 4, - axis = Z, - center = [0, 0, 0], - arcDegrees = 360deg, - rotateDuplicates = false, - ) - -pipe() - |> rotate(roll = -90deg, pitch = 0deg, yaw = 0deg) - |> translate( - x = 0, - y = 0, - z = flangeBaseThickness + flangeFrontHeight - 0.5, - global = true, - ) - -pipe() - |> rotate(roll = 90deg, pitch = 0deg, yaw = 0deg) - |> translate( - x = 0, - y = 0, - z = -(flangeBackHeight * 2 + gasketThickness + flangeBaseThickness + flangeFrontHeight - 0.5), - global = true, - ) diff --git a/content/pages/docs/kcl-samples/pipe-flange-assembly/parameters.kcl b/content/pages/docs/kcl-samples/pipe-flange-assembly/parameters.kcl deleted file mode 100644 index 91c86e38..00000000 --- a/content/pages/docs/kcl-samples/pipe-flange-assembly/parameters.kcl +++ /dev/null @@ -1,47 +0,0 @@ -// Parameters - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -// Flange (68095K348) -export pipeDiameter = 2.440 -export mountingHoleDiameter = 0.750 -export mountingHolePlacementDiameter = 4.750 - -export flangeDiameter = 6.0 -export flangeTotalThickness = 1.0 -export flangeBackHeight = 0.060 -export flangeFrontHeight = 0.250 -export flangeBaseThickness = flangeTotalThickness - flangeBackHeight - flangeFrontHeight - -export flangeBackDiameter = 3.620 -export flangeFrontDiameter = 3.060 - -// Washer (98017A257) -export washerInnerDia = 0.640 -export washerOuterDia = 1.188 -export washerThickness = 0.032 - -// Bolt (91251A404) -export boltDiameter = 0.625 -export boltLength = 2.500 -export boltHeadLength = boltDiameter -export boltHeadDiameter = 0.938 -export boltHexDrive = 1 / 2 -export boltHexFlatLength = boltHexDrive / (2 * cos(30deg)) -export boltThreadLength = 1.750 - -// Hex nut (95479A127) -export hexNutDiameter = 5 / 8 -export hexNutFlatToFlat = 15 / 16 -export hexNutThickness = 35 / 64 -export hexNutFlatLength = hexNutFlatToFlat / (2 * cos(30deg)) - -// Gasket (9472K188) -export gasketOutsideDiameter = 4.125 -export gasketInnerDiameter = 2.375 -export gasketThickness = 0.031 - -// Pipe (1120T74) -export pipeInnerDiameter = 2.0 -export pipeOuterDiameter = 2.375 -export pipeLength = 6 diff --git a/content/pages/docs/kcl-samples/pipe-straight/.gitignore b/content/pages/docs/kcl-samples/pipe-straight/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/pipe-straight/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/pipe-straight/main.kcl b/content/pages/docs/kcl-samples/pipe-straight/main.kcl deleted file mode 100644 index 863bdfca..00000000 --- a/content/pages/docs/kcl-samples/pipe-straight/main.kcl +++ /dev/null @@ -1,63 +0,0 @@ -// Horizontal Pipe Spool -// Short, straight pipe section with two identical flat, bolted end flanges; used to connect flanged equipment or piping runs and to set a precise face-to-face length in real systems. -// Categories: Architecture & Construction; Mechanical Components - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -pipeOutsideDiameter = 90 -pipeWallThickness = 10 - -flangeOutsideDiameter = 130 -flangeThickness = 20 - -boltHoleCount = 16 -boltHoleDiameter = 12 -boltCircleDiameter = pipeOutsideDiameter + (flangeOutsideDiameter - pipeOutsideDiameter) / 2 - -pipeInsideDiameter = pipeOutsideDiameter - (2 * pipeWallThickness) -flangeInsideDiameter = pipeInsideDiameter -pipeLength = 150 - -pipeSectionSketch = sketch(on = YZ) { - pipeOuterCircle = circle(start = [var 43.63mm, var 16.93mm], center = [var 0mm, var 0mm]) - coincident([pipeOuterCircle.center, ORIGIN]) - pipeInnerCircle = circle(start = [var 31.64mm, var -16.26mm], center = [var 0mm, var 0mm]) - coincident([pipeInnerCircle.center, ORIGIN]) - radius(pipeOuterCircle) == pipeOutsideDiameter / 2 - radius(pipeInnerCircle) == pipeInsideDiameter / 2 -} -pipeRegion = region(segments = [pipeSectionSketch.pipeOuterCircle]) -pipeBody = extrude(pipeRegion, length = pipeLength, symmetric = true) -hide(pipeSectionSketch) - -flangeSketch = sketch(on = YZ) { - flangeOuterCircle = circle(start = [var 43.63mm, var 16.93mm], center = [var 0mm, var 0mm]) - coincident([flangeOuterCircle.center, ORIGIN]) - flangeInnerCircle = circle(start = [var 31.64mm, var -16.26mm], center = [var 0mm, var 0mm]) - coincident([flangeInnerCircle.center, ORIGIN]) - radius(flangeOuterCircle) == flangeOutsideDiameter / 2 - radius(flangeInnerCircle) == flangeInsideDiameter / 2 -} -flangeRegion = region(segments = [flangeSketch.flangeOuterCircle]) -flangeBody = extrude(flangeRegion, length = flangeThickness, symmetric = true) -hide(flangeSketch) - -boltHoleSketch = sketch(on = YZ) { - circle1 = circle(start = [var 57.02mm, var 4.06mm], center = [var 52.5mm, var 0.11mm]) - line1 = line(start = [var 52.07mm, var 0mm], end = [var 0mm, var 0mm], construction = true) - coincident([line1.start, circle1.center]) - coincident([line1.end, ORIGIN]) - horizontal(line1) - radius(circle1) == boltHoleDiameter / 2 - horizontalDistance([line1.end, line1.start]) == boltCircleDiameter / 2 -} -boltRegion = region(segments = [boltHoleSketch.circle1]) -boltHoleBody = extrude(boltRegion, length = flangeThickness, symmetric = true) -boltHoleBodies = patternCircular3d(boltHoleBody, instances = boltHoleCount, axis = X) -flangeBodyWithHoles = subtract([flangeBody], tools = [boltHoleBodies]) -hide(boltHoleSketch) - -rightEndFlange = flangeBodyWithHoles - |> translate(x = (pipeLength + flangeThickness) / 2, global = true) -leftEndFlange = clone(rightEndFlange) - |> rotate(axis = Y, angle = 180deg) diff --git a/content/pages/docs/kcl-samples/pipe-straight/project.toml b/content/pages/docs/kcl-samples/pipe-straight/project.toml deleted file mode 100644 index dcb4fc3f..00000000 --- a/content/pages/docs/kcl-samples/pipe-straight/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "e6050898-8311-4f1f-b236-cc1fe2a2ed18" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/pipe-with-bend/main.kcl b/content/pages/docs/kcl-samples/pipe-with-bend/main.kcl deleted file mode 100644 index 11205343..00000000 --- a/content/pages/docs/kcl-samples/pipe-with-bend/main.kcl +++ /dev/null @@ -1,25 +0,0 @@ -// Pipe with bend -// A tubular section or hollow cylinder, usually but not necessarily of circular cross-section, used mainly to convey substances that can flow. -// Categories: Architecture & Construction; Mechanical Components - -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -innerDiameter = 10 -outerDiameter = 20 -bendRadius = 30 -bendAngle = 90deg - -pipeSectionSketch = sketch(on = XZ) { - outerCircle = circle(start = [var 40in, var 0in], center = [var 30in, var 0in]) - fixed([outerCircle.center, [bendRadius, 0]]) - radius(outerCircle) == outerDiameter / 2 - - innerCircle = circle(start = [var 35in, var 0in], center = [var 30in, var 0in]) - coincident([innerCircle.center, outerCircle.center]) - radius(innerCircle) == innerDiameter / 2 -} - -pipeSectionRegion = region(segments = [pipeSectionSketch.outerCircle]) -pipe = revolve(pipeSectionRegion, axis = Y, angle = bendAngle) - -hide(pipeSectionSketch) diff --git a/content/pages/docs/kcl-samples/pipe/.gitignore b/content/pages/docs/kcl-samples/pipe/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/pipe/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/pipe/main.kcl b/content/pages/docs/kcl-samples/pipe/main.kcl deleted file mode 100644 index 8a004446..00000000 --- a/content/pages/docs/kcl-samples/pipe/main.kcl +++ /dev/null @@ -1,26 +0,0 @@ -// Pipe -// Piping for the pipe flange assembly -// Categories: Architecture & Construction; Mechanical Components - -// Set units -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -// Define parameters -pipeOuterDiameter = 2.375 -pipeInnerDiameter = 2.0 -pipeThickness = (pipeOuterDiameter - pipeInnerDiameter) / 2 -pipeLength = 6 - -pipeSection = sketch(on = XZ) { - circle1 = circle(start = [var 0.95in, var 0in], center = [var 0in, var 0in]) - radius(circle1) == pipeOuterDiameter / 2 - circle2 = circle(start = [var 1.71in, var 0.38in], center = [var 0in, var 0in]) - radius(circle2) == pipeInnerDiameter / 2 - coincident([circle2.center, ORIGIN]) - coincident([circle1.center, ORIGIN]) -} - -ringRegion = region(segments = [pipeSection.circle1]) -pipeBody = extrude(ringRegion, length = -pipeLength, symmetric = true) - |> appearance(color = "#a24ed0") -hide(pipeSection) diff --git a/content/pages/docs/kcl-samples/pipe/project.toml b/content/pages/docs/kcl-samples/pipe/project.toml deleted file mode 100644 index 538f9602..00000000 --- a/content/pages/docs/kcl-samples/pipe/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "2133a875-8c7c-4842-8d98-2778aa3693f4" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/planetary-gearset/.gitignore b/content/pages/docs/kcl-samples/planetary-gearset/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/planetary-gearset/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/planetary-gearset/main.kcl b/content/pages/docs/kcl-samples/planetary-gearset/main.kcl deleted file mode 100644 index 1cd48b60..00000000 --- a/content/pages/docs/kcl-samples/planetary-gearset/main.kcl +++ /dev/null @@ -1,44 +0,0 @@ -// Helical Planetary Gearset -// A helical planetary gearset is a type of planetary gear system where the teeth of the sun gear, planet gears, and/or ring gear are helical rather than straight. This design allows for smoother, quieter operation, greater load-carrying capacity, and more flexible shaft alignment. -// Categories: Mechanical Components; Automotive & Transportation - -@settings(defaultLengthUnit = mm, kclVersion = 2.0, experimentalFeatures = allow) - -// Create the outer ring gear for the planetary gearset -gear::ring( - nTeeth = 40, - module = 1.5, - pressureAngle = 14deg, - helixAngle = -25deg, - gearHeight = 5, -) - -// Create a central sun gear using a small helical gear -gear::helical( - nTeeth = 12, - module = 1.5, - pressureAngle = 14deg, - helixAngle = 25deg, - gearHeight = 5, -) - |> rotate(yaw = -4) - -// Create the first helical planet gear -numPlanetGears = 4 -planetGear = gear::helical( - nTeeth = 12, - module = 1.5, - pressureAngle = 14deg, - helixAngle = -25deg, - gearHeight = 5, -) - -// Move the first planet gear into place, then copy it around the sun. -translate(planetGear, y = (12 + 12) / 2 * 1.5 + 2) - |> patternCircular3d( - instances = numPlanetGears, - axis = Z, - center = [0, 0, 0], - arcDegrees = 360deg, - rotateDuplicates = false, - ) diff --git a/content/pages/docs/kcl-samples/planetary-gearset/project.toml b/content/pages/docs/kcl-samples/planetary-gearset/project.toml deleted file mode 100644 index a04ae120..00000000 --- a/content/pages/docs/kcl-samples/planetary-gearset/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "abc2abff-3214-4818-bbfa-d7020dff87a4" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/propeller/main.kcl b/content/pages/docs/kcl-samples/propeller/main.kcl deleted file mode 100644 index 50995e76..00000000 --- a/content/pages/docs/kcl-samples/propeller/main.kcl +++ /dev/null @@ -1,341 +0,0 @@ -// Propeller -// A propeller is a rotating set of blades on a hub that converts shaft power into thrust by accelerating air or water rearward -// Categories: Aerospace; Mechanical Components - -@settings(defaultLengthUnit = in, kclVersion = 2.0, experimentalFeatures = allow) - -bladeCount = 2 -bladeDiameter = 86 -hubDiameter = 8 -hubThickness = 4 -holeDiameter = .25 -twistAngle = 45deg -tolerance = 0.000000005 - -// Build the hub and its circular mounting-hole pattern in one solver sketch. -holePatternRadius = hubDiameter / 3 -hubSketch = sketch(on = XY) { - outerCircle = circle(start = [var 4in, var 0in], center = [var 0in, var 0in]) - coincident([outerCircle.center, ORIGIN]) - radius(outerCircle) == hubDiameter / 2 - - hole0 = circle(start = [var 0.125in, var 2.667in], center = [var 0in, var 2.667in]) - fixed([ - hole0.center, - polar(angle = 90deg, length = holePatternRadius) - ]) - radius(hole0) == holeDiameter / 2 - - hole1 = circle(start = [var -1.443in, var 2.157in], center = [var -1.568in, var 2.157in]) - fixed([ - hole1.center, - polar(angle = 126deg, length = holePatternRadius) - ]) - radius(hole1) == holeDiameter / 2 - - hole2 = circle(start = [var -2.411in, var 0.824in], center = [var -2.536in, var 0.824in]) - fixed([ - hole2.center, - polar(angle = 162deg, length = holePatternRadius) - ]) - radius(hole2) == holeDiameter / 2 - - hole3 = circle(start = [var -2.411in, var -0.824in], center = [var -2.536in, var -0.824in]) - fixed([ - hole3.center, - polar(angle = 198deg, length = holePatternRadius) - ]) - radius(hole3) == holeDiameter / 2 - - hole4 = circle(start = [var -1.443in, var -2.157in], center = [var -1.568in, var -2.157in]) - fixed([ - hole4.center, - polar(angle = 234deg, length = holePatternRadius) - ]) - radius(hole4) == holeDiameter / 2 - - hole5 = circle(start = [var 0.125in, var -2.667in], center = [var 0in, var -2.667in]) - fixed([ - hole5.center, - polar(angle = 270deg, length = holePatternRadius) - ]) - radius(hole5) == holeDiameter / 2 - - hole6 = circle(start = [var 1.693in, var -2.157in], center = [var 1.568in, var -2.157in]) - fixed([ - hole6.center, - polar(angle = 306deg, length = holePatternRadius) - ]) - radius(hole6) == holeDiameter / 2 - - hole7 = circle(start = [var 2.661in, var -0.824in], center = [var 2.536in, var -0.824in]) - fixed([ - hole7.center, - polar(angle = 342deg, length = holePatternRadius) - ]) - radius(hole7) == holeDiameter / 2 - - hole8 = circle(start = [var 2.661in, var 0.824in], center = [var 2.536in, var 0.824in]) - fixed([ - hole8.center, - polar(angle = 18deg, length = holePatternRadius) - ]) - radius(hole8) == holeDiameter / 2 - - hole9 = circle(start = [var 1.693in, var 2.157in], center = [var 1.568in, var 2.157in]) - fixed([ - hole9.center, - polar(angle = 54deg, length = holePatternRadius) - ]) - radius(hole9) == holeDiameter / 2 -} - -hubRegion = region(segments = [hubSketch.outerCircle]) -hubBlank = extrude( - hubRegion, - length = hubThickness, - symmetric = true, - tagEnd = $hubEnd, - tagStart = $hubStart, -) -hubRounded = fillet( - hubBlank, - radius = hubThickness / 6, - edges = [ - { - sideFaces = [hubRegion.tags.outerCircle, hubEnd] - }, - { - sideFaces = [hubRegion.tags.outerCircle, hubStart] - } - ], -) - -// Match the original one-sided chamfer on the central bore by using a revolved cutter. -boreRadius = hubDiameter / 8 -boreChamfer = hubThickness / 10 -boreCutterSketch = sketch(on = XZ) { - bottomRadius = line(start = [var 0in, var -2in], end = [var 1in, var -2in]) - boreWall = line(start = [var 1in, var -2in], end = [var 1in, var 1.6in]) - chamferEdge = line(start = [var 1in, var 1.6in], end = [var 1.4in, var 2in]) - topRadius = line(start = [var 1.4in, var 2in], end = [var 0in, var 2in]) - axisEdge = line(start = [var 0in, var 2in], end = [var 0in, var -2in]) - - fixed([ - bottomRadius.start, - [0, -hubThickness / 2] - ]) - fixed([ - bottomRadius.end, - [boreRadius, -hubThickness / 2] - ]) - coincident([bottomRadius.end, boreWall.start]) - fixed([ - boreWall.end, - [ - boreRadius, - hubThickness / 2 - boreChamfer - ] - ]) - coincident([boreWall.end, chamferEdge.start]) - fixed([ - chamferEdge.end, - [ - boreRadius + boreChamfer, - hubThickness / 2 - ] - ]) - coincident([chamferEdge.end, topRadius.start]) - fixed([topRadius.end, [0, hubThickness / 2]]) - coincident([topRadius.end, axisEdge.start]) - coincident([axisEdge.end, bottomRadius.start]) -} -boreCutterRegion = region(segments = [ - boreCutterSketch.bottomRadius, - boreCutterSketch.boreWall -]) -boreCutter = revolve(boreCutterRegion, axis = Y) -hub = subtract(hubRounded, tools = boreCutter) - -// Reconstruct the revolved design envelope for each blade. -bladeRootPoint = polar(angle = 40deg, length = hubDiameter / 2.01) -bladeArcRadius = bladeDiameter / 50 -bladeArcCenter = [ - bladeRootPoint[0] - (bladeArcRadius * cos(230deg)), - bladeRootPoint[1] - (bladeArcRadius * sin(230deg)) -] -bladeArcEnd = [ - bladeArcCenter[0] + bladeArcRadius * cos(280deg), - bladeArcCenter[1] + bladeArcRadius * sin(280deg) -] -bladeWidePoint = [ - bladeArcEnd[0] + bladeDiameter / 2.6, - bladeArcEnd[1] + bladeDiameter / 30 -] -bladeTipPoint = [bladeDiameter / 2, 0.01] - -bladeEnvelopeSketch = sketch(on = YZ) { - rootArc = arc(start = [var 3.05in, var 2.56in], end = [var 4.45in, var 2.18in], center = [var 4.15in, var 3.88in]) - fixed([rootArc.start, bladeRootPoint]) - fixed([rootArc.center, bladeArcCenter]) - fixed([rootArc.end, bladeArcEnd]) - - wideArc = arc(start = [var 37.53in, var 5.05in], end = [var 4.45in, var 2.18in], center = [var 37.22in, var -183.66in]) - fixed([wideArc.start, bladeWidePoint]) - coincident([wideArc.end, rootArc.end]) - tangent([rootArc, wideArc]) - - tipArc = arc(start = [var 43in, var 0.01in], end = [var 37.53in, var 5.05in], center = [var 37.52in, var -0.45in]) - fixed([tipArc.start, bladeTipPoint]) - coincident([tipArc.end, wideArc.start]) - tangent([wideArc, tipArc]) - - tipDrop = line(start = [var 43in, var 0.01in], end = [var 43in, var 0in]) - coincident([tipDrop.start, tipArc.start]) - fixed([tipDrop.end, [bladeDiameter / 2, 0]]) - - neutralEdge = line(start = [var 43in, var 0in], end = [var 3.05in, var 0in]) - coincident([neutralEdge.start, tipDrop.end]) - fixed([ - neutralEdge.end, - [bladeRootPoint[0], 0] - ]) - - rootEdge = line(start = [var 3.05in, var 0in], end = [var 3.05in, var 2.56in]) - coincident([rootEdge.start, neutralEdge.end]) - coincident([rootEdge.end, rootArc.start]) -} -bladeEnvelopeRegion = region(segments = [ - bladeEnvelopeSketch.rootArc, - bladeEnvelopeSketch.wideArc -]) -bladeEnvelope = revolve(bladeEnvelopeRegion, axis = X) - -hubClearanceSketch = sketch(on = XY) { - hubClearanceCircle = circle(start = [var 4in, var 0in], center = [var 0in, var 0in]) - coincident([hubClearanceCircle.center, ORIGIN]) - radius(hubClearanceCircle) == hubDiameter / 2 -} -hubClearanceRegion = region(segments = [hubClearanceSketch.hubClearanceCircle]) -hubClearance = extrude(hubClearanceRegion, length = hubThickness * 5, symmetric = true) -bladeEnvelopeTrimmed = subtract(bladeEnvelope, tools = hubClearance, tolerance = tolerance) - -// Reconstruct the mirrored airfoil section and twist it along the blade radius. -sectionHalfChord = bladeDiameter / 10 -sectionNoseRadius = 0.05 -sectionUpperEnd = [ - sectionHalfChord - sectionNoseRadius + sectionNoseRadius * cos(83deg), - sectionNoseRadius * sin(83deg) -] -sectionOppositeEnd = [ - -sectionUpperEnd[0], - sectionUpperEnd[1] -] -sectionLowerEnd = [ - sectionUpperEnd[0], - -sectionUpperEnd[1] -] -sectionLowerOppositeEnd = [ - -sectionUpperEnd[0], - -sectionUpperEnd[1] -] -sectionUpperCamberCenter = [ - 0, - -(sectionHalfChord - sectionNoseRadius) * tan(83deg) -] -sectionLowerCamberCenter = [ - 0, - (sectionHalfChord - sectionNoseRadius) * tan(83deg) -] - -bladeSectionSketch = sketch(on = -XZ) { - upperNose = arc(start = [var 8.6in, var 0in], end = [var 8.56in, var 0.05in], center = [var 8.55in, var 0in]) - fixed([upperNose.start, [sectionHalfChord, 0]]) - fixed([ - upperNose.center, - [ - sectionHalfChord - sectionNoseRadius, - 0 - ] - ]) - fixed([upperNose.end, sectionUpperEnd]) - - upperCamber = arc(start = [var 8.56in, var 0.05in], end = [var -8.56in, var 0.05in], center = [var 0in, var -69.63in]) - fixed([upperCamber.start, sectionUpperEnd]) - fixed([upperCamber.end, sectionOppositeEnd]) - fixed([ - upperCamber.center, - sectionUpperCamberCenter - ]) - - upperTail = arc(start = [var -8.56in, var 0.05in], end = [var -8.6in, var 0in], center = [var -8.55in, var 0in]) - fixed([upperTail.start, sectionOppositeEnd]) - fixed([upperTail.end, [-sectionHalfChord, 0]]) - fixed([ - upperTail.center, - [ - -sectionHalfChord + sectionNoseRadius, - 0 - ] - ]) - - lowerTail = arc(start = [var -8.6in, var 0in], end = [var -8.56in, var -0.05in], center = [var -8.55in, var 0in]) - fixed([ - lowerTail.start, - [-sectionHalfChord, 0] - ]) - fixed([lowerTail.end, sectionLowerOppositeEnd]) - fixed([ - lowerTail.center, - [ - -sectionHalfChord + sectionNoseRadius, - 0 - ] - ]) - - lowerCamber = arc(start = [var -8.56in, var -0.05in], end = [var 8.56in, var -0.05in], center = [var 0in, var 69.63in]) - fixed([ - lowerCamber.start, - sectionLowerOppositeEnd - ]) - fixed([lowerCamber.end, sectionLowerEnd]) - fixed([ - lowerCamber.center, - sectionLowerCamberCenter - ]) - - lowerNose = arc(start = [var 8.56in, var -0.05in], end = [var 8.6in, var 0in], center = [var 8.55in, var 0in]) - fixed([lowerNose.start, sectionLowerEnd]) - fixed([lowerNose.end, [sectionHalfChord, 0]]) - fixed([ - lowerNose.center, - [ - sectionHalfChord - sectionNoseRadius, - 0 - ] - ]) -} -bladeSectionRegion = region(segments = [ - bladeSectionSketch.upperNose, - bladeSectionSketch.upperCamber -]) -bladeTwist = extrude(bladeSectionRegion, length = bladeDiameter / 1.9, twistAngle = twistAngle) - -blade = intersect([bladeEnvelopeTrimmed, bladeTwist], tolerance = tolerance) -blades = patternCircular3d( - blade, - instances = bladeCount, - axis = Z, - center = [0, 0, 0], -) - -[hub, blades] - |> appearance(color = "#8b5a2b") - -hide([ - hubSketch, - boreCutterSketch, - bladeEnvelopeSketch, - hubClearanceSketch, - bladeSectionSketch -]) diff --git a/content/pages/docs/kcl-samples/rack-blanking-panel/.gitignore b/content/pages/docs/kcl-samples/rack-blanking-panel/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/rack-blanking-panel/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/rack-blanking-panel/main.kcl b/content/pages/docs/kcl-samples/rack-blanking-panel/main.kcl deleted file mode 100644 index 9c47f6b0..00000000 --- a/content/pages/docs/kcl-samples/rack-blanking-panel/main.kcl +++ /dev/null @@ -1,116 +0,0 @@ -// Rack Blanking Panel - 1U -// A rack blanking panel, also known as a filler panel or spacer blank, is a flat piece of material (usually metal or plastic) designed to fill empty spaces within a server rack. These panels are primarily used to improve airflow and cooling efficiency in server racks -// Categories: Electronics & Computing - -@settings(defaultLengthUnit = in, kclVersion = 2.0) - -width = 19 -height = 1.75 -thickness = .0598 // Gauge 16 -bendRadius = 0.030 -wingLength = 1 / 3 -holeOffset = 1 / 3 -holeDiameter = 3 / 16 - -// Sketch the base extrusion -baseSketch = sketch(on = YZ) { - line1 = line(start = [var -0.43in, var 0.01in], end = [var -0.12in, var 0.01in]) - arc1 = arc(start = [var -0.12in, var 0.01in], end = [var 0in, var 0.14in], center = [var -0.12in, var 0.13in]) - coincident([line1.end, arc1.start]) - tangent([line1, arc1]) - line2 = line(start = [var 0in, var 0.14in], end = [var 0in, var 1.65in]) - coincident([line2.start, arc1.end]) - arc2 = arc(start = [var 0in, var 1.65in], end = [var -0.08in, var 1.75in], center = [var -0.11in, var 1.65in]) - coincident([line2.end, arc2.start]) - tangent([line2, arc2]) - line3 = line(start = [var -0.08in, var 1.75in], end = [var -0.4in, var 1.75in]) - coincident([line3.start, arc2.end]) - line4 = line(start = [var -0.4in, var 1.75in], end = [var -0.4in, var 1.69in]) - coincident([line3.end, line4.start]) - line5 = line(start = [var -0.4in, var 1.69in], end = [var -0.09in, var 1.69in]) - coincident([line4.end, line5.start]) - arc3 = arc(start = [var -0.06in, var 1.65in], end = [var -0.09in, var 1.69in], center = [var -0.09in, var 1.66in]) - coincident([line5.end, arc3.end]) - tangent([line5, arc3]) - line6 = line(start = [var -0.06in, var 1.65in], end = [var -0.06in, var 0.14in]) - coincident([line6.start, arc3.start]) - arc4 = arc(start = [var -0.12in, var 0.08in], end = [var -0.06in, var 0.14in], center = [var -0.12in, var 0.14in]) - coincident([line6.end, arc4.end]) - tangent([line6, arc4]) - line7 = line(start = [var -0.12in, var 0.08in], end = [var -0.43in, var 0.08in]) - coincident([line7.start, arc4.start]) - line8 = line(start = [var -0.43in, var 0.08in], end = [var -0.43in, var 0.01in]) - coincident([line7.end, line8.start]) - coincident([line8.end, line1.start]) - equalLength([line8, line4]) - distance([line4.start, line4.end]) == thickness - equalLength([line5, line3]) - horizontal(line5) - horizontal(line3) - vertical(line6) - vertical(line2) - equalLength([line2, line6]) - equalLength([line1, line7]) - horizontal(line1) - horizontal(line7) - vertical(line8) - vertical(line4) - line10 = line(start = [var -0.41in, var 0in], end = [var -0in, var 0in], construction = true) - coincident([line10.start, line1.start]) - coincident([line10.end, ORIGIN]) - line11 = line(start = [var -0in, var 0in], end = [var -0in, var 0.14in], construction = true) - coincident([line11.start, line10.end]) - coincident([line11.end, arc1.end]) - horizontal(line10) - vertical(line11) - distance([line10.start, line10.end]) == wingLength - line9 = line(start = [var -0.33in, var 0in], end = [var -0.4in, var 1.75in], construction = true) - coincident([line9.start, line8.end]) - coincident([line9.end, line4.start]) - vertical(line9) - distance([line9.start, line9.end]) == height - tangent([line7, arc4]) - tangent([line6, arc4]) - tangent([line1, arc1]) - tangent([line6, arc3]) - tangent([line5, arc3]) - tangent([line2, arc2]) - tangent([line3, arc2]) - radius(arc4) == bendRadius - radius(arc3) == bendRadius -} -region004 = region(segments = [baseSketch.line1, baseSketch.arc1]) -baseExtrusion = extrude(region004, length = width, symmetric = true) - -// Sketch the hole positions -holeSketch = sketch(on = XZ) { - line1 = line(start = [var 0in, var 0in], end = [var 0in, var 1.75in], construction = true) - coincident([line1.start, ORIGIN]) - line2 = line(start = [var 0in, var 1.75in], end = [var 9.17in, var 1.42in], construction = true) - coincident([line1.end, line2.start]) - line3 = line(start = [var 9.17in, var 1.42in], end = [var 9.17in, var 0.33in], construction = true) - coincident([line2.end, line3.start]) - line4 = line(start = [var 9.17in, var 0.33in], end = [var 0in, var 0in], construction = true) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - distance([line1.start, line1.end]) == height - horizontalDistance([line4.end, line4.start]) == width / 2 - holeOffset - vertical(line3) - verticalDistance([line4.end, line4.start]) == holeOffset - verticalDistance([line2.end, line2.start]) == holeOffset - vertical(line1) - circle1 = circle(start = [var 8.23in, var 3.52in], center = [var 9.17in, var 1.42in]) - coincident([circle1.center, line2.end]) - circle2 = circle(start = [var 8.48in, var -1.71in], center = [var 9.17in, var 0.33in]) - coincident([circle2.center, line3.end]) - diameter(circle2) == holeDiameter - diameter(circle1) == holeDiameter -} -region001 = region(segments = [holeSketch.circle2]) -region002 = region(segments = [holeSketch.circle1]) -extrudeHoles = extrude([region001, region002], length = 5, symmetric = true) - // Position two identical holes on the other side of the plate - |> patternCircular3d(instances = 2, axis = Z, center = [0, 0, 0]) - -// Cut the holes from the blanking plate -holesCut = subtract(baseExtrusion, tools = extrudeHoles) diff --git a/content/pages/docs/kcl-samples/rack-blanking-panel/project.toml b/content/pages/docs/kcl-samples/rack-blanking-panel/project.toml deleted file mode 100644 index 969b45aa..00000000 --- a/content/pages/docs/kcl-samples/rack-blanking-panel/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "094dea09-50b6-4dc2-9b02-65a2f074114d" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/.gitignore b/content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/main.kcl b/content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/main.kcl deleted file mode 100644 index 5a42cee7..00000000 --- a/content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/main.kcl +++ /dev/null @@ -1,101 +0,0 @@ -// Impeller (Radial-flow) -// Radial-flow impeller for centrifugal pumps—designed as a parametric base for blade and housing experiments. -// Categories: Industrial & Manufacturing; Mechanical Components; Parametric - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// parameters -bladeCount = 12 // number of blades -sweepDeg = 30 // yaw offset between leading and trailing edge -od = 150 // overall diameter -hubOd = 40 // hub outside diameter -boreDia = 30 // shaft hole diameter -baseThick = 6 // back-plate thickness -hubHeight = 40 // hub axial length -bladeRadSpan = 30 // radial blade width -bladeChord = 35 // axial blade length -bladeHeight = hubHeight // plate height -bladeThickness = 3 -rootR = hubOd / 2 + 10 - -// root rectangle (leading edge) -leadRect = sketch(on = XY) { - line1 = line(start = [var 0mm, var 0mm], end = [var 3mm, var 0mm]) - line2 = line(start = [var 3mm, var 0mm], end = [var 3mm, var 35mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 3mm, var 35mm], end = [var 0mm, var 35mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 0mm, var 35mm], end = [var 0mm, var 0mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - horizontal(line1) - vertical(line2) - horizontal(line3) - distance([line4.start, line4.end]) == bladeChord - distance([line3.start, line3.end]) == bladeThickness -} - -// tip rectangle (trailing edge, rotated by sweepDeg) -trailPlane = offsetPlane(XY, offset = bladeHeight) // lift by bladeHeight to give sheet thickness -trailRect = sketch(on = trailPlane) { - line1 = line(start = [var 0mm, var 0mm], end = [var 3mm, var 0mm]) - line2 = line(start = [var 3mm, var 0mm], end = [var 3mm, var 35mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 3mm, var 35mm], end = [var 0mm, var 35mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 0mm, var 35mm], end = [var 0mm, var 0mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - horizontal(line1) - vertical(line2) - horizontal(line3) - distance([line2.start, line2.end]) == bladeChord - distance([line3.start, line3.end]) == bladeThickness -} - -// loft one curved blade -oneBlade = loft([leadRect, trailRect]) - -// move blade outward so tip reaches outer diameter -bladeOffset = translate( - oneBlade, - x = 0, - y = rootR, - z = 0, -) - -// pattern blades around 360 ° -blades = patternCircular3d( - bladeOffset, - axis = [0, 0, 1], - center = [0, 0, 0], - instances = bladeCount, - arcDegrees = 360, -) - -// back-plate disk -diskCircle = sketch(on = XY) { - circle1 = circle(start = [var 112.5mm, var 0mm], center = [var -37.5mm, var 0mm]) - diameter(circle1) == od -} -region001 = region(segments = [diskCircle.circle1]) -backPlate = extrude(region001, length = -baseThick) - -// hub solid -hubCircle = sketch(on = faceOf(backPlate, face = END)) { - circle1 = circle(start = [var 30mm, var 0mm], center = [var -10mm, var 0mm]) - diameter(circle1) == hubOd -} -region002 = region(segments = [hubCircle.circle1]) -hub = extrude(region002, length = hubHeight) - -// bore hole -boreCircle = sketch(on = offsetPlane(XY, offset = -baseThick * 2)) { - circle1 = circle(start = [var 22.5mm, var 0mm], center = [var -7.5mm, var 0mm]) - diameter(circle1) == boreDia -} -region003 = region(segments = [boreCircle.circle1]) -bore = extrude(region003, length = baseThick * 2 + hubHeight + 5) - -// final impeller -impeller = subtract(hub, tools = [bore]) diff --git a/content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/project.toml b/content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/project.toml deleted file mode 100644 index ca462ced..00000000 --- a/content/pages/docs/kcl-samples/radial-flow-centrifugal-impeller/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "4b667369-abdf-4550-ab14-1940923d9c5c" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/rectangle-table/.gitignore b/content/pages/docs/kcl-samples/rectangle-table/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/rectangle-table/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/rectangle-table/main.kcl b/content/pages/docs/kcl-samples/rectangle-table/main.kcl deleted file mode 100644 index 84442726..00000000 --- a/content/pages/docs/kcl-samples/rectangle-table/main.kcl +++ /dev/null @@ -1,57 +0,0 @@ -// Rectangle Table -// Simple metal table with rectangular tabletop and four legs with a square section -// Categories: Home & Lifestyle - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Parameters -tableHeight = 750 -tableLength = 1500 -tableWidth = 600 -tableTopThickness = 40 -legThickness = 40 - -// Derived parameters -legHeight = tableHeight - tableTopThickness - -// Tabletop -tableTopPlane = offsetPlane(XY, offset = tableHeight) -tableTopProfile = sketch(on = tableTopPlane) { - line1 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 1500mm]) - line2 = line(start = [var 0mm, var 1500mm], end = [var 600mm, var 1500mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 600mm, var 1500mm], end = [var 600mm, var 0mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 600mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line3.end, line4.start]) - vertical(line1) - horizontal(line2) - vertical(line3) - distance([line1.start, line1.end]) == tableLength - distance([line2.start, line2.end]) == tableWidth -} -region001 = region(segments = [ - tableTopProfile.line1, - tableTopProfile.line2 -]) -tableTopExtrude = extrude(region001, length = -tableTopThickness) - -// Leg -legProfile = sketch(on = XY) { - line1 = line(start = [var 0mm, var 0mm], end = [var 0mm, var 40mm]) - line2 = line(start = [var 0mm, var 40mm], end = [var 40mm, var 40mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 40mm, var 40mm], end = [var 40mm, var 0mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 40mm, var 0mm], end = [var 0mm, var 0mm]) - coincident([line3.end, line4.start]) - vertical(line1) - horizontal(line2) - vertical(line3) - equalLength([line4, line3, line2, line1]) - distance([line4.start, line4.end]) == legThickness -} -region002 = region(segments = [legProfile.line1, legProfile.line2]) -legExtrude = extrude(region002, length = legHeight) - |> patternLinear3d(instances = 2, distance = tableWidth - legThickness, axis = X) - |> patternLinear3d(instances = 2, distance = tableLength - legThickness, axis = Y) diff --git a/content/pages/docs/kcl-samples/rectangle-table/project.toml b/content/pages/docs/kcl-samples/rectangle-table/project.toml deleted file mode 100644 index c7c18dd8..00000000 --- a/content/pages/docs/kcl-samples/rectangle-table/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "82c2890d-1d05-4b36-9c59-28a03ef42224" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/round-table/.gitignore b/content/pages/docs/kcl-samples/round-table/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/round-table/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/round-table/main.kcl b/content/pages/docs/kcl-samples/round-table/main.kcl deleted file mode 100644 index dcf98660..00000000 --- a/content/pages/docs/kcl-samples/round-table/main.kcl +++ /dev/null @@ -1,41 +0,0 @@ -// Round Table -// Simple round table with a base, single leg, and tabletop -// Categories: Home & Lifestyle - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Parameters -tableTopHeight = 750 -tableTopRadius = 350 -tableTopThickness = 20 - -baseRadius = 150 -baseThickness = 30 -legRadius = 40 - -// Tabletop -tableTopPlane = offsetPlane(XY, offset = tableTopHeight) -tableTopProfile = sketch(on = tableTopPlane) { - circle1 = circle(start = [var 350mm, var 0mm], center = [var 0mm, var 0mm]) - radius(circle1) == tableTopRadius -} -region001 = region(segments = [tableTopProfile.circle1]) -tableTopExtrude = extrude(region001, length = -tableTopThickness) - -// Base -baseProfile = sketch(on = XY) { - circle1 = circle(start = [var 150mm, var 0mm], center = [var 0mm, var 0mm]) - radius(circle1) == baseRadius -} -region002 = region(segments = [baseProfile.circle1]) -baseExtrude = extrude(region002, length = baseThickness) - -// Leg -legHeight = tableTopHeight - baseThickness - tableTopThickness -legPlane = offsetPlane(XY, offset = baseThickness) -legProfile = sketch(on = legPlane) { - circle1 = circle(start = [var 40mm, var 0mm], center = [var 0mm, var 0mm]) - radius(circle1) == legRadius -} -region003 = region(segments = [legProfile.circle1]) -legExtrude = extrude(region003, length = legHeight) diff --git a/content/pages/docs/kcl-samples/round-table/project.toml b/content/pages/docs/kcl-samples/round-table/project.toml deleted file mode 100644 index 460c8cb1..00000000 --- a/content/pages/docs/kcl-samples/round-table/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "a36e29d1-7c37-43c3-b9e9-dd13613d0cb9" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/router-template-cross-bar/.gitignore b/content/pages/docs/kcl-samples/router-template-cross-bar/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/router-template-cross-bar/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/router-template-cross-bar/main.kcl b/content/pages/docs/kcl-samples/router-template-cross-bar/main.kcl deleted file mode 100644 index 153fdcc7..00000000 --- a/content/pages/docs/kcl-samples/router-template-cross-bar/main.kcl +++ /dev/null @@ -1,178 +0,0 @@ -// Router Template for a Cross bar -// A guide for routing a slate for a cross bar. -// Categories: Tools; 3D Printable - -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -routerDiameter = 12.7 -templateDiameter = (11 / 16): in -slateWidthHalf = 41.5 / 2 -minClampingDistance = 50 + 30 -templateThickness = 10 -radius = 10 -depth = 30 - -templateGap = (templateDiameter - routerDiameter) / 2 - 0.5 -distanceToInsideEdge = slateWidthHalf + templateThickness + templateGap -slotRadius = radius + templateGap -tabReach = minClampingDistance - templateThickness - -sketch001 = sketch(on = XZ) { - line1 = line(start = [var 0mm, var 31.88mm], end = [var 10.75mm, var 31.88mm]) - arc2 = arc(start = [var 22.63mm, var 20mm], end = [var 10.75mm, var 31.88mm], center = [var 10.75mm, var 20mm]) - coincident([line1.end, arc2.end]) - - line3 = line(start = [var 22.63mm, var 20mm], end = [var 22.63mm, var -10mm]) - coincident([arc2.start, line3.start]) - - line4 = line(start = [var 22.63mm, var -10mm], end = [var 32.63mm, var -10mm]) - coincident([line3.end, line4.start]) - - line5 = line(start = [var 32.63mm, var -10mm], end = [var 32.63mm, var 10.94mm]) - coincident([line4.end, line5.start]) - - line6 = line(start = [var 32.63mm, var 10.94mm], end = [var 102.63mm, var 10.94mm]) - coincident([line5.end, line6.start]) - - line7 = line(start = [var 102.63mm, var 10.94mm], end = [var 102.63mm, var 30.94mm]) - coincident([line6.end, line7.start]) - - line8 = line(start = [var 102.63mm, var 30.94mm], end = [var 32.63mm, var 30.94mm]) - coincident([line7.end, line8.start]) - - line9 = line(start = [var 32.63mm, var 30.94mm], end = [var 32.63mm, var 41.88mm]) - coincident([line8.end, line9.start]) - - line10 = line(start = [var 32.63mm, var 41.88mm], end = [var 0mm, var 41.88mm]) - coincident([line9.end, line10.start]) - - line11 = line(start = [var 0mm, var 41.88mm], end = [var -32.63mm, var 41.88mm]) - coincident([line10.end, line11.start]) - - line12 = line(start = [var -32.63mm, var 41.88mm], end = [var -32.63mm, var 30.94mm]) - coincident([line11.end, line12.start]) - - line13 = line(start = [var -32.63mm, var 30.94mm], end = [var -102.63mm, var 30.94mm]) - coincident([line12.end, line13.start]) - - line14 = line(start = [var -102.63mm, var 30.94mm], end = [var -102.63mm, var 10.94mm]) - coincident([line13.end, line14.start]) - - line15 = line(start = [var -102.63mm, var 10.94mm], end = [var -32.63mm, var 10.94mm]) - coincident([line14.end, line15.start]) - - line16 = line(start = [var -32.63mm, var 10.94mm], end = [var -32.63mm, var -10mm]) - coincident([line15.end, line16.start]) - - line17 = line(start = [var -32.63mm, var -10mm], end = [var -22.63mm, var -10mm]) - coincident([line16.end, line17.start]) - - line18 = line(start = [var -22.63mm, var -10mm], end = [var -22.63mm, var 20mm]) - coincident([line17.end, line18.start]) - - arc19 = arc(start = [var -10.75mm, var 31.88mm], end = [var -22.63mm, var 20mm], center = [var -10.75mm, var 20mm]) - coincident([line18.end, arc19.end]) - - line20 = line(start = [var -10.75mm, var 31.88mm], end = [var 0mm, var 31.88mm]) - coincident([arc19.start, line20.start]) - coincident([line20.end, line1.start]) - - horizontal(line1) - vertical(line3) - horizontal(line4) - vertical(line5) - horizontal(line6) - vertical(line7) - horizontal(line8) - vertical(line9) - horizontal(line10) - horizontal(line11) - vertical(line12) - horizontal(line13) - vertical(line14) - horizontal(line15) - vertical(line16) - horizontal(line17) - vertical(line18) - horizontal(line20) - - radius(arc2) == slotRadius - radius(arc19) == slotRadius - verticalDistance([line3.end, line3.start]) == depth - verticalDistance([line18.start, line18.end]) == depth - horizontalDistance([line4.start, line4.end]) == templateThickness - horizontalDistance([line17.start, line17.end]) == templateThickness - horizontalDistance([line6.start, line6.end]) == tabReach - horizontalDistance([line13.end, line13.start]) == tabReach - horizontalDistance([line10.end, line10.start]) == distanceToInsideEdge - horizontalDistance([line11.end, line11.start]) == distanceToInsideEdge -} - -region001 = region(segments = [sketch001.line1, sketch001.arc2]) -extrude001 = extrude(region001, length = 5) - -sketch002 = sketch(on = faceOf(extrude001, face = START)) { - line1 = line(start = [var 32.63mm, var 0mm], end = [var 22.63mm, var 0mm]) - line2 = line(start = [var 22.63mm, var 0mm], end = [var 22.63mm, var -10mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 22.63mm, var -10mm], end = [var 32.63mm, var -10mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 32.63mm, var -10mm], end = [var 32.63mm, var 0mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - - horizontal(line1) - vertical(line2) - horizontal(line3) - vertical(line4) - - horizontalDistance([line1.end, line1.start]) == templateThickness - verticalDistance([line2.end, line2.start]) == templateThickness -} - -region002 = region(segments = [sketch002.line1, sketch002.line2]) -extrude002 = extrude(region002, length = 13) - -sketch003 = sketch(on = faceOf(extrude001, face = START)) { - line1 = line(start = [var -32.63mm, var 0mm], end = [var -22.63mm, var 0mm]) - line2 = line(start = [var -22.63mm, var 0mm], end = [var -22.63mm, var -10mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var -22.63mm, var -10mm], end = [var -32.63mm, var -10mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -32.63mm, var -10mm], end = [var -32.63mm, var 0mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - - horizontal(line1) - vertical(line2) - horizontal(line3) - vertical(line4) - - horizontalDistance([line1.start, line1.end]) == templateThickness - verticalDistance([line2.end, line2.start]) == templateThickness -} - -region003 = region(segments = [sketch003.line1, sketch003.line2]) -extrude003 = extrude(region003, length = 13) - -sketch004 = sketch(on = faceOf(extrude002, face = END)) { - line1 = line(start = [var -32.63mm, var 0mm], end = [var 32.63mm, var 0mm]) - line2 = line(start = [var 32.63mm, var 0mm], end = [var 32.63mm, var -10mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 32.63mm, var -10mm], end = [var -32.63mm, var -10mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -32.63mm, var -10mm], end = [var -32.63mm, var 0mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - - horizontal(line1) - vertical(line2) - horizontal(line3) - vertical(line4) - - horizontalDistance([line1.start, line1.end]) == 2 * distanceToInsideEdge - verticalDistance([line2.end, line2.start]) == templateThickness -} - -region004 = region(segments = [sketch004.line1, sketch004.line2]) -extrude004 = extrude(region004, length = 4) diff --git a/content/pages/docs/kcl-samples/router-template-cross-bar/project.toml b/content/pages/docs/kcl-samples/router-template-cross-bar/project.toml deleted file mode 100644 index 9f0c946a..00000000 --- a/content/pages/docs/kcl-samples/router-template-cross-bar/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "d659dd19-066c-4f44-8439-d41c0e816f33" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/router-template-slate/.gitignore b/content/pages/docs/kcl-samples/router-template-slate/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/router-template-slate/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/router-template-slate/main.kcl b/content/pages/docs/kcl-samples/router-template-slate/main.kcl deleted file mode 100644 index e079050d..00000000 --- a/content/pages/docs/kcl-samples/router-template-slate/main.kcl +++ /dev/null @@ -1,94 +0,0 @@ -// Router Template for a Slate -// A guide for routing a slate for a cross bar. -// Categories: Tools; 3D Printable - -// Set units -@settings(defaultLengthUnit = mm, kclVersion = 2.0) - -// Define parameters -routerDiameter = 12.7 -templateDiameter = (11 / 16): in -slateWidthHalf = 41.5 / 2 -minClampingDistance = 50 + 30 -templateThickness = 10 -cornerRadius = 10 -depth = 30 - -// Calculated parameters -templateGap = (templateDiameter - routerDiameter) / 2 - 0.5 -length001 = slateWidthHalf - cornerRadius -length002 = depth + minClampingDistance - -// Create the first sketch -sketch001 = sketch(on = XZ) { - line1 = line(start = [var 0mm, var 28.12mm], end = [var 10.75mm, var 28.12mm]) - arc2 = arc(start = [var 18.87mm, var 20mm], end = [var 10.75mm, var 28.12mm], center = [var 10.75mm, var 20mm]) - coincident([line1.end, arc2.end]) - line3 = line(start = [var 18.87mm, var 20mm], end = [var 18.87mm, var -12.49mm]) - coincident([arc2.start, line3.start]) - line4 = line(start = [var 18.87mm, var -12.49mm], end = [var 30.75mm, var -12.49mm]) - coincident([line3.end, line4.start]) - line5 = line(start = [var 30.75mm, var -12.49mm], end = [var 30.75mm, var -122.49mm]) - coincident([line4.end, line5.start]) - line6 = line(start = [var 30.75mm, var -122.49mm], end = [var 0mm, var -122.49mm]) - coincident([line5.end, line6.start]) - line7 = line(start = [var 0mm, var -122.49mm], end = [var -30.75mm, var -122.49mm]) - coincident([line6.end, line7.start]) - line8 = line(start = [var -30.75mm, var -122.49mm], end = [var -30.75mm, var -12.49mm]) - coincident([line7.end, line8.start]) - line9 = line(start = [var -30.75mm, var -12.49mm], end = [var -18.87mm, var -12.49mm]) - coincident([line8.end, line9.start]) - line10 = line(start = [var -18.87mm, var -12.49mm], end = [var -18.87mm, var 20mm]) - coincident([line9.end, line10.start]) - arc11 = arc(start = [var -10.75mm, var 28.12mm], end = [var -18.87mm, var 20mm], center = [var -10.75mm, var 20mm]) - coincident([line10.end, arc11.end]) - line12 = line(start = [var -10.75mm, var 28.12mm], end = [var 0mm, var 28.12mm]) - coincident([arc11.start, line12.start]) - coincident([line12.end, line1.start]) - distance([line7.start, line7.end]) == slateWidthHalf + cornerRadius - distance([line8.start, line8.end]) == length002 - distance([line9.start, line9.end]) == cornerRadius + templateGap - distance([line10.start, line10.end]) == 32.49mm - radius(arc11) == cornerRadius - templateGap - distance([line12.start, line12.end]) == length001 -} - -region001 = region(segments = [sketch001.line1, sketch001.arc2]) -// Extrude the first sketch -extrude001 = extrude(region001, length = 5) - -// Create the second sketch -sketch002 = sketch(on = faceOf(extrude001, face = START)) { - line1 = line(start = [var -20.75mm, var -12.49mm], end = [var -27.75mm, var -12.49mm]) - line2 = line(start = [var -27.75mm, var -12.49mm], end = [var -27.75mm, var -92.49mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var -27.75mm, var -92.49mm], end = [var -20.75mm, var -92.49mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var -20.75mm, var -92.49mm], end = [var -20.75mm, var -12.49mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - distance([line1.start, line1.end]) == templateThickness - 3mm - distance([line2.start, line2.end]) == minClampingDistance -} - -region002 = region(segments = [sketch002.line1, sketch002.line2]) -// Extrude the second sketch -extrude002 = extrude(region002, length = 7.5) - -// Create the third sketch -sketch003 = sketch(on = faceOf(extrude001, face = START)) { - line1 = line(start = [var 20.75mm, var -12.49mm], end = [var 27.75mm, var -12.49mm]) - line2 = line(start = [var 27.75mm, var -12.49mm], end = [var 27.75mm, var -92.49mm]) - coincident([line1.end, line2.start]) - line3 = line(start = [var 27.75mm, var -92.49mm], end = [var 20.75mm, var -92.49mm]) - coincident([line2.end, line3.start]) - line4 = line(start = [var 20.75mm, var -92.49mm], end = [var 20.75mm, var -12.49mm]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - distance([line1.start, line1.end]) == templateThickness - 3mm - distance([line2.start, line2.end]) == minClampingDistance -} - -region003 = region(segments = [sketch003.line1, sketch003.line2]) -// Extrude the third Sketch -extrude003 = extrude(region003, length = 7.5) diff --git a/content/pages/docs/kcl-samples/router-template-slate/project.toml b/content/pages/docs/kcl-samples/router-template-slate/project.toml deleted file mode 100644 index 63bd95c5..00000000 --- a/content/pages/docs/kcl-samples/router-template-slate/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "d59b0691-b780-4547-b8b1-bf5dbc6529d3" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/saturn-v/.gitignore b/content/pages/docs/kcl-samples/saturn-v/.gitignore deleted file mode 100644 index 4a51279e..00000000 --- a/content/pages/docs/kcl-samples/saturn-v/.gitignore +++ /dev/null @@ -1 +0,0 @@ -thumbnail.png diff --git a/content/pages/docs/kcl-samples/saturn-v/main.kcl b/content/pages/docs/kcl-samples/saturn-v/main.kcl deleted file mode 100644 index 97469b6d..00000000 --- a/content/pages/docs/kcl-samples/saturn-v/main.kcl +++ /dev/null @@ -1,459 +0,0 @@ -// Saturn V Rocket -// Modular construction of the iconic multi-stage rocket using parametric and revolve-based shapes -// Categories: Aerospace; Science & Education; Parametric - -@settings(defaultLengthUnit = m, kclVersion = 2.0) - -r1 = 4.5 // baseRadiusStage1 -r2 = 3.2 // baseRadiusUpperStage -transitionRadius = 3.85 - -// ---------------------------- -// --- Engine Nozzles (x4) --- -// ---------------------------- -// Created with revolve profiles to model conic nozzles; cloned and rotated to form quad layout - - -nozzleProfile = sketch(on = YZ) { - line1 = line(start = [var -0.1m, var 0m], end = [var -0.1m, var 9m]) - line2 = line(start = [var -0.1m, var 9m], end = [var -2.4m, var 0m]) - line3 = line(start = [var -2.4m, var 0m], end = [var -0.1m, var 0m]) - line4 = line(start = [var -0.1m, var 0m], end = [var 0m, var 0m], construction = true) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line1.start]) - coincident([line4.start, line1.start]) - coincident([line4.end, ORIGIN]) - vertical(line1) - horizontal(line3) - horizontal(line4) - horizontalDistance([line3.start, line3.end]) == 2.3 - verticalDistance([line1.start, line1.end]) == 9 - horizontalDistance([line4.start, line4.end]) == 0.1 -} -region001 = region(segments = [nozzleProfile.line1]) -nozzle1 = revolve(region001, angle = 360, axis = Y) - |> translate( - x = -r1, - y = 0, - z = 0, - global = true, - ) - |> appearance(color = "#292929") -nozzle2 = clone(nozzle1) - |> rotate( - roll = 0, - pitch = 0, - yaw = 90, - global = true, - ) -nozzle3 = clone(nozzle1) - |> rotate( - roll = 0, - pitch = 0, - yaw = 180, - global = true, - ) -nozzle4 = clone(nozzle1) - |> rotate( - roll = 0, - pitch = 0, - yaw = 270, - global = true, - ) - -// ------------------------------------ -// --- Nozzle Hoods (Alternating) --- -// ------------------------------------ -// Modeled identically to nozzles but translated upward and given alternating colors - - -hoodProfile = sketch(on = YZ) { - line1 = line(start = [var -0.1m, var 0m], end = [var -0.1m, var 8.5m]) - line2 = line(start = [var -0.1m, var 8.5m], end = [var -2.2m, var 0m]) - line3 = line(start = [var -2.2m, var 0m], end = [var -0.1m, var 0m]) - line4 = line(start = [var 0m, var 0m], end = [var -0.1m, var 0m], construction = true) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line1.start]) - coincident([line4.start, ORIGIN]) - coincident([line4.end, line1.start]) - vertical(line1) - horizontal(line3) - horizontal(line4) - horizontalDistance([line4.end, line4.start]) == 0.1 - horizontalDistance([line3.start, line3.end]) == 2.1 - verticalDistance([line1.start, line1.end]) == 8.5 -} -region002 = region(segments = [hoodProfile.line1, hoodProfile.line2]) -hood1 = revolve(region002, angle = 360, axis = Y) - |> translate( - x = -r1, - y = 0, - z = 4, - global = true, - ) - |> appearance(color = "#ffffff") -hood2 = clone(hood1) - |> rotate( - roll = 0, - pitch = 0, - yaw = 90, - global = true, - ) - |> appearance(color = "#000000") -hood3 = clone(hood1) - |> rotate( - roll = 0, - pitch = 0, - yaw = 180, - global = true, - ) - |> appearance(color = "#ffffff") -hood4 = clone(hood1) - |> rotate( - roll = 0, - pitch = 0, - yaw = 270, - global = true, - ) - |> appearance(color = "#000000") - -// ---------------------------- -// --- Stabilizer Fins (x4) --- -// ---------------------------- -// Small extrusions in X-Y profile, rotated to form cross pattern - - -finProfile = sketch(on = YZ) { - line1 = line(start = [var -4m, var 6m], end = [var -7.6m, var 6m]) - line2 = line(start = [var -7.6m, var 6m], end = [var -7.6m, var 8.2m]) - line3 = line(start = [var -7.6m, var 8.2m], end = [var -4m, var 11.2m]) - line4 = line(start = [var -4m, var 11.2m], end = [var -4m, var 6m]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - horizontal(line1) - vertical(line2) - vertical(line4) - horizontalDistance([line1.start, ORIGIN]) == 4 - verticalDistance([ORIGIN, line1.start]) == 6 - horizontalDistance([line1.end, line1.start]) == 3.6 - verticalDistance([line2.start, line2.end]) == 2.2 - verticalDistance([line4.end, line4.start]) == 5.2 -} -region003 = region(segments = [finProfile.line1, finProfile.line2]) -fin1 = extrude(region003, length = 0.1) - |> appearance(color = "#ffffff") -fin2 = clone(fin1) - |> rotate( - roll = 0, - pitch = 0, - yaw = 90, - global = true, - ) -fin3 = clone(fin1) - |> rotate( - roll = 0, - pitch = 0, - yaw = 180, - global = true, - ) -fin4 = clone(fin1) - |> rotate( - roll = 0, - pitch = 0, - yaw = 270, - global = true, - ) - -// ------------------------------- -// --- Stage 1: Bottom Section --- -// ------------------------------- -// Uses split white/black geometry to emulate paint scheme with mirrored arcs - - -bottomBasePlane = offsetPlane(XY, offset = 6) -blackPanelProfile = sketch(on = bottomBasePlane) { - line1 = line(start = [var 0m, var -4.5m], end = [var 0m, var 4.5m]) - arc2 = arc(start = [var 0m, var -4.5m], end = [var 0m, var 4.5m], center = [var 0m, var 0m]) - coincident([line1.start, arc2.start]) - coincident([line1.end, arc2.end]) - vertical(line1) - coincident([arc2.center, line1]) - coincident([arc2.center, ORIGIN]) - radius(arc2) == r1 -} -region004 = region(segments = [ - blackPanelProfile.line1, - blackPanelProfile.arc2 -]) -blackPanel = extrude(region004, length = 14) - |> appearance(color = "#000000") - -whitePanelProfile = sketch(on = bottomBasePlane) { - line1 = line(start = [var 0m, var -4.5m], end = [var 0m, var 4.5m]) - arc2 = arc(start = [var 0m, var 4.5m], end = [var 0m, var -4.5m], center = [var 0m, var 0m]) - coincident([line1.end, arc2.start]) - coincident([line1.start, arc2.end]) - vertical(line1) - coincident([arc2.center, line1]) - coincident([arc2.center, ORIGIN]) - radius(arc2) == r1 -} -region005 = region(segments = [ - whitePanelProfile.line1, - whitePanelProfile.arc2 -]) -whitePanel = extrude(region005, length = 14) - |> appearance(color = "#ffffff") - -// ------------------------------ -// --- Stage 1: Upper Section --- -// ------------------------------ -// Alternating black and white zones using circular cross-sections - - -cylinderBasePlane = offsetPlane(XY, offset = 20) -stage1CylinderProfile = sketch(on = cylinderBasePlane) { - circle1 = circle(start = [var 4.5m, var 0m], center = [var 0m, var 0m]) - coincident([circle1.center, ORIGIN]) - diameter(circle1) == 2 * r1 -} -region006 = region(segments = [stage1CylinderProfile.circle1]) -stage1Cylinder = extrude(region006, length = 18) - |> appearance(color = "#ffffff") - -midStripePlane = offsetPlane(XY, offset = 38) -midStripeProfileBlack = sketch(on = midStripePlane) { - line1 = line(start = [var -4.5m, var 0m], end = [var 4.5m, var 0m]) - arc2 = arc(start = [var 4.5m, var 0m], end = [var -4.5m, var 0m], center = [var 0m, var 0m]) - coincident([line1.end, arc2.start]) - coincident([line1.start, arc2.end]) - horizontal(line1) - coincident([arc2.center, line1]) - coincident([arc2.center, ORIGIN]) - radius(arc2) == r1 -} -region007 = region(segments = [ - midStripeProfileBlack.line1, - midStripeProfileBlack.arc2 -]) -midStripeBlack = extrude(region007, length = 9) - |> appearance(color = "#000000") - -// White -midStripeProfileWhite = sketch(on = midStripePlane) { - line1 = line(start = [var -4.5m, var 0m], end = [var 4.5m, var 0m]) - arc2 = arc(start = [var -4.5m, var 0m], end = [var 4.5m, var 0m], center = [var 0m, var 0m]) - coincident([line1.start, arc2.start]) - coincident([line1.end, arc2.end]) - horizontal(line1) - coincident([arc2.center, line1]) - coincident([arc2.center, ORIGIN]) - radius(arc2) == r1 -} -region008 = region(segments = [ - midStripeProfileWhite.line1, - midStripeProfileWhite.arc2 -]) -midStripeWhite = extrude(region008, length = 9) - |> appearance(color = "#ffffff") - -// Ring -ringPlane = offsetPlane(XY, offset = 47) -ringProfile = sketch(on = ringPlane) { - circle1 = circle(start = [var 4.5m, var 0m], center = [var 0m, var 0m]) - coincident([circle1.center, ORIGIN]) - diameter(circle1) == 2 * r1 -} -region009 = region(segments = [ringProfile.circle1]) -ringBand = extrude(region009, length = 2) - |> appearance(color = "#000000") - -// Upper Cyl -upperCylPlane = offsetPlane(XY, offset = 49) -upperCylProfile = sketch(on = upperCylPlane) { - circle1 = circle(start = [var 4.5m, var 0m], center = [var 0m, var 0m]) - coincident([circle1.center, ORIGIN]) - diameter(circle1) == 2 * r1 -} -region010 = region(segments = [upperCylProfile.circle1]) -upperStage1 = extrude(region010, length = 15) - |> appearance(color = "#ffffff") - -// -------------------------------- -// --- Stage Transition Cones --- -// -------------------------------- -// This conic taper transitions between stage diameters - -// lower cones -transitionLowerConeWhiteProfile = sketch(on = YZ) { - line1 = line(start = [var 0m, var 64m], end = [var -4.5m, var 64m]) - line2 = line(start = [var -4.5m, var 64m], end = [var -3.85m, var 66.5m]) - line3 = line(start = [var -3.85m, var 66.5m], end = [var 0m, var 66.5m]) - line4 = line(start = [var 0m, var 66.5m], end = [var 0m, var 64m]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - horizontal(line1) - horizontal(line3) - vertical(line4) - horizontalDistance([line1.start, ORIGIN]) == 0 - verticalDistance([ORIGIN, line1.start]) == 64 - horizontalDistance([line1.end, line1.start]) == r1 - horizontalDistance([line3.start, line3.end]) == transitionRadius - verticalDistance([line4.end, line4.start]) == 2.5 -} -region011 = region(segments = [ - transitionLowerConeWhiteProfile.line1, - transitionLowerConeWhiteProfile.line2 -]) -transitionLowerConeWhite = revolve(region011, angle = 180, axis = Y) - |> appearance(color = "#ffffff") - -transitionLowerConeBlackProfile = sketch(on = YZ) { - line1 = line(start = [var 0m, var 64m], end = [var -4.5m, var 64m]) - line2 = line(start = [var -4.5m, var 64m], end = [var -3.85m, var 66.5m]) - line3 = line(start = [var -3.85m, var 66.5m], end = [var 0m, var 66.5m]) - line4 = line(start = [var 0m, var 66.5m], end = [var 0m, var 64m]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - horizontal(line1) - horizontal(line3) - vertical(line4) - horizontalDistance([line1.start, ORIGIN]) == 0 - verticalDistance([ORIGIN, line1.start]) == 64 - horizontalDistance([line1.end, line1.start]) == r1 - horizontalDistance([line3.start, line3.end]) == transitionRadius - verticalDistance([line4.end, line4.start]) == 2.5 -} -region012 = region(segments = [ - transitionLowerConeBlackProfile.line1, - transitionLowerConeBlackProfile.line2 -]) -transitionLowerConeBlack = revolve(region012, angle = -180, axis = Y) - |> appearance(color = "#000000") - -// upper cones -transitionUpperConeBlackProfile = sketch(on = YZ) { - line1 = line(start = [var 0m, var 66.5m], end = [var -3.85m, var 66.5m]) - line2 = line(start = [var -3.85m, var 66.5m], end = [var -3.2m, var 69m]) - line3 = line(start = [var -3.2m, var 69m], end = [var 0m, var 69m]) - line4 = line(start = [var 0m, var 69m], end = [var 0m, var 66.5m]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - horizontal(line1) - horizontal(line3) - vertical(line4) - horizontalDistance([line1.start, ORIGIN]) == 0 - verticalDistance([ORIGIN, line1.start]) == 66.5 - horizontalDistance([line1.end, line1.start]) == transitionRadius - horizontalDistance([line3.start, line3.end]) == r2 - verticalDistance([line4.end, line4.start]) == 2.5 -} -region013 = region(segments = [ - transitionUpperConeBlackProfile.line1, - transitionUpperConeBlackProfile.line2 -]) -transitionUpperConeBlack = revolve(region013, angle = 180, axis = Y) - |> appearance(color = "#000000") - -transitionUpperConeWhiteProfile = sketch(on = YZ) { - line1 = line(start = [var 0m, var 66.5m], end = [var -3.85m, var 66.5m]) - line2 = line(start = [var -3.85m, var 66.5m], end = [var -3.2m, var 69m]) - line3 = line(start = [var -3.2m, var 69m], end = [var 0m, var 69m]) - line4 = line(start = [var 0m, var 69m], end = [var 0m, var 66.5m]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line1.start]) - horizontal(line1) - horizontal(line3) - vertical(line4) - horizontalDistance([line1.start, ORIGIN]) == 0 - verticalDistance([ORIGIN, line1.start]) == 66.5 - horizontalDistance([line1.end, line1.start]) == transitionRadius - horizontalDistance([line3.start, line3.end]) == r2 - verticalDistance([line4.end, line4.start]) == 2.5 -} -region014 = region(segments = [ - transitionUpperConeWhiteProfile.line1, - transitionUpperConeWhiteProfile.line2 -]) -transitionUpperConeWhite = revolve(region014, angle = -180, axis = Y) - |> appearance(color = "#ffffff") - -// ---------------------------- -// --- Stage 2: Upper Body --- -// ---------------------------- -// Simple white and black stack of extruded cylinders - -// white -stage2Plane = offsetPlane(XY, offset = 69) -stage2Profile = sketch(on = stage2Plane) { - circle1 = circle(start = [var 3.2m, var 0m], center = [var 0m, var 0m]) - coincident([circle1.center, ORIGIN]) - diameter(circle1) == 2 * r2 -} -region015 = region(segments = [stage2Profile.circle1]) -stage2White = extrude(region015, length = 9) - |> appearance(color = "#ffffff") - -// black -stage2StripePlane = offsetPlane(XY, offset = 78) -stage2StripeProfile = sketch(on = stage2StripePlane) { - circle1 = circle(start = [var 3.2m, var 0m], center = [var 0m, var 0m]) - coincident([circle1.center, ORIGIN]) - diameter(circle1) == 2 * r2 -} -region016 = region(segments = [stage2StripeProfile.circle1]) -stage2Black = extrude(region016, length = 2) - |> appearance(color = "#000000") - -// ---------------------------- -// --- Launch Escape System --- -// ---------------------------- -// Final tapered nose modeled using a revolve profile for a sleek profile - - -lesProfile = sketch(on = XZ) { - line1 = line(start = [var 0m, var 80m], end = [var -3.2m, var 80m]) - line2 = line(start = [var -3.2m, var 80m], end = [var -1.45m, var 87.2m]) - line3 = line(start = [var -1.45m, var 87.2m], end = [var -1.45m, var 91.2m]) - line4 = line(start = [var -1.45m, var 91.2m], end = [var -0.45m, var 92.4m]) - line5 = line(start = [var -0.45m, var 92.4m], end = [var -0.45m, var 99.4m]) - line6 = line(start = [var -0.45m, var 99.4m], end = [var 0m, var 100m]) - line7 = line(start = [var 0m, var 100m], end = [var 0m, var 80m]) - coincident([line1.end, line2.start]) - coincident([line2.end, line3.start]) - coincident([line3.end, line4.start]) - coincident([line4.end, line5.start]) - coincident([line5.end, line6.start]) - coincident([line6.end, line7.start]) - coincident([line7.end, line1.start]) - horizontal(line1) - vertical(line3) - vertical(line5) - vertical(line7) - horizontalDistance([line1.start, ORIGIN]) == 0 - verticalDistance([ORIGIN, line1.start]) == 80 - horizontalDistance([line1.end, line1.start]) == r2 - horizontalDistance([line2.start, line2.end]) == 1.75 - verticalDistance([line2.start, line2.end]) == 7.2 - verticalDistance([line3.start, line3.end]) == 4 - horizontalDistance([line4.start, line4.end]) == 1 - verticalDistance([line4.start, line4.end]) == 1.2 - verticalDistance([line5.start, line5.end]) == 7 - horizontalDistance([line6.start, line6.end]) == 0.45 - verticalDistance([line6.start, line6.end]) == 0.6 -} -region017 = region(segments = [lesProfile.line1, lesProfile.line2]) -launchEscapeSystem = revolve(region017, angle = 360, axis = Y) - |> appearance(color = "#FFFFFF") diff --git a/content/pages/docs/kcl-samples/saturn-v/project.toml b/content/pages/docs/kcl-samples/saturn-v/project.toml deleted file mode 100644 index d8172ef2..00000000 --- a/content/pages/docs/kcl-samples/saturn-v/project.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings.app] -[settings.meta] -id = "fda50157-75e3-40f7-8bd6-6b0129acb494" - -[settings.modeling] diff --git a/content/pages/docs/kcl-samples/screenshots/angle-gauge.png b/content/pages/docs/kcl-samples/screenshots/angle-gauge.png deleted file mode 100644 index 3622ab9623ef36b8248ec7e2d8018a0200c7af3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42753 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 Sj|TrspFDli=KG&m`hNg$$N{?m diff --git a/content/pages/docs/kcl-samples/screenshots/artificial-heart.png b/content/pages/docs/kcl-samples/screenshots/artificial-heart.png deleted file mode 100644 index 23f8793b576732d12dcad9559b5d4e6e55e8095a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129971 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%0D{0G4rp<(Ekr=niMms7N*;Aj> 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

4= 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⪻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 diff --git a/content/pages/docs/kcl-samples/screenshots/axial-fan.png b/content/pages/docs/kcl-samples/screenshots/axial-fan.png deleted file mode 100644 index 6c5ffa7de7cfa750a1c9d31cd40a9a831b15fb90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85981 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

h+i%=%@9qtkSZ_tO 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

1+frk=v-lo`NOXwl*o=Ba=snO819 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

+G{0*WIc&i_Z4p04-kg5vR%E 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 Kx9geL-v58yO_Oy1 diff --git a/content/pages/docs/kcl-samples/screenshots/clock.png b/content/pages/docs/kcl-samples/screenshots/clock.png deleted file mode 100644 index 99bab629ba9270a8c3cc4f14fd80716a82a375b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111785 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

%#6J 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%0D={4{+#&Xj7WO#TwKL~nGz5GJs-(_u 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

-2d$D}a>qzwV2*G(`L$zO&$?uz8H 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 diff --git a/content/pages/docs/kcl-samples/screenshots/coilover-assembly.png b/content/pages/docs/kcl-samples/screenshots/coilover-assembly.png deleted file mode 100644 index 5007088a391ee45f3302f0144e81f12c7cc793d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68046 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%0Apzhhqk&~b{E zqoZ&)XS%x-*s3loeLt*Bw&Q2V@9ZA13gqI;<*m%$T-_?;^ow!yQH4JqUf=BAl#{df zWZ$M?eVexL1-0cxbbNUD@ZsF1b?f@D5Kvw|ea4Js8#WBumXpIBX7wwil9s0Tfn}y4 zZ2xyjEWd(LypSKgW#WeIOpE$;(MpjEZd?88EZ<-P1-vlposk}SoZgj8*&WMlN47QK z$kr)V*htgqp}ghpw!TCZhw$h~GWwG$6rKIdhNlTOB$GiZj;Alx7@>L~ z9FMuJ3z9u-*?LFYj~Z(}iFL#C4-a27q~Ma3&#^U5wm8nscQnm+)`BD49o@UK)up%Q zp50dJ$=UQ)IG8Nt=6HwJW4}h_>Me5CX$g-26u)s5e0l0sAdN?o%r%)zAsX<^DGKOG zLJtSP+DCZwjd;w(;Zu8SQ9$Eda_zGE?f{g$ka@+f)1 zI&Cg;hDYW7!vx}K3Ca8tM(68~1QqX}S-K#3wYUYou$tkbzQ&GRg&k?n_ zUb8R8DpeUSZYwKp8qRZ>iLCB*?W+ZPvi%W4Jy?gb3Kh~idwgy^St8JfpB2r=N%F17`NGKp!v#VL=eTOj z3%$uuskA#7m;viCOT&4Q|??iOhhOBVN}OXYC!LKPkJkm_%yulniI;EZ>93rLZo`Nj4%01(g!^2zZ;> zi0^F#cku7Nt5TE^#I<}9x1goH@iyIVGoF~A#LR~-Iy`hlo7iy@6W7+;tBAPSq+m^<;0fCxF5AKSgwPrdW0xnI3#s3TB~WWDj2I6T1cC&TmvW*jKrLn(w)+s9EW zKQ6Z|#k1`SBhKZjFw(TBqN(jKDx2X$!avkUtSzo7OKv?&e&r+7Ft26(PH0Bfv8*pO zel7kUY(*Ezj3ro^5XJs41iFBhRV?Tv$fnPR6&Ups! zcO*IOv>7M0KS=r$$@rXLL_xg|4lSxTaGR)kuyD7!5L6z{FLoeVPHX2;J>YC#!rI@v zq95sbY#|PA8IL~-MN|MCMrfW9Lv;mH{g$Q^{-EL9|PC@ma#6ypsUR#AsFVq-rtzES|}E@P7`1HFiG|_LD6LCX2z-f5bGs9J7~) zi+<}%<`^Il_(UjPINl^9UdEc0cfzW|2B1K$SVUKzFR=GmHPjwRx>*a>y5VUhtAU%5 z>Pd0)`^C*0#M{N$;`5AvNBcp6S^-$yD*0H#QoG)k(+&C=B#LjV5YfronsZhax?bmr z2Ho1cnl&xgYqM7L8NLS(sA?DVIU1b~Yx<;n#Dxyud2)F25&7{3TVmB<$Jb%i$_ogr z>MfL)hfEiuZbP%W^>@>n9@GNuZjXTcaR0IJI66&FlBVlWCc+e&|Y1C%S-pDY!f*{) z>8KtR=Lc1MiR1?{mv4;NpOzrl{3;w@9HY?iRA;EHF-sBhn7NF=2myFG_$gZ6PN zu2L~EW{>(tRi;Z3l9d(|@kY4sK{9(t=f5lQ% zc~+G-xAW90D}gdai4#PgVNbS!l5 zs8s3`_opw6qJ$(DZdz#H*`I#bm02n|4*+43InY8R3*taRF2XuZw2N7d&tx?|EMM9p zY}2m-)haD+y5C5Tq?0PO5p)5D|Focs9#MIBMmIbdv!-NWQOT)X67q!4SV8e+q?}1D zG^9l|r>P1M#IdJ%#u!@uhXqy3E7}ezrb9iz^18XQws5HyR6I1)wCw+RbX1=Je9kp9V*1jxX+7cc&Ov^65Zmc-1{H=0oq#m=!x2`CyN$|sp$z_h727_K@UxZv>KTt`TDHE z4&^L7kaG%Om${K;k-F{!@21Q(x2R^m)T5dg9uoRv=)zq?^NK6pC!jU!C$JAdh zq=}S#UXSyyeBf38SmXOJFkAv$q4d? z5BKifdoRUIC*p1HHhZkCu;BW_h@Ofnktzx42Ja+r6vb!BAn~a>74RF*1Fu^j;;ain z%{x!{&weAT`XwaqnR^N{CGD0zeeSzDc;&)V{YXLSH%Y_<7z9QmI$X`wi1H>$S(2ER zc^~MTrZumI6H4M>9xE&BSjobC(Dvr)4B}TxT&pwUI+OmDH41$RE;89yL?)Hw&KF5U^4CAd2yL~qTD@8o84JPWx~9&awOP$K zNi~NgkbX1Xqm3@1zOTE!ujc(awC&oQg1WmkwY_$X|5=9~3?{qXq=tUTW0%2%*}UGiS)^Qsiu3j2fq} zh9uRhLd0}WbC#Z1jzZ!4(8a%F1QDi4P$vXoa&HKwB zL*Un_fB*x*t3#d>eIux-qeP;}8D@(JR-sYqN4!Qfg&d$vh#5zkC+GXp(vvHOpR1&N z!t-`a^YzJR_9p)oYDGtfN+=78sQGMah2=~Vn&a5aJy4822LAwo5VAzV*tsq-80ru- zg+_$8ddUV}YwePcUYE#T^HDWyT3Fm9L=*Gko3{leEYC^krm-f1t@ot>xjtTg>TzwD zs{E=rhKxDyAEL-|tTqzX`LKDB${@E4JIlA)-gdE+Z{fZ;+f5r*l@Hbr5vF=X)c3&m zLJ`G(;92qU?$7de0UlN~986$gZF|n4!LHI6K*`hQ5}zdes%^uKK!sZORtZ#&@2v<% zBJWYhg-0X5rYw-<1tfEf1xSaDAP#zl@~#SDvOrWcuT(-4oNS<>hJMuF|_5Vj?M$4kX10DgbQ5`MGvVqo+y|Rl*oV zeUC`r;DYl0A$W(tK=Z;m-X3}ZD)yhGCPpLm#{Tu>RRyU%2YAxK@_>2y#kS_`+eKd| zG7wm!QWn9OGP8<`9@p?j2~VCqd$yiLmw0Hm?qAz7Fy~r~#|#vEv$_j_Xtq z+V*v*RN`DLOp|BoRJpBm_O#r|c0I1p7wgAob*`kUft0Y?T|pEU=oJ=2I1MprQDa!d z$0ffnB)uP;5CED8MzUQbQeZB?rBk|&U+fl+_`E&F~*vfe*$=lBU zM~m1Y7oX3%`Pg6)C%VoLbbU!#C8UO@xUQ+mfy ztThnuASl<$JPgcho+H~z*}nAiLjhQY(A(4%bF)%wrW+80a%q7Z!U`oq96eVfC;0}P z(wNN%D`-Cob$WJ51+Y9R0vxagctJpAILl?rmf<%HDW^gf29?BrBaq_zv*Q^;Vp8XTZj0r?Ud;|{s&+=y)=kE%)9IY0y7>MBOG-qXhXo*FuB4$cZrlx+pf zFRRF?z?Fy(1!n=lV)V78-gpt%WqmOu;$IY{SF+4wdYD6qn5Z04v@Lb>gVP81t$$COnUX z3MrDn(HgIMu{5p*wadKH9r?XOFR;E(_dNxX0*6$TG1zM2#gm#^=ifquA3DDEge@epE3oRk8p z{mf&n+XvF6D#zRdQZpr z`lJ37%_5#wwy>dy&&UVH0g%&R^XOy8j)g}D@b)_d?cGmOs^cJ?z)R%N-=v!7{ zBjIBLjzXny9kqrefSS2xE+_J=ED<1;B<1(gAWwDfr37rQi=rS&0wAJ7&xIdU*p`o9 zYM;E=p|UWwCrhHEa9D&pM~N0yHz>|f^wLO_n}jeH$MOphnI}`BL<7=$AT&szV&#PG%e?BaVbrjYrP)UJ0AHdRZ{H(Ke zW2Y>UphnBMZ?D6vMQD`!wJcRYinL|#}O%W?Fy8?47y#z#>V#5^C zya4AXZ3%4@=8kue>O0w}xr$!*Ii-4c$ zCp&8T{_rdg4h5nhS%$mwp!vG|DX4NRg!Nr(V56Oz3tZ6{q=@Qp3I%fCt$aFobF+H~OR zVv3;kqM{fji84r_qn9&VHnWAlWMBM?WD7`VZy*PRje{gvdO;Ay@K(eo#@Wr#f176V zc$&o|`L-bD`8^@iIuQ*w?SLJVAqy=)4T7n@)OAPsp$g7#ZR2~E+vo6u78GFKuUH_3 ze%q|_m|qjD`NKejQEwfv=-UBpzbKH#P}0IsKoHrs3irMNvU*K+lBw*uc%*xE)6qqs zF*Cv`W?k{p4V~+P5cKnnC#ljRm2DmGK!3Qk>y0yzmTlY^oG{o@i+t+)93n?lpIw|u4hWn}a{3-47vn2~vA|WMC zBawhQ`5;PLzOCW^OWc9XY~GwXqU;k3>kA8bZZm-$rz!wHhFJR$m{;&uR?1-`*)K;> za`l0;)PAa5!r#}YJc-E_BLpFvup0R^O3pZZ0Nt`HDW!j`ioExm5bSrDLlq**PxH|5 zDSAVmSe)JjwiV&z0{>3E5e^D@h4Ej`5s@HP?&%#DNxHHs+n5DnQ*ShkweeFO7K%2| z=tf&u62GVyM>*_vy@MmmL?S7_Bq?YPSxUOBGB;xZU9YATeCI#(hi}tXy|Krt(WXS< z2e~LJ*FOR_UoDMU#GtayFg#_Kil9L0b}RzaPXsg`WdHs6;gj-qPom&mbwG;_Zp*R1 zE*o)XDzXoSM+4Cfk6Px1zYhqi6G2UzD7b8ro`83sd`Tgk%+0eEjn7IKC{z;%KuD>~ zpNSQ-)cR4#X5zjAR)&X^Q49fRSigabz}|zaz}+Bu=?1!n_zhJl^pe1mTYZePrMQ)8rR_oEd9Zc|Ux-Y?VU*|WKA7F+mHOw5aL;9JI6|u{;2+vf}`^yq;ZYe!`0B+CX~o1zVgBVTHK)U)e2piMXgAcKAFyzElgOfYuKtByF8Q8F)}7gfr&b`AwasjZVS*@R9;7tfBYXp?1EWXi82DC7KZ6ojs*FDQ zVDwVa5t8T)sYLWCd+G4wI2{3?gWTP@9K1DoSe|}GAd65yq&0W@`Ie0z5ViW%I7&7( zzUA-ZTYf2>j_#I??y4A6e+EI6Aa$wQoa9(7`G;l6Z-}h%IK=FE$1?J7lB5g4(K*oa zjm8pa?-tjfx+h8?z?a)CsBS<>ahN>U28<6l9fr|}J(vb`Sr4mbT^RLCrQ@;nuv4`| zBu_V*d*b!pWR(-XdMfivQd^WbybdIfr_awH(breEjKgvewwSYP_+1{Wyi?8rUlavlBehpC-Rs!@@4YZy ze<0#6BuLN@jbK}OetB)a=79)xOs4nLfcXOKN4gtEa@-T*R6&~=wEcb+r>*^}Q>rB^ zXoW2Cr7C1y4i5x`vVaW;6xu3Y5#Iq~?^`8V;_x6dagwj+S0B7d7+6=^E3@%GRX2FO zF>FuJWWn2otd7zlFn!BS2pJNu1c@u|S9l}s@B>_LO_kYXK9<%F6zEw2GX)y;5~bY` z;oHyx4iKrQ_J~gsGp#z5)yx)bf3S+ z{iP8ofe}f5w(|ys`t=MKlz31;j6X(UNq|&UF7-;+heN9fPY9FjJDCT6r`7qN>>O9u6^I%L7t2}uu<_t6ezIf^Cow(UEl@l zy`zY886&NeLTYjejxSKxMA!uhN>v7;w+5S+{Y4u?ARCE;=fDZEUk=JdAa2$Zj?sx0+6vZcP1kD@WE%yM){u=09 zO1|t7)MWRCcIPWcBjfEOGy$cfzJ5_vuI00=c3}~^tx~_HUd-cW^>G!1oJxKC49fdp z<*@{x8N6)Wuj4NKTA~%}gxgV{Rs^5k;3$^OM}qcQboN8>=WbD=I4M%I{RF+RMxh#X z=by4mB7ck;F9aw^)~}Z;-MzB#gdsuI4|Tb>I4ULai4F(n_n4BoMr(M#Gk_SG;(ADuy@oi1NljQ12a&c^HDHfH|-U8rnVJA7C(`OOba&)b1TeWyWI2 z=QtMOwH#EERr3i>sV2M?IqtVg61pSO{2G`5T{O_VQ`pc3p+IXClmjBJ#VVFYevOs| zgpOeL{CvHXI@YFYeHDiq9bpl~ms!DiXXp4E{wYTxwg&E3gj;1LxT02doe2M(5waak z5SZjxNf(@e=EXz$5VXE$??t6l^ZYZb<(D!H3~*Y#mTKw6XKe_g1$dS^Ji&c`AoCQ2 zjpZ>Jg~1bw7mjBiK!3;~oI@lhWP7x<$M7}Dp2%PTv?h&!t?5?-k2*URe46*wr*&w) zK4&uJ9V(kp^w(sm7*o!3GD+hCAOWrn%nO5N%wB7B^H0IjRiS{Q+M_u0@f634G*?th z?{L$+h`oqN)aQtMg?1cGAIbzp8^))&FrU^@yThWJHS}uvr&Q{nNf6-(==lIKz6T*zeQ`*}+?ES3$~Q*0{yKl`67(dV+D27t_JXXxGV34p zW0iIp4U~ee-T;Wo38 zUQbAPZGwy&U5E`C$jx+q#J*^b5#XBUl^w{xr3pRqt+O!;^~_+kZ_a?-(_MkPx90!4 zd-2%4k(I$CQ}BswDd+SCj=$_9H3lHN&AGOp0CtBunk?wz$?I z7=U_J$}Hc|hj9=?7ya;P;t!98eRUwe?7&<#!w{5HxtdzmAhXNNf^?g{#4gy>OKdY7 z6*`pusiI(ZJCdERB--}4s(AXt>Vm?w0)pwC4Z~e)INInPvUWjr9PTE4_O=)*kF1Kj zNWY0|!|OjxD|CLc)BO%H2!yoM+EKU#9EUBpJ>zt(nJ_*R9dJ2|~2fC%34FX5nw zYn~U;G%xbPe}$e-Ml1NDJt7J{BAMzTnN2#>Ks=4kF#B9DeT?$OXNthRieMLC*aP@~6ket>mZ} zd({xVwdC(vVO(1@{rNkP`@;6oRb^wu4XVNCO`I6Zc~6s_ZH)%G((qxs#GyXsMRbj` zrIf&md(??c9JIF?z`-8O>RXkbynDjJ-8so3vP{MDEeNd zNKm3Rh*i-))F8o|@zo>dwjMy@RU|tlCuQcLhl4Vb&kt~>=})j2NO5?O2P))6s>Z>3 zniPAHp8#Hg`s(#|xNjgto`k;M3D9an1BRXr?^u907PG|;*o6onAMr12I3-|E!5M%q z7C=u=W36}!nz1J&zCGc@pz^9g()x&8K*>?&;bVnQvZ(F(+TjHEtQOA`7tuO zQb8G_&J#JhsDcAgj6U2_!RkQ@u*i=Sm0U7X4w&>+fT38bU!CU3s={)%(KUB1kl@FO zqiiOn$`j6zsXOQ*cW?odjxg^RVRb@DcP)S&I-THR#-YlIMw*oeJF*bWJVOK8#{4#P zhE7+FsfFO?K}W+A!@nv?DEe=Bq(qkojR81n43{uJ)d1I2J`r3)yrPKe-aAk9-d@3C za8Mof7BUw&b^OBHF^yWSyrd!KKG;yBiLF^gqG@d^io@W?x{628G6h=vSu>K*6giX(nIulBRy2wxD~;vIt*zdo^|r$S;6Jj9Af8C99?T*cuU0({I_)~)l>S8P)=Ew z4X=RJSE36^FXG(G(){D4_4u@3q)={kik?rXJY=rtN!k4mC=y2+v>5AwS^xaomn=X6 z^2hj2$E*lo15DoqCuO=a3wB&4bXgcwHOh!;?b2be3Qv+eMV~!*QUf^l!xV{cCVpfg z5J8k|Rv5bAqoE)g)-YOdxCMwB>N$Y5^fZPpYUMNHcCHnzZ$YS6lUWxskAMgr=Uh@N z(BEo6B8H9*HU5+0R(e8ey26vCIg5G=o*am(2v?X?1&&qp3gXH#AWBStr*b#Bm3<03 zYvgNl6jMtDv8&b8b*_2pLH`LQ30Q1fq&@{R(M#BM57i603@CdLZh zlr4jtb|)%%Z<8JJ3MtCyoDTVW9cgO*Yz>!?9p#uEiu@R%$D=i#(_>e$RhW(TMG9c{ zP65G0c@<=ToW+fZUa^ND!F3Q_@HnRcBN2PKtvsjmT!54#PqM-x>A|Ht8qlWZ8?Zy# z&HtAjtq?C0j4VNuQw7y(5Qg%paEw7~$hT!MbNj*ug>+iYp>@-484HSyWjUTrjMU(Z zTyi!=RYYpael~@%CHA!C2L6=7#FYwR$}Cq~Qoszsm{rX0z_IO6mvR*Uh6kA-*ngB1 zPtNUmOvBxS3H^0U|4Hy+?4Y15;OOTO5=n-INVe`lFdiX!-pDh%MqZu5MncL)R7!xt zo|Wg7%^VC-AA6FZ=BFK#I8Wq=Jbfr>2{zM6ZXise4BAt-NVG{>&>$?3l^hh0v56xZ z9i*%qDu*U*8QS^}ncHwyrsDn}bkHnbrf{AqE5;amJ0f3qeL?()dY*3ER^de0<5UM? zgQxVJ@V-B=rWZO#j6PUFLG)#SC%Cu=qp%6*A>cX0Hi%6b4C0nV?yTTcC7p)WA?*7468Zyu>v^iN67{*oH%jfW9EqF z$f364Uzu%BzGeR>XI#PRS6^~nAq6~f=hrxz*I4bg!U{^aX=`3_t5(Mm5=uBp(SaOa z5O!DZ(o#71g$J0!dcz0Hl_QXbqQ4pJ7rTl<(KGmg;d%_s*C15TwqzvyLKrTw_Bs|y+=!^67V3dWiheYUSlH8e|!U34mC;XT60fAUk^dV}sq{jsJpw5Vr2W~w< zn*gb>u|34raSHXNJOV;hanN=9^Y(QJtM~3U$*6^CRYy-{NvOe8`ra|02Wkr@OcNT58G6;Xy`m_=Nr#U%B{G2ylby zdOGTR@(Pw4*dZ(qwo8hTW$aUgq}6Ep0J*S@;ss3gD=mGL8gMxcQv8>qPXgvh1Q1}} zacGBB_HO%=%lTYeeb`>Mw0~`gMO8#KU=tA%DFE}52#R*B+0v?(tU8N%{5TybsFG`& zh&j6iJ|GLzL99aJxE)<{i5wrt!pU5h^h*$}FxP`p{r;X(ilqq0D&13yvnm`Z-RCcL zNtp)WreH{(HM44KE=FOuc}U}LSl(%9*_>dS0($<4SKyfR(U&=&rvT`|XSEpVo+NrB z$-xEYcuCeUCVjf38{eB6WljTPf?r4Nlb$LV%$V}dY41WPL@*vo#Y18O{WG(0bZtb? zP~w_iiQCJ+tf6yx=Tg3wKRv+^QO^1}O=nH5X1m(hh6nGNyuAP=deky|y%z4<5MJ+C zjUGKCD{(#m^0O1h=8&ak2ExrZ$~%&%)H~kB$^DX)H>DK7FqB9&U@l~}*ITSds(v*V zVx*mrqtB`D>xAhU0ke-kko7Aru?8upnfi)&zzsvoq5=@v{6`0_!jMmxLB$Ud?r{g)gipd85Q_wwr@Y zDT}_y-p}hBzNm2Q!oqkV-*#e)tmx?*zGbLW$y_f!qA2Ic<$44M+Emd`Dz2M968|Yci8O=@x3{)kb`F_NdA$K|>4x zlJI1HacdrCFYbGkf?|0?de@g64)AkSHwXQo@3tzz!*=AkBz=enutz94pXM zT!s3RpN+ycZ()9ER@}|lY#uK8Sl)|aL}Qc0Rbdzmk9kpmbW4h$r1HL%iC1gPBKH~E zLNJ?%PC*5q!83jtcVH+`)<3cCIm|XqUvw<} zbp1+aBo4V#Y)jIhy(2Gf&O38p=iTgoKfvNY|7Xz(Q!V~FD|~Z){#%>Db3ub}>8 zH^b|_XIHk=X4i11#Q+*hVv6D2VUFJMkcIu}?i)ZT(cA=lBdHS7ArS_)6f1RxSG? zVYp1RW@t|o(V)8J%_sc|7EPG+JBm3BNqbv-^BXHYZ@3lNk2?TPmSGG5+RiUU*7e?n zc$3JLi_T2L1!KQGEOQBqV8JrokBlfF94rV%EV-);p1`mZpja-RsIfVSh26e1?o<2M z$m~7|&a?dnBd(Zp$(WcUV8bI#<*4@tViA7}dD9L~s7;Sg>?I~PYy|={oe>iRphETh zup#SBQk@%iKesrXvqM+0gl{+*13X%tDgNX>UREI=7{XNuGxsitWIEp`#i8@ z;orR62lA+mwW~(QzBTnml%MewuTPzF%UJ9ocJ}?@@hc>$z#yQTkeWJ+ajPC36#%1z zBqN+)glM`cmzE{2a_quPO8l<4K$%LVW8D0gC8kz6aJYqUxSBD=G49P{W6W{f=8l@7 z0duNe6<14jKHd$o`*ZnC(HIkR?ECNOhkxI7EvF-5t^k_p;i69tGs<(uT}Y%@_TWC8 z@rhqOB^u1x+fQ_+ctE28&Uck8I$m-bT7a`b9*{xfk}E@!Q>+qKz0548YPeG+^YmsU zG)bxwTeGMd*WUH{hQbzpd<$%LYEt51R!(3pWWG=#p@`XUNv4srTCwoh`G00MS?wL3bMH!`B{4 zx_Gz7)K%t(u)i3OtBDGemWJ`1)3MzLPoXIX!kt@1^Tak%qd-y^y!8mo>$iss(Jmp3 zlCk8np9W6m*pVuz;5XL((3*)#Cos*(EcA7yp~t{xo$uZ8$%`KvR2fc$Of{doGU=B1 zvbiC&e4=l$en`6E*g)IbFhqSE<<)1Vg&hD@v@#1N@0*|}sEx5uTBFtF>DsR*W)+Ye zHCP2t_C?~cymPfX?-5a>{2|AFtmd^_pbr&A@M<{rnr;IPT8M5K$W{?jaA4<|1LsHa z(Sk^I(c1T;xGUm(3^Kx{TY24;$gM8KSrD8r!u(zL&PhmkL$zzFabtc)#6M{OHRjhi zdlfT9*eEvD{4uV-8kI>#!B_=+iF_M3EQug~;3&& znj(LCawTn$-^Nhbn%gWJjscG_2iCjEXjIZI2vQXtjG$P0d~wU8joa=Zl0>qG5gd+f zL7bjLiWj#vG~bYn>muK#LIFdbFXj=E>#NOYhka*enHjgHhU8g0H^RSj#>^H$N#elR z5~%l-ZR3MYfb7o0^Q*=YM@{blrdF}MD4kUFB+%z(o>qIv)LY8DSziDuc!P0Xf!cD0_GHHOC3I4OJscJFCj&fCQGI0k3$`KxWdp zpaKYIK$GJ>REvjI&Cqxe@AQL31NFpqm(DPA(Gc{8IWffKl!s9 zj5m1Ae0*@{m@LTweVFWli<|VT#G^7OTd)IPR#iMVZCbFXJylO2NG$23F&hW?v)t=I z0o%EFJ{xEDAlM@<5CNtc=i41RP6a|l0BtxptC&Y;3^Ekf(m3#mpozl@jXDzXDlg2O z1}TYA1jl$K79vR_@+3%JoFx(uEkPIv3pCbRjV8{`JihupDLhMpD4a{=IIJ?X6ig09 zHKVR@G+0(<{!RBlIQ;&@FLxzZ3@7UMJGgo;@uukN7ot0-#CTqdVQaU&ry36OlWTxBvd4w98YOammCgu^^+2L&o{{sxH;qA0m|SkiPF0JL8?7+iOe9Uu|4 zE^kF6Q7cQKdKbaFyzD`QRP?>RXU&c|=O9zD+Y+IgO^vo<;Ty85I6+0=2?inIG~${| z^9t0rRPcfJg)jkct+B%W6?1)I1qdYZvZuYL#{0r~7icH5x0rt8E$*m_L6nB z@C^;XCofw3jd@~BLIB%h3Bo~n`@NaI<|wC03jIU>=q}fFlR^)lvA9=oJ;^pk6 z_;8`+e#yHaK+|4RK$^ILZG4cSzrX-t{dh=ER;obU_pXiftbXVU! zS(sxa^ew{3`7)%}S1HLkZ%rx3U+tAbB})ybUL>2V}30Cu}oH25T>^FA)LIe?A0(bCk}@*0c%szM?)9% z8`-+W(L05Rk!gm`MQ$c$m+mo_+{S0#2d}?usWzOel>%Prm{T}j=oIEv`v%E@WU(06 z;O1Q|x%{ra7w_e7!^`4;^`uXg8(K&8fDGrQXZOw=g3=?%-je8~LG%(kcI^1~5zZ3s z#$Zz?wGbv>oj4~DF_a`DeBk*AjyQXeWsUu%5Mp(ZZcO?cL{lpByA}*vfyQ{pfYpdYT3q!NUT2kMBDdEi_!8&-tKBiL=Zr39gd6Iy`~Y>Z68 zBXm29p*Kq9sgPDhzXF8&DyMGj$n&ec5V4Ff>LNBm#4jBt70at)NRTFTD_HuHH6`Pu zfqv|uQIV1cYmeQ{1`+BD*z@q|&YwO#-x>E{X*324tKsfF44HC$DKZj4+_I%QFOY9y z-`1`;>-06-wpS*_-kl=K58yObm120mknA*ngLItm4j@bJ(1u8PH z%my9TiL^Oqwo2`sRTk>j>M=|QSv%$KtK@_d=?XIrkNJiX?brhU?;{eJRpW}>*~6xHPTaHQ?{1>dfL1O>CF$G`6i`;m8mU=j=tcTeO~3T1d5+ zSc}QZ?OjqP4x~T9H!q9Jos1if(AIqLc{~fWT^Mt_@3+#m@dLht6dom|p>7#bcC6$$ ztO*M@E|QK$j0#-qvWm?$ADQ!e^-ijLK~2&LqU@?0dIXRPG*0k>B)nesjEKQ3au8<% z58k-ptG!+i>62Bz6Z@h5i*UxR%Wb$wXPk@|QE+QAmH<%-x(Z0=96w24w z9TAg)CDna7rm|n3Y&G7v3Pgc*LjkWfu5<0?x1tjWCRwb>r;n1fkY_4LWC5-cx(w6a zI;axm1ks%GMslsLo2#xH_69DE$4aK+aFFD4w~STk3qTk)1#XfxP1M?((hBvLtnFn( ziGf)hX;^k%=OXdWU?@CI^q}I5S!0$d(aFSw--NY2$(DxIgoK*vpODH3PW@hn`1vTc z1kZtk2&O8r-KJO-smP0)SH1vUhjTeRKe3|tM8+BV#3h_Zjf$ZZ$$8};{|3A#U60;V zwxEq$B2JLmu&ONq&N(r#)wp=uw*HP|sxMA8f^$>lCbXfvr?paGW426Q<3|hFGo7KC zfAfRI-#uak3YE&E0oL8EfTOxdbYL6|k(dZIIO2NlEkQqbNXD}iD6&Hq`rzEaCdr{d zX26-?ByFo48T>Q$`^1{#LmQ+(!Y1T#KISOM4dgtgVpOZ<#Q_`1X+g`vHO5HMPhhwtrq5yZ=v~Mx8Yq_;k)H)OdM@Sj zF#<_I95E)Z7Md#^-qr?4l7R0=m8jL=O_Ij|?}8!zr)r$h_#%XtlC{YoYx!(-b2}hg z22ym%KxI}F?_wYUh#g7fOk(C3s)0a6uIywdi+35K5s`SCsF-khE6)GzgR#3<1!$6) znqi`{WWN_TEt`Az@u8cc{+Kx=m}Mz1PV#j!V~8=Jhac=B6^%hFz9w8Chs>w@UPA!L zHfKEf{L}IE(JXR#o)L+C7OTbr>_5e1(pkh7XdJ7e!ja`FiBsaw;J)VIaC6%kORdw- ze@h&QpZfq5RmGeXCB5{5QG0Flf?-S$QZ6;^iaU%DLL~wQO-zMu7*u!&{w)h*h_wb< zSg9B$*>r3qFHj=R2Jps8!QRbdMzAr_^pReosbF3R#ug({4N|K$M`3vm6=uKY%7nsx z)Z~Up`BI38Pg3i@)s6Z;iW3g|M z$3>_@BhX;($t59WHh4HtV&1N_qkSv@b21I(CUAD#b+o=xDX`GeNo1q$geXVy|wrc1^N^MS>Nq9s4iI zRR5CZas8RM!To<&H0R>;WO#*R02-Psv!z-BZfNnH^y_t0hon;7 z1&Q@KBcdiZdO7^wg0=+BT?zI!R@nStP?Z5z{pVq?n^odGBS>W+<9k zwRA|fkd~T>wlzrzZUf_6aFy8@lyumW%xUAe^-JmM*ht`=fy5F>>JAVpa2_;xvdr=e zq%oKw_wy@05L3ydOHp)nTyYLK3Fj0D%GXwgf-a~*v)Zx;p?e)WfsmA=I)(% z0rVr=5lkY~!ar0wXvx4?tEdpeRZ7I3B3Xp?=C3E;u!SCbYCu$hgq$wFjq)UFA;APn zen2;k`$9O;UEH>B3+HB-C1}VMxGB=|KGn?GDR~s_BXOyx#DuCf7x|)8eBYIQ{w_!u z@_3Ia1$>WHv9yeFjwa6gznoRW&>CT41qCoxcs z^vI0AS`N8)T5A23V=UjiR85dpjYh#DC`{Y_lZ*GyBU^LsmPDBtmsU&`NY>h@2?0x^ zcFNK0(luw!g2(l$v^9&#W2jTn4rYs{aCUKY!E)#`#cm~=5<;m=x{ic!mb9xKl0?xzLVQ}pYIfM@F(`wA$vnl_ z^S>oU!^|lZjbUeGIlIa9Xn}|N0tK-+WRjTdJPTwpt4s1C3kV>=VejN=B!6Hj6vS=M zrV)9o1V>pDBN*eq*^VdExe=j!>t(1B?xBMJ#kt_oMkdSlcvb^BIXDh8gi)iwC{j=l z#l=+7T2mFF2SW>_CVi{yLY6B+2kxvI=z)-3k!P6LXd*{Ke2=bb;Cz@eH-Q)>;+jz1 z$1SSc8jRc$YJhD+vc#i0x$#3L(gwY6pi+Ksepw%ZHjl(GtFFVd3i~mKEbjX)#%d~v zXy9c-cqrw|z!fuyYf042PxCZw63+T&mJ@sfvBt7gj6F7?19C~a$~E+)#==3k%!2BC zT$Ff{RYv$@vL`Zd6SZK*M2vIY3m-|e2z5)`0p|caDt)XW+|SaDkuv}v0T0{JP!2Ws!pVZ=2HR~Dkw1muj{ zd1@TUIu>}aV2d;XVY2J`E4EXq_Z~qk!PqE^p@4}64sY~3ty3~RxLYN=tD3V$2OMoV ze$H{fcIG&)!^Iz zvQ=*5V_ngVfvjTtkDz#U7zQ1mQKPnmxAl&7G%EcG$>Y`fDqtZi<0(ds`Yv2X0*Cg_ ztjtpKjUu;Z$dj2WBzI+CZZpR0JWHV<>k=dkeGc0p@wi21PD;aeA-6eK)z@a#z#NJO z9HKy1Ts!|=^)F|BPGUw*kj#JY1&5UI0sD*SC9xD=d=aFqMf|L3IOb{N%U=@lOowEz zWz~o6$E}=lJ6OeUj4%gXAS^{09?eG994Uw^U9=O7f8vey3<;GH{`Mh`V|yqux(wOI z%5Z8$sOg9{N&}cOpH%&BNHHBj1&V~D0>!$Wx5DqY*NtS_y+f0nfJ@3ZdGNg_NUa|^yR$#7ndc;$uXo1JYG6aT%ndUWVn$JNJ+>5pm?{9E$;rQ z5+jH;H4w)xh^RP6T_(?iJ;NejVqD7IssGdS=hy0YBuj}TQaiDsSc1(Yy5H4vEk^y{A>=`6C2CTw$mvV(E zraLjyXWpq0gG_IeQP{jjS(Bv`Q@}0F)|sOB)GZ-Tnt)j8ES5f1nf7SWyrq`-#r2Ik z$_j(YY{I$UZMi(sx=QA75|}EaC386Yz|qDpDv9qjC3o`ukN5PCY!?T_n|VdEe@srMa;1fm-8dD4ohlOzsqjIhBf1=ekQg)QRhYiB(}~Ps=?|j0LbVSQ=HKtRasm zKRF`d15t?ZrbI$TV%6q~C;XAG%DINY5Me;w_$10F%fL$dnL{m|OOmI*WcBqk^N5L?&cNSr<9XoBE%P2Qm-k#s%9r;;))bewPcHCcI{ov;SB*Y2^>z1Tsk{=ROTa- znq+3CN_;5aQHjq4+k5KY36b-2(Bc{kS`1W|Tm`8%+4hcWLR+m&{pGr9o-e|@kElU8 zybM6)hi>=bi6G-h+`yUR%E1%mlh#s{AH9}_29pgBil?$1yydWr;|Q>C zrg|2pFixV`?ZeJf&So#3lA(81I0v6&4l)Jql7@8(64MCl5rNpQ}? zF6eTao6MJ`eHZGz{4cL&2N>$gfQk3f4_K_k?JeN<>)ahYC>zF-o!!`yemNWloII`^ z$m3?VcD~gvaeDDRO32M4D!$)9uj1So;{sC8%N|uT3s(~H1S}wAT_}-wC*WEH;l9XZ z;QJWVrW*!WeiljL3?&hQim3}p1;%FbIuFYuxhmO!4rgAxS1lN?nA&h4kx zSV+U)nJXu7L2(y>0&db0;8~pyN}QBRs<8R|1OyJnxYir2j$wApo@j~YJvef`@&6Ds zO)nrX>Tx026v|pMgqnOMH?xwao6IARW)dt5_41+H-D@`maV((OOicxj zL987UrD=7)M?@8!r6lVdMJ;U;eWF`Fj(JZnvYk@jP|3K>^jxk8G%c-{b)}TAlgy5L zMw3fBcoYH-q#h&nxg2t4SB;r7Nii}oXVO$RICD&%N$W&y z=8#xS{|^de^YiCeLEu+LtEe=U@`jfZ3}lf3gtoN@rlpXcYGF+#n@~}u{FsIwM2xGG z)iSA!pK)i>NhBbI%VlwoW|nCZ`;>q((M~6CEmb7KVB#}o0Kc*aO~w7lLizAWnd}v) zWO-DBU}gt13zn4k`0<^)c=BJ1^O4cmJ$2=a8V1| z*i_t5ctyxYBNnM4PbiVw?Fqar4rNR%gvYE)p88*+rD;!GIFIhHUUE$#p1U7Cn zHQDRvdri7*ft}Q^!0pJqH`GevxSbQ)Y7*Q{$#HD8;@~Ec34|=zGBjy0bMgDvz>U#2 zE0=#+Uxr2HD_`Qv%o?S6(9B#D$U<&I1(AqrGqIT3wr01g)tUbU*_p7k=-NfO+F%?5 z9oZ3H)WeImID`r_(4lNKJJ0O7CV&QuFu;Ar|B#`(nC>rYFK-*13Ye>7Vyio+}e zG_DZWnD7_7*t?aAu1(EHbhXDrZ1ZL1ULe9036p6*Dts zH`hZ&(SVfdx**jwgIT;XJ}v8UiiQoZp@=iW52!srInLVrC*d_{uyBe-ally6iOfOw zt@K`{WjDW!rqnV0#p@8wCu)yre#GrNrUAHOu!PD+H?1?x&BV-{k1WGPfyK(EvLl zipIGvjBCK2ScYOJ4ug0L_|KIF8mtRWYHYMo?@9_gnq4+}$#8@9G5$+A8K`XcEbpw{ z(P7i%d)9tJWM<$hERb1a6l)B0iGFfYooA+9A`xH`W)u<(mZQ+wUoK^qu6PuBIYdVU zw#ry>bTQcxbSJL)^w(AxEH;4Wtw-t;>P3zFHfC8Io6Aazs!EA~kO9xcqt$jwtWX~V zcY`}&aPc;~&$1gN2{5Vd5d$pWcaM?NBceKsc!8MyYil>u+W7`NjG*CejCOaDiM1S= z(l83?L0sp82OfvinVwHMKO6cbb;P6`5Z|&r1?+73Dt#hZN+Y})%n{!mH}E=#p#52q zL#8CzNY@0F;Jem`ePNcPOd!IhMv1UyxVTJ|HRGWElKK(F zBKndL$cD3@@&9u3+6T^4%Fj)vM<>CD$sn+J2*`jldI%F~7uW=1-@XZy>X?8mpFlGvNPg!}l zelO^JBOMbpY0WO?)IXO`3-Vj)Y?+Uh6|8bHF*T0|A<|BxCR zIcx(AKqRaysqXTrpzG2a!l3x}+pTBN%??jXgHPH+=&lZ41kFU8!jJ~m0;3I1Qmb0k z@GoRJ7!?_ND7LX6Pf?8dfwZl%z#M@?8fbI|2hCzR9$Rx_s1M|13PR&&`9l^|$zaVq zHJ=vrnTn}hC@y4jCUzhB57<|P%z{e019_*GRy8aYL&&h4#PB)m{PYsjQQfkh;m&0d zLy1(>E2@)(<3$sdY4J2riWaI+j%!X(djf3(fy!Z}fqfy_=E1-~pMix3fE_sIA&(|F zlbj)lPYAT5RY}7rjtF``LrUwZ?dORsVkcxRmluT63l!C*L_cFiKK8eTGO}V@h$^HQ zlPQGOs_#g7kJGk6gY7(16a+)vjk0}eiBVhJ1%7KkP)JLmQduy&rS+fYBNWULkB(sI z%--D-XN5PBg?1XOg=m?)Rz-hdNDCweFD>U_IXP-q9GQx`{#?d#Xm641SNi)C>e4!Hhg5##sRJ#Tr})QDQuW;X?J%; zdpoI${BahUPow>^j+56`< zK(o0jetHi$DY_I%9?RONJ;qo#e97RlrlYyRr`ke;?Lpe- z2L0{=7sn7lU*p!)=EM|s17M!Mi`qVfrrTe4vzQPvqlm!FAXyF(7#mep`>8{Liz-B! zs+UP;!@wvBTQmZtqBi`aDX`McR(XW`BV1 z(?=qT5S(G1l_`E{^@R++jsaXr&lrISr9sUl$-1`&4!FkYt)b$wx5il;gyS5@nPnn* zh)*WPGz+_cu1na7x_9fe{m-!0E$;oOu5wo;vR150{UU$n-Kwbu1c$i_$g{RiLz74@ zoTwU3b7?QaiZ(n2L{m`qwlg!8lBHlRs#Jtnolqxhj2v(%DtGF`j!rsu&V5kfc`VPT z*`URwVh`9Mpt3o>5k!Vl+LX6`M&1%lA#Z7no*aRjwrk#zIDcJS8k+(c z*+s)GSbf16j%GF_uTw7{vKOUPVR&vWa?mjT-&)X^IH+hP6yupXHNJ#sCb`Vmu$7C% zN|kXWfRQ{y^&d&|4e8Dd)+C9Rijwhf7ck+1dM?JVjOk?UJes@klGku}MY^$pV1zmW zQHyrEznhaNSBP35#uF~+>e7o>`4kT^a~P3}%=sG2kI z{#=+p<<&;Und!p2?K?3GHD=Ij9&$H90zQp;5sK8gD30} zat_|?3CV@8<5OMcUso#ZVLCK!@zqJix_vdr&5*73I18>@nk!cJy@X@$Sphm%7UP7N zO08$bEn~H}NFi!f1%1^qGA2>~w~kDdTUBwLGF_A}>Z8~$tc1nNFwU_MLu14(+g$lo zCEJDLB8&x&7K50KGcJ{92l{yrPfj|N9CX;~n}u^w?Kko^^mKuI_Va6n3plAi3X$x- z0c_s2ND)vfWVpp^ns4kuu7MWD!?OO-&Ng4mNMnWnIDL~!EU3Js8iKqrG?9kXa`cc- z>y6eDxC?npW#^Esv$X64C~bsyI7DhNj8-eOSRb4Ry+O)0D){#9!i!kPz|G*mwDT?e z_HG%Y#_}z543NrrC)~*D_=!Q&#c{}D1r3GTxfht&?{hsIEiS|B5C_ZGtVuk|+^{lz z<3KAs>s^9|od^&$fcXK!7IeqBCInFzt`$f? z5t0zke%0u1t0PnWIsXPZrY18=wx4#+t-_X$Alfe4I7{`BYkEL?tYZ!j>RBNs!R+j` zCpf3AqT}v`hbL_Ox%4#&+zzmo9VHw?Pl$URZ`7Z{9rp$ZhUcu+w&XT^O?m%kWHwINlBc?4s=x92k;R9)2)?2EVi{ z>4d`8M0u*CASi&Msy+vF_p3?s*~KCHinxJ2fo=~X9z|TQI=$BB55`V6BZ}gQ-D64t z)z7iE--Et9+5Cj=U-05^NX^@xQl~w)M)4tZIz7|mmsyoVb4$SBW(h{jDl&jnfvqHj z)|rN6Z)?-uZo@%W-zus^mKV;7q;ITDuk|T5NlH_|U!Ih4B*{t@j`NLF-5rX~+>Ui| zo7?r=V^9(whw1LLqa3V1K(fm~SR9>Yf3d&z8h_5HxMTORJ($Z>xP-?iz^v3C(IU1D zD`q6t!;9+7Kq_2v-jcdGe{T$>%XPc7T7F9vZNpnnUOj&0r7yj(Wedrl*G7QfpQA08 zf|HwV&?2{#4dt>a#b!uQMQQ3!CS=36Z{-2N107mLjHR~kU3Ax#uia0^!N0!tt1IVl zhZWd(m3kyT@rZjXDwYzfjaB5NSTysqMTau*RPr0LmaaeZ-K51OmB6O(;G}MtfJg$X zB*x{ys})1-unc6H4-1bTSXz6LEJK)-S9pn9wXo~yPZ>>;f|hHHEEznYrW#k6`v`Vp zBGHKfol75oS=opn!!gemec`3|Q9|?|^7Sw}Xa=g{qr~lU2}7%?nKOI~ZpMo&ADB@w za2EJf;a+r8PWK4wpz2zwE@^7vJV6TZofpNjMLTn7ZQPR5iu1t z$x>jk#Xy)pgjobScm>f);NJB30E7$=Uy8Pe$3W{lru$lU_wP@yI!qX_0TW>(MM~J3 zOp7Hg%1mdtkCrTVLTv}1^t+YgfTeOUo3fxH1#Q3D77p6haFGFft+RxZ)XKCPPp@>W z2JD5bRgT1w$Wj9#pXDa(oW&pSet%6Z`Q^wdIerj_S@vYNTq^q{am7fzmTr=%85ZWt zrkBJ)8E65(fKL)lXOj8Z6KhJb*bFZN{!)aPV2%x0l^Rf*dk2A202`&PvYB-|xoWoz zYwhsjkspp<$?WaE>=_pkw&w{#sq{+*2b*}i!t({z1R#hT@#DkM!!raol@*nmiYPeP zwTdfPHA5}d&@LNIW#bH1&a;CEIRb?q?ty{K=zwJj*)|e%ABLg<&wRiC#P@$GsZ;~5 z;Zh@V<@PlAfS8t$r_p~@nX{HEIuwH#YRuo{G}iSCVR^CV0G9BnH=bM>!PV=z!K1mg z0vVu5pr_mkm1}7(%rWWwvAcl5G#7{oAD>=5gX5E;l;e0DRR|Xw=LkY6joE*xxWUMs zYCO>UYwmYE5Pdv}Os8DWB@JqA;(Hfy2#KBdV3(p8VYuQd!<&#g6|aSLY>NiQ9aTyF z*qIgGWmyKLh(D+nY1p28htyl)dH#%-gapE#gQ1aos+15lPZ(X{2Y@D=W2CrB#h&|O zeHv=HLH3Mq-*tbKVUl_C3KySPP1W;Nh4r-B!&V{5{XD|Jrcy*RY6`?R+d z%b!NgELD4ah{+3-7ateS1%c+l9m5N@3@3r2(8??N22{<{$#({n3Up0jwn@y5W32w) z?#qc+*8VQ9RBfn%g?j3Z59yD%^+5!P6sR@y&1{lm>ukXe7MO=IR1aq>B|4FNRa$pqNtf`1ek-U2O}1XQBId~nVM5mFa%_FS>q^;pA-t#i zWP9rM-7`tE2p#`${rXNtoHeX{)N|(1GKi2oF7q3vE%HV*PtTUb)x(giJNe0RsO-e_ z6KjN&Ld+Ar-OQ0mg$dk}k>6UJ(4j)KAJfY(@dpFUW}v=Tl56|%k-0Jv<9rZHZrTu} zgx^5A8Q*i;nQEdSEoq>q@o9f@J2*Yz1-9Lto*6jX*rtzS58AyP2#=>$;n|#y{?clO zK>Wf;Io=xa)rP`-8>XSM^VRr+AZKv|Mgko17~;R2h}Qs8@&PSl;_gJklr55I$*R*2kyLeA_{oh(62frby0N$cp9%XwD7$972o7j5`*>P! z613;Rx}EB41PR+kjxJfMoL`dnOcIi%hF-xuV4?k`Vf$`CDGcId3l0QlnvdnI${RtW z!I_iC!7^qrA}21=v4#nRBu3RxW-G}NhX-L1C{xTw5=V<9-~hkqfQI z=?jWX1~#OpesA|(D_YxF^vZ9?XOZFG661mm%^*=?Q?UeU zGLHyEam<6c5efSkDqsu7h1|?$uGP6;`3?87<8M?l!=Pc!xVx_WcKiox{z)zWWYxP> z>0v+7CfwiI;wGxf|DkY#m-HnWawIX)N|u>;Vvbhk{*^bQAr3_`Iwy4 z*W=SJPB{HwqO5ga4G3G_HA6y;2^$Yj_y>$1_vh8VoHXJ^d(7lI-zK>jRDkD!ioI%g zbi)F0owRwc*C+r|l?oGeH+kNbX>=h+cc;>@*U*#k*5sYN3m?@4sA4wBIa_i95hbsb z&IcPi*{#?orA#mF;G%Y1uK`cF1B8HYn@2`vVFXUJpC(d`Lu=Bd5$@D$_ z9Q!b4T%d2)KTYyf@!IECb0SO*4x=>jam(scv+K+G$*#tyu>0)dnjUv2m}lLwD5b>a zA@obff{5wdDmxiKg|+3n>RS;(a|wr_5|k%<5uttFV@OxYs&1`2_{#7F#c!qT{|q!w z;DYVlySKoP?z;@XLLKIhAB3G7lP6F9@S~45A^aY?1a5it-j^#YAt7uYqk0Il1peHd z$lVp9iM%!mzg}S2$ZM1EQYNq5@mC=KJNVu)`wxxberRGZBqm<(XFC?#1Ng-lhj2e& zjd$^s;BdZRcH{fm6>yRpPV=+1RIygAJ+|op;d3fd#@c zG~Vp@kRc>71q^X$3izXWlJbHv3iR3a<(KEP3bzBlO6f%?rF^tth=)$nEy^pfmm1`% z&0c8LJ<@W|09H6({ViNAT4nI#c!i6glMxQXVT6XfHTxc|hdOA+KOq*zt6iQ%KvRyJOD04&sI?XROa5S1EXzrLEf9V^ z65CI4-gNyxQzvFv9HH0`>=b2 zpSqm)ZguvOlk*!)JUw_}@w{WSWBl0p=t5LQYt>GdlAfO;r0(Z!p+7mxbcIyoUnL|; z7s5{*K=&cB5k!e)ArCFeir^H8H-w zF|^`l@`EoV)ZLi4kQ8)WTD9e~ z+`%YO@x&)0u?Bf@)|AOn)e;-PXdPq&Rs$Q;nLRQfcrZS~AV;B!kn3@S`2c2kN)FO2 z;U8C}!^uIMfJbrU7Za-qvq}3<&eGS&-08@@u3(V@BWuK$?Vhx?s6rj!4_=adofeYu z0c0f5n0lyR>}LYeCx!s#=4A9LBHJbQgH6RR9h5{L^Dd30+I#sf17shA7kTLUT@TtD zz!p90n{Q-f!^XQY4x-=9hi@w9k_4hM|>{zcB%+G`U z64gnFE+Q2UiU9lUDy0GYxwQ@c3bu(!%!ce};{?y4UylTRCJrb5q0_$0TmZbURC=p+ z4=ViUpu*DvFoAMsk$tTL%1YP45yD-m#F{MBjWcF574gYc3l2u&bkZ2LWeydz)kfyj z>O*Ejr>r()7gJk;+LC-WR|}fZ{)RdajysjRR6>zqJci9Oi^{p@9o0M9_DFSdWciziZpw^O1&uJSuj6thSPC$hFXm|w;opEr| zkD_)&c;)}&=2RsNEsQYY5Lxe5f_60w?L?sIQX!I*1BjeBvPU4c{#o@kylW-4P<>RG zwAiBjxP_;6w%BU4if77k2mH4VE#Il%z8mu?-PE%_NN*Llp=>z&O$?8cCOP}jFj_N z-6#(9XsFT2ZUMY`lY?QcypfU+j(PkmX;#x8v>Cu6?z$3RUM4!^ki|rhnuR8U;eefI zUeOI7hbl7v$wyZ;+NdImNuiWVrvPgRR01?svFdnMbOEt@7|{jp6A_|`EpoV$(Nr91 ziq$oe=mow8pE&ulUj)w}_JoCP7273K#d?7-$|K#@M{wtQ-<0*7F z|Iqcp9>H(Y{lc0`Z&WMwiXh{s_6VC<%7Avo1gqyxhe3;Euo{&~Zqq}b9ACxEUQ$9D ztUE$;D=5+_VJmoFx}lD~o{%Ms+1cr32Qw-ONf{Lz_E)`O)4oOXOz}~fwFZ3mbh96l z@D+G^;3={o=jqGKS2KX{JDVyNrf4XGg`mdyg#l?&Vh% zqzCoeOEL|fE71~zUW;X?^J$FNwVc@}YzSC;o36If4%&x(hvXR`fDl09f2$-VO%Ukl ziVO*4vEB?!OQ0U9X!vL+*Cp1{6Be+ySms0bVouF#e`lh-PUZ~anU=g&pCMg59Rkb% zg2NUT+c!`*UJ!_<>8-f*KRS>jr6u97vc(tE7O0xE=gTk3IJzix z;jpys(zrs53+Vs{t?<0lH=vwAH|FAAZVJO3^WB)EH=E0ZXEaKOiIk?KM45|Q?==gg z0#{kG6_0RoBt;UOPyfn5hSCAFl-_kEF!bpgoL48t0T)PTY4=9f7%I~+@N~lbeaSwN zGYR*x(T5)UIwbLVpEDVPN0{eJ05^zDE#Em^$vPPUG5G>Ijz_61d>6T-A)0a_o%V&JEpl z#4M~4C#Pi}{AG69dG^B5oXEDHqvxiK^Q=ylt2`P;*xxwS1R$B8>m+ZInI-3%C+-Zk zzeWX|4~93JxbB%3Q2W1c(&LwQ2o8eYzQ5-BB|B56Qqtx6X^B6!>yGJ17G~D`i<~reW;5V49!V>`>nV7Sm@Q= zQ&!fFy-nQYrHzkwE+cd?%`j|Vy(rby4I6`~1I*GC)!tjK(si4>Y8g)Ks=y+E+siA# zFI9s6R||_1E1DbX*!O{@Xumu!%D#_Ha%;w6-d?I-axD}N{*bSSj{k&<);44lVHd6f zmOa`Fha78WZo%a5abb;KG4pp9PK+eE0TtsL`xCjy@WvcGjhc@X~aC z@^Txy6n5G72;WiSaS9=eM>5SycfrRuPyzJ}%teF0Tv7Pl3Yr>vP4fc|1k2JPr4i3O z_gwMTtsP`#4(toK($EVhlx#8R zI#6ov#J8(`ZP|$SnfG_L$Fo;pW7Xb0d&<|d4lN}pgJa-eCq92MYJ`~FS#Hmih34(U z+(j)TcV>cO;(Mx@s_yY5hi+E38j+EcV4$^DZtB=0I(qX>~P>WqCoHZaPFST(j#&L$#YeLFtw zzSr)@Tmn?D^!X6BV`Xqy*6xIRe-QIN+-e@*0-zBK(q!)k6O)K%bRABt2ffo*>9az2C9KYX9lThJ&<1|%8r+ple|d*H6W?!L=kKY7ZO z8Yk@G?qeePHMy`x@DTH`MRnZT^~dhei@co}uz^F0v^(S?03w|4Skbzj!{pi=$z>(7 zGASvkV>L@ni88b*KAV9dR#)-Z$Z?{(#usQq9#qirw@;3x;rT9h6G-uhv^A05j%<;2Gj8H^Vr83MVX=l!xJ$JP)HRYSRzl7k?z}jM7l#*xIG&L^jzphOzRYx zC^Pv$O2kZb*Iv#&IDSFZi|;OIXADs4ZL&{p3i4p_rjgPSBjq_Vb$kCtk@_o2C}qj$ z*Ma9yZ3Q%tM4R~ojqJ*TU$t-I^PloWiO4Zj6#ckW>w?T$)HgvgGWf58{kT5F)Rm|} zLz2E^8T^JZ7UG!u@49@*(Wa$Xa@~bolw#tfyB+~1O@jXr>jUIHqghdPYUy-0b?Rl} zz>L#c>W&%hhTKXC8uCE0{v`js;D}_6jCpd+_-U!B+xMa z@2=T;!g zM{G8R$O%!jC7D>?LV6OqMDSqN-vXhLL0f>uG#i%!B&2}ucwz`P2^> zDGSKQ=^0~6pGT1fE2ufdw70D6(AHkbs`@7|Ft|Ol8CPKR&HjztzYLHg>;As+^4MCe z4b@27Qw-KjJ7w-+6@m)=%5e$?P~1PPR-!q%2c_Q09o6pAnzBZ1PAkg zc+L?*F2u-`dy8@?u{=_Cb)s){TCh0{-DaZCYsOjQC*h2qUh~NMiT@bC5*aNrRs3!5 zQD`~WKVeHLr}2I{bz{R5yyDQ-3SKP9k z?TRy8-Bk;e9=d`w?!;9>XQ3OHq*YZ5e9&_X_gQo16Ekp#G3{ z={)&mZV40)yaBAQra+9om>?Q&o)6EOR@iV!6Iqn6!OK*4ziJDU&{>p%U%VWdJ!J&cH!jY zWH!EkRUe0k#Wh~LNDb^Ayy>6g`wjVM3`hPTVL-(>_XWl~tY?3A{h<%W&bmtA721nB z+TS}XV53JN2oGcMZyWK#=CZhdi;tn~8^SX%0Ae4PoS9t}z_@F_T{iOdci-*z^h)X4 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 diff --git a/content/pages/docs/kcl-samples/screenshots/countersunk-plate.png b/content/pages/docs/kcl-samples/screenshots/countersunk-plate.png deleted file mode 100644 index 78151061881d9dc6b9034d9fc0468e5f67bfc810..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58116 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

jL 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ⅆ1e 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 Ezi0lcF#rGn diff --git a/content/pages/docs/kcl-samples/screenshots/crash-box.png b/content/pages/docs/kcl-samples/screenshots/crash-box.png deleted file mode 100644 index c16f011dc27bc9750e8049bfee12e4017f9febd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56409 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 diff --git a/content/pages/docs/kcl-samples/screenshots/curtain-wall-anchor-plate.png b/content/pages/docs/kcl-samples/screenshots/curtain-wall-anchor-plate.png deleted file mode 100644 index e2d4b7655a74941aea41882421d385ddead3d78a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69598 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 B>ZSky diff --git a/content/pages/docs/kcl-samples/screenshots/desk-edge-stopper.png b/content/pages/docs/kcl-samples/screenshots/desk-edge-stopper.png deleted file mode 100644 index 8cb1175ce035374d774711506fe7ffebfdd78e29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57392 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 diff --git a/content/pages/docs/kcl-samples/screenshots/dining-table.png b/content/pages/docs/kcl-samples/screenshots/dining-table.png deleted file mode 100644 index b5052f995367f15aff9564af8e1cd196ce311bf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46941 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 diff --git a/content/pages/docs/kcl-samples/screenshots/dodecahedron.png b/content/pages/docs/kcl-samples/screenshots/dodecahedron.png deleted file mode 100644 index 78dffe554e4589ef1fbda59f7d8158295c671d7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69304 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 UGe0l$;YZ%o89%6fWd8F10J2Rj^#A|> diff --git a/content/pages/docs/kcl-samples/screenshots/double-hook.png b/content/pages/docs/kcl-samples/screenshots/double-hook.png deleted file mode 100644 index 092c8feaabf314c5693dea2274e0a670ca8db10d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55338 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 HblLM?a{^kW diff --git a/content/pages/docs/kcl-samples/screenshots/enclosure.png b/content/pages/docs/kcl-samples/screenshots/enclosure.png deleted file mode 100644 index 34e161bbae5e61b90a580f18b395f7be9cb20f68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88871 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

S7!4r4e$O ztfJa+Pj}o?=N%=W40zLY_uY++v?DNUd7T6~xiD-@Zbm`{T-(u^d%NYGoV4pU4Oqjm zKQR?8+%MIvSqtmG^cRk3k}9;jc`FC*k4YU2|f)kPe47p1Evpj=S`g|Rjd#q{uu1}MG7660LQ?T#61q3OQ zp)j;$+rDD}+Bi~TFxhXeL$0vK?ac^_r9T}OSuSj*>%l#^^r{5OyymrfK}^MMF|P=K zK`g@=2>oyasc?RXugUGpm4k8-ClOsPlLIn)4JjVp%UnGgn7KKt2G&$E*)nyQzo(-< z@6jVw`cPB?A-RR3@~~33abLIGE1T*AK3X`x)@4DEN)v)q2?5co+zL&m%*d;MuqLnZ z5u|r%szJ&M1e0lQ3+S7GckOQx%vL{#T#km=@|kTD0ahoMJj(jnxMiF^k0AUga0Too zyjNJ7s0+g+85|FgD|8{emh2m^>Q2|2(}mhG!K)Q>OKv4+-nTg&%DEr8;H~tV?FoTc@mbs${iEb?8*%^jk!f|dA25wJ z3$>8UyQ1Gt0++Q+Ke`jp4FFr$n~`rw`}ZOBchxrBRaPss+G+nx)cy}uCdvUfH7&G* zFdJorMSR97naH9D|FLG?*K0bI6FDPQJHy%j@-AHHxnmst+(E42BaI7dF~$raH5q%gt(Oibss3xLX;Ev(Qpxbft8yK zW4frj$o|!HS-1zJlH+ZG1aPZEd0j$*KrvpNE${8bD9?}r`c90f`ikpWvL?AR*GAaJ zft8Gg_*2DjB%K2^Ylj{id?S5TdHx;JYau3X%`tj0jI7iJLNm)Tpe4$hq-mY_-Hi;)P%jWydxC3ejf}D_RBn z29ev*2$?uzgM`tH+6yyyoKfG;&OO0lBP{>9aesHFm-r@f3k&c8dfKNqX0bTRuIi

gD3B`>8LDAcm7VwP65335ou3@gjEE*qObc#s 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

4`;XiVCUr3)ps)IE-e~;5!7{{qv6U5i~8JZ z=myHeHKRmI1@2BdVzA2rmjE8UBVrd}cMV-8Ef1LOl=BUfh+B@pO`lZ^KOWw_`Qjf* zJ7{u3oF7_|Xy+Z~02#n|SY2THaBAAM_>5HeN|*t(_>m8s^D=*2mT4K@h=kIG*3y4+ zZPku1_Gyy=ICf=LTnQgUswV5gbL?haz*qy-DIjCw#Rg*@EB8x#?OyoE9uN#z<3Cp? zKgW&E&}z+fb@QD0_OiP*VU|Ubx+q<%-~`0w>}FSrEHOyORu!VflzzUZ?@1`v2B?qh z>hKg#x|C!nZ+IY++EOO@}BM(fB@>u1+R+XFjre+Gxw6KRrB0)d%Veqs_PT3 z5K1Mc@==x|nJDLVP%L)yoUkGH))l+006d0UeVubI8|AiLgJj1}Sa6O%(833c)gLq@ z#Ofhi_8%qtOW89i2+HOJ&VT@hWkTY(G1*hm9dhMZMz0A5MvD`1;j!2FD%^UcCC5_W zU`ueKXWUwOv@}M0ZjrA`wXc#f{DHjXg@y3-XvC$=+Dc*8dUJY_MCew$VGcqlR=GJn z>_Ve6cK5`to$V`E*$*yd0QXHo)7dl|?MtMTw!vGI9qMIIL@UkFab;wcl(T_Dp#LXp zQC}z>lL-AZLD^!2ZchQytL{ozZ!YU&wL<`Ya$OO@3IgJil(J=9qn~B}7#eMkhPd~6 z&J*tE|Iy*mYF4oV6y{%4&FS9GF3t$|V63}l*Mq{jk*Sd^9Wm|{%$q?V$NG8rZdS#> zriD|mUdW@d4Gsk=`{3O4T&T^nm*NDgUoBb6Dj@;jI271;J7!fU%{IWM%bUxO4J1t`Q9HID z4v-DNO3dDea;5PR=B|Wm*`39Rc+eEY5>w=y#pEmI_1OE!YvDNzk^qu{# zvaXea_m&)lF^l^OzrU6g*&{9sz-|WSq=PRt#EvIRAM zsO_6kZZ{EeSdf-xg&D~oyF{LlI?bc~ofaCrYNLGxfkNc9G;lJbn**o_KY5Gw zlYhut?iI^<;o`)}laGQ@2mYa~`}orl85H6v;VCUZXl4Q=Akwc&?naje+6Y8J0(9h? zAwp)CDRhDs#moM;ySR!nd0C}D{JFRIy?H!jj!4q`Fo_9G-z11h^l5QIk~hg7Z-b-Q zXAWZ>;2A{1Z`>tNrK=5L-p;UqplJPVq^GSb`h?I0TrdM)8x-okC;iqn0Tx7BO+S_c z3-B7BpOGOfM8TV=0=i4TiV zEF%C8K(`#yat}^0Y652Pq&2G;M0>hTq#$dAkHMPyB)63W&~&N@+Tz1`cb6%qmrSrJ zPFE*GzD7@%bGm#Wvj@dPR+O}lf8Hg`yj8FMb~=+|RMQj8^BsGX6=4)XX^&id!W8u) z9O!tcfWQT_^~N%fz+OQERizR`;=$EHAYt#Z2l64pO=~zsUZQYP)@Q@i``^3k4-@`; z!7w;lmiG~i$a0Vdvw^fGvQyaQo3j=9C-ViI!pTI>4D3C`l$dlCN#wiM>57)0)o9{6px3l zlS*4S46HBKNo_Acs5xN2V0%?>bv(!dgC+dS+P+v!6RAnDJ}B?%#~w-9BdEd^#?GLN!dJ>?RG-scJ@!lf&-&fkQ#Ze$a%ND<1!_ ztS(MUW^B{HW4CfTfPLvdwEli@t@+67n0 zc;TX%TZ{H(ZrQ&8bNMiZaNRW+eDU60n7y$Tq1xD@aW782;7@sX{i*b@_+WD zCj-aJ7w-L0B2kXEhN{oLalZ~$^^f#)CX$pJiYBl%K;DQ-u{9it$_OvQ!eI3&1_RojLPyYJ)4Ieyc7*BuK{ig ztf#8Hq=>lt(WmBAbPQB%7^(hoCUoLBSe0lRXB5SGPY~^ za*OjX>iwsy7ctmI8-CvuXyrMS#GQO1Gu7C;eG9^G&g2O~>bn)AFM$tt9zZJ~8l%?- z)qWa%VD+9utA)dlMwhJ&&PJKo_w_^9fBcTT1FedYszcl0m(gDWh!$i*4bAa+ zzSt*TZXJ(E6?ZN!KE7#N{8o0zNd*;wyQNwWQHxerqZvZ^I+G+EX|dze2p2`wEZh=J z7Q&`AZuH2`Kj=lqZYS`JAlH;L#rv=l&FVYgK9wlP4tqe6{m}IYM9MVx0ur#N+#rO| z(lbFeS5Omp2p>AWaL$!Ng-e++#n80fG87wTwU#u243NHj&_TK+-EAI;54QGyl4Io8 zUq1M0nMTLi9Q^*PFuSl8UCpM@0y-{B2R5yn4aq|;@=PM#z6k;16XG3qR z8HC~Sxbe45_^j`?K2I<9$*fhh7rguGjH3&4zL2pIum;xR$$q%)q_H1v(;L`24Hv93 z*gt>8^xPF>i{lOsPblSZM$BhuH5^lgrZiO-RlPfB&_BAMcS+fAvNKN0p8n12oB_8o zRDXzO4=Oco6KB8HEF3zXx~L;7%erIq1h<1zqB9N`WdbDdR<$PEK;!3&=sF+YK?iu` zCiav^v%I6q9WgXggnmrAtdeAQSbMDghb~A<0B!1t%!@U9gaaUJJmwC!O*6`udv*$$ zW+9)5{xtf+tujzk??RSl9-}!()18GP<6bb&ChjXv1LX5@ZdxX)O&8bAe6pvH(={-b zjjY=Sco@tm3ZkPI+AeXtZ&TAOE*9cjWHB+Q@a16Lg^5S@CqBvfhx>3-W!NyRo=zfL zA*c(|?)1qYLfAhKwLKkam@*F}XFhgYhszU|?AwoTmzlVUf6TjX#FhWpyJ`ArOsbl= z5Oa+--NKeH$S`c=A^8e}e%XPlbp-~v;}QU@aTeJD*)sY+mn&4pki82l*zttTEX!{) z9;(ac>8nGNit{JoA^{6x8YG!hnZ2NXiS5zZcNd$G16_n01R&Vqt$LPjrv-}iKV2z} zn3E=S%DSxsnbV1_5f+IkMk*pg@vG4G%~?QC#A|i)y}0AU;!4k?O3{d-h(uYi!s*K| z;e}B;UKh2H55WzgF|BmKML9*+jZb6JTBtVLdA?}I>Y}|ea(?<(kLuu8poToyj&IQ! z9yuaRjYI#S`(I?|hshB8F_p}=4Yy;UvWy)r-o3kR3HZl9W4+liKmY?bQLtVAC$VF| zT4RfzUVQ&$dDmUL5dMi8L;M;tM=P;mc~ZBmVCZo0fQ-3;?PIP8K#zDrQo2QRW^S4j z_jfayeYMVW99!Mvfjn&@!t{p?-pKM`SUq8cGToe9PcrLtVR(~nkp4U9ZRjmpL=>mO zC8mFc*=%70)jY~gV`U3Kpd0^6jRPDL2(Bgs@S^PDMNiy4pvh;ydUKgri)4UrCr zi>JSFZ<=pP(b%*~4&Rgsm^IvQB=7y}?3C8Tv-x@$H5o7Y!wu1;+&8(0zm2K?14q-z zKr0R@VkL+>{#dsa{1!%RcZ0?XAoQ<#(enWLXTg%Aw2T3% zSWcMA7LmKZk3s5o0|i{bEDBy%K3c+ZROSfk5SS=IX!^*Tz#1{gL>$>>%^{$(${&Ws zpP$7wk_of0pcwf*gJy_BP#K3ZFmr9VpL%^|z{51gbw%oqt=-CrFrEzbJlit1R z`HdBKrc~dFm}O?C1wIJ?6YG~I>4uhT8jkQXevY}WgY0#E?PF-(x2B>)8}d;MeWfGs zLx-0aJp`tH3ff+g;i6eZ*(QwX@lp&JTZ39G$!rrYdMBx#R8)D~W=bSr{UT5$4u=~6 zXnIO{7wPbB$T#O8J0u1b^ZJ@(z+1vuGL2UT<~HK5Ps?JEtW$n*rNc0v zVe-nHh5<5Wu_ischIq9A#O>gO>Hl8H%GE9y5jIA~rb6u{ju28x3`}|hzXBUqFdW0q zMl*TH8NQDfVeI>XI{6y29*n`*#;l5N&sXsC?*e@U^>Zhw$VM?~E&giEhN=5931M*K zt|1{-(?IXcQ^9LZ5W|n-Yjw&oCKnzG+D*)JgMmCPO5sh^-X9of9rqR0pT=?Tg z3d1N-Pxc>6j!GxPMECb%!|Ls0R-Z$_yOqafTYS^)Vt%DMio0FAI@mCXv!thB7`w0j zlQM>P+-Q!*-O6#Hsgx4ZWOG3Ffn}H;j3^ZIArmXlNqYLTdq2gDRmn4ozzha}2LX1Y zZAlBQkDKi_Vp1`^#tb8IHJGX}jQUI;2i^5zQGK&tzo&|WDFbwY!IuzUpu-5xf_G=l zZAB=C%?<|^nkt^l?7uLi8m5C9-(FW$R_E-))!J1qW^%I3!oza;1o*XHjq!g2q5)!1 zdApBuwq=v(6oEsZf8*5Q2rur+yOV*t4DTft5;T*7frY1M^~8)#8S*TxO)2f@Q|tMC6@!9RgLb7B4&q+Y&~96nkQ$&hCmAXD zHWPupA13tfsuF2>JJFCXE35+UrX8ba{FkTIA3IA`RX+F8rOmlfu;H|bTJ(<~5ax98OVF%!%3^5|Yq9h6QE7Uj~B|e zf)fh8O54BM*vOr7;p(nN3l8H&WJ-m0m0NMX%u>Ik2asNmN9JDC_!#)`|>%ZPs10n?`Fj@b8i zeCI7a(R6NVfMXP;B$9>an28*o1Y(*~YGpPEGJP{rW~g3Zmz4*_RRw)0=?aZklug41 z;;Nf6P+`zypT*BAECztm5FAz#q|74x;pBjTpU0*tZAu`{-pbfI`mdNZTFFt~lz|99 zT{rlrbut^)C&M6c>(K$P{*(3>VQgjU!0WFs6$R@@`=1*lF<<7!sjKdPb;eTB- zX!)HzpI(e{)DJE%J+CmmT>^+W;;h)}+hRX!BBmt=&fPvzL;p*TbQgIwHa{ZS)+th! zI>yDd;~VZwR7DcnAGV%?YJ+gVf=(KqJQLKZ2sIGIs0)QjMR?+-+7XDXWp+jHqR=zg zH3=t$>lgPaUr{Qw&#k_1MsxI$asv1w`feLx0%|O^7}9y35zBN+D7xYWA4XA2%;(?R z|LBPPpGOoFuUg#=6Q|?Xzyg01o}1ow4Y8JdmBt|42P0xGYJHK;>qa}(4a_f& zo-pg(un%=J@$Bcgm+j!$SqvYyX8%g*Uxg+PxV7v|14cnfAx%oKNuP_OT22Ic;1l9e zSYa{E5r+al5$RXyJ}tx%61T*}I79Gt(}Z_qOaw_udgI=hLdG-IMM;G+X`I)$5eVqQ znpGT6|8Pug6y`f8KEmtlD;b$R{cNGspr-k>H=%+K@2$E;E372{+^=6hTe^L$I3@Xo z%Z}8LUZ+uD0JFaa1G4L2n3zbKgx?d9PY+nF;>HBwh%`-iq=u#e(N|%K1j4+Lw9Sf4 zHr)b`KKGP!pJ==E>}xw0PnM>=FK2^895No~N7W*$q1?t$g=GbG~&L;UxijN1fK zGw)Hb7x8IwL`pAUMttXn?m&mhY462c&7h^RAJ`g_Kxg1(~fY%8O- z#a29@{BhlZ7o+&CGN5*g%$UZsXhOl+;2of(X3llKTv{fMk#j{GYs%n=qVP*};^AX7 zE3nSQK808HKKSvI8{-cAhDI90#*fr+4~65CxzA~tWodL!>9Fky66jX&67MP}x|53y z0NeuY_u6X@k^aLq{ak6kPMVfAJ~f_o1H6}_7di#1F!(j}{?Ke5X2A%SF?Jc35gQ9b zY}HWeN3C(T_Bj$5(W%-PN5C(j5fW5L)Eb8h9)lVb|5Wycu4j1 znqU4;s`iG7RRN@RW8^lHKe`ghQqZ@EzODU@qMS{R3k@)7EB;w{m|x{y3!Y-!N**Nf zDW*W4OR0N~-nU)Jyo8xOBuo+fOC%kgDe|3qfb1`VrkcLXIfh~n-64Y_S*d7gBGXJ5 z3LZ>02xz@xM3ckg6N(VLS>1-!B&c{p^*XxUwoihfA=x#tqJoER+16&rm9t6wi8D3Q z9x}mfjsW#P*ML{7t}e&PIFg3lRpU$=SEg>BX^}FC%4anU7IQZm$!{7Ett-OYC0+N#%93}V6z@vAU9i5kYru& z?ZyP}eJ^qkh6q13lAcd&!t%sJ%YFU*p}63&Nx=;b1%(Y2y9jkmfYI+&dwE8T-}3@R z_mXi(K{Sk@)P;-A4sM>Q0GtoN7CN;YPmjzNlY~6*$s(w-y|=;)o%pgax)Ho17YEy- zjjw=c6pm6~g}bFZLFr1{zMB;ZhZZjRxo7vfO~W4Aa@7ik96anzh#E7q(`Kwl+xzFF zV}C~0{qB#ZJd9XPIzT}lv3OW~{nt!$kn6$!ZL=6rn7y2eg*R8m_ib@;>w8jCvMKDE zSmmFsw*~EI^|q)m0#$fu?+`Tw-zU?}15DcTa+4hO6)>R~{WA%t#y#at-8rNfzqw>O zeP6ybz#Xm;MjG=JVO%CHKdCRFFJixNYFd$Azu>|PDO}*O$VUlgC(*QmoN)j!hX_61 z!X>c5ofJ4w4+!%lX$b+2w7FbkvkfqeZd4~10c`+eb75ZiIEK0u2K}V)aiwa2gw>5-X8ITmQR)Hts&Z+fEF>Hqo*(p)Oz2J!q1)tPx<-2LqVZULv0WZWQz(X@gH zLxAOz$6mcCuzT9>37+YmklmvlM0)xuYk&~fp$wv~5JEET2$2nagHDBaGYHH;c=Xl^ z@!>yUywo5`O1wF-DGipy0$GG_tdsN(7g&$2#rL84V%Gfm^T!m**x~5wXVv$S(I5<^ zCa>IoE_wf#a-6!Hvdk5`|JF?~H}gzYEVUWhh8S5|;~!Wu zi$;#P;Vd7G9CRM_Ifo#xFOK{E)P#$AOMJw9;MZTD39Z7n2S8=5&iLZK?(1Zx_%4m4 zy<(B@fgU}flc{V`#4PQ&5Hbk7g5bm7PKwmn%P?64>*13O!*A(fAZn~3>vPPT1xPr- zLOyv)cQVv3J)w9lh6c>J<#w_qWE?ybF z+)(>&bi*~o#;vlFYG)_;*7Oxe&1B{LqV!JP8@}Br`l^9PK6;d`fN)jrxnS6cD7uRzY3KJ|3bcM ze+pHOe4R9C!6y(7nO-egH^LGUXqM2NCzE|Mkp`0KDldYv#!K-reyH~igibL;E$rtH z8wc2q;w7nkgzl>Gr^3*$^R9d20k9)@*R|ba<1RvLC#t|1T~%!wHh2NC9Ame#V}RGQ6)58|Hn5=SPN*jeM`3O!ylF*ElnBTJ$qyGW7UN4xb?Jkue`lz=#Kv1Z2ji4TEaZ_BPq5>VQ@EtQDsPs0M}8(b4gJU|yp4hK3s){Fo{;Ev(W zAy0>Y-$B79k*YG%+Qm>h1jcw`W4iObhP*+(^vZ|nxNFwHXl z*59&=qjZha@Y~}y1pBDBQ1(PZ09iz7-DoboEFoOX120hB^*uy3vWC){3Tq57f~3&H zq$L*i%joROgwX5f59;E7lssvf^lfjbhK;C2zw?_YTRWH&dO$LLEbcBq;p_EkD8RB+ zF`#qfI3{~Yjq-mXQ4drNsCn^?Q;S7RwZ8RDZLA#t@)S|K+)r3~>3>Ie98t+I>`vDeKQf<2mNOBPHftq^fH6; zK*OrQ-Vci>Q_drsBS0^q51RLE`MnI-(I zX&_r5MgJmbT!EGkpV$Gl%fm-so~7zb0Ezrr$OEH}Mw^_gXa-=9BB&gcv?9<$TApog z3S}^gm%h@Ryk(S8gQW}zY^+ll#DUJUH%2}18 zvx3{03miFN=`%OxJ$qY+rDyke7^XMwa5xWg>%)up8?R_^Hkc*M+?q zka7c01u=}JpUel?D8!BUPAhVPGnR}1aZ2;LT-YQbA}x6w7K(aV6!HHscm~fLf45-y z(ARc2N(8!hziqFVytaG; z(*{hcw5HlJI?%K@r*3inI;XdebSq08T(&~O>KGi+ec1yBc~05i!W0WBW*R{3>fO~z8~Zw)cOGzZsnMZgm04Ftwo8iH|LY-Yi~fFj+`|vN z@a@i>--{>7IJz${=IF&SN6)a~#f>CFO~aI=a+O7h6ef2^eTmHaWx8SBDLo!}=MXe+ z?;Lt_IacDC8?T(r?HzF?F%5OxylYhm0hPE#6$5uscNhsQ7mkE?*d+n5rJ_#4cSc^! zmN!)a_5f}IH{Us0ix^>sU`my@t z&R*DLbOavP6~6a@7oLA(-Y4Z5KiwCz1&ynt=&R-gLu6-*zIWb|xo>o1O^NE)d}Uw0 zyq82g3KnE*xokz#=!>ye5Sv}Gl-`jtT>q9md%9DYJ7mIqMt}FNPW<5Rs~5j9k4Q)q z@;=$Mry>Xgm&D&JGXjtCYR#%aBdCG1jxlh!XdZu7tBZsfqe$NNH8N1qG`kU1r0jt< z>+}|SqZry{gslm*2%rUDbR3BG@eo{mYO#R@5+hOskI7}{vE;<3R#3cAm00tw&V6Dg zHMU{npbe^p1(MEqc2veWR6djON5wHn32YRSk)T*GHU!DdzJ2>XzjZundWNFhr5M?S z#hW|IAPBI+h}{7KiN7?0&!)y101v^Jf;SWqWq{*H0FNrUfJFLlVD=o&x1}NrtzWJnui*ZSiX#$^%J&x8v@p?G^0ctFcTyg(f~HR z^8{czF-zvSmbr-8C?kxhX`Lgeq7QCrN2H00!>hQ*DL>Yb4h} z-&D?GgTW0(0=ZTaK?kPSjVdlOMpd$7EoN6p`umi&VXww15pCdL#3wkxH=Oe=mcYRg1 zzj5z?xVZn`G2+VEqkGXX4{fvbY;ekn^JzmG5k3#1f$?RrM=b&8FPUeNz0fM_8$2%5 zGamB{@x>4t2H0!$!bZ~wfTYnwSm$;kzpIh;iT$n`=)AnE5J3JZzv$-I%4a;7H?)mU zsI;!_fRFa}|M%$EcYOZV?aR_%iK%-!rtT*uc0xmq2QPQwkqr@6VC*=pm9M$duElY?6M6b0_1=@R`z(EgnRPH8tYo5ySz-DMWZ$ zw~|5f%0)8ke70C_ZHSQ^W4{;Q% z?xE`QhyOe)A@A9_Yx*u8&QjwSgcyK1(v~nv%~) zC#i8=$+=(L1AS3P_gdiFbc=8Fg!?b!q4IE!X5QO>JYm0R8N=4onmY5Z*fZGd*!^$$ zOnTMv@&?}uUL2IBF@&)V@5gQ-9u0v5|Hrby)o=Z4$6xZk9(~_?cTIu*o#n`#`t4dn z)qj%+HvDMqcW70F0gP`2c-novp~9vLX3iOqdf-#34@}f5!MGTZo8S;p(apw|Py~ur zSBA2D7$xozDxz^O;*_9yE9Kc^C`CE77{&@|5_USeq35`6KCz1um_UfYBY1-ZA~=Ey zVM*`_uLirv!c5qUXKtJ@e=ahw?{4i#yuG_#18i#If-1?r!(KFw`gcx^?R|anhv9U9$ejlFc|I zD6&xA+m4FEyg@=du}4)&@8mDzY9(AaBrO=jCD8XUv~Zr4pBN?ip%wC^j--n83mBKV zJ^W+BKVXM^F+3UCSswnynE7{(3Do^k-uE?@C>d7CjbQ@%BlzoeWzIC?n!@oz;x2Dp zI^euB3O8q^|GwS&)N3zVvM{RhrPJn?-T(jiuMUC}Uv*9e5~Vq!bou-a=XDZx(e2(n zOlN8alWXWC@9T}R z88y;0&Gx+BFd+Fh^lJWKNw%W$xPVQLbAwGE&BQBbA@{V~eNYhE<;k_;=jfZzN zrfolIJWd*qlgPu1t4?A??`oU`!I7)+_DOWlfXa<}LMM%fXEja+n%=X4Q*ttbc5e#r y%t_;M(s-PV$Gj29$#~4W8vj?~vC^2RXU3N2^%=J|(}(|t-}L*T@7#FLBmVm7Urf49;ML_AeD7ZLf5wcfuSu%kJU8{Z zXa1;B-7XINeDv#|ooJPln^&JayK~VCv-ZrZINOPyeGO7v)#~ z_>;ehe!INus~JD_o9JtD+{^ht@pyP-ckUO9e&X@)gIo!d>wo-C{GOeLkAHqK#ftvC zV}9oUvneWUs~+X|g6x$yF;!pn0K zlFFV8DQYQl%t}wZGn>u&5*!lAYMUE{;oL?4p=U(N{HPj`ktx3A3M- zJNZeC2VET%_-WG4Sbf9w>mM09cNuDrE)OnEusoSy`A0(IlK95L1n2Pt=YG}I)TZ6K zGKGD~p?=JQ;TXN{s=^Nb73El?>d>^kp=q}r&4*iF%M5pY7w+0duWss`?+z^BwNW{5 z8QqWS%t1Q5R?5Y=j924tUyNUUVP|Yo=biVo4YRc$#yXG1UVAw!_3qq`zvOoO5Yh2g z#QRNZXNlU`kwJ^_h+>Cb3C}K2@EN*8;`b+~?o96dS9!|z@{|_-%Dl`mYWt~>B28=U zGX6=2i*95W-MA6%t_gR~#Bb>M!8r*lbuKM1s&!>-kLt?&Bz$tsX}3h3_iO>yjMisK zRki}tcjHuahxqsAiYG~GJhzbEOX8QLKePtXyGtS3m76pxty+4%?N+uF7n?{-TF0$% zw01?)jXBY2k3@XX_3$yRD+_M!D*C0A*#25#&tlp~+cLE+@Z9!ErPB*9PH%l$-8M?y zc9l)UZ~F(Pl8GHtZehN*c8vC@q_?fq_b%R5_`|MNTI9cMi^kCHw}x zJ-!q)QRj}5cD}T|cAVNWPVK;Y#jH@ie1spNr2Cp*J~2~G&xa+HoM(;Beslam7Omwy!rjZFXcq_DL%Df%u@?%dxS>BUn6Ue zQir5nE|D}hU(xq1ULG8Ja6wH#=;Jf0X|uOQr+sF$Z!^~5bG0r<`Ld?ZmF$`KWyfH9 z?rk*c8|mLTPwAa~20ruLy?v$@SSA_9MaXRt#$5N!+_pxYyD>@~?mQBHwj``$toC-f zcJ4Y3tJ|n4YnQ_}wmNzna?;mroK9>{i_(Yr{pQmsq|IP1F zwsu?h8SVO(t#kIIj4f_VKiBBI#1728tTNe@kylhVsio}wC!am&%|1F!%akOa z{2tjkxdJK2{MRvN=jDc_b7zgHc)s@Q(5v*XCuuJUzru$ec71G2%sQO0sGBcm)oO82 zOgF^?!0qYE%XO}DLx}I_%9DPtBq`NpyrGfBSe^wJb!+DA$!|Dfy7Qvx&f-ifO!}Bv4XE?r%#)2Gko*p7{9Bd2(L+r%Y( zVY{jYbgYYHhe1C*v2Y_=|9oYq#$?S%Xtw?~_s(yfKjgZG%V9V+Q?%EnXm%#2juD0-(}Al=hX1U| z^X+7(ewCjU)gX@D+AnEkt4_bmZGjgrNtExz%1^Y&?iQon()iSpn|DjOonPmkra$mv z#&tc*eZA2ablTN-9r11JtMcE(>ZtgI;p5a5QF&}H^b7WMS|`y$8_dCmVym{r zy2!9Is{UaK9#DR0%uCymeV-=64VyBSX{?U}E56JWf4%`-%GH5D3WNy;gH#Nfc)nj6FdQ{gZ zxa;9}59E71EX4$8!utq`=k#i$i?+IFG3|T430_#!djERO4;ONJ6^|%5GD0%LW8z4K zUc|$H8f(A1*-D}Mty~wM+4ddk&K>#^-}1|k`W@{M;Rkw}X|?W&QXg2?gF(msxU?sm zt*cG8)dgb_1~ivT!cGKR+Q?J$zK1NXIoi{myZ*1E-MePeZwHR4$B)Q238%*h;v9dB z^qpck$={0|mA<7ab>B9o_ONVzsDybsnxHGxir zJRC9Q`+vTII0Ps7_c75c;c9-F+xAOxL?3544rbM{k1~9|zvGRZRrB1BIPH4*sR-+$ zh*AU@iQMScARKI4@{c^e-rwWj=P@g<=^7B0fexZNzsqX)E=&7_q?RpeBW)GTD$(7L zcn&*w+_QIw4<9b5JX1JQ(zS-_js!2NJ=O=Nwy3psa!%*>JMm|HH+dMmT~_+FQE)q5 zKT=a4r+uf&QE1ARgGaZvETr$29*-|LX*fkVNBTT)f!mqlc^BIU5w?KeKKy*`-$F9@Se8?) zhH)B=X9_FNw4PrP^Xbm$+wVC~W;uIrIrVH<+b?3sv2CLtlLWj$?+Cn|L_d*#Rg0sj zrEX(_ePhbL@oD3#Zfvi*v0vAer)?U>K>n&T;;w;Yo+)q69ko)IyDBuIZH}R14xNAk zl@)k;Z@HE~y7A&lUuOvS^F8w^khR!emne`Kj0B`4&91!EN2&;bZw*T2)xA|#^$Ac> z*OM7-pBSqVJMBg@j4RgleQf<e@l67kO+up1YU0W#VOI)qRNs90lCpi7(2WDP}dzT9A{r4zE9 zo>SAa*@_qg2hdPfb*l`113nRf!A{Zd4J}z*j(mG`tCJTL2r0ZQ^1$A*K=$1Bb>THj z6)tclV3PtY7=ru`(7T=kq;_3Um$|}R*QX#Ug%|2w{A_sV@1-2)wJ{d`4Ma7SjgaOG zIUWDrxsc3@qZvYa+k5(s_nc0n93{s+Uwh}q1qseue)PcJ)$`&v<80%&MV;s10M{)) z?mG?cv|spkd1iZJ8{^mvK1(pdSmFZ?nkclZY^w~mU@5-2K7P$zV_uTryy7<#OlnJP zM;w!!^oS3TnX1p_=^S}U2H>k&EaSnOSJ=|XWoxv6^v*dPF=8`rzLN4e=Nz{QRVF(h zRXkRcA03j|=0VJ_sM}wOIuDc`Xuh*keNX0!sB8C0&em}GSMp%2jLQ6NgyY+76BY(A zhS#mT9n>0r65C_A2vc7dZXcLaF{$vvqzpkKj90jc{eEsDE{(yiIKY6i98r;&d)5Mx zCcs>(bCx>eG@Tdp=K{$exCY8`Q)|^9%$sWoudhA6iaoaRHiEg@!?E~IzC6*-Xm<&W z%_y^%?VtM2ho!lJW;*aUg@3Y6B3#2ZYb!rQ!9fCmo4f?Z5Z}@sAHtM_bh$wuK9y|~ z(ZN8@SG9oPMf_UcHu`4wI9`8toq=qhZg4y;{HAAp*hbgi&q=+Ch~qpgfVEf)7?x)v zd?(*t{%x7z64`6QA_IPTX zJDa-si1U#v4TjU$_%9PXAIz!v=`&#QGq(HFcmo1>1Hg9#77}AMQ9um(Q7X;#XT$pz zhs&+umI!up@v*wj3!X1;&^zCDKX4%brrL;KOW5nxoC*QrgwIsiTfWlXQr8tQ+!u_V zo>C>f`-Z+DKbnwGuj(7Ix``4nR*?9`2{p*_^G#w65J+_^N4xU~K}vHydyWGt_8j1H zp9^^v?|G7le!rn$kh~ihtbah4A(iH z2Uo+-F*BKzMkcgG!d`zsh7@2XWOR2X+)jgf8J#))<4(2fh7@(@Zy{s|6pHMImj-bb zByWI=PVD?Lu{QsI*?pAK?&H4_E{Z?S%LHX~G}3tcS6M0jB(d-Lo6??=7v3ddpLWCGfzT6`tZx zN>5SfIX_mSZu6ufO77Nz5pfo%iM@qavECo7KlXr6lv06A#Sqja*7>cahkE0F}3^5duK<@Z!|!kqzW#Ehs$ z5KEa)AV)aSfA5U$?{QwdI`Icmo)H1Y`#1FlbA?&Q-JIb9UES5a;@fin;fjN>4h$+l7p!hXTn+}7c_s^SZJ_hN=21H`dUXd-wXl?P|ApzYe!u0zzYynH#{?FK+)x1Lv4%w@GM^HCO z=@xS86=f3#aSZ8%$?v00n`;pulPq5HbCN4~nShemye9Z!`PyUhYX|J6V!#xO1rOsS zNBc`D*W5R^i!1(bt5%_0wIx>+h96l>`CeXIM9S)NO@HAr9noH=n6IDb-cbnB$ou+Ni6C=8eX3WHcm2Xfr06)D#sGRWb6+f1JuRD5aDgDzY{6G4yhH93MLZwu zNi9S`L1J~XE?m~Q9}sy?_kA^$L`IwiwHj!q6R?_{{n`~#J;bhmO^FZTTlbU5*I{6m z?{~%w&P1wF4I`sRmj2s5-lNz@xlx25DuJ;pr83vXQnkCa;Grh)y|nsA)qXDQ$S<$-U~k&ud+ zjt3f|{6R8Ph<)W&J-mC z#7`M^0T{`@6ER4+xSc!HwWeCIVu`QL$rvlY$e4Tz043P(V_jT}?Zd>A*c$f!Od;&+ z?n+X>Q&^u%-7c82e7z&z(9?{h-uZp3>+XoJ+3|9M;K2tBo|IXQNO*|W5P?)q^q$l5 zZ_2vdNyIM^R^=_&^YIxM#;b7PtIYjPYmp5${0~EnP`JEK-F1;j@&OL6PS#nI?L-2+ z7XL?h81R^$NXZEp2X^@(T4e#hF64APA;ovRlkgd@GN9Kkcik1LsMvECQ<&Eh^EDJv zv+Z1q^PH2A^;m^5GM-U5l~BJu-okm%zeJKI_84J8^-WpuTiFhQ1X0#dX@EH>t2zR> z=}8ga3`ra6Im-f|g6O+Am^hVyYFZlSbbiK`JIG}Du{c_6H`%xQ%u)bVX1hXtKs92h zB96(UXnXaJ>0Q9E?J?8QSogKqw%qpNw0mY95$zIzmTGkAM?%w825Xw3)NpA| z!HGHIKr5&U#9Cunr2H}x+X0#2*rbA6XNn$0Y^T7&sdVC(@1+7Bfi6E_*Eh%M+T$46 zODO+LGFT>A9x=2%Ld3qauf&;+for|pNcGg06c|n}EfhsDirW`12LIU}0-6~>!6YBA}D$u87 zk1c0GmQfi?+fz{S1UB`S>D`|+Qt2Xh2s)#=QQMqIi8DF+K&qEJdmwZg>%y!P;(t+5 za4(o<2E~93s^X@?swNdDXY%h5>U#?uY!La`)Y#NPa{TTm-FfSdZ5cOPngF&aocEui zpP?^`rzwre+S%CuHY~0O_-&&?sVTL46{@eI03(-*EShSax2;sbp^8nf327aVCYXCB z6kpjl+iukmkv5$JVn8N>GP4CDg(x8dP5B&X)f2mIMEH*aM5F^4I{D${@@-;F8J&XA zjOb*X#V)Ap#0wync;`2Xf{yo;Nd@udWjN#(MKgsfd?6DqR4dtUYGU+}J-c(I-quIk zHb%Ez?wyr#c9!HJV94_f5i!tkTDW!o3JNh!-Nk8XN*tef2Vg=fs2NdoAC47jf;Pk; zIH}Fa+QwwcIOxm5=cR#tO)5JFFf25Kq=_slWE_G(wv04C*$j$>{>|9KCoL%jOpFu3T02(P(>>=BePF z-4G&Fj_X}l^eQugAeHIXk5An(KA;+|2z5E%@u2gW+&Nb$cSib-M}&eJafd)YM8Ut{ zUP_l{g;|Dr4zG`MqC$qHrJW0mg55oRz8=B_tISm2B$IgU?I?oJV~wZr9U;bY|6XYeHte8ty>I$yKx`~>n3c0r`lk)PFhOgzBF0r24dx6=^#)kM(Jdn6 zEU`+7Dnho^rlDMdxuz9dp+JKBqCV2?V1^oO<(O}1BlihBKs$ESRds!J)kh(&^C3t# z8NFgB>FX$M?)xdY<&L=5M{{(lZ=T&UuApH~(Sxjpnp4y;r)_JleJhHf^98YhLYrhB z&|)4S3JN$S>I)nr3( zv1~Zlf&~VCR)K)KFZ~F==f1PKG^!VuSE9}%096qk{#ocX;9Vs)liL%*yRaE(-vF~P zeXdWvPEWY*??INt#T1rVXQ1oF`RrXY$!-+!XGGz5BU-V=cyy}aC)5xdYY|R^or8ff zn9i3uBy|z8uEhWIF)r=8vlWF`D;C0R1`HS=O_(sDTAP(|YZlRtDh;zjT9WSE!~Oy4 zF;5|F3+LXVfFs~KrxnJxvUj;%oUSFd0$2J>`$zTx2gjboA$azmg6*BA4-}z6{)j+Y zRo?}GMD(x+O-GK96yfZwuoA3yP6cJbt zq^|wC@qv}PU0yf2pLZi+A-POO^lU6zKBYT#oja4r&~O;o-{3I#{LTM3v9I`9{{F(k zvcRkS^n0^19yQ+nQM~a&=--jZAhDN+hVqnQKY-{3r*~KUgbL?uI2SsiyZEV~Q0+-+ z89!B5m@fEkMBzY*&nV*yJhn%KBXp(Rs%Y|ae&}a=blQ;2-Mb%?_8e}W*i3@>W}x`6 z>watA+k=RxqP>cQ9nh(;$t%(+4x(Br;~75WCrZ`)LJm6ssyknWGU=ivbYMt>ipxC9J^^Xrvb4kr(Zc}5;ZNMM-v~rVb=jaHmkPZ5fy6)E^aSRFzzpp4=%oRX^3?aaUv4q z2O?m&Tq2lF=E2nV4eA~Fm}l6g{D2LP^l!)+ zrFZVsP3(H@^t$odQ4Dl_6;DC$aow|>g&y6ipN2t7l=%#y%y98SX9~`qk#JaCC=&&m z43lk?4q{;uq;$RQq#(!n=nIJ6~9q$SWY|x9=8wZZ}9YSead9achja^)B@hBB%1* zolPk>Hfi6BZ+IvE!)40?Ns51_#ogS(U=@}~kKHDcHg}UDMgmoJ(lytjuMwsvL^>XJ znrqE)&okPOZYN@9mm9uJw+fmiuURoRrPpG|3w(O+k%FU-@M#kV$5CLc`~UKKTl`*c zBAFS#9TSCkEAq~toq1rkF{gfER@z9~vBcowT)8thkiim>aUbB3qwJ?*8`Kws1)>1N zbz(&&=GBNpsCj?!Z5bdsfSqhYbztC+cdX#d;euc$KfAt_;|nX}P+{`K7f;^L-3y|Q z*6nEZQ)qqNSwt${8mEyeoXsun$6=3WkW~b5-9us|3xtbuI<$onUNNK?bsMw(w%9BZ z1ou~z65#G;w1<~Ou4f8&nD;~>$M&XUD$Vh@^vPjv^9l=MJe@cqoxR})^*N?|5IlPc zPF%c~LP*>JQEG;Fj3ks~TO7}1X7WuFax)WUsCEgt2O$-305i!hlhHys!9yZ@z}heHREdyw9=tg@x#8@VAZ7{j z;Xy)4Q&xe!s=!|P=f};-s0h>9+{`+2&gSOxTe0Nx9u*pA=v@SWV-fYmTCCvQt;>QSgbfHPHn4zLwqi|T|zHJH< z914|RXSC-gu}^5bN~M#BK*wd*~T7ABY+V*RaIXp|0v4M_T15jfPS@c~nKgL%hrIv?=6torK_j9kQ6Krb4ZS>Q;`Mvj<;+FycPt zvF7ejv!_R=JKGzpZQDTg8fgE~K;fa266KD>5TPDp62o1`Tdln`JL6Ilq}?ZH>&Ycy zjp|>ly7r=GKIb_AeQ`u#)9P-d54lUa@QbkvOs9O#Nr5O${1%7wQC_L=ixdcfx@Yo}@G0<;{XTk|+>ZDWE;v)E4mz;kuLg2ZjJG=o$A4cXPs(AY_@)R3&gDrb=*($(j|(63cN>|C6_L zw^{fjUn-q+QJ2FN^KHT|M4&`+j{{AxqG~w;m;MMzt5(n36F^3y{twO;ESK7Ii=%&sVZed5S4CusgmGbNd1?tLK3XXQ`6Y@;;LtUf=wIALAvo8|;NfRR6ay zr_A`k_O=P;fn@CW$GNO@mK^iZJo25$h*1nD}*f~h5<{tcN6*Y;vfMZL}ubtFZSi3fgW)u)=re5sRoK- zCR*A&DKAJ$B!uL^G&CPVAaF$J!&e$iP2gt81OgZz(0hxQr`jrVYOIvO!YZ8h zu9TfogZc-QoB6#w3(rWLYuwl>^gDAE0%@=_`I|CBxpxPF)*Bn?EwLIa)Xo|={2ZSCP3##b@mLFI+_zM-9>ovO zXnqw^#q`T7GKQjxp7Jui-k?k>a>Xq3V$kJEe3Ed>1C=2HVnP=5B@nZuB}#CmJU2^o zY!vq_OO$MA1HE-ScKe*X>zkpk@TmE|#iCu}0NT6QOS3qqaQ8Vs_tPa~7Z{_h3l=Pp zu+}ILF6B*3PT7=Pqs}Jm5?;^m%$(D8`gslbPfJ5R#)qJe$)VW$KI*%bMC~6$r9ga? zP|WC6JgJ~$l4Qn?2!hX(p#aISDighf1RNn_G$DL5+*)*TpMYJo7%qp{6+AB$!WVg>^kBwdhTsT@D)=!zX@@S1*}Oj5WNaoWocS- z{tEh>%Z{{Ub{fl()?u}BUoEXeN~rq*4wAw^y5hF~-re-al0waCa!@sKF< z0#JcORCAhd(ve?OF`O5<09Q_a%9B_UYJe$KHmYV1|*Sc zQl57tP_oV#L+{ADNoUHQCwg#`y9!6`86m}E`!V4%a^%Pb26#>96jq1u;p8{O%h)#c zD-mNIa5Qm5gHisJ7@~P`s(*NT#}l4-?2H1Zf*WGKQP_>-wxTCHXgEFEO-C52RH(rO!{NHAB%Lh} zXlfrWRaEA-q)7)39I)ka7fClNV~`RkOcsM6#C}8&1{VbZA8rxpSw~n)YnUkTh$gqf z^0a74V1@ow&N9=;E+JuOD9tX*$OCAH$3RgTE3ZCHrLU5)cw8#XhkS314uNK$n!E_k z><7kq`aphy$$E#)?oNi$_3pl5;#)*3B~cwdu;YF}36x*(3~li!q!}*bHH_E{WUmpf z|3tLvZ!_URo?H@y2dev70BJ}tS%s`SgbWn4633)=wDA;W?}{HyjJBcuDu_381>OcK z`IMK@(@6V}6Lg3$LEhE(N5HxgfGMaCb#Iy6Bg15Yqo?(^d@?&~8G+60H;3BtfO5O@ zOMaX3fDl*tVkRU*-wg+Y_-cp+N4oCvkRmYATMP@M!UO<5?e$ zP3dcGa^y5d_6vk3FBxlonvV%n<-uS1V z;3>VBSl3%=T|K*7SC;E?mdYdb!tgAQb%AmqLN5!Qip0l}oTOX+FW*37(ZmQD-Sq^{yKlj8l-AL5qRm4ha`!U(lh{KG<__+s z1yT#KRso)!MrML~4x2RkTiu?`7S$jsYu5`YvG@oBfBn%Rm72QM5|^Q{=O_`_H*s?x zR0$lCIgO$npFVwh!M!jvCJIf^20KZx@C!!CF0%Q~rrgG*d`?-9j*W&sDJQ(5vIV>C zL3EyE+Vz664G;Z4v=Y& zZ>n5adQSn%WG+1M@|=2<23W=zf48VJl3Kl$b;3wP8XNIma4Gzk@@rf}fD2*>#yAUR z?X8la3QI-KoC*r&DpZDdD-2p$SA8}E8Ah^-$DA>Pf!s(zV8l^6tO+4K(s9uFB10E= z5eQ$@9flB)CA5(;7~jSgZ55nA;Ynr2P2VqXhVe1HBf^HnA7@I!-3y@ohB|sIJ9_Wdumxt&3)O~*=*d9`N_k%0tUY&2f>h8Ktx@JUV0~7sY}#t7JZkV zHXe-H3#{&6Rox#NE2T+dAP}46IWEJ9ItKbD8+024H0+AwZwuB}9BrIaG>r0U{^uVr zNCa~wGw@X?^(ruX=)BU<^CtpBL|DQJ&TSp{;5!6<;CZ2`En(YEe{>EdkDPQ zB$^q^FXPWCKBS~vgX}zTB!IJA!Nh~Pmzix>ci6GGY=h0nlxd;8%aqUm?xq$xy#*71ZkJs+^HDG z*{&`YsxVKH2$de8JQf;hh6K6hAEO(z4YOPj#Z1uct+~Vq_eP!rSSLUNo*5E-9^=w2 zijuqG+=<&4WlCU&jK8}0u2siBxcHajbnJ}twmv9v5QWNN1`P=1QiOjVJ^2|08K>(a z<9MVck}Vv0Agn1;5mm`Q!{HVX8oJ%S#Xo5nGa04*D%|p`sPjmCjMns6R;NHqSCr#!e(hhcJrci}25)WB?HZ9-ux{ETBHLX89lxA#wvf-%B+ zt|jK{`)T<%zRZ?vjPbjTp6<+j+FKx=*>1Yd0JeVC6P7FX!p$Z z(W2quFZ&7RYkEkV9-mpOKC^dL=~w&PnA~*n$1>eg{J*@13NV-@2%@k5_)4kxA1`bo zJ^+{#{T`x>AcOiLQlsl=#wkg?#5U0r??E(=k^6uE0$$ATaH8&rDq_#>L^yA?{F0b_ z*qq-O_S&w&*6F)nyVcyhh&&4Rdy#so@Ps@QjXdFKQBaiFlb+g?J{8m!ZM1XtQ(ET) zi6=Kd;p4@;8c(}FR4m-H zMdV5P`JjwnNI1i1x}=x6tt69cR#-Ac9h)Ta>+xnLGyM>V3E-Y-9(cX$>$1{EOTrXq zv`2_xTtY88US}Eq=#b#~hi*J54G0Ob8?hdeIC?xPHqRdWK39lEyFa1#T1xBy@3<^a za$;~5e=f};HIUG!_10ipLU<_>(yc+3ekJ7R9`z`Qt|RFT}r zR0qaL+&99Z&AN|R1~K*yiSDk8A2%L2d^nhu3ZD~DQwitts{DoLmrZIuxQtyDp@MIw z?Y0?zKj)n}bAmlAhda0{iQ$P%(C15(@lXfSFrr;H8ygvG3tfWu__^YCcC;d!bdax9J=b7+hFbNhAEJ?5~DY!SW?ZL!=VjM@oM}sY4YJE;La%MhH0+Rcx z2t0?aAR6a`s0I`Z9ZdKs7-k zGFw_y&pBomiJTHwbj1iOEovr<@~?e3V*VR@|1|c+yBrRO$JB)<^Fi@@l-Wk8i0WF; zyfrGny)4C(dPXlMwLtD?G=iK%A2D2j3k?Mj&#fUEf6=YWzjBk>f13wjQ=AMD#-PW_ zyd2*Cvcw}Bk-R}{#&`fT?@NHWTka5xus-OAt5@rnHdvk_Q?REG;D0X$5YkU=WnWZ6 z*1$5kf9=>Ys`+5u03kpm!Wu!RBt2$!j6TrQm#14QzO#PODWL_T3Vc7zj&9XsOg}|1 zjs)GNdUm!vtq8$}lRka?V{B;k-Z;E$ye3e@Vbrpt^5Rne5m$TF24Sgbccp5PqQjd;wcK0`FlmZ2-(m8gxp~^k9`JygNJP4^Ms*?CT7au>nK1q=S|x^ zft(i&d?mk>!xklhy~il%<(`dXn{Y!}g1m?#znClVIt@DSRV?a;oF>Vq1Z)uk1(`(L z{do3y;2Zm=?G>jC%O$bE!#8=^rJR7?o^XxSY#|Li#VQ9NO$?$XEND1}M6r4Hh)l2^ z1*8m~Bw4G{BJiIyv;4ay_kdghag~^um_@rfZ4R?eI6?Ru6hp8;k~jWwb1_<2gbW{; z2r^SPCbTTm@u|;HQg5+$5vT58 zQSL_qNWt&hy?c*v;A?JvTz;Lk@gm*iyvsL=SQo0yaVHDXM)M^OQe_M39K0+^oYX-} z9Jru-X7b*{hhKQOXXd5h1CM}8nx0$!uX3QO;dtg4B3`{^lbEJ`F{^kn!NYrMmCSJ~ z#BS>egY16o5%f?El`7DzLF)nZieYpTKU2s*?-I-$ew>ljCHv2p9kFg zMoxOaUnaO)UAT8apd)cZUOl=MAsu-dd*rct;}&D1gp^A$rQ4OP)O#k}3er{wNg9k7 zXFLpLWt18o^(Z-*r;?jTrlqAl*F!pRp4@k(A7&^eX*9i`Hd)_(kUaa_55j)A^M=z$ zfeV@P<3bFJqD&3saV7q<7FAQ?I6H(woB;tcq=WW`Y{ZodPoTR>_Zh;k89%nAgxo04 zBhBQAb4YIk-$+j0^xjsR5tW1V7*>S}fvE3l3d0CR@l&^sIS`?bB&5NW@T4?sA80Wt zbM)x@R)QPc)1>*F-f&-h?u|oh_B360sF>o+p25?V+YUb%5fS52r;rCtvgm4T+0R5L{xONjs_ACKK|NJQZ(|BdD*4 zR8nxk;IfGe9$%#yMOOC4)(78DP9~g%xfosCv1c5QdyKLm72a^Q>h@LXaz(|g{2BN6 znfm-&vt}*ZzWtu&@!4fi3hjRKw-0~%hll?0`#Jx(^xN_!bLY=rioHL1FR!T*DV~G^5&sEJ3bA7KE!q;-1&?Y zL)Y?b0K}!%E8R|ROU5`S+}RUQjn9lm7~-EE-$XHsehd?Gj28|oc@dkgOYeezgW72S zpL~N5xu;-^QEZ{{Ot{+tj}4D3KgwszQ*-Z9X6S}1!ASqPmP)VL(mdsRSCaJy?k=Ab z_WU5@yg74Lv2sGUi#5Es`G9Pb%diB{IDoLm`c;Pa2&vC7-vCDUO*)g5ZCDTc24sjf zBykOli#1av@;F`qam|&UE_DH>DjRR=S4<3~=c4H8!dHE7|q?IX~ikEshMi!|fV`FzL1XRNT6C%lvfR1S)Z>*7kUM_r{N^O?C8= zTuecbMCvNx6N#01tnP%q!I_)}Wk6a{V;ZN}z*G~~M4cz0qERyAex(qRLlyBt@N2Vb z|FnEp7ZZUw>$rN$%S2rM;fJ?k^g`S(7E1RmQ)+@7Pp(QCgE)U;L?V!~M07_R=P(j( z8*w>&>1^zC-p`3y!c|KWZDC)=-qOghFqDr^L=q?IAaFQs4t*Z-_K1qJ?~daWoP^dS zzHVxH3hFN2CN={^HTaJ~3hG8!8CwfhfGr@)zB#Lg?1hXR+%4sw+B5ZoGV@Y*C5kF&gSGne1X&i`l%iy&S$El8xr^L zhkusKG3}`&uHCTZ@|R5$o6Dz_L>^E*Ri(AmchT=B zbSs#%z!ZuUn){W+GZc2`RUzqK3e;xeE5Xo_!55gJ$v|*Jig^hJ7{^)pO%Z!3N>*we zw{dqm8D9PW|%gdK?82sygfpqy5Q9lGo5XN>t$#Q6#*L;8~dLOX^=2O6J z^@zqLV@Xve?SCzP?R#4fnoyHz+dy69;sPzuKxYuy__jTTTvK#3ivD|dh^W<0q_qO% z!+m`GhEqs6K|9y8SZVNGQP7jlP+d4IlWw@%Bz5KR0;vU-~D>S*}q>p9k{ygBP;-xW%ay6djb&->BfS>|2$GS$a#hCVaq7^j~tP47qlujUJF6*;^)0ZA9E8}PoQE%yr-Tb&m9r`V z;Q_aQbYhhAG!+=P8OjC;JCHf=*BdSk-!k>x|17yD&L2t6V72{aDQXHuks9+JttmuHxlD00ZF#1$ZP#o!ubzbx9pCr(Uf!g`?z;sgyD z<{KS^=&}noD}~d%jyHVQZFPs@BFpVo!LPb;@#Fj=`@4~mk(<9<>2hVb$9bqG z(PQEqqkupejoXvEY9=g(K)@RIm)#@PS|XX)G`kk-Yq`I&Djdv`y#Nkbv{5|15K^hF z4^Er&?@NE)P1Ky`^Gm~bKPmqB-Lz5T-rG&LoxS~_JRE*ai}f(xzPxu*gs34C+~U(oMM%wj(!;^j`0l^v%BN`gILXCNK@`WpV!lMJm5(gRtR8JVx4jN- z9gTew-F=X7f-KQ9_+2^PNViTD%qtQN+p()`cU}tCQ!_F_oYPRz^1ZFJHScXD{=jkN-K`IP`QBSy%SP*TzeF<9v!lo1k{XO01A4FI zQvTRAqng^cHb!QbY36gqG0V(nv#K#83^~ZK50|0_fr>WiYl9cH6j}q!xaktp9qXay zC)xrhx;jX`c~8^O(t*tWet@g~P&K}WTRU)G2^%DyqV6|`nK-n4d?zb=I^|>;{(?Qc zS-3maq#p!gQr0(P^yBnKm8dh;bR#T?cm-imxgd}%;_a;uQbo&V{4W$;qT;TJ z_5@t%nFr%rAM|aR>%>C($GnL2&{XMpGG+jP2g+eoFvk1B`SiHDLF=k;k&(01)jN}*sz4;T{I!L!KcWApJ~B9Jlk57B4=AyR4+{(ZCiV`c-;@pzArc;MfZVJtUaE`V6HY zDjO@d`TkgM$$;i~DTQl1ivl?l@G?+7O_;*-GzI78( z0O!1ZnXpbUOwRq(Q7yakl$TK2!)v*E7F>mq4PzCcg?%XSFY3$V1I!4 zCbDG*{?fvCN9lR8ga$q!WJ*JzXr$pa;S&`|9izzS$*^)r~*CGlm-~Q=Q zh=&Ihb3I~BIE}kvn!|U^s~o9xkjt6CX560yscJwmW!`7U_9I^=@GNjIG5h7_%cU`& zZAw42=^FS%2pM3yh4HMxXV3ag|IB$z-HK{0AQc_!_`CBe7X<^ZGEKl&#Uh>Md-tS{ zj*f$-hK2`2Mz0J#PNBO6qoC}#*a;iJwu&`mTZPOvm=8GJT3qxosH!(;_9||c_%1YK zAZ}BUypEJ03+4vl_v*gj%Ye_GDd>kmb5tvHkE2+-ZQ3L9MH(FB9w1<`KX~a`?WfLi zB`SLeP1hO0ktYOPf-If*E_Cgu7E%)lv`I9nNVU1_U5S1f6`Y7~B4_gkN8iapbIWPW?rEBh~vttYvabr9)29H0v-7ns}o?DKKfdWzS$Fy$M<;u!y zCW44m;l~@}L?fiwNM8RZT+T#PlZJrI3sMY?tlB~kjG4&P!x^(WFC{y#X7Um`)Z*Gw zEE8KR!j-xV7s3&sK^eeP2qOn)&wZb;E|?~iWgy1p6zi+~;HR6d>_6MNkl>RG8vNvq z|K}lKs3?<%2iXT+Mx!^kJ}=MFzeF?9#S&SIq_EmBai}WmH}}xm~uV>pFl=Q>G#c>F%OCaCzxLV$iL^xyQh+V=U3Al~@d< zoON0hHHd^Fh0o}P)CVUKP@s!{!j2MgT-wnQiS63`Wc(kwM`lXK_fv3hDsIiDT>v*L zb!`M&GplXh#KGqI1uQ|OfCdhHUtV6RYcBa)72z|ARAkKg`q6aj@>5Y!J*w$#DqFg8 z9KNgo7QTqQ3$J}k=bn~Y(A9R*JG~WS4pgtjI6AP&y45gvNbYG&{-A+8Vwal@v7|f_ zqjGes{st0$?jFUEQNH^XOAi-HxSS%D%8bD%tc2%*w<+lMYc8<71l`r@@l_{*+mLleC+PB3Uykj{&h-gq^WsB~fvn$Y9ehRQ$z4KSMk{`xoXE}}Xd zY7|tcOwdJ3G%bVTB02D0)uaT03&0FhoJqnGQZ=2as5}5{I4GvBt3R7QzXt!YLizn$ zLmALQEgZj@nG8tQHE0h^g0W#21X? z6D&DgqODY&0|-HbH4H0A4W?%``GkoRnL6v@Ey(@pKIDo6S9{TCpsql_qJ&2tmI;HG za0ETYDa=^o_7E*i_Faqds|{LFxbrbOBb1%zp)_0V);J{Q$Js%!dYZC3Qw_yZXfLXH zA!q;_44E$vBmt6(Am5d%SKpzE96{6XrqRXWTr!2S9w3zvmuDSS;`THuAO9tOEu1D! z9D@W2&6X0mcu>k8fE<(HWf~u(Fh^AgiSJQyVHJ0#pWcb{%akDyXA$i;YtrGD=UNgl z!J$mYE`uf7P)sAtA@OI5zpI=9F#t(FVQ_5X(5w>wh(8O#DgELu-4mP-7O)pze1cga zYP#pVw`V4&|6P;vjh_ZrOA!UY%J3~S65k4rFy|<1Od{ZMj*gFn`<+pvCzqXKUKV~9 zjQ(&SU6$%YXb8ZM^Z=?BahK-@%(jY@6xUG@YdQo2GkM}K&*!29_SWs&txj?tNPj5~ zkV(4t)4t_*{4j^I{II}c_TiBPUD+rxr>hYqrWBfu65ebj1y$K|J!D2BXb48s6xcc0q*^%=;o1L>>Yh0mAeJq_k$Jia5@rfYAt`ns4GuDgg1YgUHMq zXA|xt#tFk4zM+_iotws_0Av<+a^An?_=EwWt$4|FYTV`fiA{AEiLm1f>*LqrO-(pT zj*HXmyi)E*NDmzL)uq$A1N4_@tQGVb4|HSI6uC{^d65Nl=kEWg^p?+Ji~%ku0%e>8 z$H&k@+?p;vvVJa_uK^{!QdA!4zL4OM&x~Om4Y`J%2(j!oafRIj#JAM~pW3PD{AYL$ zm>>_Fs~w{apcWm%g%TA<-hcmn%`^Bp5^Ozb!?9IFwoAzEQJ9XYeg7~&wZXF#&TOf`EZFx$0az-3)IB)V0Z~vbBwz60` zg4#O5GU0)qX2}d@{VXzwnIO8fkY-cr*?3^a@6e zilJe<=jO3poM1ral0;nt9qJ}?y67Yq!@=~V1EYay zAQ&JJQ6B|fMxl$@AM?S|=ruf(D4`9qES_3f9-sCYq$2Az^NGg*Si+$ZsKs7BymXx- z0|^O~rj6hk(USBDftfD^&)6`piYBEK)}~(c^qz^WLlTc*w%7s#lEG@!3m9H-wWhzIF||C+N_O26B364FSJWg-WpHcG^DtwT^d6dF|J2(PIQ!sPG7MQmH_epLYXa8 zrQsBx$YlgK5Z)4T?41uObf5ywubMNZWXoNq5X{BiMgUXXKp1+RHsUYcKDG{Y5 zpvn4q5}k`fCCXq%Lfn^b{&nc zaW0vMabXY>E`hG6DQK&C%8{6E>Cwb?)0q1eJriz?Q(ML*V1x#X4KXiv0B5P_p@QPE zNr)fCC_d(`vvo%ps)ZE8vC`&2dBt^5kx%gWB<}6S-ATl=@D${jj=cpB@$!(D!SfA| zU+X<1ZHas>H3NMdiGs1apQORtRSolO9(P&>C0-1bJ~krL=d>37h+H?12!=s@EgRTV z!teG(^cHssy0}<+Qdz87;$nC^Z9$kBPmd;tHnn19U!u~M`2)f)X0Y}2|*Ye>X zPEJ@OapyMj4#uBc{0VUuhwyCy5-u7nh0|(X7;arCbo&^c$yd&YA@inz<}R6UKce>B z8~}gpY_7{s4dd0V_*MVk;s}8c$>_$R5l37sH@C2^ypuIA;^$;gK1=BSqj{rSTe!?A za9!PmZ%N5VF(KbXj!wdOO&S_LT4I0#XHiNfK@pg ze>LGawu71lBF++q;I?fp6m=h${+<#*hkNu@!dmIV&cC9EMqLp#z9Q;8)899D#C+_4 z$K@1i7*z~lRQ&812u)qIqgA{$0L8#;V9-e#A<@liTu1~j*hOlDJ~xOia1p=_p$#67 zu{N+x8XfEf23%KI2NysYktSH^fcbSHIrAb88UU+T%HZWp-idjcq%`gMLPr}Z z4ZvM>RtNV40A3NTM|8o+d+urdg1iTX7cX9!CQhmbIl#qC)4XR z0W5;=??Y^bhn!*VfNqt$$d&e4F%7d=#BQ=gn*xiWEL%haW$gM!d`fpE2VhnSUp%wR zEpvsRizr~JmwG$Pb$2Uk-ht$|ilz&JW25CMSOUkX;pwj*fU0)BvzG>SRfh~=|b|H3V0Ftc!Uz$ z<}5p1-37UItmEIYb#M+Cx)sbwi2~qadM7PCb|+su>)jezdH1zEMX2)mkPF01p&E@D zVb>|`h0j1vty@Kh+;gz`%9EE#@b+10bn`+2x1ewWuQX`MQHDz-3~iiz-%3m~LFVtF zZ&0!+BGu1&UTn{X5qGP2>9KZoe}z(6zKEzsgM)Llq29V+oaL4hk00YyR^(Cq~M<$&V3k#&?Z zlY?O-$V^1&aV!&35DLyINW^z${IHWZ6;}$f2DK||!AT+~Ek8shl^!U`(G;+*(u;1m z^5i_LI60wIF{Ub`MBax)mvneZ06{slGi~Of#eFjIsEUc=7@RI{^r1&521#tL^YXhi zjEM$iPt`%o7QEdXRL$ZbcD}rdm+~$BCW1iqlw#Wc8T) z#zReB>oTLS<&}OhQpg@Lg3sWAb-1+|;|A%1S>lw4_e7^6Bk1>OVKtQodM#rZVgT;u{a4r+^XjAy)^Ol;##1)V!#3Rih=^Q_3*y6MP4TBGBE{ zDl}+uw=jMVG=8Gnj?&sI4xfh(Ed=BOn%4g155E|s^-tRynf(7LcZZwdu zwqVkMBMW8U=>kBK5F6u0SjWk(YTE9DP?P9(-{u9(DN~q#vS5Z z${RFQx=f=R!0=G!wuduPJI`a|Vd#XKc;2)V?4n%3e~lz9MazbOnH3gfvSNq`-LrmH zx075;%YU^A9%ek08W?%Z0R$J+RXrLh6Lu+ z0jOD$$~+&bc6DcIw4rsOf&1>zph>~wd<7VR*~2eVX$s*i&e_p7<4kPDtQ<~Qc(4NIun)~-BD*VX^9hpCAGZDk8)`=kUK~;`TEI% zdl|E*v9BkSL!)VoY*FifWAh-pz7XM7{GmO4e6hwVVCj1TH2~B;a7$L_)vBk1U$~?u5 zYg}KlAmx)3)g^0o*}JU2AlHSrW+^sqlJjj7=h|2e=j?UIGTU^Zvcn1~Vi1`Oq znWX-bc%dN6Xf*r>OTssy_?pDWC|lojXE`m8M7as#Vl=k_a)LFnlQa_D@NoBnXE|oL zIAINt8U@e=w1ePFV8*Q|@`PR^PsKG)B-fKBO`-uWeKNBXi?&RkpWjmiNH}RoBT(uQ zz!_&88G+lN0oxdMoqk9qHJO9uq^BLS2w3m7RMmuQEWmV{A9iF@hNc@+gOxx^XefxS>eLN6>M* zr6q7d)9$>s4@l@h5B^&*(T?`YuD?Y-7{jgR7q-7fQ!c3@8Ak7Y&_rRM#9nU>r3#ol z;3s3Y5(>={bB1_Q2}LW?p`sO^y7p)U5K8`s_RJzyoU$`{y#V4WPR&-;LRx^_6d7?N z!8R{>jFJg6(IQ9pVhFp;L&Ex%NJtY>KBwVh#7hoGTOcb0-DA>F&j`fmA4l1{e|g2>S<)et>msqdxLcl0QI-`=SZP{iT3Ko%Li?Kpg&rcMyb_Ky_<}W>hKOJ$ zUr|fGiHgpo3*G9)pIq4}LH13SP zjBJS>nYuEehI@E9>F{Az(t*4@lG2l_pijiSH{Cy&`u1-NRS)zb?XTrolp${o3Z$yn z=)H7MZXc*PSpV7dgEb$H;HW^Pn~VIahi#=-BthIU%cwpyZiqZ8rP0dtKZgfi`gm@p z=rN0wkB4;Jn1das2{mKZ;uH7%cDJ3Dk#s z*dRiB$z(;R$;a@Bw8eI!T_%NHr?NxP87jI~`xcO{C%wa7y1tUW3U6&RLOy{d zGMP#vrT?eBZx5@oOxOPa6-|r8QYRHmv2vWk$x|u1v@}I?%w~)kOvp~|29?wtL4<`m zreq$X8Y*^T&9;O7kjfM_VBsOH)UZs@K$oI|iOMPDyuN+k&-<;lzO}SHfB&w_eO0?A zjrV)s=ltBy{m3dh1_RS1*zrn%|6=al1phUwh(ufrzMY=PQar(z9E*fYqJf8^Ld*1C zK|#L6s0Uq?*sF?4-kKm4Fe!`QvXZvZe!18?7; z^dsG0^+`TCyIsD7w5o&31jZEDed-bHD+ZXhpJivS3<6j0(P zw!mO6#NZvlPsMw~=>Y6U&82gZKtVEuw{Ivdo|+*PAbymX@*R4NA)h#%Y60KChqm}adZLe5g=Ahx51gPbE@YL02}^7Z z8CO};5%dL(^a&^kh(@U(q7y9BKtjM6*UpvAEU&I8(8KMJQLA z6EQN_tPcUMP=IdC)m}qvwG>5!nv&Us^LR!4S?)F?DUXB}!fnH_OPMtVSi+WBveZKg zLZcaM5x>c{ALAwVHzZHj|H4$9V?Ak<##2?jvZPVXwO;}mCRCc**DZmW#y+C+3o!7AV6gq$hzRT0rs zbjmI!KueI>LG@KJj}NN{?0X$SPR)K04J1Rtf&y6YuSrXRT17+ArQK`!s%V^Q!g53u z@p&VYDOD z2aMqetK$Y#j`+gQj}0uiLdHf~9ik#Rc@_FN0PzfQ=Fat1%b6$*QstoHE3b~(pmh=s z$Aq(V@f4lhE;|ws*109pMPaJj*A#juJ&F;yJ3jWvUG^Kf3t(cYJMEZdX8d)a6+)T! zs&t`Aqq3{|Ko1JCbOoOppyBb2RK1+o9siLR$Na`6iaJJE>mq6^`=vCWEE^}67S$$OE)Hnem*&GfqQX zFgdXP&Hd9Nd{`cH#j@5gbJ5RVv1R)K=`_#AY!Bsbzbej3GNux1g8-%^_Vd5K3|es* z#P-RkhSMT!dC=IRg_6o{1Gf!>8cu5LV}H+A@FYv>BCJE`<*mzDfhwUX zpk3gfXgB$*cM7HLEx3Y=&S(Ky1tz2z`%I0-*UU8vA4wu2H89Q?b8SNMOAbP36{LGI z7XzQAQrweMasDxH{=|lse>$~i# zvFi;S9qZvVjn?VAlxk!lLQsrWzz~fvlD5fWT6tRW)&jmG%yVu|^<#9Uwe+df%bj-C zTm{n30{MCRMYaD?@TitkOGb?kte^geu4pgzOcoY^aopX763*5pz1%#lt56hf;r8Gh zSV{cegQ2w#YArxd{$6wLo)z|9`B9?*OSA6fEQ_ouNk<=^CE)UFWXUV3q^)HsLxu8} z_-P7N4^B7Cwk^Q;gl`o&C%6kCWNVX+G7zRvWrhD|kKA9TD%y#Ml?5{7c+t2r)<<3A zu94il%b%!9SXCukZH~nHqI@OG5yfc)-oLSnCcMR?Y1%lr;UkpJ zT+7@koHaWz)gwx7AcWO1jKQ*`2(T959Fgdc$ang1sv3*_4eOpy-{Oen1}bLRm;m8) zNLYhBy_>7slVV~#J5tRfWiA`R#RZ=R9xZA;+Xhk}a`rQXilmBDbHaKC11I}oG${ZI z--1mXy*O5CWxISV115r54A|gem?%A6qG0GVhWTBj5cDB}C(pR}Z z=u83bMvKF8*?9S{NK~=jiJ~T&%Bknfe2@}QeW)s0)%Or$#i%5e8haUJl*Jp-lFeHj z|DI6Fk}VG;F}&$<&BGIDZ{UyLZ&6CP8GkS z?Y>#JvXaYou{1m|*CMILVRtm^F{mOEeR;c&ux!1~l;uR3p!wx0rpg4^QpH4q7DtV$ zRO^2eh%Jkh`Y)1E%Jwc+i8%I)c8w$ZizE6SI~uc|2a|9r=T3p7WB|HRwe}RM!hI_p zJZ=Ty)wO4{zV^dhHdI=;1Jw$43ab2QDvwOPibx2nrv3)&P<%L+4qs=X$!#V?STo9G zCJT)OpZxb1o&J_pmgErZDyg+B4Z-q{M&u^luo&)*kZSBCu!C^TN3nF&31rGW>tpdT z2iA|0RHMu;$tR1>ENSGR)e|OXXO(O`11|zl4lPKaN8%?iO_ajDWe<~dcaiF!_l7M+ zb;2<+q&gNn%(taBV7H@XbqFvPEuj9#t^il03=u}jm9rBKF*?$tizb%BDP|apm7Iv( z66Oet8gyE+W(nfWEn;*(wrq<>tX9*A6YJx{FPm&!Q-8c5J>097nSc?3(=uP5c5 zpEL>{!B7zEE#~lWwGbn>Loq>OXC%PYm316REe<0co0^yg0Mm9*Fi|RT!hkRYk@KU6 z?$4Gl75SiTx4nkii#s?$K_|YnOGf+T5bPyrnS$4U8|!z%OQUh(38`^20f;xQ1PJ@J#3It2jON=E%G-?QPMXl_z|cLd5EeMq54Rt%whI@Q z`14%dA)NtOu)^uFFW}bnTT&acKRaR_65cWivo+%a30%)a)Q3J8is(c!K>YDF91j6x z2V+6(W>Qd5z~w@Ux1L0ioo!_0iM(CoA~ON5?I-a^UCBL#hX;JITNxX3bZzWFBXX1u zG&F^|o}B?Wd+8fl0%Wd=E0HLzJ{1^w29zLv4Q|WvQVs=UmyP9pF)>+vQmiR+9RHTr z@k676xL~A|=wpQ)MZ4naRiPHIETFCa8Ea14JfbLFh*{shs2gqs0 zy7A~SfWwVJun-_by_g#qwX&I=5y8n#<@)Sq08~;q#G+wz6IW^t2nW3h6`pmaTk_H4 zBEm#lzaO(rj(gwOzZ$ELO>bcO|pvmuUNiE z0{`6hNFT*Nz{mh~I<`}yZVy*mD%UlAvW_DZs!hlKqWc>MkUS{nIEyg2l zt)K>z6=m0&bKkI73@A)h)$PSnIOk9&#o_G0G~t#Sic*18tX&4ciH6jTD$HsGoDO1p2o8b8M_PfO7Lr~i@&h}On-7C} zA=M?bYi&!FHy9({Ab|ppdxOBEX-XawS@(xRZcPbv&bk_W#(-+M6c~K$9FmpK$n=gG zJU?SNY~1p=yG7`E^0W!QqXX&6M@zELULgu1g!%AK;=)=PDD_U!JE=-4lWul{1Wmhl zLaAk$l6%-=CHK2)9turm32hWzlejM7DkR0hP>9??q+b^oLpAvoRm#hYG!ihdyJA+cB zEM$ax!&cu~d$@AFscq1};8ZS7g@ea$oY#{hf8E>RaE)0cnn<+w1qaQhJ3{6uQb}jp z;AtCGLOGN+LGNY&Cn0EzsfZUr;04Fz9E?S;02cfLIk|2Psm_|2uK!&knCLB)2{I9c zj!XUma0;SYi*o?@3!?c5Xrpx9p`(j)KPvnVrd_JVE^M21m{|cks<;3=BjGKvGWv-N zVUI*Gov>;we*4OT$(Hep8FHNl(?YLgh!<-^VE?n;THF%bTO9tD3GkGh@VV})E&y(b zzO|z-opRT65B*p_60k)4M<(|FvXD_%M^y_}C|Y;Q@s*i3GrCM->>g;f5mW&#S7F0Q?MA`S5WR!s;5#O=>Qmml}TY%_>zuyM)1@V!Z zZrogj;76?!M1PhaV4DH+VuJ#|cVd71N;G?3QD=9uXFE%uUT2qApjXs?VEx>1b@cvB z{NPA<@%XPgM)F_Fw*kj{(d0i&)y zXE+@wr3l_8P7?!P|4NO4KJ@jn4bpT>J zI~)V1q|hVGt9)Z@{}qt~@T>?TO)kaO#hgTJIxuf+V0{k~bTF1MT`<8rFiVbmS-6lJ zlv`#KlNZT;F9%)q_EP>DLIiml!?E&LQ;_d)^_v>96b77_*rDDEGFu! zf+q*+Q9Bwl5TPO`n55oT32Yp!5-4?GLkTz1pO=X7p|$vzI11uG`m(vU)@%O!bfh^f zN}JYfEb>@&d{|}oGrPwn&903l*(?v(YIrlot&}wDhn^D1G5{=a%M>Wo{lzVdQuo&a zkHJ(9nu>!M(uW2$rO$fGP^UR__%5POxI)6qqbtA-Q)zV=6%S{GIKT~ z0Qy3z6s>3^?&qpIa>TmRe-zK5+*#L%++}X z&LKF3=0*<49O4d@pYr(Tcv%zB4!?@fKbcOjUxH0gcOa-74vtg-YvC(*ASPgilnXLQ z7>h&TIl`4Hu~Q8*K#;Dee%9c%ed%0RZG7vIm^Jfy8W2ZguZ*h}gGQ6~ zK@mzFN5qM{+tFiJ|Vm}x!`of<;Fa7~xYOwt&P`_(OV;W=?(u8G;&*FTHaB(Dn z=1D4Hy$2APPmoj)GL85b+1V2l&u+qA*j;GQd#$ST*pCq^o9*A3br+m%*!mDhmKvRv zRp|7mAngN_oj!XIiXa^z?kQc0k4LO3S)9HF z0jBX3WG_gSd@*)xgEbt&<_$_;)>&^$}BR?h@CZe*XSU` ziF4(Q2#2L2n4aSp(v*i}2|?|ytGg@cnCD}N39UCO%anVeu~Wdw8)m^m2$=w2T^^Z8 zfI8f)#KKv*-+Oj-J(Wk*JZVxIvRp!A-Nd?~v}rY@o?m`Eat&6!>V)AzbifSkmpfu0vIFN4z zKyy*Rg>6N)*-(!%W(Y3EnuZgwb%gXYj;MFejj}9S!%F0mpFd8#%UDmOM)KWdp*KBZ z!7~yIcEtG{gM@>RB`rY@$!o!+B5~q+7idYN{qaC}1>myqv*9wyo5s8kZD@7CX`y!^ z)K~%PJtz_3{N$JtE_ndq|C@H3rK)j(Y>ONN8IqIZ|1hqw$W57(@v2$Vd=++?Ki^hn zc1ObLtEWSN0HB8lLhro>0`vt)ZD9L>UMxR2G@`W_ZCEtvX=T{;W-i0N&G#eXIuwQ-ZF|h7J$+b@L$dHyAl}o5pNOjBW=h`z#lJcQpvn5F)lG2>V;U^L9h4|;| zp?Vi=V#S$!SR108@yNJDgvR>25VK%ZOL$%&RgsOoT7HcyF?oBcYnO@|NGnISNXO$# z()|Ei>$`a7tbHy!?t!$};y6TPCrjdL9nzwbdHy7j8V`9Jj9eXNnpXrf%`1YLMr|CP zgB(z?ViAtaym$ekj7?YDVJ&`Fp3d{sanTY2h}@?7WE|*w379 z?o%AHek{XT*I-~($Y7$lt@Hfk)8{7}#VZ8Yj$E-bvJHZTNsN(q3D5Zi(F@p>`7^gx z5UNWfgN-8yzL8VI2p_k-4?!F~qi7x(d0E?Zzd9QT7{q!wASA`Qh90MXMos_UP@Pzh zEsEH<0YX7`M1&wbvLLY>!HKE7@a6gFBLpKkL ze{9h&~6@_&E z0?gNqW)8s7i$;J-r)>zv`=ClBk_twX-!PJP4rv_!0F zZC~DWST=3I|0NC{mUO48HNosz75XxQRr-HvGpuAj6AP%#{EsWaATOq)=eq;fjY zU(0Sf5@k8=t?=+WE{T@mH)IKE>e4YBO3Qk^fv8!Aw6tGJH*Q4(J=Bt0e#3!IH-iX+ zFFQem)^7)P!cTxRVCAx)AU)^XbXjgnw*MMT!~0=VM``qId6i{cBa%>PMxUN_shXF#YB zKM*71E#n)|)}0`rM$Wnuy=Ys3d15FekNAlTta5u}Khj!S~a#{7>1~pU`F6;#u6ap48 z&TzAl{tDqRL!CHur|Vn(E`%Y-^ns#+Hn-#LvNwt%7;|d^Vbx%VjAD)-XILcc zAW}%IkRLx8qhI)%9C9%Q2r0~5Ixm6(Ww6dgUx0zQ_Q)h(nE}dSG9ICExS<%OqRPr` zPd|V`t(KS**j5Zr09gcRpOj)kk;eGWr;3lx%yp1Ee?nd#Axu1WYeWXAV3i&Q&l|hwaB+SB(pH5jsZ2szk+-r+k7NY z?<^Prk{4+Bp9gKI?u3}al8T@SUIH*5rS;r`0?7-Ioi@NLSnoin0sGqqZW!HG1HkF} zI@y%Yu&`u`$liVOj2&zK@2`uwUXdE$(Z{w)g(hs+196H6p5rmOPr4|a4%T62&+$?l ze*>`wyR?q&2j=~cB78?VAbzfk|H_x+FZ@8qpoQ{eFlO>(gC_%g_PIRS({&jPB^6;M z%z`q-;LATiU<*saXt`0Fj4!GkgT0^fUc#oufeX7kGSWSUwwJ$8rYgdoNlNh0+E;){ zWaSY7!o&C!Kr__?!CRA3#wZdcFg_OADoNs5!D5YK77hokp<#e%1q`0t1$mCf4iR_J zq78-zidD7)Jm5r7N({nqov{dokF*q1MF7D&5p{=afhjs9dDB7PV7Zp~)RyC>`eC%E zi$sg)+0V7nfr)lM*a3BD82zr(Ye$+hDOkeYXG47(>R869kLqfu%}lnk_<^K6O`d8((^lyWifshd2v>Dfop` z@&ArsGc6_q0js#7jbvedpgdzVTO07MKwWclVhyp89FOQ6T-`Yf_Q+Ie)gLrRm5-|a z(5m(!cXvPq-Uo?`{}&)If`jil9;ue59+Wx(Ni!h1XhyoKc;py>NHR8nDKOre<9XIC z%7h3<`>x5y_9KzR;2S^`tc>F8bjmI;li!NW493<9i~!*^K7-;L zW)ffcqAER0CEN!4i1%zK$ZDpnh>hStjtv$R)qO|^F#`~Zr^f7q^TQdcGLj=w^mUjJ z4LNHIcG$r^6HF5*|FA4)--sMPa+~-xkh!=>ZO?V%s&xR^bqbf{Y3wYNsBziyp|ZOe^Rr05n0Q&bA;!HMcFLidrvRkM02i`~cBV?Zyl9!^y`F>j_S;mKao; zh_^sj3kL7hLc-SfC1AX+8693?Dhw80=Gi+WrzPx4J12Wc8$h6$Q{Tv$@k*0)crXJzGo$E_le++C zVQojrK$4m{1aK(sA_H^H({;i7hAI)Icbh9Src$;b>#cfTIBJS0018U)uHwe(=jW)k z($#lHSDzBLw^MEl676Y0qypJY{B}zFtM{g0`xizT@kJO3v2lKQ?u;TIFmvMre~R?M zGwTyvceL&&xg(ewJg8h%@4PUlQ~xN4P?KASD{J{+JUKT1>Da zE22#uH!Y?u6yDJn_$aI({uo7Bg>-ZUTs$3Hv;f61L~&cqna!BsxNT0R?z z`Zdnr*=}<=?`a;G&Vf+XB(BCqj+lYTflyHN(QsQuwBzG9K(OUrVj57wX+B;+EVM_bpq^Jy(lCVvE+mcx67wo{4*S40gi@K~(5w zh#2I^8h{{f8!G9_t$hAh+H$35B)pX3CM|^0GuU5-q=*C5^{BHkVUi`sae!^cRgl~# z*K|Dv9yQO6Qt!YAhx9?g6kG&ikvU_rS3Mqs)xnd=uTni4LIuz#>_7pqTW}=`E%`yk zaQD?=O2f8Sor@QS+hg|sSRf=E*gzb0ryVuZIKAF#6`uQ3OmsdCa248jUwYV66HyPs zN|gEvOvhruW|CpM2=^T~GaXdI)IMuRb!#ic148pq@Q?;X6*W#1-kBT96D~|0FW?pC z`dnAfTnw|pzZ8;IGtsSnTQ+nvx2czkH^{3@Ve}M^z#Gpw5|}V`frLvlg8SR-V`2;t zK_V`8A4v!>1Xxcrnahh_e_L@$awuo)L*ms0)Lu-nPsGSjvm*LQP&aD$@IHM|kw=Ch z4JDDbelT7gxqA#*J3wc2Lep_qXqCgH<8RzzM%iZ>4Yf)YTDpA@-|=>*$SunOZr>t| zW*FKMlHuW~C%QxHg~w~hn~_|fT$rCiJ{bUu3}dwjDP=pn9xOoQ00d^NU`j;DGx#)c z{*=W>WL+*rG~^wXG2{8h2GS4|ke!v~CK34WfB4}CcLp<~ZkdNvU1Wi*3cD!BjD6V> z&Q2ogOp_p6j9fJY!ri82-ibwvaZ_Qb(9<7@pacD2_(hOKa#-qGWxHWCNZKz&E_iDkNQe#H1H&kf8kHmoS% zSSPGM!{q_J25ofNQBF)rH;Jetmb09;R4JihFWN#NB(kVaI8~H5BkI}<(Or|3jCn<* zTO2Q#0}Fo%EP8gv!8CNaSWWbO1_$JXRnRBO*b^=$mnhKueY8`Ba`rd_Cus;tvUl>1#JM##;9#O_Pu9yQC`M$$+X zUb%9`Kf7>eGy-SjUm%r~@CV0wj49l08pKPfEvE-&!70GBk-q^6Ci?G68UcH9@k1aW zfLd_E*zCX!wSZ+-lDQy(>oLe0=To&Xx_+Upm80>Mu723U8+M#}|-@z6~ z-3}cgqb%ULAkjq@#ne6mIp>YunzRH)k>d9f`zUpBnO%AeoQp5s7qjJe2gJ9h(gftQ z#t(Ws{9*Q?`f!iuZjxPANovvE+gRx9kF6T(4i04npp&28)fpDiJePl5cndv-1#aTm zbpJ?Md`%3G*ca9y2-Xv-E1X8vDBZ!Dp))Wsy~V5X%#yoe9`g=S*w|f#y2cL_@ zimIrE8i0_uQP+7)kF;m6vO$nirRwU~V?x-W!cwQx0m8JDodmX<;}x#v?TotE8%QaK zqZYr<6hz;uAjuquW}(_hkf>h}SAIip9QKp#UjX!{@@Q495~Vi;fptY!9_?0oC7M)v z99Yy!Xd3M+tygIED(u5!89SRbh2)Tq2m^@er}aSffK z*$hA~lq@e*t`Qs@VXePRDJPB9X$)vz%ywZ+w>D)z8i3l4i*IXdQ^r*(4}*_2bGjV^ zu`4_w$|x7`=fO*o4hg*;^rG%W2)PT3Lp8F!!&P#-Buc%{rCYNi2jHK7iUeH#tXob!O5$kEK1&+mx>=XjBjZ@MU)QLAUG7@i&rHi=Ti z(@UTo{i!_6_NU;|RnW-Q9Bg3;vkf~3;(w^&E5xF+RNyo|?hk>I7pwy#Ir)5cXEpCu z3&CS`Aj#OHRr#zH>HL)rut7RWr6!)l++5YkV>;K zCbz3l1z&zH_z)IAx?cvnnyxNFHIVfK)_jripufx9;qzPbNsNRRB8QjWyJy4n%(s#K zA)tZ)Dg#C)Mi<=ohjNUfi@Sw7V6P(!zP48GR5p7F z>mPpI=s$9m>mxVob0T8`lCUGD_E*`@!RL|z#Eu+nku`T*adDpXx%B|!&+N`JA&PAT z*r4{nfotx2L}iY16!qI~9sOdT6n{&@9%vt^dC#$X&r#?z91N#oSe zs~C532506Z$*EM%kAta36dZPxA?|7DOgEuk)vs{h)nZf9={WZRpVDN#V?pC_x|!2I zc@ zr9(wf=4n+ROguBaIz^Pw$04e7CnX?v&TMu$#_P3AC~bUW|AG-{&4J!O*q{7-|1;f! zeJK~*&Ao`$a&sbW`)SE2{i*^Z^Xy-a`a=D1f$h0payt=jQo5$F8dV% zZipU)w(TA}94ud!K5rvJtCo6GZfl`8^5`@?b!_m+2J{&0b$FQStV9YP5glSb=p@)&48nGe zns*L{y$Y{YRN5AR<;Ve{->@*t8C1wpl9UJU5_`>BA*_QW+w`Bxtl|ElB!(O*?ZJsr zLQITfmIahw2M1f;A?OebPH9%0wgI+odQh)0&w8as0qr)(Go8NUQKtvm~!00#ML z{qU^X;fhe0s9sBXRaKQaYAF~`_@KL@#bR-N5l0R0+mv&ShxLm7q}`kPHBFGC#BJ`phU6Y zO@Qgr@q0?}Ynw+l>>_;Fi%5rP8G+Oz$97y?Rfl6lKLBbf;w~gJwPc8V;~of51Wi%v5|H<2k}#=25(`hDwffS;if|u-EE2+ zEgu#xu0a3L-aG(w#&fqH;er?;BpoR-BMU#c3H#F2b$hX=4f*-(1tc~U<|R#W?BFJq zOS?WBcLpEEF<}^CN+>Qo>s&s;2teW(?sd#3KJRqXb?)u{?*L0P#lE&aeI5Y2sea@b z;OF&8-255Ta>l=wu_BCCLz-+oCkr^Yg>sqVN(g!f4SoiuMJA20;tUT@(pwrq1t%GZ z!>HoM4euKwW4dL8kdXfpg+M{aVkLN{#mw7a0Is2_yW1Q|MZU#Y&pA>9();lK7Yd2C zdh)v%+xHbYx5+X+I!6&122|Kwx4~HP7^Fl7sk2Z)3#N=(Ta49Ta73b}Ffr=%kBPJ} zGNh3eTVvd_S=3!(vy?qj;j-8bjyTTlanac6GOu(a%Uf~%N1g)#(BfZ6pBBIs@qgr0 z8evShrmEN28{n@i;%|$Z%@-yxjP~R9?k%_|ak__@@!HZ%|7Wy zI_gr>opy*xOzjzeOZQ~b9<^THw{M?06t@LFG^a; zr1vo5Y+*@bxPuE%YOBOX!!cnhop+8-Y72lry<8>G8;A|a-y{-M7M`(;Q+7sEVet<^ z7xx4t4dm8rzkG5fJFby5J=eX0d77SkA7MMDYey%*(F7~^KX29i3^$SGm(QI_3^WF! zw#pVLH(zk7&<6etJpcMO$@oExSoq7?wfBUlu4CBO5hmu$8o+F`?yH484`$~%nkv?D8&`Ki*|-%8j~w+5db{GO z7=_c?Vo`M;wo;RDTi_PM6at;Ac7|9vSW0sQ+4c<<#3a^on|699lYkqh64sLF;oz1% z!JYCMj+|=ZPLfbl;Z5&kCel23JTjx2CI5w7@8eqx!@i_FqZd0_dL%35KV{mRGQWL% z_H#W%(6Nb=(oX16H#(i85Pvkl{*csJVh>6Kgs>p69v%%CO z6QXFd{;;>8>|S-^eb9w~Pj!2AWnI)dIy5#8Zchf( z9+^qNn4%{n887b^HFlUohF*wZlvy!}3WIj>L!L51NpC%k;#@j^JjueB6k;H!0)t>J z=HkVICkWFwL2Ud1T}(K@A=8{!GVAtuNjlRig2vg($3@uS$I)g1<|cI~ke=~az%d7j z<09;}XH2k*B^Dy-jglc8l_d5&v)sSi`#UX*2up8qRi#T^=LbHphPy~A7yR<$rVLZY zZ|&;kTy+4IUyk^(^6_K8{yqYusyw_$xi9Y=(4qcG9qr~rGw0sCW{0FW2~SR5V4C)Dz)vHT(1T8ZUZiKbvH zBgM_EE9c z2s)wODOmSqd(;3YsN~2~Rv4SsRk_iQbhMGoO57ww{GeIbZ~hQc04f-sQyop@8pF zOR0j2yL2U+ZegG)H~)d?IkxVp*tYo;N|G$<9yh$k>xOM9t0rMs+*(V!Q`t%kkE~%A zBt2Xv^u=|{OsbhR?I@o6DBKU)#<*w@GqdXoZqnQG0hqP(CYg#Nu@GI9dlip)Lz8W~ z{$_ldm8r~oh}QguMdLruah-qU49-0E3yg%htrkF4cY ze3e&`E&U<0_}G`41I5n~C~iA>Ig!!S3NAsFG6kiCjg`YwTJ}%TswRs96uQ9Jb77OT(-eitdZ2n%6 zq800IW3M!Cz&@5}>y<@`MT;)*%(QrnggSEUpW!WQoTxDEYQ0wc##o>?v~X<#j0)^Y z*fNrwpm;8-Z8%TJyp+e4QB>&Zg&{SLPI4*WW7$g%Ww$v)A_}S6n_EPck9yTB?4YQ>IyW{}uS2ote0>rb zi^&}Y>m4RFBdFCFV9`je$vQIA3E87dqwNEH9k_Ia|LxqGVPso(0OzxTN+35Yen&E7 zBXol06S;NagN)lw*gB z6ies!ITGssEu-#l<{G^ICsX7dG4ha1m(L!WkO9K5=(DWr##7yxn>mKynv;Ab9=Usv z5qTc~?;bHB+UbjHPPdnc57mHWbS^3kQO?CI4ipNrouFmz9ZokcGLZyQ3-3`?gh^4J zrHF;cx80w1XnO4KUq14eENGGqmT>@Ow-MH|A73+r*j3E_@bDyCxRPyOD`6{}1F56| zBmK2>rBFy>YK(Kc>Vk}}oyNk5lbpK8z{&j;DgMKe-k=hhwSRivh3V4mE2&finyN30 z@Y{|)B38zo6O`S~Q_E$10t`EQS#Cmf z4e+rBPxJTfh?vMwM*?J71J2XBax)``8vMdBzW8m2sDL!xVk#8)j3 zKD=aMw08P^f`TuxF(q;894@vNd)=2HAggF)ubtOp3$$7ZpcH)+ERHO<{Ylafll;H z#`nDYQHSCaAHDTR|F*>%DTYrxYKqTn%RS@dt&1IfN`C~ac>U`bq_HiokabpA4S1F+ z!=QL6WJe0CGV}cFzk`n$`eQ_Ds?ee6YEd^IiHnE8{YJ3hr8Ka*9Ap#SXT!Oci>t#} zjYqj%JMq!>0}ri5j8(t7{ogZxOX#fr=6E9Xr!E_+{#iLHvFX=XE0@r-((x!1H$+YlM1mC7FE`bX`= zi|^e7fcL(E>)(}X(AfTMlMkOqJGLa&fdLkVc0u zt;Lm`3pxmw)cEkCt35@4(64P=ZfWpi9RW|FrGgS#R@H$iu+13)?KJ5r-`G#%%Os@l z&7`}el7R$~1xL6Ju$JHOG`0j7FYsj{(0TmjTIVriwP(^{$^sJGo4PsmUbT>Ep-+#! zoVR~cP8*gw^q&bO{*FaUXRVm=%oP|9Sue{NbxPdcE}Sl9@+BpE4#vnL0JIWYfIJHF z_!j9UIL)ykQ-;FxGFf*n<6^{kbP``;Ano@|df{DIeHXcJXg$i9>?COuJ}kUt^oup( z(NWwmZB_uM`bsY~X-b2;WFqq;NaU^hne4?|vP)gjH6P}U{S>1G*rkw!UxB6p6B&dh zM0a4=@4%X2r@uktVlWcuZ=|m3D)yPom=TURUq=Qh8QkTdnK6tw^25AFZT7Lq=X#F+ z=%qe`5G4S;2Y2dsJQ5^K+&kTR4HIGO5={tceb`jbV%0SL3zVHt0Y^9s6{5U)fM!_y zyG<&y@;GoZQfMptw@@?s42)2ud45^-)>sb)Ss*Hv)fHU5P zy{-K{m}5CG5n%e3L6f_HWG}MsAVMwhFj5rD2$|S_Y@7OK@tdaX!P?E+#e9g_x9rof z#sL7PIL@WP`zFOOY>_!fq&%&tQzA59FYn`5#iptAZ9>>G=PGMbY;lMHk0ZRm&LFph zHBR>*i1Ja4rN!b?NZ*!UM2m%9!Lh*@%sMvs4W;w^x%li^xo+GU2kfi8U=hVJk7p z6R=m3Q>e6EOPL`$CINO8`sQfMa_Lz|7~*f$WPAn$faMxJ5eZ*abfcHgGn&e?G< zZZX)ge|y`pR}ihIZOy&*^Q;!6JC5m0LKvM9hv*(Z*BHk7SE3@`l@6}&ScrIf)PG887ea&g|3;u>dLedef) z=hQgayq-uL`cmOrk&`utORquxb{rb~t)psDRk}{f>b<2*9}ZZ=SDmZLm!4P8!;>x3 zsWiN&jqGg@rNJPE)tQ667I92W88zCl0XcgIyo^*f3B}HJIEXtI!^61#s3#gm>_3Y? zLe)T=fct}HcK>Y69GI|XR3x!D#`r4a=a%pZfc&?~S4>pgahzl}X%=svqc1*mp{DR4 zTGjy$GQOt~q&f|3!*@Bo4t`4cwT6S14MH=*Wuy#wCd&K@ziU5ZF=qB8D>Y0tA{oR0 zrpl6`LIlK;(|bix;;EtwLM~3&39zEyJPv6S_y2ARw$|V?@J34R5HYCFgk1FT)xwvQ zVS`46S5~0=d0V(xWHx#k#&v^RIsTDze0uJk3~Lsl2Z;Z0*in=-1-wQm&beScjsu5d zd#7N`L^2#OD6Zx%ELeEQGG;MO^>J#@QBJS`1$}2!{le%pq3$AZ6LUA(#_b0NPe$YU}DL^YQh5r zk%BK6*a_X6&z^n&1cgrZH%yxGDQ2?SC2DvhSf8+??4aZwK|}ljlfSWEr#1heC4iyM{yC{qXwx~6N$H|% zher+qA^>#>ZZ_D#DaRO?9SRn_4pW(`Te9*2E$3<-wu?=FB=ErwodKsw6z@?Bu$mTq060G#0E>Xe z^#NxYj5i|qOb{z3JuAfi8b%}neg(GWwq#n0=kMvf6xCaFD;^7Uu|;wHh-{W2gPtl> zs1Fl9utPbA4^^QIzBufO7eS^BhH2#?l}UyLcj^cWNKpKZ9QMKtdGp*>LESo7#x-M$ z^n1M%Ogll}KlaGk(h1HLdF{*#vYLX}Zt>HEez0p$d+jM(pY=e@Q zVR_EhL}zF(-O8wPWG>62NAzjn3(3kAF#uxG#;{DbO#Yc0 zdKz|RG(RkF1ia>FM;N7P+@~$P09*;?OqG|C$Vvpx`8=KcNX;wCeci)2pGh^@z`07T&3ufIV9rkE&mwb0}gKn{dsuY9ANuCTCq=#+K94BxcWq z;EHV~GZdk~u=|2M!9BY_aGu$+m{iU5$sd6 zoL^uFT5mi&XXO0U$^%82>$M*Qd=Lw~!!*Zp?707qaaqF;vfLGvmEdm@l(0s;1Ax7d zWws(oQp`cBRWvaY;Bbc;|IOb3FWD2^;zRTI5BQp>E61bONHL$oO*G!fwZ4eTB6VwS z)G_2?f`v1C6J^3oayGWjCR|sz#`%P7wnkebtkR2b;X~ES3skyu1I*@`r%*QQ17)2X znh-X}DN_B|o7axGdgcfg#YhW;WlfGJZ(vbCa0ctFE$4RG8JucCweK91m9ZRrc>bPL z1Str+gkABAiP8BL0jawAnzI z{z+Ru7NoslN2PE~L{MVAcdQeU`-vA+Vzd4bDg%0YM8fun=8J5SgC=+`HvVa3873-A zfcc_BjB{Y$*>cp*Fk{tNid!R5_SiNW!X7p<$f(5lz&D%(W&H1+>vj5UuQ>eDL~7d? zfBnNZkHg?^IsO`|a)T#7e~-K$Era?xSNx_l4PUsbcc1$T-SDwkO+vG;Nf;sVHCkx}5=!91=GzWGkLAddyBr%#m>T11e1Y<; zh)2bUD^1go{z4oLZ^SBZUbFfueqw>Cf4JEi-~}??;&={soO>dMs5w2ecGDJwP9sc%}zZv1W9l5n-wjHQzTLW>b>Pk@M!>PZoKOJ92VusFY<`vw6=@ccb= zLeLutFO?RVB#tli1b#n^!%nW?UR0r^OycVA<*z1OOGN8<2#k5c2-6{_S7Q5{qmY&@ z=NcfC``P2454v%3DdM(hEyz>KKe^LOk5o(?;zLYFafyap^E?}Ng^U?nHCp7L7`S0u z-AMVXo5mnwMqP%P5_p>4pTM{BZ3W=2C?=?eD$Q%;&lMNGkz|peC!U90KsBGO9N8%u z2G(}IEIsz4xAtO(NyYHU7*w>5JhYaQei-~?^ToSecY6r2oM{L)QjAu{goiw(#Mdmi z8Rm^SIHW|8!L1j^>(`K7MKv=%ipRlcMb-3+P8B|>f}yDzxp7H$jf?9yNEQTQlx%3a za92!?*@PPIig`UjDiAr~*kH-_$yiB!!h~;fWQ8^I^0LR+& zxw})+7Jr&n$`TIA4}7Y~0+qJp+qCCLWgLtA_x8u+aF}d^nF8(_^AXO}%XuoL*jnl* z+ns03U&388xmHRI@a`vxj{O;psB`bM;R?DyNO|Ao%Y zR(|UAl~bddhas2MCaI;K=8zHHssNZ8YI&L6tJ2Sco2Ai0rmz{1& znL{+#d6V6OW7t|Dqv#UH|JKi+}`<2+>e6)|4K zh3KRB;f@*LkMiYLQ$U2MYF8`d|NhvjcCqL67aI5a}PZk0}`{3UXlt8`yk*g zU)U?v!=3!bL88s%C7bm?W#8pE>LB^ceP|N{lO?t~iv1EA>U}T0_g|TByo(Nvwu3ZY zUq3r0^G>=rl_u$(893U?I+oWeIiVER9Wbn9 z8aw{Uq(Wo%<-?caCWSqNCxh_Wc;3cMbAQv1-E`15BafRQ zm4_X;83bRt8B*O$TTH3d&3w#M)L~KJW(MtInP55nW@*42MEw6AQk4e#%-LiwS~flW Sq=x?sANQxRTOWC5+5ZA5zYxt?YrN# z)^oU@`#G%GmtGv+{+4@hvDs|xgPt8W(q?OoA6xuzQycu2HTRd-Y_`ffgN6+zKvlm9W}H(rkqY6yM$V)Hf0I%}PO{lA5ocJ%*FOcVeA z6GfA3{GX0#vaxZ~|1ZX)Au;0U+;V#?J9sVs&g{@2t#)a}F*H zyl`YqAMcF9FT#B16dqaA*6WR#M;}*zKGJ9H6Eh2UXX9@c)b!g?no&3P;+kU#gQ9!w z%5yd3xo$k3{YFK8UCGYUlUpWb4KB#QkCj(WZ%NIK$eWvLwxO=~;Sy&5!DPZ4vdV9_ zm)~C4I`XHL3Gas`Rqo!obLSgrksanO_6e9#e*Wo_)SWvIH#{1WcGE7Om~%eY>gW8r zA?BeTFMgT7y^B4j^Ss-8yl9(te&5Y6e%XI_c|oRE;4z{iEyK;X2;=ojVb&Im=8|-U+F6@iF-8zW;u!c~frl z_I@HT@GXbKFX!y6?6GH~iq<}Vd|&^iCih!uzsv028;3{jOpPAsHRpK0xyO%x*tX@B zl9CzIrtRtyadt@0k4N6pL4I9-$9qZF=Vtx;l?{K(Dw;fb^0!;I?8P5W<>pS@{Q3`7 zgKP!;XT1OZzH{g9$DVig_5Cg+dCk|c4GnYuwDRP=Yl0@OSo2o*q{sP(sxgnQ)@Aa~ zX53Kg_gqKU=!FXxzSX_M?#X=%E?ru5dh®NJvtZN(E$ytjXL`o#2*Eu)j}&RlLn zDUHE@*986btx++PEB^8A(Uzy%?CNXVT2uAiQ4`d0P0%$lFsDBHbm51SXPN+qD@uDY z`=P#7TeN2cXwPunkrTLVO39>7ww(Is{HL2AG+TR6=-$4r*S1F8mvc&!;p3VN+drSu z_`uevA(LCa8Sk^ozwvSXiLYx<^t-q}u9zN$J#e4diKjeH$|4>d&PFioi_e^`v z*{r^JllJqbG$#4p_;%r-YW0@pQ|qBYJlE@fb({STH$YLhzkj*o>PN?(Uplbl$&Ph( zb)Svw-@pHxDWl8J^2zmKkilhZjug%8+qduQ58rhPW^>cI9mSgpVq9h3uCg3wW3e-) zm-$75hnW$h>&~Tq_G4nN4y~RO6tZmZ-l6{Y$1eIR<(Z^aBX3z@``gippN%|q=FC4n zdun2f-icXJFaJVg3Zr}Dq|;UBbY1=56nb4f_c%Ne|6+IG>OPZ>1y%>Ut_S3?W)k4RoNLu3DH={`(uZ5Q7NyD==t+#T9qxQ zKixlmcVS_7xRmypOS?>fW!XR8Yu9@z=kxRDL2F^|4?@p655MiU+ulj~arC;BXTp}8 zyf^9b(P5t!92``2wj#$-m+Gh+V74nxFN=V5?TRhs4nQ&l77DRQxiux?=wkBxU zw@zo)hM5zd>G8B&+@_`X!>5nyy)qR*f7hWf-_ITp4Lo0i%IXaR48_S(p zv^L^e^4sx_q@<)r@RIjJxc{AU4H8rr*l;HjQ^{?qL_58u`9uEnh(Y?G%>z4oL}K*)s`axc8FjaVh~cP!*LrHv(}g`aeq znt#sQ(Vwm|DrRYyfd@8E$gIx3v|}k&*Z2rPfY+|Z#=*gJ&fi{>o>!MX#&yoG@m#7o z#B+2thmZ|%*Qy+@D(75&f9?2y8{?DbmYm(*mbhk+vmwWM6i3p3)~|Q;2u`>FuiDuj z^W}uhrT53e6Mpc)2i2*glU{=v@V#{D(oOTA#1L2*ihPK1ditP}9mS7|#OCJunr%Ux z7CpLNj-f0^AN%r&ihPKyPxKVuH{rz>ENEG>t>Cs1J%_bgf5(WPpN;%i%1>2;@E&gs zPTaD2GxcY~i)+V+g)QDcen?)G4Vp1y`vo|xi!%l?U6P}tEGZ5CBdH_t} z+y_0|p2$~l9K!Y`J&rx!d*DEu?2zb3ww^w7X8iUy23M!X6sLw1Lu~wFv?Xn@czA67 z`4|Cj>qCBBANdsy+{WV%4E*P3PxbtGdgse^2{m(GOj?yu8hewiHls&ZY~9tXQ=kYb z2PXI3+jsH)7CFQ+ILmf|)oa(;Yu6=KjB!?u$8xj0-*NHM?O~ zU)k{Dbf96kO&>ULV13w>@bHR%Kq_tdHwQalQLyZfB%YPmtbr2M(If1-NepfdBDXUGNS|mbBlxb!-2a`u;p87_GD6+u!&O zu>>RoNAy;D2pj<&3iV@jSYWDH@ZgwhD>Y-$+M*$1A(Vz3ttju|xYi@>Uz025pDJv< zd|$f?`L7KnFjc|!=o?p(aFEW*LGtS_W>;m`7_P=_nEsEa*d|w$&H{wbsDcC7?HzS+ zsBir($z`{A$A}}NCqXFlzXcynZUFc@v-hpn=LRRO8d$PzfzK-7AZ!WX3LrVa^R|Me z10(4#fZ~16Ry8cp7OoL(4RMtp^$7fMxV`qrFZ)k#F%Qw={b}$`_f+jvIB9%%c-*4= zO*>2e@!1|Y?!NJxUw;_pYF3x^cldk#p~KIkp$nsX74-kp3%BEJYUV7R0w2(+Qzts9 zz#on$HoiZ&u>e8Jpo=|&qk5ZdWw355Hz$;R)T8XvNr4NFZwRiK5l}TFFctQA`ju0E zEU7w`Irwv*{mL$$&pXeU$_9VdFXHUzykp81JOSA6d4h=13}mnndekq3dEU~|sGW-$i( z&q+iIunlH4^INP1a|Tp%31Dk^Wa5^r!ZmQyHSx}xP9u6!{aVrkK-*sY@~hAGz`tMK zv9usFu21|?ghOzsTT@eeu4fpO^!S14Z{6JnW(em0-7g^M{(TUTU4TD2^3RlKCjKhl(R zy@%iP4qQvxzh2vTB1zj?UCM_?$$rMjuLFq3T>0LO^L!5U4Y(!e6rv^?Z@*q2d1EKWbQIK8jSi>ilz8Strp$lpYPY4FYB6Q{%OpNILZl0?N%t+tHDa-~6WX=~(z#E1sB} z_e$9M&z?$J1t0U$h;uj@Kuv__7Y?m7JSg^V%jsL^P4E1dM^^*Ke=_b(ha(ZO|DoNx zy`YW%ImtL;!WZ4Yes??^&b7}roYhot%uAZ}`z$-=YIaO=#Ow_bwUZO#$dl!_KAn@Z z?z25JwiAE7{&4>R1I}Zeu!r;8j(&7CP8YFK){j4S*xS4J3%Ap!r1b`nO0LLFuKl0n z+Fa!YWCI4lOXXQqWw#mFOhQCJtmJzTx)F4?6nJtsf&yn%{-`#JcUySTChbwyoU)zyfw<9nW+}rBHnCR$eTj$Q5rvXJI zts32H%^}1ZgA?KIZDX_l7=QHC>C@vn53kL@-%W@|d_j*Z0_SlH> zcFwYPc>?vd!?(h#CKi(fMHxX)OjU$qby#xx=feZfcYycvKDXODrgv5r180J)NdtiT z6QWDT!F<|lR@%>nHx`B`XovdB-`fIQnPuOer4Y?xXZ2!7Hly=CiCOTJBX1#QfovOE zKC`}hI%1tRyYOuwIO?Onv^x^8LI~UN;lsHl0Jo5H`Z@}pxEv?kM^qw~5~HiNZV>OB z+;ZCGpB{k2ARKsb{YxYMPVkyhD&X}PIW~9zW&Pl?=jOHSy|mlL6MsdF0Y$)Kr+0oA ziq);pq30FV7Ph1)Q)6f>!OlvA+8u^u&jK#Vp7q&C+dD~rT-t4K?{7nr%?jvxc)sQX zwvhJ$b~lj^E*+XBPl&HOU0AdEXodWcci8e08cp;rm5W4<`7|898WPC-?&!=dN862$ z2QxKu%M#5RJ3iFpX97Z$zv>@YX#GImp1$61ft$0PqG}&?uF^j5w?zN^*yyV%rwa4- zV$D%6KWk2+y87te>N45(RgTsq|0Y*Fsc+Gp8hTBfge}6iBLeb$wqw=GeJz8|fB4C` zZQ8OoXd#&6VWHEek}l+%d%qR$V`1rrYrIxDK-`8_py*nVzqi=^sh5I@;x6e_f+jRIg4eDb9G*Mt`xtYHnWDplYF<>Vzyc?`rUq+SX5R z{584puX*)H^DZ3d6nU-@Ex%igV zzrj?^*JQFF?a1M@Tg8quXdu~iV$|GMg>vbWP=2fC3m|4IcrX?JICb{yg`fZZ3cU0* zc$#TfQ?gr>t%QZ7X^X4d7FPgL1-`R_0qn`=igKe`w3`xo62oA=p#6fkV_>tsC=5;xczE{l<$l6Pau_B=95k$Y~hrrhLd5o*sL z7WiJj&wRF}RVoO)t+ebmXC?nVA_w2fe+@4O1N|ujr@-pn-i6MefQbl|LYeG%CE?l~ zB#TPYDqcJ={Q^Bf=p={3r4v^zG;NN%&fpj5atU~@yl!3lgIHx)vi;)cW0vg$Ew&A5 ztLm)Y@kh7i!BN-{_ZQ^n+j6*tXJ=*&QgN@@0NOihmSFg1KnLGTAo=Ql$!q9BeRy)% zOC#>@%Aor2#TD`48EZBbGdVOi`^Q;b;Fv)4(xxxE$u{{oINJk{z3`utfJt2$g0#v9 zdjx`P@=B0U2gO+gEYfY@0`06fUM($sCF~-6>fcMFNeF|k-TeBuuRlzOG&m8S^4}>f zei%LB?l!=Bh~{r?S=Uu@Y5%|QGSk8}j& z1olJ9#*!m?SBu{K&N1y867kC{kjnTd?IH{t(ob=3bpkdH*9=BaZH<25vhOl7CkT*Y zkigP&K6)0(FSD=fM+uIS@7LnBQF^=<#hu3cn~x+*Kax9g7-sE(`C~|A-m+wU%kBV- z-5NE{$n99NVc~x;pN-?MFg|Bx1C+xxKemU4HeHX=cOt`8o^0VT@6#m5pE){7=8>xZ z#NVv-p|RS5y*#-haX0-JutS5t*M0g1t<&-g$P~i8zI=+<#o`p-ZDlt1aRQrX!-9^F zcRecz27bf5uc2RQPkwMk0N4=xU=WW;nHGLcHt273LK zas^nYE?x90kChg!p?U%9(tL>cVz<)%rR(-X`tz|_&#Khv@4ZIiIG7ip)S-IXRtJQe z0SMpj^oie4I%fdfWI)Hzt3D@J=2@eO;L-|5DAt3-> z$aT->hcD_Jz|EQ-WN!B8fmvH!T{N+cnX{W1T z3r)zoo#y@`Tv5&=YMj-CS$ygPbY)7y%xdVc6nen0tR|(w2Wy|x1FvAlaGiJ(-)hca zk|x%$+HeLn*()@|6Q+H}aR)N>r;$NA&^IfN-<%caugm>tUG8VpUVj&+3f7oG8Vpur zihuc@Z(iG|8_bUS5lk04qb2QZO{v8y=+5w6K_34-h>Zh9S0AmkRM9_pW1Fsn?`a<2 zzPE3{LnJgqyTS;H9XZrm+C4_HW0oxKEg1BHc-5#`G8!ycmU|wSNP-enu+SK zy_er1MsTis2`DN8mhW3ULf7e`R-N`cs&*WX2Ol?^i7?GuJ3a&P4*~Y3Y-(Elv=(FD zEiqf54-8bOM3dTQb(8X{;Fx;lC>gcPf3^iQ^xlmpe$`8+KGJryh=A{?qm?Gi_S-a7 zT8FP69}h|dy8*ue&t~>zdd&?m3lx-R`JA>{$vS1TimV=VX4_+NnQ;^1A##udpxBx?9f}Oso(@IC zvM6LJy8c-(ce#Y<%IT77*$HF4qJ>(^T9-(%_Wf z*Sf{FU9k@@YX+j3I>7%_*nF_3cM&g`6kuax7i~9jl;VSx?d{cm?=-!JN-y?$kY7(< zMmPhIZSj7uYL8Yx5k?i})J~(Izws!Y^uC9RgI5W(udwM}s8~PSM{?>TR_wE=wT>9< zhoM(XrdUhpbUPlJ)feHgI8pnGYD=-8E+)<|rZn~u1vMkY0h%WRnuX1Q!EyNio^|R$ zWXu?p1YeNt+4C_vig`psF`50Dn_;a4yeUz)MA7Cj$f1Yu1!S~Ba7rXnyT%rEkM-H# z`&PaB(qDV;I3cRUZ$Eo}yN+fa*Ur;5UvqYjg_`CAbt0IPEr1sfxm!m&I^Iw~%f3Q? z-iO-r9;fCIl-mikXc_UVdHXHiZ+J(SFZZXW3c3NOZuX}3TQm;=FA_s(10}m+TOv$^ zZgTzgBaq-sN@!L@-lwlhcRU*b%q4~*ig`dk)(3R_G6NyyHJGr){Jh!TySnIKuHuw6 zDprSZ;aKrM2NrH+!40aQgIVSdaa6S`R2=zcgj3!k9b64$NtB&Z1jKQW{k zEY&0H{_si&mEX}9-&$K!))oZaz&(&nvjNkcBUo^tGOEfymXS0!SuocsokU^u#$f*G zx0}VAowZ$06mr1%xqq`o=$`XSq;MT~!C(p%K~}LVZyg0Mw-7Pz&|u&?9_c+dLg$ChFWc5Z)ef{f_RM(%5g)Vy;ot@rqDA z{!G>}RezExNHPKXB*e=?_CayX=rYdo50K15Vf2s6?|g{OhQl*~+?4Ce9dUufU&r>D~(Ww33o4&*%!%g^ev7OBY^yd}29Dq?!jQ}E@0S$}oist}LaRAgC5Hx+lRB_<3|qscz7-b=UBqoD%adCR@I-v8DEA&iPXs)5STU`(uTT z2CF>aFG;WI0Om1Gl;Tt>lKl@Ah@wnSclFV=F@X<9q-ljYmHNk4Olj<)$HT?iOFF)w z4Z?}o^h4C)CE5B8VB##4t`2%<8&o|gTAyb+V!`_wu;4?_oAuRC$62rhQemRS39owV zfl8DT>j(Hmi}!q0_nra}uycqfQ^B!Ykir7Z2)&FBw7O4`1pdVJD4q<72)U!Uvi2Sg zYPHv(RZ(^pD-6$#)|5Pbf!7NYzS2w0G<8r>77zSpo!F`}@9vgmL(m0K;OiRmY;E zBRiN7&{;s)C=D689u}%(DB87f?7s(HrYl1%N7c+A>Yil+{KX3Yk{&nX+%4h9otj=c zR*3$v0wb2Pa!$i^&I$Em>8l(q z0a^2&LY4$?o%XM0RVLcVo+B-w)%lK*EG0J9tai)+jYRTQ3qTr zNa2JAb!0@&kD&0okd* zt`&Rt?$xszmcA(eSVV}{8iq-Feg$!H7$D?OrM9BIX8F?%HmE3mT4+}*sd~F+T*2)~ z7N8{zf;q5C)-BCwyxw=9A8zJ?tmhu80~HWBelK*)dI8Q?*GhjaDvv{E^&#t{Ea-9_ z(@97Bu852wHbf@PhPXz1O+6FwEQ>keRs72>Ai+W%6fv=Q#$XPrvj+?qutN(LEWN6? zK<<}J@n=sgScK*wj$YRfeq447mp@J>G*{|7i>In#9L|=&+>Q_5PR&Iy)F41zye2(WztHVp3>GpW?HY$l+!U@IfQk zq4BBIqJP@V(pb)p-PW+%K%3(FY38knPxFGA&|jgdUA~%Hy7b}F){YH&Q7qhqO@_^3Fnt06Tt+Mg%=l9Hu*2 z#I&nu6Yxmw%k|XgapOR(CjJ)9He`b7zYE}{nfnXX1%3iFb@LLqD6#C8%^a=0ABh0~ z@i7Kz)7-#l$fymx+?Z>*j){;>4^eThMPK!B&yLUC zh0lSku%Mf4ou~rlrfv^I{G^AYnnxVl8s|^)W1nU4f~Bzvt3@E8_UK>DcsV_fG<*l5 z!s@DK0lptI=H;bl>?`Iz*JT=#sWslQcg`MM@r)NC-=AChmIBj4UE579hiL z*+X>ue2cC{$~!XMgmRC7MesZfYSSJ(SzM`?LRp$JQE>N(WQI{k*No}X%@zt`keLF9 z6wXI$4zQz{3>q~EPO=>In;G0_DaKiM!jS-3+BDDP&}A783`XihL4w|bLxnce#l%t) zdkdmnkQ8GXJ1!R{49uj|NYgWX(*^H`Zoj}kWgX%VY$@u?BY?RUM#hjp`_`d#KzcTHkSdbA{;^fL<9tfLSv!vAR!q&wZ= zHJtTQ+G3w`C20{9c>?~x;$VnGz>PD%(Q2&cY>a-`Li^uT7RmX{urk$Nj;DG%HJ0bN zjs)B1)K4Pd7HYlSjOHzTdNJz5tf=9+4x(kQ&W@Bu8FL|qD^@oF#mnR7_)Aoaz(IK( zC`;h=zk6S7J{Uot+Ti$R)Z7!JE+U@}Qv+8e#02orhv*I;U^a_>dg|xp49v`FoGZVk zmok?bdi6xe6878C>!J%c`GHuU6PPu&cduXLGz@8oDUQ~JqN@fihpSHRMroV(V(-S# z+=gHB*7lpTx8DWle1qhx!C;tMldnCLyeF^mYF=(_^R2fu2YzF(USMY5Uwy#ZW*)(sfm3J=#%rF{lkLD>+AfE9#6ROSPWWU6EzXn@zCohc2UW z(b1jewexwD_2%Ufj;aW=4%qeLiBZ)lp>>Z-=h5ou?W+seI>lLO?}pT_5B(y0c2f5F zd$J_3&}res%ba@6V7 zbN|9t(z5)v_P?PKx?*HN_;03 zI#`iapBa|K4=1JOevf|ue{6QLmafHFY{$Qv*EmJ`K+%LO-`mz+y*ur~a~b~V0KIbM zimmL@aQhdIxN&!%%E_64-bnMYSPG2ZK_3I3iFW8Qjg6(QgwV!|p@nGqWIr*UKdoR% zzpk;1*n7WjT{nzvST<}}?^|203CgQ_c09%_Y~DO1=}vZ$n_oIvj|G>*LPr;4T7cgi zOeJt0KtB{(q1gKqSaT@&YqnE!DieCeiw9t+$Kw6-F{TGC?x)d6+czH8FGqJ3C(Q1o zlG(8>ut2C#1=_Cb;_I8Ml>%5=dfOXCaL^LQP@3XeICFUWh0K@!zRgGB3Cq-1Gz$y# zvWN;2e(*EE4R}q9(~Z-eZgw+3pe>mmR6G%?bo5RjyY6Hrur_lvc}Y;bV6>Z2d3q?m zkp;i3mVM2zw7O@q@SQyo2d~)21_Zr5QumvVZ!igl5rus|V|F0YkY(%Et;kbRG7t#V z@oJDE4YsY)1e4jeofgb&nI#7<0c|l-z3`j`((5?D70s{1Pzozh*KzIJZE8k@4>AjO# z5u}k=d<6Gww(gD=8m*8ed5k+ib?UI*QX%lRQQ(Y<3^_^da8h(+fr1{^p`y9SqKmrp zY-HxuLLKP|lu_T3@*wj|Sp_{|37<9aTM3~+5sIseWgU9Fb=b&v;Gq_GkgQdnzDmxF z;YDCSZTFmdRZ_RLn7wxoXWStdMZne$Vr;^=?x7{J;2w;ZkYn@RvY`|H3jPW|Xcy=!Umzq{jdF%+rbomP@f5CYkJY z_~=Kdw|gs$mSs*qCjRQ$GsPrjtxzBHe)UN=L8e$y(hmQM@K2 zCTzDQBw6o#{kOhg&~OhK)Xnd_0GJ}YtD_Zdj(N?x;c_9j652_#Ydq>8e-f-Dm3(ICP z<4B|}pWKoq8kTt5q30eas7V$m5CkQI#=d5yTb4XaHyLw!4Wf_oHpj+scTd$w2YsG{ zQ`!YUQ7hWP47aoO2>7v}`cc;USqt6Bv>vht7Kdo*@kRwvYZO7KKw87FdZ~1_tkV-h78+QF#&w;)=*f;g zkG_%55nYRJ;$-LY?*i(+lbN)R%2AH}jOasMm7(sgH=nn@=#BwL?<8R;p-rY9)))B2 zO(_`_rrDOw4_fL$T~U}86H=6pxs*Me*D-Z?XwQ%F-Kn{=dj&gck7M4g5v-T}DWKv{ zG9Cp(rn(@G#%v}~3LSvtez7-=4*POo#8Qk;9UW#v2Y30; z8wRh!WRBJ2?*7}?u^e@b*_p=%me%{4(S~IRd^b+PI~C@tNpw9SuH8mTfsB+QWage; zeNhI>WB3+_c7P%YXuS(GfJ{Z~up6W3)Od9qFFIe}OTzH37GN3n_O@XTRPg{zc9lu! zh|^k5nLIgA^c{UnH^mpT#pggm@40fBV{opWONv4+N>!vXIAXSkjUh@@4tUt7YvGTX5Le z*lbi6NgaJLW0j6~c9G;3% zTbL2E_0aPiqjm6kvIn+jTYOa-y>#hP&EV_p9C6nJL?bs z-gN_Z!;P#=xURli%F0-D&Q4y`T(Cb7rPCa|f@xbX++NVX#WMMMIi}*X&;m1h=IGX4 zFSO~e=GX;CegDd$n?g})4E#qVM~teaO^g~d@Fp2fC7cjWF_pSJaLvry) zoCzQXJ}l?*0~BR&udX3lj%0(DtUw8pcS2TC>4~a_q2z_rv%&dAtsgb}0db}n+y2p} zVtl^@=M0zyx=$x9#&6=>HtguFEmK}A>BpJ47}AYg#-f`-%I^#<-x7)eOP^yn)1ms@ z(uUk5^h8G>T^Al#5V;Y$ZH`j)M0CLYmv>jx)TiIIcz;-4WWkc;xiB%ljb#hPOLC0r z+0wYiOK}gbC;6jJLHG#%jM^%S?t#9zyWuB}ZIrR5CH**95wC|TGKs&RKmL(_?$uv% zmqbLTMnsokCY2v-wY?@i0l!sHBU6_aL>8YrcdqKw=I=XM^J2l{>UO7`Y@1b7kv#yj z*C!~#w5pqR}yRg90O0YD!_FupeW8&9k+ZKOg&#*NP4IU zD)ZEUCF6u|n&*$foS4A6VvX#rjq@d!gf^TAy*SQ0`fl&&Q+qjOTzqGI+M)QsyCcgI z8!snjh!hDRI(czMO%AvJ>v#2$@>zPXQ|~o3`89JIL$LX~$BY?MI=Ar1J(vX+5<4pL z<5Bsbn8~Dr-Y?tetle0TfoJ!UsqB@ur`NQ``ly83pEryQdm2JQQUy9L0t4YG4}h$= zjmXk&>+i7nLm!Rfs9E0X$zjuYz*XBa2{Ib5WHsIzME}T>4y-@tU9=>xdI_hePI&Z< zZDslPhU50Rr5ge-_AG5+(j_tdjYl0}DWe;X^5KGjb}>$I(Co7DngZmW<0bREksQHj&A#!N>b2tF^H4px@Z|O6 zY>ZLEuq|pMh6&T;!%mL7`}L&P&VGreAkNhv8MYqd zaz7s3OC^i`%|ZKf^Eh7l=tMZ{_mYsWI{w%nZ*7UW$d$8?_P!NEkRN+NRQo?C1+R$# zCB)^tvf=?^orIjT$y_$5cO(*eQADfLDWlheU7v*_Mb@kDMDkUP~-C3#^krf ziVX>%0~fBA2@O$o@TVAhqQ-b~jP$;~9X_05fFP9UfuBJNinHo(+~^BbNFNHf>F@Ps zry!~U4GNEfDlaM4CApWDz~Dr-7E4J7;+=4GVqQu}vb`AdYfVPYaYFpaTX6DS`|!(A2Ejq|*J#q}1(!>78glJ{P#Ks<4xc(T;|6bM!YK2wiovB7gL$_G@8Bwm z&M1nGJaasO<0wP{kW$*Z`31T7sG$F~_mXeCCy8GI@?*Vk<&ZwL4Op~jg8y&4y?2vQY4O&|eGi{209#IrFEIq>Sc!39~a`mE*qWFGd4fSMHu zFTP7njp!VC_4MQ$eLIwoL~T~M|5Y*%D&UtdZ5 zKD2&+s12^6?3T3iy)wE2`3Dx445cm@0%00yq+acZ)8?feP!RnieNhUBL zWm!z%5Ad4r21nmZQp%BUlT7e0`V1tfJ&!X8kf|QXyVYyK%#^1+Fb4zYj}9 zy+$f>)OkBjeoyD0S2Z^@x2%2MGF&oI6;oOz7u%=-N&@B;ij*S*h);RVx8iS^Wt`19 z2Y0Rvq}sYQ{WkcLbDP8G6P}d10BymrB;5_L}6|LjgC_zcL?u8VROauqG zEf4pya0eVQ)qeroC-FSJy37O`0@gTtb4tlX9JF0SmlVl%xvrijJSbm;Ke z$VgCUGkt3g4!;JwuomD(nS5mu)j{J=8H$_yqPYbo`xjbDQjhE5LtHH86pF)|FG6t2U*K9C41ieQ@ENoBExd){@td9gAx? z6}K7R#tF{i6|fNsBgJ50UFQ!U^y|xMbvvB{u?KmFz`rk{A2j1dvHga9K$xTUL0!#< z-4IXdj(wErg-R$7Y3PGTH;y)d?lQ{Mg-BqK0kRw8#A&!N8ypo%;ky`&lx@o#w6t>e z3q3DZh4woiH;e#^o029~C+46RE+v4O`9D(B!vjp8SjN{AHDo$`JT z{DHwN<{^j?pk;W$trvz{;sm4^><(9rG@Kd-A*h*WBocv2pliI@1e=i7g1!RxbPeyg z{<8v@h*@D*Bg3wmO@uSfVj==o8YTkFLGI4t0i?Jh34(IZKaxA2MD!dC;_m_q)yA6% z5&L26C`KZIabry~BiT8-+Rm|o$K;gdVa6sXYk)(eLMQ_Ok0CIEGN6_ZL#YG;Of@tE zMK_xD0cN5^xIHw=Mn{LK*b0TiOmi{~j06Jg<@C7d&ZN0dAVyxkkHUc)s0Ptv?kwI> z74qn6d$)H@4%4;M>Mi~U-XauZ)E$o}X8FCr5U1zIB-RUgbz3z??zhXpJ$i{~(vdr% zP|;)K5{C^dI3ZLoCr0TnNeAEdUkX<6D5AGa=#*S|2A?`=z&FzrL?2il)+0w z(cquL>kot<;fJpMXTzW+hB4$G81~WqlQNyu38f5fmB0l+A~GzD6j@LM@WmKI7cAm{ zlp-ETDG-iIwnoL?t#~^iov00(5s>Mz5GUUI*ndRNOvHwlPo611d8V`}rl@pyUu3xM zx%#^y6gMf9=aJrt&Su~{;v7bkrxgs$=tge3W@~s|UlJJQsLwa{Ktd-#rnxn^(eTbj z1hXqd{sk*i#I1(G0~kGbDJ=Txlg2I-Rn&y79vKpy9^&wB3M*WxFX^D#b>|A-Ik*!m@ywYsv#&Dh z?K+?3V!ZxMYJ77tuIA7a9aFQBkRJyp3xma_M^^9kJGOA{sfCiV@N4)Hn?-xzjx6z0 zlXyUD46i9<1VJ^;5%=bPxKSK7sCvWtsC|Hvc#x}sV+pOddL5+6lx$WSMTz!f6}-1hlSTr3wxD*sV#cMeJ#6C`**+ZNs(q;9Fx)7y$f8sinfhi zppAiLF!V)*-G6tpFccEO6*ygwlX9a7lL5_A?Wb+->myBHZfWrBf)beXw4=yINrf_Q z54c#fz+T-F>}Kqu{<#P}l3&~C^fDJ3IQm)l;+xN|ox$Y0tKlbLHw69dCZQq;XYiVN z`N>GRvA1HoDsN@q41}A!=g`3yhDsF3>j|Ml5=*)_!7UZantIg5tSHzN_w}jVzdc{ZPiMOMfR-Z^wCL; zZOk`3cUVl!2Y4F@% zU#THHmpy25BQ&PJp(6q*#F%m)D2neT(Sq<0D0u41V-@ldc6s)JFr&$W(Bk3?rOrT! zhm>@Q^*~X|F5V?!3qi+0`yja&HD<+w>pPe3C`sv4VF6ruu@=D9?;)gocnA6zr6zy` zW%RFAk#SY|mxCPxgmgg}CuU{Jhyr7og70|Q$bQil-1l*(SzE-rcs4{FjR$us6Kbf7 zlyFmXj6hwDYkE>}mf#Nv1qKWn#1Q9~lO(Hn65D{slLeI83+b#9R0@O2$gs9Jxd^cZ z%NCHSpJ5Lgwy%6qWZCTW!Q<*oH&fK+nHw=3e_s@Nm66$N6k0(?&z`SDSn4IM5*&^o zi8K!TQ0E;hbYYjg@-8*(C7_*c|6BXO;#%W<4FJYWo=RXVDjP-qP4Yq0DxW7E?2dZ~ z!Kfk%ZQ>0Czrw4j5QmWo?Wc$aiaP^;fTxu^(dhwl!JYZSh+$DLg}psE(OwO7QToW` z6tmG>Xcdm-*UvCD9$q;&*g(hrXMcN-!B1D-KJPo-~iV4k$6pPipCM+zhI3*0%%;F!ybLPK|WVGBmB=s%4n~6iML`bCeUgVUr=v!LuD_Bst zAY39h0F^O-2>MPKx&wtL6i`;6$)>3F%PppI!Oh&f>D%K^~J3c~>PR>Sik(DT4og2IbrISgzJ;VVzdhEQfqn0Lb0mnWH6z(n(qO;-yf zcDJC0D0HXceQCVPKM1e-z$S%OmDZ;nB zu^t!#$Wxr2TU@?uVc$}z@k6PYxRWfLPjL{0C|NB+)251OnAE4 z`8HWqQ*^F`gp`n^iIkes!ou&!z1VVVp8O)FcEpg5yaY=)S0htmFmSxh4!0m^kREPW z#KmJ(NDT=?1OW$c$`Fp0&qlJ8L${G}4}9zHPn=ulnucV%W|}$*YW=S8(y(b0V@4&d zGBI^X2?n&=#VbD{kC;$~zC|W1Zt${2)gFipw$p8L1RNM)g*zZO*<1ikh>xO2%;CS0 zRi)d(g;20&k~)%-0sMiM$*6=eaU-%PFmX7u1_a6wD%ANS^~kp?>W4~4>H8CpLkVgH zlG1D5lo36T6jii6-MFctp&|R-B=cn`uIEiP9*u3sB)yiG0{KF8=caPbQwkXfO6ed} z5hNH1A&c!UGje5m;3VMe^@S!X#D2S}4che*dnjFF;^X6!yQm0VRQ3GZA%$<-wpE@S*0|52TZacKf3qC@H~bpNoqk4_Sk@^@S3{vDWe;={QEpcvyz!)1D zZ0{IkZ}vu?VE?_v%8AffeslGLk;q{1-F63GK?R^Ly{VSWp&3pVsnY6alJE=ErRGq z$TgitELo0=hA{L1DV89)R~W6~XqA)u17P-8CDEdcHjxL(ylhLi-kd7L?QW$FtT0Zc zOa0Z9k*~D3GxdVG#(`A-qAg-LZ&wnGxaGNvC@K=# zHE5KPdXc?SS|S?so5o+Y5=~Z_*;SN0xF8!?5^!Eo<5lL*pj4K$xp& zB!O@qw}e(h5G!pkg7YpJ+^A_2uR^44ozMwy)V1rkFAV!udWm;OgJpA8m)18R(;nWG zoUgRE)i#KBqI4(w(iaP=^?*buRY;q8q>h+ArhQ?dF?B7HyW}a_m46D0kI{58Df7SE zTnSgq+=<&4d5T%6S==t{?N=$!xcLK;DzeAea2d=GIYH@`QO3dfHh`DoU~A-6q$?scjGM@FcS!O=lcvs4=ACpPE8AGH@_3zo}5%C>3_tf=+#% z@=TLNxv7?q{2SN7{7S}%kO6wW1YWWeU=7lI0jj(ol)Rvk%vK@<9M&sH9^AwH(Zo?S>9N@ysI#z0zRI&X(uI6uX=XN^l zc1GbgP7oG7WB@@)L~&B8#A2jhfQR{lm_rdG=tAw3Y>g>EQrh9!BxP?5{Hr!ZaZltH zY|DmC9I4E(o2?TWSMEpdurV7SUKzL5t!iMQaM{kvedxeVNaRVoRqY(Gc;&um2^nW=&#^sSduO$~5Ys(!NVwCXK4&3)xFmb&vSt@;zy|I=o-iPWbih z_&?`jJc60g961F8c2e3WWp7JcS*6S#IYq3q0WPgH5BGPNLJ{R1-!2F9G^ z-R2_+y%jcqIJ{U^kH<@=iTii>W5We7aChqrP@KeqaPz=R8iLOAl54(59v2beBlGIq zE~iNv%vQs*8y=U#BX=iq1c?|_pQz3>r(0GGk&)lT9dbw%_W{kz=qaHQfeo=?sWwE2 z=u;rO%`1g`NY`UFnZnig$5s?&RnQiA$G~H*tx`i>Owpm!+XQbNTja{+Z&;bz120OC zCuBfqS?kbU#Tg~VEy{>Q=440A^`VbB+5mQdkk^ernto*1=w=0#H8lz*-G88GD!V8F5dKmmLZ!JBnc!ZkNVhn3 zI#97HO=5#}0B&G9qsR({W;w>wu-265P2w}Q^N+@VA(pD)f0aX!X*ZnLxFA$|w;UW3 zw9`b;mYTb8oj)pt3268!Kq6SFKIw!iA{LS(*o&FZ5*iG{$G$fvAwFvcUgcEWc-4I- z@+!?dt+F5@C|ELws=4LOBstgvWIFKxJc~Nw25953bXts$P`iYm;Xm+BtXy&Z$N&Vu zQVibY3Ra(|6{B--k_$k5ARHC$99Bj zkoL2P1KWuLV7OZ~E;9nwFt91uEO(@5XsNt2RxLR$&ytjxa1%*VSj*}no++Yip1oln z#9hG04{Nn1Xc$hKn~5dLwU$T%3fzFDkfjoOAfF*HA4eh+^+YPTIkq4a-f-#>YRrfH z7uR9F527;fg4_#VOxN+?dR_rO7**qU1kJ(fd$HY*12D=<(Jm|3zEVe_mL9p+XdApV z^xOkOMf}}@?@3!lzUpl)Z7W}NfRvo_-0}#G|F2sKl$MqD3d%`}pMJuL{Oe^6VPj^1I`cV{{`PR#{ zIaB?R!#rWd)rL*qKae5C#IW4OEbwOw4_`rfA(U&e$CEiAT=;|~fTLn8<#{gyRvHe^ zsIn8Eptxl!hw_q!ucV?FhJ#2zr5aST7agpp*2YcV86J@dA}dRYKPwgpzQJQ>`I4}_ z7~5rI0rry}G1-H=2WuJ^eYPNSL&WS2StdeA8$sb%Ag;2MX0w3h9_YQunw!oXNlCTZoh9>zfg$)o{3DFggy%iTboB!z~LF`yo^# zpX@;xhRVoSdn^@>rU^o*{Odl4zj{#?w49Gg{pEvBmR5h=ZipV8lJviK%&JjQcV^rO zbAAqj3DncG=Rf9%1@ihZVU*e3?=cfq}WmMqp} zp7RyiQMlJI2j=ZnY@t~wsV*dK;nqYleD*K!tAEorHNEmRm{*x?q3j$$GdX6b^jn)e zs&;#w^Aw8!-ke9c&W5L_$y>u&w2nH^C&6nM5?abQ!Ig@AGS0(uK1xzVMn%)v!Y?Ye!k_?$a@k_Kxiw^9jN}M1tWBCy6^&53)h>!O zo{uT1u=}z@?5j)7kZmwQN^OR`V>!9Lj1yav$r!ergXxF3MbjAj27G-m*73LxZEqoNNk|MUR%hFk{46Bj|K(KvDj9?<1EK{5V@QIRDYM!*0b z@|zKYG-Z`>7}A2w5*Zow-&B(XX~WKll8E|x2zJjm8Zsk+4=p}|tKMp|0CO@nI%cu> zl6Irmlx!=wjXhj%HZ^xOn(w@8=vTeYUfT^%f>S&H^aD4~%fp~fmTso~{9L+B9}|@q zU8U<$Z%12(rwjUEW>0N`*h#l`sC<;ET;JFg>J(OqmNyiJ7@pE>JZ0lW2bI{4=OaErM{ZYEcZ!x5lm?5>hl&ki&JYO@B2 zQBZ3G4qCDX zWD+Ne#VE>D>@7MI)z!6Dcxqa{SY1LmkFpDz6qw5)mVl2Tzpf9tWnLZ_*aF=7QE|I! zDBjl~=^?XcG#74OLvrd>Jp$6UzJm$V*i zMBv_77LPwd2Hg58?`>4XDL)DK?`~t0HWl>=+-YXiwR@D=5P4;A#O*1QB1#S$i!TxZ zCp6&wGHHcj8QpE1w6hn~KVhAyLV#Ei%5aPPBWwD2n~|gWwjRfaasf7PEMG7QvpX@} z^b%7jwn$~jI)cK6><5-}rLZ~%V;ZR9>xT1i@urf1M_ ziy0HS5~CyfEN@Y7EEOdqhb7RD9AW@6i2J;ThPfsizSuNWs=4qFk{Y=}>Kdd_$U{9FF@o40C45bW$h{QLsX=ealHJFEi8sWea*h8G z>k&ye45G4*T$NjlM7$|PIA_TaZ-=Z^MY9vlCNh{aCAB=+tYTi%EVH#;=KEe;A0wZU zF{UQ?zSz*}k3((wpO2Y(4*y5OjL(M%iLaFPh~1JmLlUBCC8iT}|EL@0x?x_SOyWiJWWz@N za6tr&;3z-eOKuyTxwK2c;~@o)6FVzPNWN6vXCk|cw~|H6nR-?%ajU#80^X*EH1eI@ z(N@h-FN!Kh{RNN@m7S_ceZ!g&@X{!|EtCi^mx+urFWaC2={%1_C~$CcFrD*I1S$#t)0#oSuFZCEgL{x}aHR!ejATTxN^h3$zr~V(7vx=d2W)G(DxBozYH- zlae1850C7+oga;g(n`0)DOw-Z337@kd6FJ^?Kl2MZU-WCBpOZwGZ)ZWKevskTSYt2 zb}}|G0jKH+FzgPq^F>>8rWT;oGVOAFMo$lE55Mhx9dx}xtHf#o5;awfQx$(>d8YLq z!2}T52X_7%1s0gaL^GtclPyDT!wVTwB8<%>iY>h{we$d|fUSRSbv33WMDde2b=0f? zJPB+S1Gn$w$-Ct8B~vCn+ccB5HsJjmS5A+S+XDR92Aw#hqm5HISQOwM; z!IkC98AImqHe5R77z~hvLeeR(;b|S_$>l_*K%tA-PCX^tA+y$kG0%(%WQG~%KLp^e z{<~l8{k9M!wAPM_P8n5zq#h20B@D_B@MzGJfjPj;;Y(qn(o*xHFl$NX-WbzetSeV? zull{^)TJDNfw9~y!Wonj7huYJ{sU<5j>MRxS+H#ajaoVg>@T_Wp@zzxg*}P&`B(x8%r8PV#jwXb zXwMvrrZvj=vZg;;e!^rnHS+<-Ew+qnhc!b_16J*pb+{Z+1IR!mu>7SVX{Y1U@3HaP zh=Ws7e?c`w<0A&7l2}#zuCsA=vr>p;(=~#Xp;zSIjUw`noF>ide5X1aK0rfj<2;%( z)(NEjx-sJ+2sA=^2pukbc6Uq}gFxi|mnXB^WJUyjGX8^R+r*>;h)8AF;F9A;_A=NIQ)oYkZhzwxZVShKb(Mj#dJ}$YttJlv*k7*)13j1N6h7S`vqH3 z$fa+TRVI-0)}$B-02&KrZGV@U5+VC>F12kTWY_p9k(qhPG^uAb-p=A=mr zUC$G2$|`}=sLjUg4vur7x{LLfVU*)L569py8N4SyHT^;df&Xd@t;C45uq8@gXdeLy z^ew>+W>7Xqdj(}x9UrN1nMgo=={(O54Ws8vU5%wM=olK`9e7>L1=Br(2R`(dxq*~+ zr5IMcq?VK-1ayaMMVDS6?q2MrWu$P0x>bWMdgJP7mvz_8RLzh7~*Uj<7@ z87d>_C_jz~d1t3*cEJ){zV1AkjHYTzAaXt-O)e{0vNONLbpxis$Bki@SxSx+LW^2@ zisXiWVeH3lPBVOl09qr$g#2>DaexQx;oYBn$WeWmg*G*#W+KN*;=&lwJY{Xwp1PSO zGL{OyOSDI$fymeBc94NYo@j`6*5g-Adgb{*6TFl`6%*o-^hU>VaM0%49cq*#6ZTVXahHiISJBa?oKL7i4t1=Isbt}+1OO)8f-?E>ny`nZeuR2EGz@; zk5ovwXOm)861S*!Jqd=yB1y0?JG~GW`C^z1Wp*Y{m1$ONUhufP+js&TPbdo+byp<{ zMZ=`NDn*r813{v)%u1ScGi^kbgx|&}GSxhfyJu=r&tSMN@4kw{(4pzJM$}O*V|N;A zSyTv(i@-~KjA0F=N{!}3mhCaNr+KFZS)Qe)Y@chI^y&1qj8%x}AARFW9|qs`>%53# zyhQONLR9j@A0>pxW+`5V$ZXu*GL89cfo~?S^!ng~4`jFihG;DvSfV~i%kAMf3`z(A zlUQxu@nC9eg&meS+w8hMQK%pw?h;3$>APiwYG^ibW^YXUeq$NSX53o1#a_3Cl@u)r zEUL4=dqITCQ_4UIqqQ1&i%jlB(`F5e>8qXy3_NStm%3-BVNDcr7 zx|31XQy)$06<}&+PF`M7rlUSH>c|A&z4BTQ;hM5EWZv$^-#U(Pz5xgZ2oG;V=rr$$ zKkJ6P-XyL;Aql!?)ZftX;gPugP29OcLo&1%UXC!Y88IUHyJ}|8^PtaqQS_ zHX@XRobw>MgA**Jbn^sk?s>b@94}NXxSrq*B+6s zMA*dW=;-<*S@pNFoIuGx>svo%wT_Xb^i(()LbUri=k@1i@=naLm^b4$lYmdFSF=p1 z7%TTK5?(s4j+wgs;%*93)_W<2r(-$~KjOP3F(w3(@JiT97$upL7?QmG^4IbGaq}I; z4>K;Wl$Q3nwWU%_5{C%W5z@hR8(p6^!8iu_A;LqmEbWhK#GqlNJ+h?s&Mk3jB7y3R z^vl7}Yc(+a#F+FuVQP3&nv`gBi0Y}lJR{u+p=J79F4vROjSNBs0F9HG*orK1 zChnP&R*7)TygYQYU*4^|L@#j(#7sEk~2El0p>`wat+df zZI(XaS0s^dFZ^R%)a9KeI~Jqhr@2iw3Iu?xM33Fdhd*FuD*qKLOo<Xr7I+rc*h`9eAshtGd6afQvAc5NbiL|1t!2*-dN94hg> zS=OGmSh`P<$?Nz8O|1g_Nv>a+q#!;NC0u!quKaPi5!kUA;O*?!fF9 zxu9P@I$l=sn{61}>O8<{rRD0C+%M`5Q&AWn^;J_Hv=Iq;eiPcCZG81o+bb2mRi-x2 zJa3EaIn;$PB##=$VkF?+FjhqOLOqk>VN}6@@fHI7o8HJ1=x|~cxGvs_@?%`gV{tLp z*Wr#xuQ#!G$OtBsebfX03k2w+1X={r9Y;X3$VqjS*))nbGr}L4&4F!G@}>s4c%914 zE#!B>;z8sgcyO$NjpcDgyeCyIBR9x5kzmDdw0}}z5^2yjw;s%2l#e+^ayKb^N~Sg} z^R8K@b;q{E&}m;&a>#XusvAzM+n!iAhQmASDy)5}fE-2&=Zs|1XH1!{lNOaPjax!Yn1cU5hLkX{7mY$Nl3eLJIHL(<~&X&>c zu9XkqZ<_%L-O9rCnirX2Z-$^7ECp!~3$`d-?KJbUe z#=#N4%<|#?>+0$_@X1_NAQ{y2xadv10jgik(nV)OL7fmUBgVI1EiD!MDTD4oY`uIM z8q0ssxYTBpm(9bM*dQg#8Fr>wLoc4Riu%stzcW|?d5$EP{nfeN+Cx5}8ei7RJ;ZM`xrZa4Pr~NZCBm{m*pzAnMdE z$m8sRsX3aCjvM`8Q&IF#SRG}I-H5T{ZR8#{_a=WouMeeu&u&xAQwVuwzm*iGi<`yd z7mQq4ipdV@zV-H9uys^5x5SL)d^jqC^5CI5Afgm9lC4DJKbcc5=zF%y`knzpoh> z9HiUAb$;yjs>=%s3Y6^yQ1854Z57m1oQ(W|I*`g=N*0$~{xIIV^V5ZyOV%Ak+*P$f z>kxL#?Y=2@pukZ539C!q(D}iJ`NJGqwYRdW07*m2(76OFW>$*b<&{1(4}v7Glg;lu ze*EigWvO}SR}Y=cG{+0b#$WhCI$g+h;{75}$mg=97h`P-j%bZ8Tt{I_?ZdC|ykc#+ z$kwP$6|2Y-BhsfqF$dY)H|HTkMIkTXu+sP#dcFRaKfMCgNB?v3?%I*pYpVu`57z{9 zY_d1}m8q&wp|jceT#ij|N%s&kyE}KS&I--DZ}JSr*e#VOJyStsXq;_#5LtcLq1M)g zd7KW9rZy9Hj1Bc1K62z99IxzTECodDd7Lg=I?5Zs6J|8A^n^(;7#DNqardr4VscrW znX`0+fQnFue{m1iMKe1vSAvO{-(3Ph7XuAvD3PY-VeK zrDZsG1b|{1ty4%QHxd^uf-zA%BgOPNeuvh7)lJEjF`Wgef-FgOah-4wXU?1{f2QmK z2vPntEl}a^=E2T?E3FTeXUr|-q=HNsKn^pD%)p^U^QHZ z&@uTG6+tnn0Tn#%Ky2)ln)jlcU9V6JV^b7S>DsB3zmpR#8lXe%B6#WCH{aS;weZ|G ze%D{W_oy5;?nnyb!zRAQNsH!f2t!x@ku&^!kx2&iyqa%F-2U6N&j z6svNvW}BrCOgFgfR0w9#qfvkvB_iF&xzLT^fmj6WP>-R39Yc54_usiKnXb)NC2i4N zn)o=j{@|JQ8PNe>Mt1^Ee|rFY=E(k7pi3RWXKo2>+nst(f)+kyink#5$Gkh)2^Yv} zyAg}RcxAt8L1`fM@x2S5il9AW3Fr&J%g{N66&69-xh}j4y49SZvL4JDc`gQaY&Z%h~OWj88%kER1of3u4X0=j}obJ|MwChDU2) z{-EnZhG-u}3vhqbF;q~Vjt`s=W7+Xs_$-6)&P0H#fR57Zbc0u&hI+%KuSUy@U$Un( zGa@?tU@J4@5q7P#pUIN9=8kx1yTVufh&k@nnSjT{TV9gAK5g= z0W~g2gTX=CiQbzFeoR{8*g)uz_ho59yn>{TP_7`xIPuz6C;p0Kbp4Y`k42K~9XTVo zuwaKV6oJi2UBtxu*$j62D>1t#J3o1drfgtzppFlRZSEd|bt}L=H7EUulve2aMn(ir ze9I{Zl~Pt>3@hs7#~-=me)832LBtJ(Ni>6H1P(X9|wiX{$&X<`OS1Oh9!q6}yB z-8jtvjcaPhwp5BfUMO7C9!_`S+`2s09rwJ%+Uv3E@Kik(&_%L$kP`QrT$uwBz&XwT zol`wP|9Qq^LX<7SVQ%F4h4-Gk5yPygOZTG#9(Ih(U{VygLaxFtZd3p?(gjxr`O_VC z#8lHC5(a1%ceDC}_kI0VoI1R_2)iC+W2l|ShytHVk#>H+iL%>^t|w}%uGE-0cC6ac z%gL2PgP|W%l*o2xPW1IH9~3R9pbPU~UM(ADj~Ldnw=x(3LS1w%+A~|7G4(LCtD$%8XFh~~5jEJ1<5-C# zVrB&1N<{>BC^}r`wwiS~+u;fhl%E`?VQO)|W=&V~jZvI#;6})hX#xdwh+6>V1(bsF zECH7nC(+VaCmeW5)>`f(St|THjU$pAf}^@Gt`aieH?Zwik@IZM{i*y!-n(qY%9SfW;8?rVq~r<2xZoC8`luy1+RX@}@&UP`A-;(8 zx4Fh<@|=*wvIxfqaq^=S7f}!WY%i~Wyb8v?dyiU6Oq&?VY1G2AXEvHWpkhUx+Zt}K zpVVcQIZ(GfnPB2|_O1j?%ZBNm-azd-_8jq{svb-Zn3kd=pc)GCEs0vzE+Zup1R2~m zl8N|&TV~$KI{YM(`W|{lwJCcb`V1`civBd@GRnQ#mH7$_W1|Uv>a;jGj{q`E?7Kgz zU2_QroU&dcee9N9$ClNg#ASGGU|iD4bYanKWbsGI0H|j^zZx0WPukF=?6Up0G{1Sv zx9eJ0v2GQG5tgTXw6PVHJx<(RoMT|Fd!dbq*$-?whH%x{P-jQ%czfa*kGg(vOx0$T z6*KX?V=BX_zcY8VLEHMby8GX~s_f)dvwrpASMnB|ykf!0!yGg?L;`tp*s!iHxwo5I zT3R~f+PeK^SE{0FR6oo`12R|^jE{cR$@S?rfbegC1q$El6zYQ=CBq+c`Ec%PorL4= zU%rkU4I>wN61AHo7qhBu#2%I2J(z*)wXZaWbNZ-X*C z#bCnoPCX161q0T*Gtx6rzdwDK^_Aup`CC)#Q#bNgqa(xlk@icNH_gG%&itVRJuGu_MN zGMF=f&$P&chRfT3*RQ*GEta8oE$9|F-Q>T`J^4iK;w4K8)`72d*_jXN0#(;Zl0#-~ zHW{R4RfOHgX^QDKIgj7n&5DG&^qDDR1LfJLksk=65sMOY%&GZ}b`s^5#9cetQd|vR z1D}c=PXphZ?~Ub!Mt62!vM=`a+h4=H(Z{dw4+}32pNXew2S_8lX%zq#F~JsCJlCIV zDMp)ad5TajSbI!DeLM)Aa78_eq(<8_=_wy)jDfyttT?4z8o9XCFB@KU96 z!eCA1CoDcov4rxY?U~1OBDS*w4MtRi=VMbG*k9ard9{Hk{05^13sfkF%z5ejQFe?( z$${wL?>Y^mxwIU@4z1ca%Hw?IkKx`9q3p?%)4jU}W-q3^d z$@7a%=FZ89Z1biiFDbysQ0XJR{peYETYc*drI;U~k~~h|^4kDMQLq?&Y>V%sgst`Y z$Z^$z{mKbmtJ#_S0Lx+9LYU)ZllG*l6-G=;Oj>U_a9*fC@ologP-6V%3k91^4r-`H<9vQFj z9So{S!AFN?>Zt=wbMVpUxuHPd7ZMbuVZFHB2*+L^yiJkCrJn(Og9_U3fuPT5X?Yd_ zFcXKDmH<@>$e-$NM$w*OV|`#o7ae3$B}|wvDpK>4F6${~J>}Tu;NOX;RXvikOMH7%!-sWUzgB^CC&E<{HMhjSZk>_&cZ1?{_M4-JO8EnJ+P50_D-v0 zBuQMKSD>JhV(u$6i92|)w@b8O#S65+C_@)K5s}9hA>%~XxFm|_cu;=%{wLTMRgWCdW6;s8WOQjF zwlD23uT<8G#rS5ctY75u3EUkBA#25&K>i{D3>O;uZxl%nN*f4Z)DIit z5K~H^#8rFnJg5qw;_V0bch-t`FDP6YoEun@!nDTQr^C~e9Y5`TuOXwRIE|ri-MR8X zYG2`YfxK7#XN)0RD=-JwjVltkY?v&^iz|{M#qdx z#8h9eaoXZO4iCPSx+IbR+B{YvoWBO$0~_1yQE0#GCsuK|z5Ts`_VR9!xJeO$6NRKN z>$aq>bSPX!F=9bSmxSx0DpcKp`4KF7MTdHR76wPd%iG>Jauix=yIpVoNTSsaF7->} zE_JC4G$+E1%@(ESCt_Tv`|yja=d(=-Wq|{Wk!-|THzL{C**RV5N)|1cnef4@Uh`B- zHjs-0Pl*|BxL2^5hmRg5?ElWhCb5i!kE^|-Ito?q;8VSKJHMdD^u6a1{N*mfGbeAAk7nhgc>;u?I0jeV z$Y{4eK||j>R-9l1>^u>dHEh~Ec6-oJIGP$+%4efxVWZvfkG2k_e;1(Aajc1F{i#cX zh&xW5@>%xkpxQA8EcqiCL;|IwM5CxC-ONvw`XrKpCF+~ML<$lih{eITo=j@Hm{Qm#FW?rMA!ai%S^*rzA z{ajb<>#q%J*7)(p7K^3Xkii2-S}YCmWxbysXoUY{%|AcN;*q^#$iM-Ajr6#=ul|>Q zZ+&*8)ERMW#j%rH-y1ez`}Eut?f+9g+5Fkiq|MLu@V!;}LF&}G-+t6L>`c;&zYp*# z`1iK$yRYB>TUAi(kAE9IcFvjmf4gga^wU57q21S=Pd)X=KQ!lz^KXCs!%xDeJGcGw z?LYb?{GD_38)<*AJTBRh^woQRuslAfHuU8y_rH_8XO->a|Gk)DNB?(XCh`BDC>mtr ze>!H8jcwci2OehN{~vgm1mu6<@jvkRAM-F0!2dsSMQ4Ycw`XTA&idkoviz{^X@&bI zpZX%|VXv8)J#zv-_uN&yw|Yjy-qH7N^swC8Q@nRf*5-cEMf1zgM|5)@96LL+r&pui zvkOlyPD(4>=$Y`s?7{(or+enST{fG>nv&%EihRL)19R>c5-~8{rRy=bUUWvqa$7~1dciW^-hKMK)cnMiIM44_OmDfop(Q>(zGj#_#d*=k zaWU0elp0eM?U1jH-h#77-DN&)Sf;kh7w_G>w+pZPLhs(=(%$|)IB{2GsqfgFpXapO z@`!IeOYRTZpMM)WtL+Buw<#One7fbd88g05OFO=z*M(#E?gjL+&+CzOlc#tW>qy;O zJ;-`zP|!!t{_|04Wcjk}Cne+bG zL0y+DvvlY&CGk(gTU_e>+{%uppZ`-r)|A9qkgwGn@**#-m=+#B`}FW$rFrt|_zdfv z+4#JeqCKXU?pXJwnX(ul| z-~N}dE!jf{TE@j^KaM5HI^?(EElxlGbMV*6uT1(SctUh^d}87=GxkffelUpA4woL4t*z?;d@3b9sWY)xuo$(ca`$~O$SlIG5;puDQ z!}o4j9~rwof1zwiP|?m8i{{9erX6WfcSi;%mGwy~yHH%Qvbf?cIi;v??UkGC7w_eU zUtQVv)|cyE!fAY&J+$kR;BLvIc5nZ>I2ykd^_iMDuz_X6kV((U8EL;^mxi}U>=_)! z6+gE&`|%CODHZ46Z;@2{TT*6hi!Ms9Ypar+Rppu*+Vc;G+&COkJv*p;wspB@#Z9|o zI=02JvbJ{q(5?d;Y{Tvf%$PChhlZs$@V`6K|8VK0qaK1QwLkmR{+v|_olYz^f{WAt$)l@$uDanS=*Ob; zQ$^|J1Pp6VVPWB{1zUq^ugxouu=W}eb9?PMyM0h|?*RilJUC=v1N>J`up9}^v&ci0;A$GGczyA?kfeZ z7(Ev-v?IrnmsOi*FW9j8-Va-;JnaIn4H@xH>qfqdmi6byKJ3j;mCwWP%R2b3{&2eG zxwR+#dK`aM`wu_!?2&+!x1L=eSbJ^6RiK1V@4&#z|L~gsB+%oimzP(B^Uet8oyofl zl*QR(kpa^BEAa?Co#eQlbQ|Y$^Tw@P@3hIy%L*W(-I^R=B@lgE)R;i zJZP7FLyyVrPulhan3rd?%(}B~Yv7Xb%Fn{bM?|c*`ePdk?P2)RR&&C3x$B6i#ug=r zN;M5Jkh{)?``wWj>uLe$n__ja9!S;rcswrspMIrZMV>v_{z$E8T3L7r%s@d>W{=um z{A-)1R3`jhaCmthOaPz>_9fLAFLAbN;I`Dx2TvsgWl>VT%dCH{uyV(W={!hlte+#f zebrAN-F~h3&TDza0&nrwt)u519^GJHKuTJ|bjR1{3PUg54Jp1GS#i+kp?zZ047Q@m z`Jo}+VqLv+a@K_(du-}6=VPzR)m|67#1wSdReLYDG9kaB^iulaG3gDxVoDaL*&(Vv zrE@~d=OlEDwXPaHcgyI4HLK?N1(mi4+J7_EeyR*7EGLm^{Q>Ax)-t@bW#Hu}ye`Jz zXF|)*!SLD>%{yv{S~)w&zgt>8`*!~2<7+95sn+V$tJ!11uY^1Ag{J|XzRRqI7+Lr! z&fvJnn3e7N9+}`%{iXokgrh4<`v=t=3_8hgpHRI&ZpIaR{#C2vYE)S->uk$wU-aG& zkgYDuvDW6~eULl7rq=H4=WL#v{^Yc>uX=xQqczX`NM}x;jcVqk)y=N_I(dD(0=lsi_gMhwQeKU17 zf6bh^Z&SpD2Nz6tbV`XD;5W;5^XByJHpg6=;2RTsPMkXRP}WVp@6nhWM|a_|YYy4Y zkgpW2-F(OIMaQL}&0f{td0l$KE9wD@KLjdsnC;H6vf!k*Sx4L5C@!8&o%Y|c z!Y}0E+`yjzdw`z2nFpKYy?=Um-n_ERz|^h%ZceHB$*cC^hzn6&;=apti}l}};jg=K zy2|T)J3fA{qo&f+dLngR6Cgt~0A^AaKeztOnu=K~eS%I61F%`XOHDm`;X->)PtU;x z7ov-|tUE9_n+I0=x3q1 z^qU3CJ#y&yj1U^iALnLt_O%>)b<)nq5_{sevdS+`PMk1dF^nTOJ7o2+_0N`425Jt6 z)-=3&YSV<)jf~o1HHKNOUoP8q=HBAzJNN840c;vkMhOb6*zZ-i-z%m&Io_$-4?g(d z?74FnV^+=m_3MgN-(w@%MdXP_^w?b5^x2T~!C@=1ANTTu(yZ+=;ys*a{qOKNAZk{r zr?tdW9{1Up85f~$JS5AF8#gT9?c7;^Uq_$H!H%zQ+`Q>g5@9Wm2)y)IR{pgS);_et z#xSun$0U(`qi*|cJJUGV0^z$YKX_}_s!QvwmFr)aRnQfx!$FEs~n z>ags~>&zQ69uQZ+2F{fem18 zyZAo2W#;)gIo{s?mlNi@h~#+Gwny<@ZQHi}&SuN%z4DVw$DSYl$t9d8jr$X^0ArKn zd}PGcFNJ&o2WGzi{)f}2aevz1Uj31-H4x=pm4)$@<$e0}sh6LhzW{rLEqnIavAYiu zO>6y14-9?@79+Lyoa>Kd-8{Qvf(QzPq-{{l7n?S<)8x*6sib7};>GnJdg!5JuaZH2 z5D}3E{C4XxA|kC8{PEHbHtSXLaZ<&{fp`AlbtUM;kt2`ki66=bdi_^y+mkFYoeiVMz`1 zy;nsxkRRudrsU4JL~J{-q>1s^AMI~Q3j`hOyZ2Jxm~6#$V7Cs|KKu5reaF{!@i?2C zI{|{U=hp7!%km+u5Y+6Vp2?$*%=$(nftL8oues@&(Vbe#4hp*~e zoW6Eh{^sag|5$h6y|jtR!SF}s+fSGGQ~dm6zpA}Q11|LjYoBlLF}%gr*Ead~;8yG| z+I}gfZ{NP@;2&aQ8p%f&*&JbX5f{zAdTN#-Y2qAXNXj@iDG%%t_GNMgaPU-g{kM0` zTu2-Na<(tub#&I%O%bGV-rmAZhyH`0E6ja+QDleQ!38nf&U`$+HK?ilrt#CiC+^s> zV}G+=dHb@nTap*kW3n7w+3r%$kV`!UV`X20oMk~*p*Z#XH+Kdr_66EeeCJ%?zFW7R zwK~hKSp++nwIQVEB_!qh{U6-^v6p)oky>CX#TU}ip=qO#a6<*8t$;pQaS2SQH^q$FDegl_F z|8-c#BSE)21|1-uc-Y&kF!Umv#W@$M;YDwHF@ExHIHb1PTwA8S_PqTK^)c3F~Fsn9BC7N87Aj&+Lh17^p2_N?O*-9|B1yuHREC~wu)JpPHnNoe_Z_4qhP?9%dh{k zWf-evjZs?$NWe~G!iHRj{(MgL6pjdeaC z*cd;({jmViTToSOXH7GlPCDHG-r_t#8>3G5n*SF7)t!9CBTSa4*8^@ubS$p7!|25)D+K_^vjng;BPY?P0 z{Q0pl)v4Bad&LU7B_9|wk71AKP=;>I-jeY{+ey?RBJ$gan5z+mc=?(^-$}FszClb% z)c9#-d9cY35LMDc_wQGx^2OtxLo!-qfVkvzC%q!tcD2exWF%z5g=5%|1iY zJBaX1n;n!}6IKhZCny=iXj6CNiCG7{fOB>KjdRqXL4)?B*sH)|j*i$Ic${RFBm`Ok z!v>#ep&yJ`2j686_`Nao3D}>9MT_Z9#eu?z>of&k?!%~qkc^-Lu$aF0rF%#sedYvYa(p9b-x6JjGeb4$Eli zdM0GW^Imy*8tic8D)NaV0sbe+AmP&fDWoVlWVvS*wcRceIfJhK+v#uQQ+*S2ipJO~ z<877ub3&q@2`~R3{3zFt6%sJdgw~!B^8_0~8xBJHkeAmBefqqU99-I8p-#_~)KuDn zs-mRH;4VjBytgATXoR)ubY*3NGYa967a32e_Vj7jt~BW`OhZx4d3$X;ujsP}Bd@KG znKC2oN=uR}k_MoMMYD$dxU{S7SFT+7=CkWTT0&ZjghY+!#{qG0NcrE!&nPI24=+p; z?V21@I9XzuV>%if>unBuf3LYeEp~g}Rpq^-ZeI?EfiFm&yz{ZKIkT?++Vw)gGZz+( znUS`n)!~a5pMYo&#w!Y20>z?`94G1CaQvMe`vM5;&Nvg*#)0`DWH@CbqDuIO^Se`1 z%O7?;I%D^>&i*Z%;3voCyfKtiVqU&yOb7pu4<7t8W0i4lCglulP;~ck;A&?C;}}z6 zz;D{Laq&e-w$0Y#iK!QUOmJ2vlrhTJwtf5eZsnzArPRJ);2H4V4Zfze3;g~@`2fqj z;?XfzM)&UBJ0JXt-Vq~uBt`uZlR!-Iw$Hoa;a(DN-4|dhkG2gW_d|5YGwzV}2RI-C zpCF~PZk+wojP%l1u=8n-s-iS|VPR*&+?{KuYX+SIh2n?NNt;`g7q9SsXLW)W2LuFIRyWu; zEucOErtidK=Kvif-X||_-*fA$Ayi~Pj-X45 z$x1(Jw9>Do?11xLR&%y61{@t>Xhb&|?^?pCA6} z>49M@tjjCsIr6dNj&3;O??aN#oj;E_9OWOngYf9X-VhIo2|va#9Db9497Co*2Y2id z^~PC~&4@7Cj7`3atk2{IuAWX?+UiJv^9{c>8*0XY4<3YF1#hs(($i=`Bp%b~%XJ5g zZgbMZZegqKyW&!0H|IksQ8Vz;&Yt{ zY@gwcW*b@OFk|THHFzD2wUhzA7<>wf^RvKAzZ>s-nlH2b#{g&C$;Da3&^orrS`F}DURswX(k`e_+Bn;4Qmc4ccbc42I2jx4lg7ofqCu_qYH4)$Q)fVC- zKnxHxG_B|*gC^RRO-CpNE3d>4wnTi@d4`8lxJ35GunXHZH!*|=ZEN9XY6o%=--{!~ zj)p$b!{_Ak!OfjNPb>46zih&YmRowp-gP!NLe|F@cwEJ*cT|*vd$S%P0@ucK0Y-)N5L`M$ zl{yQNElWtut{UfPLq9{#XZ`feW4bOe@-O>84E)P}k{%G=-T5ja(0G5GDZ~-t-w$D0#Ia_a%Odf1HXQ%Y=l}7tF`Y^oGO9NY33@xh0T4&Qn-Oat<{Y z+~XPh4^A|w5g3kfLqg?!{FezjO^d5YIK>}?L?gvz1`?AIQ^$Z0$qXR4S0+G@o9EUH z!)k!e@>e+~d3O36gIYe+V~XCnY4^s33`78XT3PYCVD&uG;=lbj9ri64HKb+?zftLo zwb2kPRb*%qQQ2g8I~l;w3BNb9R>U9Vu_9Hh3x2vLx?SH7nlgmyNXCa#FqM-u#N^J6 zHd@IRRCL0@XON48A6B^T`d3sOyPT8Z#6z;_r@zuUPWcv6G(l zvGs9u%nf+4`?`Ihaj$sNUwxm6Oc2=4FuzitAdTULMQ=h%6UhYf-fHu=|MIPye*a}9RQY$csZCIur~`);b$QNP#1tZ7{9bNaCE94aoZ4 zia^NLLN^|S0}ALohg>n-NKYYS1I*@sj0wf21ueFAg6h*;BOX;V2=WO=Za>W9i4k(J zgzxpb*@l=7sEYtMq}=|GqTQZlUqwCa^Z+S5E;-{m-hk=Tp*zaPQ%a~@oxogtx%oAd zDSIm@djG`$Z8&cGXu2bH^&!{|;0lBTJh*s#n+4m8-0F))1+&?To6(STFA{l8TOF|EU7CL2;XrsAX zD^M#~hSLst7&dcoL0aJF&U#QZ-`M{sCjRdbMM##<_>~qjFkpeVT>)kQdncaAwd(c@ zf{PZL_N;}`TUKTQ!~)hHa%~4)42g?;1Ay>j0DK>sY?z{jex}4hHzQ@OkGh6~{9d(g z;J^2NXU{m(hCgHC3Es21Wle0e0FfDwnOL*q8SMO!<}~pifxs{MFFM?R((NQTA*AHg z4p?gEtKR#q&kGX1{4V|)`{y?+$gI?jjY|D6SyY+NfaXqbej_Za;5KBX$vbt?uh?|b zv^Me1zf&Y1w7^n0zsr8yK z;4lz5*tp_x@z!ocJ(C9XG-|+p0Q`8VCjn1v(h=uXGiG1|FZhl%qY;6i|0GB7+E|Tv-Ri=?rt=X9C%n~8*mdL&k0r1kNol(GV27_Li0z@Ryi9eEpz_6<0Q1`GUnFe+YPehCwn(7GnD zj)<#^lO&1cXaGt2HhXm74n02{g6#iqRMk0K8otlB-Vl5ScyK}XFW*;qPX|F;rtx@HEO)f>S#un)#BwxN<f}#Xl2Sqs^k-t9Gjmn)&uqYdm`XX$Yf)_tE!&d@`xXJ5ySL2 zSF+oQolUmvWrHpALBydlhq8?qSLK(ijAiP*tE%9|Gd$xyq!8gP04pd2@Qi~ucVO`D zGXYsQb*Hw5!meim6F*fCSvL|nNfypfO~E`~GD12cxiAs z`A&S=(5{w&4N|5ga+xZ81f3)mBR)WJ!?gG3_xje$9qh|6K2L7-p(Y(gEX~m+vlu)M zp9{oeQba_n1^9Fi1ULt2%4@8m=FYfYssL;-hJxYur>6B~F$+A)UK)s4As7dY3y_H! zQe(9*%PK^s>J3TnPH?Yp_GHa=7a4$Ut13GR+DmS!@%Y# zQD2gNktsk}x%ZUHUxTFrTd&1NO|R7X;$Qt6L!(WyX|gSJH-X8FK}&h#GQV4`a0J>j zt2d*xTYlTUGPs-TndNJ#D8T)al81#P{j#{C)h9@3fc%iwN|`ari?fI3%t4*Jy&UPA zoH>*^r8!jWCcY0cWMdLtV?;gZCtx|SLINVJyAcS`>Z&^eHpa!zYWuI`kw}RzdqBiD z#?J$;?YfbXGrR{(x_toa*>=-27f;YQz9-F$04d8)m=J2bz%MxL*WiC8H|HkfKo8lD zbZ=@R3nmw>|E1ojf<5OJBe7g~q*jby-p`vEw27@7ndOMa2s(&@JQ&J15TLAt=}a5K z+&Yi$U&+6e_p`+PJyCTp=z!!`O7t0m6nyKY3+wnnCfeEm^z;2X_F(CX#PCqgDfuXD z3US<3iC(pLtCT@eN~QeT51|Jf0Y132Ki~bE{{c4zTV~V$bk8 zP+~JBHu-4%H$-it;a-434e@Ki#0fA|9JDW#_uF~y6Ol2M+|!N$g>C(*deb__dOpPf z?tTcvq|RRN(>q2@TjT(obu6nAsBlmkR#>6TN>>`l0fheLPAIT9c{81i^l{-d`&4p0 z1YKr>EBG$b#GQg^fAzFwywuu|RoeYx=nxY4EVVzu$V3UaGr0WqdCp2-2!%-Z}gxkDh ze&-v5ts!*9q6U_mgA7V(3dPvt*sBmRc3-H4;e@UtFh?KC5{KHd;BJ<p9 zE7N$8yXc)5>?@)zX5=G_gCO%i&#g7kGDoN>>hi(+@88Kq+wR65DEW zu}xXh{m-?4OQr(`te(V%;FK8+vPdoWP3#$?HcyDWEPDW@4O((*TK$>Ymf_755jH+T z;Ta!+z6zRq@U;((jJ{4t?QHj^w&^@clDRUSZbZFT@>tl~8nN zzH^+Tq4z9kw3IoC{nk`@BzK2LPbGot%2gPcdfm@|emHkpcf3Hg!0qW?Q*fzl#1^%j ze`**nSXi)-|AAlC!S~p!bXz{Y@?Iql9*F}HchMT@UE#C1&G>e=5PEQzQ}t^t35J1l;VEDLz?Q+aKjz>hHs6Dbs$r4o2LeF?lh#Eb_>%ESsS zjn)zo;KRntM?!0Hny6ED6kh6s>{I#$~RCBlJ4ylr~z}1?pF62t!rVoRJFB@mI`Up(J>(fv05QqpU@_ywY z0b1cc@fax*luVs@hx`@NVGeDXlA-&33$kam4NuOT-4`WTsxl7`lU^g#s^I|3*AlNm zHWi0;fjicMCKfiX|KAp zUV3p9_a*hh+-?l32aldG5i zsTdW6NSr>>V?B^%w$dgB(E!9|D$Y;`D!LsMS4!4esR(MO{$fpo{_G#4#1fJrS{8T~ zO%Luvnl?@Y&zmW^7WNKUT>GRICNeXKjpD0;2#L$Btf^EP*6~hFp}$3U=gudMhzEOIPlAg0gdESI+ULp;fYGD^=U3JryHCN#6Q->-7f&_= ze&SeV|6x+$Ur;7YV7A1VpBNB!GXe^Tr|sFZhdDsnNIrTv_Cy*{Ri7XKE^3C52nF!e zPEiOfwCBo82##Pevva4X3ca7bQ~f-6A!?I|)1(@-R>W4OjRYf)%rfEEXd`~LIJ>u} z{N(1+PbOPtmSy(RU=}BWcF>KTgTth7in5H)mT(BT0`yf3BhV4`U!h@bkB;fF)^o0j zm+%eQHz}2FsP9r>cUF%HAZwv0m6_lheA9&fza(lAAjXnugYZbTu(pGwagTvg_8Xlt9oGK;gEG>mn$(H>%S1B)u9aPxN5TV58pdSA*l-K2j zz`&a6z>0hUHeFnJCR&dx%kw63scdhB^h5BVq8&)0)F;4Y+24C536THCQ#KMyD0z7T zm#l>3?xPV!x<#}j&~0Dj4AK)~%Cb5IfTmbA*xr~P5IwWvQu2O5L(UOtN6~sx*ky{1 zxU5-Fy0^*&@$*={!K?7))f>RDaf}xBhJXN(;-MT}!gSi>SZ0T~mRhflrG-ntG;k(3 zjJ?G^fx}OSnQBx_{fa|IZ95}U&iY(Hy zg$pi#_#yl6iRh}9rD^Nq4!<%9iJU=fCdL0@N~W=a&z61h;>B=yo^Y&%kFtDKNC`n& zYXU~6!_tM)X~E)10vAd8OU+TgM;U+(E)6z$qNdi;xRdEnY@$U`Vro52v57Afe60h# z=j9m$$qcnSQQE`+JOc%YG%x~} z*c0sNtKetX3vWFV;BxBqw?2t>bLeC1MoY(!<74p0;4pdZGGtKe6E~MVP_@@uryAdg zNPo`=vC|9|GVH}tR~Ed80aOL2SYSrT&XAQ0(O(fgUVG+`|&J@fN()YEOwr|vH$e*8O9QjT5EsPnv;WTKcM)$ zogTRc=8?H$-FFmH;5tQoAnL!-R$x*s)CY+f^5)zJM^DWMg5*w5J>Q7sa0Fo41C#}$ zWOnI7_eseXL#B_{XHo$gAoxto>i@Qi@LQ zc7+a(dTi0|98(&`%VbQ?(U{(^b7Hapwo;Say{Xz`U}zE%_+FCtm0lU#3Z*fEn2_JP#60Gvf=BfuycTh{O^^13%B4WbSk^FM7!C zM>~K5>_Y*3<9*Mh=G7yOP;^m~44kLFYPV#NM#>ghl%|XJNUYrX__j0GQ+tR>MSXQc z)a!W)-7!GV!S3J5+6@Bk$E^c!3+=;$#s$Rpi`@9FdB2N{`@ObZ+qN|+8tY^1XsN8+ zs715dVuSD@-J7Buy!T2maV;3;gB7OPRo+W*w}ahFlK!N0600y6IBnZ0;TmfG!O~Gw z4REKH$Yux=LEO4wezGaJ)W_(gO_WVimU;bToH5}9gD)P_U_fVvqERBF<6EO;KoKbf zgb66(pVA4g37c4$DA1d0Vf~XlLqr_hTp9W9O=TPK+w;Q})-!TM9tR0mTOo>5T>am6 zyxGALad(AiTR0~~N+#J-@iXb7@Ete4D&_<1LA2W~kc?DC`8yu%2U z?mg8fBfdU*eeuHVrOLI~ zC*~64kCs#JNbWU6(I}}9+tbhMatF0?Sp;e)gzvjIpT1vS{$`YyhR>Bn2ZuqZQz|jn z1cXZCQkuELDMLQAxiT&+S-SygU3jx_N+h^*a?(!EvZR?elXK8$9{8a$!|aIF+(Tf? zAFW=E5Q38fCmud5$&PsPj5STOwKRHpp~ehkD2$J^1tOJQkA9xY=ixI5DIL||ByB>G ziw2?KMx=u=ADXvQCv(tU%T9A8LV7O2#dFXSB=e121BWnmh)ANo9l8QX4=Gon)kru( zLVhzz$fG6+S+?sgn(dW|gGVnT71;Xq-ic?p`J@0k5Kul8%TzQPwHBoDKyPl3^iAf> zNjPjf@ceLnH3|yRMkdeF4ZgrDpXA0S#JI@Q8DJUMpsccH|9@Wc8b(3Y%Z>@pcyxhF zs5Q4r8Z`yE1PX-1vqI7>(g;L&d!M{o2H9A*K~|PoTzjF|!|ht&@j4CEe137P#jZPg z3V2W$Cha`8cMoY%Oh|J{QvV}m)#sQ zoq(1?s>2!~JxHwwjeb!`2sNWi%Av_Do9Xh>4OR_!K zPWps`^&A4FF&N1bXigJ|; z$`DD?46S?+jY(l>SE0JP<#vlJe#}qnu+(3S3V})qnMI+4V}AB;(WW>+Pa~2o`Rv4% z@KjcDyb~`1%W+^TsIFNnsOc;miWA~6(imTvb& zT9w@se1v>Kgm~x{2{-yK3hoB)D#LBnP+t1Dk;1)nuzSsG3X>{1i9zs|`Fc0PV=Dv= z0Qm_1;J{pQ9~pEtHfMfI)Mz7liuZ(cTYx4^2QZBwo{F0cYEqyrl|Cq{M3h;k`lHh{ zsbAgDN+;8n`WB>iTJ!&L`Yw?Z5R=M^^bT5}iC`--7P=pSJ-#F$`};k6ni#wW$d(8z z|EmIi2ws}%+5}O3N*3TcqoUOpeIp)1hX%I__@Kw= z)X~$-;^BM;SLZwt1VKvVJ0&@(2pLnq88z4%vBlC2E<9)irG`BiO zz~0JgHJqXelVUnnJuwK4Y9w98%6w5qqS*-s+&O!xrNN}&X9W?#|ELM7Pe##Esu$BV zNMKDi`Tvg^MfLFZjC;Yz(J~^{W`RrpEz+o_R;DjkeE@J3RjQ%Bdailh$P3F`y)p17 zF(N1cFAR4yTHuBd)9J_xSp~}yR#cZ!o03PN1v@mluJ_r*2&irJxXcFjj*IKO2<7wI zf?V&8rP%~l;1&A%{xcZ^CM$nSx5&JaPP1&4^Iikq@`UM{{K#k^12h;Q_K8?Ep-Y zBRHgAgE5?->S=*^MGY|M&1%3R9gW?Im8f-B;?=6A2V1Yh|BwUpE;A7YkfMq!L!H&WFC7IL(giA1Puq-&Y7 z8`|Tsr<`m>t@&s2bMcukE^jp;XAVl|l=RBj7E98-sY#7gOsLLTqi|4>W^5?S^w?W} za-NCU**`J3;kNx4zwzW2$`BDxX6RYckA$T+(qCLsGkkHeJm@~qM4j{o({JY9oU$<_ z{;F^6)t25$4&83?EXiG&4qe|y@MIM#;n>Z0Crr4s(`eJJJ&YRD8MQ(xY_AkBMcr!2(gIG+3d5Oj&Z!@^wm&I`RWHXsAA%1AHJ=h(iq>**%ShiFlp_>F%+%5_y z@qkvCPtn}9nbDX|VWAtNgMp4`(mHNiB4walU)Z~oCtpqOQD$;EY{mu#YyDgcg;E$t z3Wl&&wzGuX?i7mVW6g@GXM+|Id{L^QBwj@?SxE{HI)BBA6_-a zWzNrA>EZ{_a;}w4Kd_FfewcLd>1*agH%=~bzB1pg=l<7nA}Y0<;W+)=jmIVG#J%MV z03ZO=p1DVIkCw|1hmAOW=Qj=9OKY&Vzt99xo#Hv=sbM|`y{I4442AlG)c2##3{6d- zAV3dt1k7B#pVI{x4P_=~BI+&<<*fd`FzAzFO0o;wRu4AMYS~l13HM#WJxUx{kOP*x zGqN*4pR-e*(3GE*auF>Up6FR#jT5Zd#?oco?dGq%uOektMxXCLA^!<>}xyPU`sIp|n0*i@y)lvOdbL|n)s}a&-k{Z-Fl{zAR9N87+cxvLE`C0$^%hng8 zTQAKrnX+p}Q?~qkba4h6Z>EQbW9XrBAgQ^6!?3>;4s|$yN1hSN2jzn$$4ri(s(G{` z*rGm|CXe)QK|?7`2l^_fMidA^Z-$LEw^E%5v_@6lNwgfH4xEpR!Qo|iJ~H4exZ8aD z?Aw=*mlJ4=Al8zzxe|lE##%6RF{HjQAPMV>DUsq>RpzHu)K|@I zQ?#6=(U{NFK0PC&b}V{?jP7H?$42V5&~J0XxoI5WDiIBxZ(y`^)QX(QW>ixJKAC7~ zs6@esA#+OiQBxfj)Ugz`qwiU}{i={$mO#VN6OYmC1j$TbHg^!!P=6>1QiRw|2Ly4` zYZ5_0w-=o~dp5G<$dM!ACin8MMyt8x6z+N$hjQ(dx1Me(xiFEBpxVN4Sa+x^NbiCNB2V5zjHNcdT`Sl}AyiU3 zZ@USNPaDy=)pBao)ybHrtm@vlX&Q!&#EfP=jt*CsadMPq7*1UE^tkPs4F2L+)#`JN zz=tuWRXHz|naT|bm5&MQjHC0<_yO29CKG7TtJF;nL0(3|q6n0R@nC^BGPX{sdfKEJ z9~w2|CmD^7ejb1}C0PZX7-8LNt=j4liJ8}E6+?g;typ{?S6QRxhbr)w>iwcVmQ$Pi zEoUS`*ERJr6eiC0Y$(E{>R-W%m;itWCcv(&ibg9$BeX*8;%E#lFTIeMY<3^J*0~(O z_T!&1S$O@*WvP2%8rkt8wic_C474iSwxBp9C)C=HgZX&3z=IuKg+7NOF-OoFpb zO^~1ga__K|ySHQd>y}5Bjt5hc%1anQuqS_+3XhS+yYBrK#_5P{cr;Ra2gMuDHg5R? z!lo8xsQd>HY`bb%PDoNtP{%2zS&@4TRa>=`FpN#a7C|1?sPY-OoJ6e=wZD$=D503q zjW1XT9~&j0+9yI0bs~c;)atf5*OUXd1>z=Q_z+_4*l6sRO*luhba;`ZtbzPQTN=Y507ZQO<@Yk>Ib^ z)!R2U`Kxt{1YrMfR5uI1vn1a$=<}e;wLupp$zHMG;4;i~A98jQ=K5hs3XXSV z;}ch!=Zg5CmUU|KI~gHmzYhx9NG5@gVFEps}=hL0g!4z?}nU-1tXN&W}Qq0 zVQFTxi4kAXcXp?Uoljv#bW+8rgWc2bWt3kSrrq%%Yad*I;niA!yaxxHbFe$c`W>Z# zDQJ z8&|P@a6v;zT91S*4;iP3f&3z$dBrF|dpqL%9R8xG+NIw${5XlFYASRm?&QzdHPp(< z9wFtl1=nP(xzpEZTmK7NFP& znerpuGJfec3v<*xW}@2Jb@WfyVmv#u1=E~5=qFxQoTjZUueKHxP0r;_qR+B=iXm_JT;)f*4 zANl3UZ`R%Z1#?oZExb(^eONpF2<31OKd4H&%^~dJwH(&(-*06{-gBf}C&FWX@{tjBq}05fsMGz)jEsf4b4tp}WMY=AmXaeiQf>oq@GX?*ME$h5{UI%KR5OOPPMRpHXKEgh3b&|MIUqoGcJ|_7 zUClJ_ZzivfQ!-o*BW~4DeUthk3VAaNlIAYc$$X)V))-QNOpZXH^76Dd;|)QY@#K49 zihq*@bjU#7wNJs%FK^|4dncS$6<1EhH5J5erX47FZfPVq!)Jx^P8F0gvp+)rbdT z-Yj%PA9Ph4x{B z@PtlPRK>HRTB)u$2`k}pgt^5`2pCOsk2mU?=FyQ$MpxY69Ryodw>(cC`now`8Op#3 zLK5rYy&|h(?tD!hv!tH?pp5|xVQ&cSARHRC74(X2#iF9`-+cP>Zy)3p3EB_PV3q!J zP`{69b#UAqxokQV9XeWPKKcSZyT_{PLeHDGX zT1-~r&=ca7Hb|uaf{{>jdLhw!uSQ!UkFTFMM5TIh!xTSO5hIGL3N}b6RSR+?kAi#- zWWkwaV3{jd$$a`D#kjG>Q{tOZ9IMV0NG!+Th(_HX4w42sIGeb2EoTk_;x9(do?Vve z4h3V9jB((tbq!N)y?xPD#c9WQ2bFj`d383XI%w4|_*-^{UM7MVF_DQ@c_BGbwH6`X zD!QuO_$Iggyb;#PAcgX@$<}+5JrHS%Y$gnnj)6|ZG&;bOlYQb;63s)LHhp@($QKiw zrdZwNFY8d>#_A@=>g2`fPM{LbB6$=NjAE6jOZ7NLj)a51z`{%GkPfMl zW`KoP$H2X}1c%|C3QqHXemGVrHhXZrd|aS(1^2uNDdQDecspw&6>|`(X>d_E6by5~ zY$JbMJbK%i#nYWljXZu(T^`@qE9%&vL*}+#nz|RPfioNA?4_idglzc(tW%Ob!v@ly zU?PDt(hGTy2`_O0eZ^9BGsF0VP;i+Z12uzz74C>H5sjD_5dU*9+(!*hA+WsAlDEzA z7k9c#P~~w={s^Jcbgh#zVT!ZkGbj0H;69>(H4mBI?H_dy%I%}{E6@9L*M>Cjs%t?c zEAaJ!yg^Z%ULqfg?@8dl_No0l)oXLbp)RP(XBVT2wg9!IgqSD;h`?Ne(gSBFB?sdU z$k+#_0T*!m@?MYtq7Fa)SaMFt^64}7+zim%0%5t_AceFPY@9v_r&<`S0tUgYTDj8E z*>{Fvy3@a%57ec;+6^Qi_1A}mg4@!qM-`E>MPPle544~#AK^P(ktxK6JQb(iUfdPj z{4iw1TM_qtfK#Iw821!C`o7Mguv1fVVK=W}E`vP{s3Oow}fg)Up6U zxE0C1Wi9TpZ}Ox1ihJyLM---FBzJ8H6=ZFMN*4>FypwMjrM<*BTISy?~4-^xo_mOVx%tayMi zh^$~98FR8;7W`mv;nW>(K8$27AyF0QF_oc3xvp;s`IuBJ} z`Dc}45io-^vN%-}C*?AN-igNvp2+@hN*JDF84T2ApKxiMe`Op41W2%~2LqIU1DqJj z$Aow)v6rqA(ZHX}Ylr!?ZQJ2mgwayl7uAUpbmMiThbBYuoc*+s0?GjqFeZ?HKC!R6YrZz&hYbezVXxiODsmpT|4spvjpI z$Z%918-$vL)RN0xf;OC)+E6!g_%5wkQV&F^1747rn3%H{qhfma79<&+&d}v`-fyS6 z-ZrS_qL;Opb%bAI>_tN*6LOrgl^iz18D+=;X!wGEQ$(FS&=7Hw(~+PV$^o%Fy&G7? zHE@EsSPD@Q*acuQ_&y*Ahc*kf`0w!-a^`X^6{H9|rjbz8u48*7%ExKRH5jtCW!?H0 z`}C=bU$)CIS#6u6XC2@S%4Jcc?H(}1UgeHkY55H@5u~7>!pyJ4o^IJa1gC`IU*2NF zL>di(>-e~AR=0ypXzdFCKuy4=TM+CKG!$zSs|9+9oGkYfNLDse{1<(LAdWJ*QFhCM zNF&3)_Zfu{Q-bGZJ@7$AgSeoC71|uKx^mu1@Cj*&*G zqVobmxGiLE+d+)a>1j}9^u(1E$zY5ZSKsJ?3aHkZ zsVL<^BC?bhmNCV9N%vkfn@56y!-U?Tj86iiv)+H7cdg0%JvH3tU4MgC0Tj*Uo>DaNE{tvA$2B6hh+i}Ihbqvp;#;>ynj;8v$KMAjOxn&9E{2E? zG7}Pw5_&JY%>k@T11TR|%o>1zfze;TZhsiW_XN)j@ky>lGYFEd103?ZA(VJaK^LqH zZNQ*4FgeU}0(0>w-f|mK`e^7HFuTtPp13v4b#4}nrc`*OxEUUSqXgCa3FBN46?fJl z(5>z}x_$-Tt151=Qfb{t5lE_?qUKN*_*8;`0-5Slp^USlOTqZB++1-_ zL|1io2sx5Kx#%4@=gxCYaipTuG>jgYeZb-d`gFWYmv_%0X006>pv9E&B}?eQ!;~bd z_pJ1Fw|_(D>14l~?yEiKoGJS=h28BKIX9?_?T^lyR}_6K?IV4Vn8c5XUdm&G-0un< zh(2Z)|H3lq#qbteX7oI$N2q5{tr5$#p;E_aMN z)Uo}3Ud&ZrqqA~gcr98Pkq3fQCx(>!4{YmsVN%Ku4Z}AOQ*U^n+CtrR=9Bkk$?p9D!-MrlXPV9tkcvtPjpp5ahG|q+>*fkKFiKtXHF&4v#+EQ# zYi}T)Dnf^q6@;>?%oPro$UScalk3}HuPVxdoU;`}g`O&a!|yuBz~)0n+1#bF!h(xX zD`+F{@?yX(A2BKq-u8;AcJvrj5)x*Z!lN9khHI3pT5xM&RLOm)S-)-|@7wj!Y3r-6 zAMJN**3mGT!ij?u<(JP_riv8#+_&ovzzf9oD>@v@QVH$Ynl8W!;mYU)N)6PKA{nd` z3)1tNh@3)cm|P{{)0|kqlCF8AKDg49feh*b|T(cYDR zT_^JJs+YCmU{Dq6x2wb`&=_doB4Uo{btEp)>5q+98&0V_G&iG=%V4=72T)OM;Ai7_ zWUE!m20-dcDPnm*c=dL;e-D-Aj|#Ym8Mzg4@5WnxrN;)n7>5SI4J3zR2?Tc3us+2~ zp%nNCP&EGWKZPHjvedQc?_XNcE9R~%_iHrhvQpkGQ_GlvQaJ8_wBYjaSQJu&iwrX!svU{NxKU0~GS~*m3u!n{*oSB! z^arP!Q=`-|D=W_Ht$~_p_{GB{vJ*FSD`Af9tJgLwJsCIeKIeSLlC3lF7ZBur4V8*ck>*V)F{6!E=8+pzbPc)b+~ zk973IeRm`rn4h7_ppaUsOiQSK!NRN77g3}z{MG8E2#UNiew^p2QEDl;Nc z{dVDk;~7I_y>4Xl>2L-d-mp5ZS{=V|<}ejd)fPe|brr{4b0(ZTFtSn%q7pIeI?gZh zaz~%zn4)n&qcK`VAEnDpW5l;zBKU{6`8%x}eLH3MoEH;()@#*zs1$(wu0F)8+c{%l z^X+w85tdU?MF9hFAWD+R04WV)Y<}%RpIz^jQrp8IlFpaw81}c=w{~%x4=#Ofm!u6& z)F>Kvk0$38*gi=tq+nnt_S0wpb<>5Rth|JoimKpUVY<8Q08)lqGPuTdBjMry5}Fen zeiJk9@$KRSW9hv6kt9uiZBJXut8@PVZuHn9SSX}Ltp6WHC#syWbqxK^^y}O9ULP&N z3Cx6+skvI=j3`0{+E7&v?(`reHkOsllL-}Opw*-%CEXdAk&~wO zqfS5Z?tXOdt~UiNs+@JX%}(6WT(A>WJ0TQZDbNtwA!{aQJ7oLR)hcnY`|Cpoz;cP& zctE~*!)RSr={jH%Ng3jy*AoG3yuFWh%DCfjI3mLF#wox`4z{%5T`3&tH79I=bfDv_=re_}vDC~;AvZ@K$kZv_sK)9ZAhRbH zO1VjmxdSjNQlcSet;hmq`;Yvw6y;S@6I1VD%&TVlvC(`2xeUVqg8~b@YY_YFh)kHIKUy+2QQq4mehgV8ko10+rxgAt42hHmY&aD6wO~4P+@2-vSpVdIlY;YXO!?D>SV%ZV|70=f3{{b(~GOuH-eIj^<)0fYXOl)I1{X8 zLj_t!X*QUDsh(oS4T2cDYv#qR5g&XI5-fIETm%Uwm#y0xxMaPxa{W~>`-@<`U-XM^ z38@D<@n8g`aY*{HQ&r@->L2i342^(r8bc#@tv+=bROI4bk&BZYymfo3?z|}Z#tr~q zeRx?F8(-FL;4Yvx5A(|I7Go|&>a$zgdTLt$vxpT+vI#s->f;cef?jB(m{`_9;U2!E zzI>vH42a(8=i7xQjtb3q^XZT=s??Ci0+0rl)xLDupqUWKnV`wA_1dW@GHfmo;8hqf zr0A?lj);ipy2Y4vbf(sIZGMpQCVcbPiZ_C`YIW5jsbX8Hy@zmvlIoi4jG;Wu_F;

Fm64V;CoNAcguD&X3j~$tjnb<$y%Vs0Rh2L%YJHCGC9sS!?hw z&l=Rf*L`9zdfwsD^R@w=%af1J`bMf%bc3dO0l4i|Z?u3h`*uoI5lZL!1)lD`(z^4_ zr!VyJT{(>6D*CRk*WgV+Ka@9wZvvBI;#U+@cEla3_wy~NK;kiGE}A^IbP}%uyN1C~ zH&gAWPCy92U~)9KLLD|~ox1V@>`uvrX6YYXF!IM)`E_AF+&G+l1a-;;^ZlUd&-4ht z;_+NrcG=Y|+Xyw2L@JS>_N?_oqBYRMs)|#~k)**)KU@#yc*f<{Kv}ejj<97ADIh62 zDw9VApy)cUyf!SMU-UhikHFVe`5^L~2&mHIePACSsLf!2@xVnk$|S0^lb-)nPO4UK zPba}uoTgHQQrT@_;`V`cnE21_Yw|szz_W}Zw*vhrCD9#D&ooiWE@h)}dL`+hJm7IPr&0vKmH)Nra+R$8#x31%ebW~Zy)a(md zb-0Si>ybIpMPdgpYH&5`ss@Aq%PA_Jl33d_>+ro>V4U%23@ZQ3{k9g#2$VEV+J~A^ z%dSf+`?|a;<+&TC@-zX&l`YOWv%b?Pxbe znSqnMh(?Qb>CTwWi+K&^{ULN`qdGyLRd))YwMjy9fC@Uw>6@Vm8m<7-Zsye{(m?AG zwhrT^@T)l57CoOy%|Q6E9$+}<18OS38+MrozB^Yrb6RWw@J=Atj1`Q49u-Fi$l47} z50>OCKU}b13)A8aF?)CCW7wQH~=0NFBdF$Er zLC+ZbQ=GNN%Gkx5UYK1t02OS|8x5ya@SmFG{Mqm4;60zVD){~P-=h&2I3rWEwQ(!B zvJ$O+?NH%uJ&Gfb+!`^ri?nw0@_GG~sQGn7R=Z7QPP;a3+IY1;TAG}LD~+YLL-pOU zn3LrKp4Jji?%qhn;z;HNJ58~P74w)E=d^TW=aWrp^(TD!4? z(dXp7#ho@%#|J9)>OGoknD-VOyNlB`XsB*oMf|7gU#L8vOhWi6P_C685! zXwxq0Wgx7f!A&96n^8sJ8IJ0|P4467qc1WDwM}Fjk1p5jp+X& zfSH>4fk^}n&}fhT2%m$tFOxqAoAg{lR_GYKmd5W{+5rM8F*PLc$j}&gQh`FL=wF0XNjY( zyp$awNm1ATlJMh+jJy+^9i3cESV@#t%t`W$9KJc{?}W9#j|ZVm=2HXDZ`&2+ zu2{^GvhANV82QCP74;>$19iD@vE2m^Mn|CS&^Zapy3|48yN;baEtq@uEUU6}OdCMR z$1|bNoa;Nsge4iSJaN8gY%pFJa^rBwjbwzs8I~3POfOTFv^d|u1%{>X_}_acsg`~f zW{7e2sv>$oI}X&!_i|Vk^qTv1FKx6b3hiZ>4Q7l2+=Y579;%p*doT3vj6wEtz_{wO zBj<5SfH=d}wvyp4v}a1C^nI4#u~}F=&Q1s>bSpz8`BCZ?n)EzM&GA#Axdyq>g}ZW0bm%|D#I<*-3zclW$avHEhd4! zSInheyrmvPXOzprQ=yq5C~KK_ZCN;d25)e;)VlYIP@bfBm@wo=!-fvV7{r!aFF5+* zy&dVdyV;%-%ZJOqh0?2c7E1(H}k_)K(FYaIsQ#0yv3Z zdlAYbu}YW`>;oRiPz$QBTC1%(Ik}jtq{Y~j0QNm_Mu0bt=43+Dx zkGYY7bcD5fz-^sIyYhehOGb6wJHmTXF|J{6F<4pi)W!9x0_#zaUB zt-|BHc04xwx5S#hgTE?{w#fViJ?tz&Z7&!E3peRcGtx_6(Sq8zw^O38T$PRsS~!9P zQ}rOaqY~Le?d8}A6tNg-Fz`_{&UxFve#zORFMif0Jl&h26q#5cL0t8CS8xKmt}xP_ zWMzf3HtL5-R#?YhBi=Pm7^+GzmVgHxLj^!}KBXh<8Cf=sE1hnsDz=5)SoBntzk zCQ86nlERft3OjaUXq(sbO%H}+4!4BHd>j{juptPwjBG3ok0#6{U0}KK4zvJuv)%57 zqz6ur5q%L5dIoM)(Y`e5vcd_O1hWeT*{UZ%O2^t!FXB5-L#>26YV$FaQ_|CT@ zs>%X&z^03(yH$oB14fJ=VzW9Tkjyk;)UCcHQuYCXaB1iLTf!?5?d4y*IKL`mOjv?p zVu~}+C?X!J8gE!vIXp;+oQF=DdfDb{02M16yhHTes-3IbZ4BDhOM-8wfkHTCi5-&AyRhCR3xr$u8fXTdry-;z2 zcTtI2mtgDKqq}d|B|YdN0YMl1VZtZ$5TXD^XMkBo>8y7KSr5_FmNW`y9|OY5)pS3! zFs<>kG?CHO$@LMM4yiWE3e+CijUI?;V?2}xf`KP!R+9GzWgy5t$tYFDs-J?R8#x;* zlf;k4=2>7PanZQ2Qng2Nhf)Fkc+L1AqbhamA~SAK(YHk-Pp;*YLu)7)5I+k|1Ltvl zYT-hyw;tOpP|mUl`epgeE(qo*FG)-THHU`BZGkld=eEGEPl%4L91JC@klumHCJdjlY3fZO+ZkZV6R)-3)+(#8Bq-p;cQ#>*c$d82TikiY>;Y@>5kx#-Gkl(w%3~z-x#d6;TyzCwgNDW+YSCwQ;mO7R)FqXRv|&6V zx{=j21RDD7#Lyc5+F$%Vghm|=Ec_EheOj464Z2W0O<3^eq#t|Xm(M0ehg!o>)w z#-NxZ5tBP(7^7G?RiA?mG#Rk%E+tN0FWTg1i--mL;ji)HC`P0an<`Z9MP3X zXzcw!^6BWPM`47%QvMPSj%Me0_dl0e{85J`M_;&cNFzpnU_CAR<>&H?lFh33MP_U`HN@5F^_LGsbK>gq z2+@m?gcwu88V%gw*c$?gE$nI4jTF6H$payF`Y*X7J z6QBwqTyhOS;6%fhC0dmPoTf^YQ_fkeH+U|OEGk{|@P(W9F%mRJ9?--oZ1%~wS$+X* zFWEBrYnWbiE{wI&B<`boz=@JKTCISMaSCIUo+aP)Bm_)GEm{;9{7)3Im}LkAuVQ%& zUD&wVFZrU9vi4vt!Zj7YR zc#FIQdST6*g^f4AI&I9)s99tcIjPQ>BzcTLr{UWy3`lg!+!ae-A(0B{%KV-mAYGDrk#ElBlP8U zW1Eaym#tlgd6#1U<7w_z=);X?O1jvT)2+bhB}+C=~A` z;nGVO?vw#on0C{E0nIYT$ntDtBc;y=ZC22@;MEhY1~reS$GT1V_krf-#rFDS>g2OX zW#iqJAvE&k6sQ{F!MXfj>DxBa5-Lt^+yKnv?Jul-Z*m}FgP#O#yQG$<3mg(#05|hsC4GyjEC{PLSaYw`M3{|<(CJjzI)#fVf_&*JlfiN zZzo*KF`{-|b_~H8YPG=jKv;>WBu#SWCS?4EROzUP5bsE;hGSAeT(nUV-$_;>)}>QN z7Tn_?&~kWnyUD8-JN=+~R0R1Dp)djwwAXiIaK6f8TIB{!wdvdwaKjwIE=n!D!)Qu9 zmB+w5&agGI<)Yb~h#;?qnZtWGZQ3-f@8aQ=EM0=tPI`{lZ=06eH?6^IK*~bP$=9L( z%C;i?Dvs@=U2?6KrAl%h#GvRw=5+u33|BV34?g=KiX)by;2TN-8bZgQhzI~0{tH@1 zn<)DMW=ij{(!40*($X;LC0Or(OcB`E-r z|Hqtu)#&3{#8lY-#}8aT2=uZY2X5(ROz~++?TML^1B*%k4t2)_qn0FU2q)nJ<>uS$ zlMI!43guZ4t;Ke`?}M@3{``SfcMcx{$cd#}+^rl4L(UTfmxrLnuPdh^1btYrZ)(hEvyx+E#l;p%Y>86|?`kj0{8)@2MlfN{2qb~Cux zVK#5)lYXbmKqAwj=oNYe=yb=DO*_D2;QPd`GJg?*ZX0M3^-TtYB%76nGCj`#F2XiV zs0XEwh@f=#IhDS$Ts6U{K!#YI=)V=&c66lj?dT7phG)K3Qla|QLxl$!S*R;-Io+AT8GE99jL`5?4>$wfyzH9OB4=%14 z&EgabQ+)snqxX4z51gO5^R>?p;s1k?SJ@R0BE{~i0+4;eW8k>x>tv@AlpuBA+Xd4< zas#8P*#U8Gy_FB8z-Z3y1d=Q@#;x5-r_jN4Ua~dybrI!?BP1?WobOdk7O%ZrtvO+8( z0{ZK`|HEmB{y+`sPEchbur;iO@tHVDu3eVHR7E@h7vP?V(=g_jw?dKk^|Nu?!eU)z zPSJF`E~-doolWO}rdv=(MQqDLRYkeR=Ibm}U5*boSDQFMxybMbS6xL#FG3vIT1TUzdfq#u3!wQe-20v|9g>%%2qvhx`Cl^#8o7_k zh;Q;af)RNNm}I!HD1sbt13YmQ2JBn+%Ic~$B%^!cZV;$C>d2d&Iyw8WZog48DHG#% z*33Z>Yoai5=$l7eIHXX^f{D@qv%qc9gi;Ai#)9=t&YED<5Ct=UpI|=gkbX-qEW4+! zrn>AGojUFN#KsKP_o61f9!&pEqwJ^^#7JoqzfmS3BD>|KM;u{t^k7JTzo* z?RzZHxbloR*^_M@d&CJ=KLC4mbim4D9jy$l@UcO4ON?_tkP3=8DKvpPGQAOUVc0U- z+16C?zq78dDs~#P)STlJkW@Ip@85O5pr!;*HY)ZM%mG(ln z6ngS!-^#*S-+VKOJ*EvH$N=&3m62?*t%;4bJRdWUj^705qAyR9lDL}U)4U1kbwl&K zq1cnLDCGNtl3$#%R(0y+TrZg{^|BGb4`5h`5c&F_9pA0-jCXb0u5NT&zisNpJ6S&u zXXNhNkhSHlf|PSi3-^jo&H3y2cXv#*=D~F7_wq=~XH)3hC^=owWf%2BjH52mLw46Bd&eV#_{HfRh<9GnphR1 zx-1x5xy~Mw(^iXOu)g`t1`A;N9cM>fk#DrlR+t4f&lc%&2UR2 zTHHVaPfcqw`1mck@ncCtVCWTc97L!pX%@-Jh(}n9haZ*)absr6JfA(k%I#vKpStoy z;#i48-OO#~B;2N*vUN4vPcl|Gp*lfd@G6ST#vyMW@!M?eZi$)^=Qt|He-t!+r!I+N zQkn-Q7z4XS3e;hqLLoC{Cgsz+Mt6MWhR11@LoVDjeCvSAK}<1LLFa%%X7qVL&K9C` zV=HUn&Sujtpq90D;zC>K=l}KzHq4!)EHIiJb{$5)FCn8$AbA?;iXFSjoP$(Z77O7W zYMV9}Kk@PoTx2_Y^-vPSK7x|!YM2lX2 zZf#F~EmhQX_R^4Tp@LGo2)}}0S}1XE)ZaQS4|H(`5v$_K$+>O<*MkSnHm1v2IB)Hp zUpl&A<(MlkDzve`b@O_jff2dqK4urHXrET2xa-JeU|8Ql0D1$Iygn1UKe)*qy zA8~{kPyGzH#YVruZ>3y>NE9wv9vR~WKJC2hyxwK6fhXMrGKe-U)LztK{`#@wTHX2D z{TP`KXu&UZ{nfVFC1m(g+%p%1Okt#W_Q;~)f@ld&V9u;;w|jb1GRkH1vBlcJ1@2}Uzyvtve7P#?6dCaB(;QxH)zD; z=4~LTf{j$fO<25TJap<5dP**xzG=$#yYIQ@yA3Q&?!N(>5TGM&&MDj)TLa&$G&N6lOh`%%)wAd`A~)9+`3B$(Q4b_p61^D&h33nxP5Sb_140= zTVksw9!COz(Ayj%c8wc|GHRL|Dvdi*+8AdB1KUCwH7q-zYBYB0t5GO@&w`H+DMbh~ z=BLeW2%~o4klNkrQa8ccmOq37FLr5Z_I!|Yd2fwLS8qThKO^yOsr-H3K44f~^A$gmf49d9(`k#S!`>dfHAo6d_0&r%un2=x1ZaY{ zc|sSE0mJ8i9jIF}yepnV1Y;Y@m0f{|&sCs+V**I+hXhd~bLMi7xC91F8>VmdKj5F_ zB+Rz)Yh!}eO1EKIX&!hlbwo4fH7On!6&-rOj!7WEx4Z*JAR_U{uHie~PcWYx^_9{*JFawRPp8j;w81Hh?#bniu`zcn-|cAKJ3K zAWQy$-w8RRbYb^sY$?~j9WbWghj#0US^NL@g`;iaH~}x92UJw^06EpH+0iW)zbGCO z?d*-56vEUAyr$$dq}EXOt*9#BG824Cx~u_!%*4CB;7-2BG8+zcL4!{Sp#qQoAdgV> z^WJMZqV8&G8IZOWh!S>Kl)$kW-gYE!V6q4_VwDc)Ec$ND)$8uny?eoplWW1o#i4?e zA2M*@@M5lU@2L?6zRrsOKV|Vh0(3|dCeF5e!g>Ry|9EBPwME_708sZS^$0m|Ccr~c z@VYZOhPU{9-#e^@xV`CSq+fJbF?re0VFnuq7$Wc{p>xU03l!a$1w$RI%e-rG{F|n< zL|0Aio{;knTSvANIm^>A;Dxtw@w^njcv&(dKDY)s@V#Bel;h$e{Ner~4({^zF9aFP z**rZXu7E9V9%H#Tm}Bhx-`F}vS&Zi4T^M&t_zK4lLRxN|6!xphSC4M1OdVv?FbPsq zcY=cZ_kq@ExCqyjGJ)dji9|uWDCh-z01QoVcKNz{Aqu*PHj#&ju81{>K_=6$@UX~G ze@bsxu#7F}zwkjjGz>>9J7(6d#+jm>Ultwd{>Vxg+^xIVr>B>OUvNq(gmmr2MmUHZ z-8C?5 zsCH|xjL{u32M>xVA!Vwf7+rvkuk=e#Fb5_TI|4Z)lIyWp4v;Vv@(J8tQ@S?4_PX@s zJjp}mi=AGGR%P(oSds}URCD<&tDCJ+B%$mcoUe-F_f5mr75C{NBx2=Wte{7&2zAGZ z2|87e$@CX*$`0Lq>7Mc66OQ_zgEzIcu@7yECc(}f7-LS{be7d|r+5DRN14vwK01x~ z5gv)S*X#&34iHjMF4fn)U80y3yF~m$7#EzA2Z#vG5XFy*n&Sq?A%5GD8W5>QC%#u& z2s&KThb+)1voudR7Vq4}KS0)aMFda#3+zf#@7Ew^lqJ;j1NPw^V=qvp1$`yt339~@qRS_ycxZDH><_jK^e_D>;r zs!o7b6Bav)v3~+{eo0mJ)8ggK1&#o<*qqwLQVl{aXg zdye{6Bls*1ddR<}I(I{a>z?3OgkbGX zg#Y66G?Gco-A$P5FW4tg8oLiyFLFR^5=k=+F-F0nmyS*qv4h-*(=bDs1Z6LWDjk$))+ri4?(MRJzTRK<~r zWjq;~Z0s{?a1@#Bj@W~uZY-{`b`Mu#dM&U6RNnN*Tpz?y2$AZ}5}SaqK?N)*9AWJ> za3ktWu+#n~0PtRGx@oe2bqQUa`|j!n9DX}F&v=^pabG#+`_Jrl3p$@rsa{p0XCd3@ zX4D9%P_+a&)+@=S3OBe31bl8iAmre zF>xE{EB{u0sn8Y@vk>QnPXQ0Rh5?0O@)(DFmk ztyX`6uSx2H+)8k{`jORyuo+wK=M9Ng_D#iXO;(y~qLhc?eauXsKsReCy`Q&8tQaDw>pfcuVCrdIg|NNSs$`nCZs1e$)rH>G|7% zKd30LfO`<0&y&_27u6$mxkHAN$ zov^%HgfzSdzVYtTX?!26V-+V1_skfO)p=uLGu=@dJXId_6x#LETyq}2l!W>?mRdPe zE-J}oHw_g;mMfU^(=|shy(mh@ORja~ng}5cKzc~{F%;NAfQue6rU$c3 z-YOa}Y#7FQU`HKHQE?iH^zr4G81C_;5Fu5mOi3lRd1ET;xdaYS;UT^)8 zh;Xbn!HqG;l0tkRk49ug@kSPWL~L#Ejje5CPOusjgkD=q3jqZWd#k~61O%GTRDf~} zCHB68m~bnt<{GCGq&BipR{JmAfIc9NVkLY6j+)%W9u{qbN1Z0^GKsL&2Z>dnZ#)a5 zIL;R4LRIGh5D?ci)ccs_ms06K)w+z$PPzx;nGD#kAp#jn)fxNs>(8 zb}DM9)AU7ru8BjfUq%5jV4zI5Mj|;HFf%8L21d3(&ih6;zrI_E$pDK>x#kWcd=jaP zslhgP1PFujZWBQH+erGA&A|x>MEJXRuG5qj3YLc9MFztFJBCsUWlEH7tA%f^5vV>Q^Adou(#|oKTz2 z0V~Bu6ZHe3iB)=y|I4~9>186_V@Fq@eu>4ezka0@L0&F>;Mi)=Msu&UZ}<=N1X>11 zI70O%#!4AOr57gFT-L@-ht-)3zq7^i^Lj%&zi0JgKCCE=&`Bnmy$Bg|fZS&JKAB5l z(R8m9B^IG@Ti4m87v#pLu1~BTeBH%6Uz>oNrKg~Z$-Ezl0TLF;7bZ43X~z?T%@YO! z);(1&Q(Bj7By%QA|9GK`_bi$SJ0QZ&2JdaV2Y5kG*Aiu2 zgPwZ6|E?0WU?%(O5nVkSjcX^&3dtn(J!4{AEg&w5x3Remg^i}8|I_o}`*G8Ozw|P% z7O9_(G)@GpvsEtWlo7^J06AEZgkNqvFwoem9W;{eduG_CA1yPgo;fxk@c=STy4*bj z!)`}6?hx&8VWFMF(q_ASCLn`1{5_QiGDdzFSB*6j7w^STz+4E-+?{#Q7WQ8MiQhR@ zgXOJY!xs!l->u4k=#W{tlYl^5yM@VST;LC<0F`>j_d@iKv4##goo)Ff3Oj4Q2V^B! z;Cq)&kOSes(v`2E3heDu(+mUetkc|_qVeMXb!J5v7|V)0wDlcooVj2hxCc=4$ zHLVd^OaSJoPqIuo&qD&Kaa;g&<*iS%NO0YXKOXHd*1P(WleRUL3( zSHbU!KO2dX(TWfBU1VcvlqRYhMTEpNgufAIOX_`}C z^1BFh)HS(b-IDvfKoENtd9=JAlju#YIshARe~|0!!(wT-m(6Cg5Y4&vGkE}$XZ^xY zgZqzz1Zi=g#~fa^q`;Y!8H*`1n|Xn$CY%xenei0VqgGQ7FvD8Rw9IwDT;E$&NfBU? z7a0rcb9KwFckUcJ?E7sIzN!AP@OML=4>=T4Z1y2WY75Rdl zlxit5KFBm<11%A690nzHa?7{Wt@+C9uTRNCAcek}vMhL=-@BkA01|n>*Ymfx_4;QH zzLm;eRqkVD}>;#TBQ79RWaqG79#RVYQ{O-uUOR*u5j#OxCr*pNzy^opkqr6&?gze?E;I2YpH@H#-O}Lqfg=DEX z*S;T#bI~NLfQEIZQKNms4l=0oW;PE}Yzfvg3^7K~ojbAr2TzaqRh|L`rhHUFTWXO?e1DMni5?ks~Vbpf5)@Z!S_DqnSpDb{FulIR-Qs`66u?&ysmaI=V=+Xi<1NC~w$t z<840~xaY>A#t2f%Il9DS!^}o(aAxt>?=StCNKa$;i#5Bc>+Hhe zPd&eGTVFixZuNW78z@J)wM}k#24f?=h9TuTB-dU+2=0i$Qm0T}8d?Qb=S#4?MwAcv-be1)e!A=E*2HLKW!=Bd_Cm{>yQ3ry4B=Pa2m{6fO z+#u;D&>f&1nND1djOMg#&DI9%H*Mk;h_Pc9DMfc?KkhC?%1veONtl?FMEYU7&!+w0 z=Iop|yahdAilSFz)+I+9rsW3-p$!Oq(&aE$soRYifP7BLMJp`LaxO2TLin=*Q8qJw zi@`R$i30Da>cewGmn4!Jwp(SR+)9}7Y!6NVR#u6ED=NxqWf*IV6&a|&6>?4_?%Yf| zfDFZkB##hXzO}gPq#4goMjld5$qKL(5$0uE8j=-Ba;k2g_S4qr)0NiW;%_iWgG=g zL^YTS4jcf;$t6CFN-uj#rieL_Yjl_Kn)A9$$WFwJ`U(x7O4v2iybR-*xrOvr5v)y&jY|hN8SnsD`9fHPH!djnTLhN*8^4xVL{sdD zBxJFzr>H+3I!IZ48*0@OIA>TH9NOFG^+rtQ^bQ*nxPz)Tai4Ej6I#s8<21d4Zn4_y zQVi8CSv_Sl>fOmZ(*off=c4Ko6WHED?+js$vxLm++0i9%TMl-># z;2RG_bpFWYF_;_IGF#a)`^^hozPUYtgMsCYZL9CMk#AHM)}*(7ao&9$3g$#ZA00|) z!FiI6$8x1Wh>ixZmhIYhy6B=s=LgSEravk8a3ab1XHgAr-=%iwI5HvO0PaD>ltysT zt_43L$M@&8`->JI%E-09w+5qdDQ4_c3MQYI4{4BDxQz8l?(-5XCwxpzJ!qR5qgF(r zcC*W(j@^bTR6Q zy>a@O>Ax2&=Cbn0EbrNq0if8nXvfQ})(6S)*bG-+MY^6!?$;2aO3N(l zmRA<4Z^YLa8cH^K2xjB8T#m^itfh6FtWeYXUF)Y#I!!%@FH%1YyH@y%)5 zmX0mI%Dt>jY?t?ZYCr;o5%uQE2C1;Er%i?TVx=~VQC5_$O)^^oOCegRFS>GyzR8@K zz~Qp9zFNzYI*>Rpl$sDiGoi8Q+z5tY^@TW%ck?$mNn=3e;4~-{BrYEL4nYWR?o2JQ z?h!+Ag`ee{0*E9^;%^G^rJ3R=s5Wcl#Q^o4EcGci3K8SEB!hd+G@L#~1VJdVuiwAL z1sKsbZ|$t*r5{;4I}NTZib;^W&D0HH(SkYQb{#albeg)LHA=Pbb7*|TGKB*w@ld(nWO=&TN>++nPa~4DmPPIon%O7=QFb?PlDrfU(^>vH9stptdMKaG0 z+R3=H167Joz~?qVhi&n-FO_=)jetW$Iy`$&-@v*lu+txkYLmW>P&f;3-LH9Md8=c~ z+coa&%ZF(0*3`d66Q0;oY%dv2Bv2Z1Vnnr9m+OuzSZjnCG!HKBw)*tl0YzalfyNju zm=8|;;JT>L+vru^!p4aOM(~_8PkBm6_(2-0b)%Z|5}F65M#hvE{;4IRjt|o|1|mbT zd}4w`JVl8ZVPh5t*8iT+!Ra^!jy#|vsOM2Fa6x9%ypil9i=tw{vXv@Pv06ZE4)+Ma zR=Xx?Bl!u$b0v^^Ta_yb-|OvssS3H-2H!vNjK5~U6Wr@$qtOJlaWk~7 zSkN@BkP01>WkK+rX;MM@Pp@4Sq9H2m|UF& zkZIwUEl*xXN7;6K|B>gUjj3hvl>2I%mQu9%if$P;3F0G_RwiaJn}AIPA`Vfa!i+}< zzkp0GMeXfHxx=Qn##ma0#;9Y9-WL^Z<8xtal1rpuZNKf6M|pX%E*c^-*5c=jjwr7{ z!354LaN|-B_qNW51kBrK@u9fSWPMT>%nqDc`&OK;W=z&8iCX#yC9DW#w6XewXi?h1 z>d!Q)Z~}q5j&0>8L#k8)vwL3JDe`?1E5UP#48@mJE#FygT3|G=vAN?dP#(2&VN)GQ zWD9(M&6k-_amVS&fy8iN(kNc0RC@bUV_yo%yo^(7YM@hb78kABEH}Ftrth!H9 zYY+g6uiF6wEMm!>eL-s)%3KgaQoKOno}2B*Z<)0?Fw0H;UKh&8nVUj6Zx# zYGv^frTj{6I&i|8^EeWmlP{P(3x%gNuERL|7O#>()!zvPi60})(#DWbX-lwRy#xTh?oe!Il8 zg10~S__sH@9BE9A_S0LnP0mQ91X;LZ3-0mDv{*jn-<*zMGhxl>N?`di*maflGP!O| z9QnjQuWSRnowWIW5IKWahy0{jzP{Nm0VD8UaH}D7Jj5g(ga2R$qPk4^63VHHm+$~f zE83jLE>AK#7fsz-%o(2mT;otW(QKSm4tv7L=nS_32+q_b-~}=ST-Gq;hFi%mS4D`- zqL)YQ%5Om#8ckvv*|p~xeshLS!rdx$pK5HSc)nQ(6Q00$ciP9cx|-~_JulUKuQrJ_ zw#`iaR^4-KC1{Rr)f}6YaAyFR6z1+T!!d-*CIN*O0Z}%2YXoWK$3x~uchei$DFM}T zDLFs=>#jL{&VF)1za;V!PZ84ADLRhJPv{aMxu~p)hiNIYm6X7NU_v0o=9-=jhM$$z z1^$vmCB-_<>NlD&r>Rx&cdx|Xc6VIt#UZ^9ZE5WNdlqHJOo{Y)40jaQsuwu zIpVCMZWz&Blg^+(pHWlZx**}V?3zt4aE8KahS92=Hu4xT0dEA)A#V(nBYYF^Dub)P3c z@cG(RUtnS#GQm3+?Km5)-V5vY?+^t@p>ACKf!5b-%j*l(nZgo+C+)QmB z;8b0)<_)M=ow9r(ah6mqMOQQs%5MnN(1ZwwvA_W;kG9m#Pu~92(ii4Ekk;X{qs5J< zT$Q!!1b`?Tr>-JSsYtM~c_Mta#r{TxE`E_?R#E~5n%;aIiXm+;nai9G)={#qqCg2` zLN1V=NqUZy^V8l6Q%pJ(RVF{QpNc<$=5@Xy2Y|hW5MuvqWMn!xk^=8mnYW7WrR6j! z7CE0dD)X@E`#jLVmNV~*mD5bLS@5Z#%FbaJmzUwJg-<^X{qNtWg0yMmvLo>!B-`HJ z_LI_t(L!yDrYNxAD>(-`LJtt>+c3o;|CqcGPwX`c*f75`@0cJ1-n*zusJI(^Zj|)y z@}zQ8a{YGgD|J`_Ce0%uthZ;UEwg6qHHo0XIcTf%nhp#bu}`qt$WXq*mJf%8saQj2 zkZ;N2erz$R#uc#+jCnol<4$pmXF()Dk{v~aGFo_6Y+iDL7A*tl?^uL_nOil4g>hzP zAiE|Tz7nP}dhbt~$x4%y=;fmS!WPJL&~O9*8|I#+Y1pQxM6u@Cm^f&t9UJ7#oO?;b zbLmECyAcg&G=UM*oLb;hSupbiZ-;PrumERAzhft1Cc+L$TYv}5eTdqaQ~?DCWiP`p zMI)tS4%5X(iBi)UDg*r`{1}hU0-+frc5rq#5$9H#GVMcN7Z=Xswj> z;D?F0a2;@Tw@&|uoI(v3*H&Ir0yBQ8hCA0b2s8ZGFn~@PtRz+t@}O0hwrnxEu^~YrJ{myblNIqSY$6a+EHGH1|4$lwL1*SaXGh&XHw&M z*qITlbXr@dfq>7Wa**I<9{D{~;+QZhl^w^&WnsLBwqC)U4{RHSBkUE=nM2ii%Bw~X z>9+B`DVuSV{V?*VI0Hrcjc&xv3mo$f7)7LSC8FX`QLlOL$$vdIgWL<#Ktv~Gyh)h* z#@^d z5JBro^3?Dd;Z9SGF5zWSh=|{-8a80SH*39~g7baT83#5PqMjh8R*{>520sskr z&VRRPu&dAFNx%>v2d;k{EDT(BR7|eM34^977S~T+rVGI)uSEmF!#c%fd{P`Mz8qV_ zaZJGPV~*Hnvj=J!hBdKy1C`M%ggCHH_aK|ABshSn12+*)hkyTtf#O8*%P2V@` zh~kQLW~ZrTo4em*x4Ni4?G%x5z*bg6%6(2H&?+FAmFKm+E1C_Zh4MI!_xq$Fi|Mbm z;k)@mfz4efDS;sfmtavJso?mlc=x>O>;4-o#ivkUjHXT^zq}zWjagV@n^e zAT7nvmUbd9OL?#kW10=HS;&(}DwN`5|8PpmTj>Bz7*oNx#2Re`CHJbD0i}PqNmz$P zQiv|ZsR1^}+ef4bn?|0vqjENHz*F-8i#SxtZoGLIU{=* zZ>%bP(D-ryU|dMX1JN$ z8>wS59mL^p#KFnLi&Ycj%b86f z8~m*Ml>|fjSOPHE@7X*8(B_rnjq#yn75ya_5rmeeQY<=EfSQgWSEo%k3P47NjsmpJ zyWpwV$O)+fD}a4+?j}yA1S0ij&WY!dK>0KHa7@MkDN83NOvewv1|HOHq{;>emkRn) zpn{)#T1NGg_{`9$3V%VuI=({j%slsygdLv!$0^XO%B&~NTT$AM2`qhhU5951v$MDa zdZE-cnA}9}TE1v6clSqiP4rhTU!B_krL{LM@jdRgY3N z_$B9@z&xua29eKu6Vf;<-lL}KI6WLn=r@T*M!WtpsX?|)xt?tK;4Ba;<4(Uvv2J4d zJb#n06LoV@L2SGL8D}|SyFRq_;ccw!;%B!n23pkQi~i6M@k3DWFUe8N^8`kA?NS=SbGdB`%+~dQH3Hlz{{oT<4~P5Sjybt z(`Ru?lP4R;p{-hh`2ErmgQu!1{~pjIi+UC$6=z5J79{xdy!&3#zG5)8E1CO9*)mVW zS4 zEa=!~)fC(e4VR|;z?J0iqoQ-#2Z%tM(pEHxn3RF{g%4uxRs~YTK z=uPHhqLjc3Wnpp?^O7r%>DDz&EAhf8Syk9f^7J?-NiBjkIUf?H?tFq5CtErhuPnXk z$DB*AxVpRSF5Mc#JQ9Oq7~^+}t(lxVY-=YUqT=%(G2wp_RU?YVC_D*6D6A-hAuhUl zuTfgrhj))01D(PZc_W@RhClBUJRo6y%P4PZEnZx`K+M5UCMVQsu1f@UngWID?Af#d z+e=iEEJsYf45*vlpG?m6v|tbW2EylHnlEDSnbfxu$;r9jtvRn&^UP@u_HMvsZ&W7( zy_Ta$ghXSKLQg9YH~1tT(i?jKYR)eGlL&{z*4N>G9azudNM>lIflaL@WrJ~x;`7uX9RB8z4!NG_!@ardY_xI!w|H>o&KGYnCv3L` zh}TEb_rCx%=dD$vA)cB^YTyf8HqKJ(UArEkGYtj>!2zu~nlSu^W%~t{Xj}Q2ZCiiT zXKVL)MJ2Pzgo-d?Q(p#6cAXzFlZ)LWLPT~U!^5-fgt4mPs7_{}THK$G*3PYq9CK^l zM2Q1V7~oXsDH3EVTt#@o22Sdp!wq?~N&!ZP7x`2}7K%WFE^x(!OQx+)^Poy*0GRgT7;pjGwq z9>~VFvGZYQR@BDuq@J^3v*jrpNGT@7P{MKXY@{J>GvP&Sl7vz#(icO0%o>eoJlftZpY z@8`5d2b-X{z{#V|g?K4Npz_89$LA{YL;!6eK*m}G4L(7tpoC59CUOVDzlOLigRzH; z(9MdbTzFL=3HL9?Rs=;*%;@;F6^CXwhPlSYKjX!g2AGhPWpY9u<6{kI;H3%iMf8K} z*aRjc*!-R_Y0pU=qryTC%KVJ{sre-QdNp{Bl%uaLji(CrQoH$S7K(s!k!kZt4rn~F zXoZ+5fv^`##3t!FP%#TKRc0lKzyl#lVX3*E6+o49KvR|uav@(>yJv%4i3>~U>G2@> zW(nc&t*#4#42%VdpL8gS7CvJ&0VJ5ZumA%WENIrT`|Yek;68?zcijTT<*xnf<4u#Y z%Gzwa?uHEOG)U1Ft20E1<>+zJp*UHPn0GQ5gcq#oFIAW6r*+PRrMkuEH6u{;DQ7Cp zRdq>Hgeo+Nr-nJgxodSg9L~UyY?^0-3;%sPgiu@h-i}LhNBl(nTZz3F3aI~H1^Kd( zRW<9kL2i=-Rc=(Agu#4^_jS*SD1QN?5Ubmw2_66!L6z1$r%O_nLbkcwkR$LN68I1G z6j*Hb!Mje%o*ugS6eHo9T1yB30zlf`5{1$+qh?&PYyEo81{g_G)8YTF+hJwl+gKyn zfLFyXgl0>&^(i)eF_jM9CpnlwEQ7W0SLs<_JvHFv5vrY47|)A_2%y1!L^?`0R&zaA z*Ex?j)FlCC)oA7I(log>Iz)*+_Bq!F9Y>fYX+$VX6L5>4UwL3xxN63pY#Ex*c^e{b z@a|?p^9Z1R-{s&KE=_4vibp_7iTT#5*{Dtji0y=}JB1usl54A{$4HOY9U&OStemI_ zSun;>XUY9df32K4JiC{uK)$AFjD*l zo(-#kU87#W*S&2S9j+U5nM#3UXXyrwSkIXb=F*_kh0_P+;rZDSo?kM_YaS5VsoWy1 zWI-cT_Ag3;DYXE=HvA?{fwGKXAQCDoVA*~{lY$%03^fcDRRVPcSTZ&MPnPUIEXy_@ zuSx?h4auFjwbQ0Mj7*x}U_I)hV`QrtwzfE!BHt9i8mu3m)%~;|K;``zjPYtjFBim( zpeV00$;99L7C^y%kCI_rjrA6aAR~#zffmpTcW=>RK|?wda5c-&Ns++~uZ&#-&1Lom zo9xjQUkc6$E(n)k@Vd-)UH+7v$do9AF?5)-o;_IRaL`PDdgc^B1feU|1%#Vo%hqWK z|MA=|e`-p^!^i|rtu2H^=8ong!-tn%)@=yt*9O4;(sjeU3OAEamN~W;mfsA%qX8cz zvjJC4{m2TQG!IlJ&$_6Cicx{+O@I=*n>VJ(szdZX@{qDyK{X6&%@|!0CzNQ)CAA~G zpqUt3x=enjots*Cj(fOZLzP2Ym z@cFfT&ij#CXiN>`hV!~fo{rYzfwdP*Xi?Z~wO7JD{iSJTNyz4mc$Q=x&@|kX+YlTz z%&tvO54!@HD4RA2VOGNO)|EeZ_s7Zc^@6!Cz)fSg7MRHzNSX@L%&P--4rKW&ZjLY8 z-1pL>b1k&fz-NZu#V-ylzhh=g)wUHEpOwLP#&2Fl>lva5Q{&PV@jQXXQFPP)%)e%=DcWw0!*@yw zWe$NQZc>H@XP|j;HJAI=(R^v`{DEhA)CSVtFlZPP#XRfYxe$CrCxCr47Z^RjU1wPg zFF2MkZ9vil*XLrxtm17&>1F*IVjpk>nfcXEBDOJuTD1{7l59r}&wj+6vKT#*g1r6N zhu;flbnkJRk8XNn@eG)es9xL{}T#JnGTOWzK-$sVIRaPTs1y6ulK9ZU-n zU67_Z7%G1`ACB&Y@elKanHyX6$S?xKC%03{Ni}{#MIRT%c$WG0(m&FoUvV?*5P4tt zkF^!=_G;TOyZ^y`$|?#fE9<+_ZK*j zTG8y5nYn>n1@Hl5S=ev!V|7zPU!p?qi;NoI2xEG-2*v)#8`?Ij3cg`wbFvR4loW(7eIsT(MfMIghqC}<5R+KV9G&$Qr?g7V1btjm`YKD&`f~G1D#y8+baYx`2 zAi?sRh8ihz&?D=g)%#9SD7$YR%GB@)EK_O%MndR_;)FMIxkfLTvk%X{KRYe>?2}MHiq1GyZw1Jg{+-UQ3-=u4AgEe%l}g* zw`32aIxWNv((=qCKmgKlwHav`&sfeFfs0w77GSbor4fRyhFbN-talU#@d;sq15U^f zH`=&qg{j1)zud<;G^};c-LQE0qwo`bt&cAp%tM3l%q%E?xI&zp;{+BmHLL6zoFhRH zc0)zaq@9h5t1P*Vu^~Y8Z9H(AC@^#Y4LE4%WWs0WvEA9z%>das%JE`{slxqQ8J{gD zmOafZ9-Rc8B+j(vN{SmZ29<5zy&wawv*G6Tuik=xrXPa4MF~cr#%e}=+y?@hJ)WCf zex*vAq(Uw3>X63a{i8U18B-HKqjqDVLfH(S%tFalQ`$G0U;g7DT#_sQNbwuvL@@CN!={;KibU=h>m#hYfoY zwi{+d&m=S8?k|yR6$Nc6`~!$T^EgC5$?L;%AT~Jmj2;p@+5Kol$MOFxkW=o`3q4!@ zMR#Vl>oO^Ko5E6Do*t0T?pz#PbiA!Su5*=+TB_RxO#ei?)n0j=%1hEBpmQ|;T1v(z zjBdB|&w;Izw&G?sxUfrj?DRhf8jx#;AFwnUo|@c2&4BKWGoS%`Y$=3?DQ@>_pW-{e zOw40m>aGE(!P`_Yl{}<{ygYO4FQc&R(b_)7pD9{#v4CU$FG(Z8%H=eoRdeWpp*Efk zq+=7ap(Y$!U7$+_GL92SYe1Pb`vXz|;Q$C4w`y@@W-iV%GeDL2^jvr-L`hI{3yu{- z0uUuNoG7eafZDb%%iqUx7)Ph^G~z~v_HSR1Yk?BJcP}V76T%?bq;k=LG0q^@26fIn zfBTlcY{{)VnZ@zQ8Q`8zU>setHNF=bK2v=f7U@&&5IPHEo3NwxLMPj4E(Uki?#1P2 zcp%sUJ90OZlwDmYB^eelXCQ`euDcM=#!U=hQF|+R`WH9>MCR?e1XOqdQXq~^(*5}k zvO8-BWU29}I6rc<+?%9I!(u$it!)YpHh27dAT5V~2fZGLVWBUq0FDA7=Xg@kI?!={WcYgn5S9c*c47 ze!GTCh0%eorfz{aL1+SBHJ8u>Mw)`JCFoViMIhwCLAlMq;lZ$mKG$)CWaVZW>rR8s zBK1Ry1#iXEz>ky~IpsHQZJ#@_s=5Z1Hvk8CC9IngSzJDfC735hn1V13*9@iNGwQ!0 zc)-iYVY=TV;{|E4GwCzn3Qm#rMX{j(EnbX22GzX|c}`zSI`SWDGfcyV!T1m_mi#@k zBG-)%teqvL0{~5nj7Mzp=shn%sf*7?hy$psIuNW0#&J6D`Jwm0O9AI0Gs6!_pL#f{h?@|=WqQax6PKSAz+LPJ2vmQoYom6bOHJwSxSg&=Tx^@t%qV1JgWL2lI-!p?BA z(r^X!+*_+2Rw7SX9oj=a7>i)p5b`jo%RgoBr^`|JPx}?xF1R+UbZ0`yOsSzuycOW8 zbUIy=EF}Csvov1X5?E?r!V{51tt^3}zeS+xW9U?cjLe0{s8lQF-7$HN7J5+IE!QRr zlBp&ckV2OJ_&K~9d7R$ii4tRJ{2G>ak2^3#Ire1-`Fq-V>K(XA+hS1pMNlB~? z7>3<88%Tn&dRR|Rw=8PAZr--4>In_7mTU*JU-r~y_O#$Gu&CWu6h{>;*F@p^*~EMJ zteA0*iqkob7&Yo#fe=ECsc~5Hx}^4e_wf3d;@e9l&XmQYr#J zxKyxL;sN)S(?`IZT0ioN?8LPv&bzkgPoR7SyK49gJK**}4RQKOp)!89z!qT^P>N+8bD9(H~;zxf8rVxUx zhO1D>!tbB1mPr=1D3yl@2z_7N_@B;4NSY88@OeI@mIPT4Aj=c*IDpAWph}+2|8bo0x^e+(RppbGJj56N@2^K}JTD zCW;@BQiC@9VNl%@tq%t?dl}s`$Vt?q!s@`GNW4+VnL_DBc@?B>nCF)r5&lrC%&!m2 zOqU#}IvPld)d3XT`PI|#1ri-EyoQtn1$K9jgTUhwu)tat0A+wr10x`G z$7lm3lb3bdHJ&jI@hfHMJ(~Lluhia?+WT?oIegp^!J2dtbbEqC^{ntLh9E-CH+%-L zj_n`5tn9{_xW_~3)?f2?(7_ zkXmb>;xM=!k1CM{U@hTf*eWnDI{HVWX!kd<0?r^zBnS{S>mHQ#avL&vg)hMHpoktN zBq7ZPuWSGFkd2_HTjr4&x*b^cQCJq`9=*^)ZIt4{tb72Fy20TU2Vj8&fkQ?a5@-vW zGSsp~HZGEhG9;_1a&p)a^rLUIIuHy0+))q#(a>3Vf=)&eyAUbuH^=F+66dCKR%4ZaUGZKV&uUCxplePaeq@UnZv6xg zZWf)g;f-FzTew{l;%bgw!a+a-87Cl)ZucoJH+s+ zu3Oy%L+%K?<qHWGZLed<2+>ba%q>C9l$h0clj9UN{$Gc4^VT6c}ASrcS+Kz{$ zBvz90L1n@NTf5=RRbQa6L3o^Gfw6!^CeQ4G|ef7z@htd9XiR`?yPG{ZfSJfwECl?=0BR~sV~T_a9T6bvLl+YCfiB}*U=;k-q6FnK1I6m-$E99X2nu{S~>E^~=4OGum0 zA`tuGE2o~^NF}uwZXoG|5W%bx#2>*MITB?4I95+$L<58*7=TXd#pCSFzh_KsQ}_Yc z@j2F9L8erJfOXW{$t(CYW5TZ^a^5!$#{u@<<=cyW5|`-GZP_JQ3<$!$*?QkPa%4G!{T-F1w8=Ilv84j9;E%$MF@OOKW{IXZWB;ln%ZwB`u>q>LxPSEqxzLbDidSTw% zV1esSb%o4cKm||uq~DZvi=f>MEkep_)#-R?)95mp#sK8@JrghX=JPZmtpj;^~8U*|7+{d$$t$h-Se% zoMfiu15~v&Bix0}raw0(EqhUTw#V0=NPZr?q{@r1Cya;}kSjlMLc&H|cf+NTuynUn zCv(s6b+8pCn=&no77-F*Vh4y2ZZXwo06_~*?J}~QVRc4{BQwt&NMblD3sFl8t>fb- z7XZOD6kO45<5M$GFh-_s_?<`qXOK>1{R)`gWfwrrSt`7!=@w>EAiB)utdL~sn_Wohg^&>v)0$T?i1w%pyBvhrh z0d0+UIG2b1u8X;a4`y{a@DOSj4sn#P<&XzdnZdTPbTx2T%7-v$bi0S=VLhIg=fQ{2 zHjAju;2j378HUSZLs>!V)6p!TWC=^12Ig$~itHg=5w{4{dunS)T}(kHDhVAb4bpis zc1Y58h-UGu1l*Sk3P6DQgpfen2a?;H`)=J=xs~pb6>?Bu<1tew#Sj(GN*)^)G(~#9d|kmAAKSI<#q&^Bm+D!tOH^sSVOgJC;CihU!g0%nd9D#Y!Vhm-SRG*T!$ounYa;MBcf-2`Bhtx5l}8( zQ-zjH%;4Ga@#&+tjtd57wB53HRb%){$rG_x`pvZEga-T-oCd97^7QubR4?9mQqziW z!vPS=AGCUvb0HJKLKO;)gproD0t{K_f5IYWUc2WjBuwZnZ8RkS1P&p4q9hk-Go3m9 zN&bpO=@cnQFl!Q0t2s9gJD=yWkauUCLnlf?i5`hi+~O4%V(Jg<622046m}lQlIcUZ zqCl1qYQePP>ENWHn|Oy@B>KN0^(?>f;U0>5Dq6JQz-ElgVD24Jbj5A9t*I(E&*LGG zBNB?G1*P1mUk~qOkd7t8oZ|VJ*2fpI*p!eqD1*eg?tC$#r*S(~awvil2|D`>EUTIN z3;FEWeZctHxRyzIY}V!HicpvL05e?PDjOmg$ zX<4mvEK;DwNt?%b6CLa?FlG`%F1{7Ty@+4yomGQhZ zs;iNZ31X!(BKnE`^ZI=DUg>z!7P)H>9K8hru01>z|5;H9@W&lL8&*DMLF>Y?Pk(tg zI4Y?z0hd)u18%Yy0=o%&tyCJieN|d--axqAOyd9ophWg{f`a*IX@Sk>F=96%EM^(G z8n-MzQwbDj$=eAV#=HEn@0cr{&S9E|;HJrOHsBy=4g)CwjCtlb*|-|5FHX)?ab}UA zBqfpDA4Hcik^B?C0r^c8)$1S6eQeSx9a(5Ezec2~+9>ydKuUlGP&^CQ1UCrUls3d8 zDd1Sc<585s!l8%ZY))0&%3{ z*-gbV6;_Yh_G^!L48=GGZS!Rxr76ejy0nT|kNy{p+VgcsF4+|n$ZS4iKS(K^orxT% zOP+WLOk&KA$@U)FW&wwZ%*EZPq@75E$q4-gS+P?)h6ASd#WqPgs4Pp8!I z8=*8B(u{-2&Yv{=oH84-?PS^MZLO6X8_Ag%*a(7=f>(RzLDamNtZV3mcf9-9>F!2! zPUZvUK^T{)nTb6&VIXEYc0%fHb&R3bIl=+lwL+0USdMb@d4|NCD0H>-2^8lkwW`t^ z8an(?!$U*9>?j%$P>Vzrk=(V+d#0ZJ82$nxd}h51vIjk9!*<)VtE2RInqr*J^? zJk5Y`j(EWPr_#T?a2~0=Q1(g{E9HVJzlCbFAIn zx;TSy0@m~xb>qr_(_m(QkMv29 zMWCf$9zCOaGfJRQm`gw}w}w;((o^6HqgjoZ?Fo>C!XJjRkuDaX_l3+qpd^;SGa*po z;nLKzxwVTPga5_p6b)|7W@pm`C1;K_|C<+(q~q|D6#taPKC02vUB{egL_qLM3O`T* z&7pY)9WehX+*1TFbnasZ%{KaEAetl>|I~S73BQaglm;|C@nbNpcvv00#rnJ`3nHmh z=#$V!g!}S;s{UP3`muVn{_M4sxEROC6aYPtgzY;<5%Jj(z0i8|QruJf@tz3{2vzBS z#p70zv;lY*3eqs09T%a10lB(0=lM-iBw*0P^9NY^O(VaVw~noczH*`g{LG37j5vMt_$hCpz)1sUL~RN8 zi796G6Z96?l0C&~^Wn>Rd`$CGFc?wB9>pTuEtCCpHt^%W#tQl1FmbZkkSJKQw&T&( zi-C7=wnj_a1rbsll*1*XdRUsF^dYLE1(U#$|9o~C2E;u^E)bYpo(=|z^%Kn8u#vdq z;f-=9t~n34wWxCydg+BukoVj*Bs<1F&@P3stz&aP6dOiOqS@r5AyfhPBO6Wlhv|Yn zk+Q$Nm?P<3B=F6-69G!fi`VfYU^ry#i0mhzlAyMHQZ#ZENGtK?y2(Y6>b}_|&fQVN z?h#7~5kjk!=TPw+9RP}bJf(p%VeI30v-R3zPQPkb0ZcyN z0dw+^*-D&s@e>-0B6Z@^Kp_TRFzTFww)hHwEx<{6>M&hdxPiFIrl-(wQm?pYHsxM^ zx$qgceRyD;OEB=JRq*68OOg^qV?5Q>s%cNEv={w*VRR2?mnX3f@?R*$y4Cc%dI59E zuzZPj3$k04B_c!B_QD8d8~P?EQfJH&G!$U?Ir89jw%A^-6_$@B%i!H(GGS<(P{<%tIR+FkI2yzea4f1YfW5_Mxm8fR zB?=g1+=F77FZub*)vZ@>q?rOlhJ-#VEe4a1{~7}@fF)%}C^vjGQEpft9~V{)oJjZ6 zpxkWrhR;HwJOR4#A{4=z{*&S&f{|B6#r@5dIUD)y7d>d(ga=e6E3S>`SQ3jZNzaIb zdbmCMl9o^WC3KJDSZVsDDw51B%Kaxlz;C?A$NP*EvToUDn^w^_ z=(h?R4LPU;A4-r~gIUcZm=3NFQ5*mtt4W$5c*2fCDs8|JvcJLx?0pA!X{8Wwh=5GU zcCx$&KETi&N(cRikh)R`lI!88iVeZrY{o8&CV|S?&r5=n|Hy?y6BJ|gf2UVm>HAXN zB~*=`?lNl6+W&mvDj*u5R6H~)8zw4O!<+V`m|?=W4Z5~Xubd516HR?;nK2V>dK>~L z$+3_q0v}~aJQ$}{hQwGaMejA_nEeE>-6)}9D25Nj8mxyF1|!|;qD*9>wtvJ+xL9^P zGxs}&mK1(HUtiM37kGFH^`Cu;e$b1}XxidYL`RrnI~upv-@Zul;I zAUqqtKHo#|D;aE64?~^Bd+ctbgp-HXNkUy=)8tQ}m5gx)R?WuMF@Y*K`yzR%drsa0 z={LTRZ=q#EJXMw-Rkw)@PuZ8Va2KVOc|g!m;itMshV<;cLJr(M$pRN1wk*-Ub(0Qd zn)MS@xhmYGl<~JgbOk+-554@A)rjxSte9EHaxv!!70Q@%idC#=_IC$^+GN{dUmf)N zQ1Y(4uqc9q-J_wIzr~~^JO*4VIsjhf2J#K0!el-CndDpQ&PV!a)DAG(sMAH%4a0;w zS3ERKI86mRC7_yoN+gVimTp}+twqJ>&5}t0mo~H|!oAx#T4vB~U?)x>Wp+^Rn2WC&cXw;D#*wpZ|P;2~{{c z^~G%i0bzE+HXhHzDwFpwK(j!IDRe4v6byIzA6BZ2kHl|@7&(~Hbta; zRqSWE*MJSQjwlH7Q3m2H@k#Qm_}lHn&z`)JwR7bff^Sg_6o#%QcY9Et5Z++R;a{Ll zw0a*fc}Y? zWOJP=s$IJ1m=T}~4!+wfwe7Q-$F_az7wX^dM^J{WH!{LZ4KqS!+ny|gU;7J z%(j;^nT@G~c6$4>O9Pez6*nAG*|#?<&uwfbErjHRhJd~g{`7Yk@>6{sZY#2aAF%CU zqU@<*_!#ArpRC6qR>c>No^2ld>RHI2DWylF!XUpp^Gm?m82aKjpaHkT;keZ!`%9dF zL?}|iL1472X3Dbd+06tElvL>7g1k?J4}cNG!h7oMc+(q3u`e^U<`!S#Z#)H`D=Mu2 zxLG{qc(lR}r`qAy@#rX+xg@YAj%tZpR@CzTKtxW^@@*)A&^|%xqal67zQiB&=Eqa5 z9KY&Ng4N+#bX9P63MRi-UkC=01St>K-YwgM)|iL$8p2+h)iO@${{lIJ;uo%ZMp(mq zBY-0Nd#LF7#@c`ph9F^aD+;xRgRv1fM73+D;Cyyp`Qh6DBkQC(3y& zb}GJTo(!Prx)aew5ZS-N7@A&=^G6bwHj*_~IBDB+FUAZZB0d?`t@PRfM{GcvNp6L( z&GwaXgJt!?6Y!Xr(!m2T&lm(D@gP)BbC~b+V&6zfh=u$E@i{<&$cMvXqR*84(en?o_2!8m`_6mh@1aql)7xnTN%aM377 zO33z*E=cx5oNVsVsV852$TEy70#C*SL;6BVo0qj26bDs^DwGp2R7ED;bcWLz#A5J6 zv6E6OZ2Yb5Q@*_*6NB3~={H$0WMWU1J4q)8a0S z@`m`c|B4ev#6v^Ca5ngnFewBy>1ogXQJcg;2eGO`; zuUAiFUe8b7!898J0t}CdrBG&s9T^gNbzg)Ld?qv9RplI|?}ulY534SdqoAZQ;y1@Z zizKWfa}V2+1gVyeq<=zGPo)~GmyP$t$+JWsD@EpfcE)&dU3@`2MR5C8MoYW@c>SH9&);w-%@EQgh=d?u zXoO{fhANcMKH&@#WnOM<@y;Dfca9pfbNkqxqbl3Jra{q~m`8kI*3Ysj76u?@$_<2j z!uykj1U5r_IL;J!aK(br?=PrX3*b89nwk$PYK|=2b4y`Dl{LpTm{)Ym(2GJu<)*c8 zfGN02#2XdLK1R3RhrkK#Uh8Ij=(1yoZg{f7wA^5J+g7$&gz#g~`t z>BF+!!9-HpQ8PSJ30VTNbzTGw{m6SNehRHN!4h?e8vBH@ODsB)L^`?Z7M!GD-D#-J zjq8r9E|2qIod`%dm=|UOLzeI-+#n23Lg;zgi_dmvY3+SWcQq@0q~%)=j#>X8s7`1X z>!5&BRKcKwFpk#jJyeJ5K{kwYMHsOM-A{j}URM@WFDf~3(H+H$f6Dp3M(4cAa7YKA zNTG+3I%n!E#VH~~ewjyxym0mGw@I#oje;6+o*aS(W=@D>EmaacI|r{~H_88cA)I;lL#~ z#yD^#0k&OhVRPnSmY6A5XqH$mET!c(jN95c7?Y@!kwG%K5cLVF^Ov{NTVnsVB72&6 zMBtT31SMTKWzvgO{*8mX&IaN%(_&bRuNE@}LugW+nsj30e1@&%LlFhk?8XDvZfHIq z=S4OIoQU`nnPeOa3J@qZ%6a2C6xm!e;LC+4Uwq#~>xMtPF2jjpo&R-d^DPy1J1f{j zgH43sLGDxu!owg`3r}Sjshnv^k0O%Li5`-XHpPw&>qXz5)^~c-F8{jpBvc6AvU2KO z;OfTi9hQBvw01*jcNj`D-bw94p4#$RB^dyu2tqq^SZ!48F+MIxLfzZ2b1NZS5Ho zm(=~cWZ%+?16{{fKbbvY+$1a)j0%&gh<#K32f>2a1x6<&;ywiFeDfGQ*kPN>;w}{@S-7;4esGk$)WCbrL9O#@Pi`kJ^a}|9j0e^xGSf%K{;!S7ALiC{q310-=4Yn zy_Xgr#yR+uM+~ZfSwh-^mEOtIC?MBiQi!$Sr!g*ddHHv}%fGv49P3IBJM^5g9^=Yz zF~#PJ+D#Q>b`4ta+1nu00vp})44@d;R{6c~(cKy|^KSnP76)I5QX7myxuf{$i-%2} zIe6)ehaWy-Ckn=-GyOYnJ)!2C^18DCb*!#9l@qE3P>k+!A*HmwUMWL^2=Xt<2=Wu$ zV_GPnrLqU?+a~o01P8zaYn|E#+lS8oMf9kvCqv7V8TQ$|>xwnO z`s!ycdaHI;31iT4L<~P0nundIeirkoy*`5NpwXa7eAdT5e}Hb@Ia<^e;}yE*e8ny zF)E;l;Fnoe*iPrCY+o3ZF8J)eR)xD76)qdF`0W8h-al)>t_84bi@&&XX*=4tW+)Z} zA~4v(kVEH_un-=7{k|QMh?*AOu{(&Ui9p(rAv0i(04Pv8cA%gotFK(V;>ynd`q9JQ>M(o^spfqhh_H;tGTkzfO~FO$+Rf*y`4IB!s!0U=7P!c{k9oV$Y6~A;_|Uy^v?myPaVr2 z=SBs3MR@=Uk;L}8wL2Dnuw(H8B3sxOgM-A4tdJnn9el4;9k>RgDcQ&e-U!nQ?YD%B z6np9rDNAJPppC$v2XSV21)K?2tH6XSQ791tF6;$1Qz_^)q=Q7D44>7a!&eR)y|Qfo zuI9O2716}e5z*ZaU7jqf-B?yz+;Y^bEk_L+_t@!Ie`~Xkko)7@Aal2@gY@`a8voxv zJ6=_S;uDPo=h2u?68UCltnfi?h1_;5SZK*@2X;zZfU{)^4lAKeBJyb_kp?>+))!s~ zxwFnIw9BHNy>Gv7=N2BAo8gIkFe;nr+ci&vF=jM_z!OSV* z0`Fjc77{KmfeF0|^O;1nw1uL}BxXj@+gniKPB5(4A>tCGzVnfIhYw5j zC||x32}Vp(#q2C${Zr^mXghSIVabvsZ5(p7@AlfcWN*<@M7C2u`|Ji?_;k>!FNo50 z{rBT+HKBLo|Wblv-n@kY)M{S5eA^FM~e<3Sgm@SfAEs^Q=LqH8Z)9|$C8UP}$k?8|aGu%KS^LiEFI0G1cP#5Dpwaa{ zid9*FH9a;~-~xcr<$K4pp_`Knd@#H3!EDRaTBk{?+S0vKEA~yDZ6bXH4t7_wjrVOB zl)*(ElQGv2W*UJTWLc?NE8s$MmrPClB<-X_i;l%Nw(V%?foK#jT_D0761OeLns3=b!&X!B>!gK)wl(ZoPQy z@yVid(ZJc<04Q+5o=;1vE-Iul z;n|>;1%Jc#?6QPA%DYhDY#vyB7DPiz2H>@I9T`ediWU4Eq?dHnTq^R>NJOmNalUcE z+!U|&$rF6K2bxcE0=zi_WX48s9YipYbO*j6!n+D z+C6SXXiwKC`ufBH;)X_Q-lpz`4568Jp{nD|)nspoP7JJ|x=zj$qE%db)k;1aggx4Yz2bUC~~i7%4EJE1sD;{?fCiBQ&GZW!qQ{lpg|2RAMLm% z%3iTe1#NL?4n_3dyWh9tYc^HXwkD?2i2NG)s<%=pI4+Wck6_fMEZL(!FIZMk^G3lg zB(1dM$- zlGkR!O1U;M^qB5t)H&?mf9+6-By%u2w0P$xbM^ z+HAMPs@Il&ha>;IyooFwjaq8O zQ>C*exQXA&wMoHPuEK!K4MSI--<;kWfHu2Qbj~A;Dm&e^1&she94HMz*9B(Zs6d>I zk0)^hs?0Mxd_bs1T}M5z`5rIE;5Mil!^{C*SudJOPEEEC&Kb91-E|V%Jq??A(S=~S z6UMr=5nqYd00tmUMu>|9#0Er2cz;#ZL;X8XV6d;ya_lqfMm)1OsR`eodmw3&-=E!n za(U&+g{?NX{D19TeOQ!bx*x=kN{zKm?L)y#*L5ptk0qHXZsu`4eQ@nLsVB@CKQ=st z35X;}%&>O#Nr~0jJVt_B>*|$@XdEK^U@RiFRoEg$lmby16JhvJVaAzx&+m6X?>q0{ zcJ06CpS&(`9Or%KeV*t3_}%yYd+x{4ITEmhhS_ECk09Zw{lbF_T>!FfntGl|Eeo9L ztXldR$ai7{SdO1;Bq*;@bqpLG43$098FCz=;kAs>O4uVtP6~Yrw96jFYd(z&VeIk$ zNMs;M*X?;<4`Xtmd!1R%o-E70+G+c1mxoCDtPn}>5;u^|v_dZ+0o}Uq5yX!f(wzpt z9MLK|s9{n8#kgcj(#2VGk?wm;l?G54cpAioko=SB&)EVE`{(;)f@Ie4@G9X2!xs5p zr3o@t6|vz!z_6x{4luuUz#}eGA3VbpIt`T!h4K8UvT`e z3*-rc0-1XOE9U#I(LdS(kM6$oq^awLW<5bGR=OU}wcWS{Wi3cIw+sp3ITBf_ij3PFk~$ZQZG0wIlRjrBHdm_or^d7X^Z zxemLJ_&L0xXEY_DsWhB-HnPkN;Na2V%CY0&(4#HgQ=>l;Jx|wnWNOhNwk}y8zt7*O zO()!)%}jawp4Lf5@C8CA3>`%sLauhGC|0<1#Lyqv`b6BNS#d})mFRoj;ATQB5YC3c z(@?P)*92FtueyrogY@<+EUwc-czyszoLc*1ct^h#J(<7)m}2&|<1mO{6hu|O&DFPs ztbX!7adcs7^{F3Kxg!O%35Ls}z=I4-3CHxRy0HXDU##8VGW-6*8l5S8C#NBpN0E;j zi%lsWx7%9msoP%KB?la;RDzV>O@S~zj!)~cCxsp@7WQqQ5)&htwjdtHXGNy;Q~(>6 z)5t+G5Dq%4fJ6r#5L^<1-A9@!6zz63B|OswhfTP%$QoxiIla^g2COKQ0n>V>A$?=} z@c37Vu%mEFl+^u0MHWE>I6byy%a*-}!X-0deD>gU1f^Ofj3CtHlg#cP{n5@=xfFAE z;^fJGXqI3xAuC-&Xzd4=Ay?F!cL{zgJcq8xVe&V%=n(4_BLTV6Xv4HrxS2C!pC8pz zlYCj^(NMmI%jH-?V{J4w4p|O)`N8qmNwb9pVECA8!f3Hd23!^0goUfDoE5l#MD75b zw1EntimM?2=0a1JXrh&ML+5PmwncTIAIWrK32`G}7hU2gJI1AWR}T`9L!=ggy8&=w zSzi5q=DlW+7P`=b)k4R<6TC}?J+b6g;hL*0dC+ReIMQb-FeT+xZF2}QD6gSh5h&%s zieN?;{zk9~)|Ap`B+w9-?Rsj`lST7=O#7{vaz@%5!cVJnD8yF>ZL~2U!nlTidB;&y zzk=u7iBkyCdnxAX6MzZR5fPYp;KIw2pi@l5f$a=iR@J*Al?yz}pPU`X4xce1rvc0>iVbs}T?CPzge%RGleL z6xPRxA_h0x`<-TcCcm>o(rg2`Pa$v*6R~o*p3s5})`ns?FhVe_TjjkeuFY$@lD|$L zjp`i6rSy1i@oa!laF`(+Q>X zy%j>zHmrcY+RBr0z?dZHgKUC=|KQsbRQiwzK+ zLCX_#=yY$Pg=&FIAhh_hzD<~lE(_plL(EnH!38536R{U~zumTK^=h`R7a2rhAHB&W zbqURelMB}7sRCS6BkRN^<(>l6_huv{nJUkUvRt<`E$!zyu%t$gP6fD1EFg4}=Yt|( zvXRdRxNRiXvq-Vj^z%_6em+`)oPjL+X!8*UU=C6C5oV~Qm`Pt110Zd72~>rL+quo* z-9{UuUAOgS7{K1Vam<5?{+jaLu(q{`W!|Vi{rBh4UKDu*$#7hKT!i5=4MDPu+l|A> z0VE94EKaZBrXBGFA=X9GgofbZYZWSl9wD}c-Z^$KkpLAJw`XI}YT7{OdNYoTbEjKf z>EGYpW-Svw0Cq>SsTHX|Qij!rdcQtXP3` z9k?069rda>H`iAg=L>h$6uRQRd11zKoFIyg3p6QsQezy(;Kdj~KA>Q5vy-g*4mtXx zi$dkSEX&HefB4~@*Vs%w`emV>WbuhxJKX6QuZ3|;$Z6-TAsC>W|2HNuJmgMOrc61} z&~O%Qk>s4XSCRD~WjUwpXGF68!#V+ECH_jZYEx2-D_2y{@9q%4{whBo6nW9iL0@Gud0LTiW_Brvn%s@{Ai0-0~54(0hXg{hUC{&){8+Ll!?y|CjHNGP? z;zMoc7=wNmB;-j z`M6HG5gG!CkA>7hJpzjyTc=?z!9?PjtNA0({)joOGf7Kwph79Y!JC zk=O02>7L-|n&9h<(tb^=hdK>7mZ0R9Boy89@*gVP&>$Sz$c!P>R^dKKy1WK)Ad=2I z5O8Y+@Fg-~zUJt_*q&*i4RQB1yeK|xLO%BV=XljdRGhMw+TJh~RSx#Zo5{?3S;MNq z(E;4!Bq|sV&1AM}3qls%Cf;xO*mV`|AFf7)Rpih3}K)gAGot%u`4gv*=m;VhK-cu zH%JX)^C0<@mzw8B&7pN5;H>8yt}H({BJ%2qgB8bFO4ZDs-r78q(5uy|WL6kyu94?~ z%^P0mK8kJtDPRfm4!o27hmH2vM5t#berzqqvkUqhL&?wvqwn?a-}?oRd78L&%xgPa zC9^T4^1!pDII zi%7wPao!K(yi-ji6e@$f6uDU=Gll3U}&vRxV<~wUy-b|g*3<}P6vsgy;#g_bqcaz8Z$d< zGkI0sxHjd*kdYV0UGbG?i@(INvgkcdad06S@W(?5&KdMk6}!HXKw4!{;IP+faC7CUOd-w z?65_0ggiJ*Ovd#zaL`c;o*N06eD<>F;IbKFj5!aC=aV*FIh8!;CQ&dNFraL9T#A$9 zr?uaL(X|YBUbwRSCDQ&xi1fpq`U`1n3mzeirZEk&#iypyAW8@CY%Wjp&XG$X>5o*L zedL>->2SNpZ;Q`5S^Gfxg`1PFBqo1JN7;{#MOV;w2PtQ(0U}l=hpeR8b>AD;8pI>j zX-GC%nxGW@7bhj<@+q~)n0i3ECzYaw*PQa2nya!xh&x27*e&H}{55YG&|h%u)i+)UKW4Y5((EGpQA z@94NR$8jmm0;Fzr?N_EN8hOb)-=VyYxcVIx7j~@bJ{psTpYEB^D7XU9dK=2q8qf~) z+k|I|;BeJBoQEDoKJ#H5W$_f4ji`dAo_RCIxRjSm`+@+ZWCOVkP3Xmrw7$nF+q2qx zo`pKmD3DEzNl10l1gefrAYbao?4*u*vbc_CxDCyza8KMyi%Q+Or>x=g9s5u2NTq>d zRbA$Xfj_2eBjDMalt9_i8Rh>v%72kBZ&ejJaou4=0PDr1ne&wyGG8S!RbjHy)am{b z(`3T5@c{-NP;`w5F=cFzA9ob3m1!KSWdh?6aX@s_T-CoG5}sQ{Y&t8l>u1)Mr>!r$ zTnKxLitcGIL$es@e^yqOgf}b#&PiNV`&dlpH_`rYI4>e&^K6&rdGLLMWGc~thW!Dw z0dHpF76Q;-h^C9S=Unxz?!7g8oQBJrQ_1JxXlZb_YXhCio=cIM-QU0a`8LMnWS){ z5lSt02FSFcRqDXS`>koGKOb=8jW^P~09s(03JNJK^MwulRk(!wA~KnOdFH+CrTx(1 zCq9ubrn)dLzOknvrE=)|52oKB^*)hAf^ph_npKAThf!hTpF&FxM-=dS$IN8!Uy{Ef zO)~{9s|&!tKBAl~-XN{l>%8uonQWb4Z=P^uGD}~!z&TqB2j|#>2ALuR3$l+bIA>o} zM~*V-2ryq~9_X5hy&#Q6&dUp(m%p3FnCnlqi{BIebvII7<3Yj@zofQNw zZA)t{Dw7%|-0i3wkqmw-HL2HGJw+Q$Z8RibocpeXBC?TxxfNypTfG%7yF367^SR8d zfa5B!waXps`6E9g(`9jvxTiMxT_h{2r66y$Sb-f=Wamh4&R|En%n-V#vyO zqHV+uQ5OgqtnA9u@XG&tyr6Sap=VQZHg{VFH#s`Z>A>-1 z|M4~A*4#7@mC4;vXGNJph#`ul8dI|xc`{aBxl;j?l%f1Ayd;8mQoxzfR_zLrM=;;; zbN$HS=9$)_gOP!bR~o%{M0MQ}VJfxrhHFJp3iho-zi%2k<0@?lph5GWBC>xOk$GrV zZ{f=Q*6)b!$SviJ}+?I)lqm6orxmW!sB*=6hK~pA}+Rs*}dBw?`_Pk-^ffK zvBxpT`Xfva!KMN7mvb%GwBjat_G-*da(0Y%n08=`lxujay3Aq)b|RaSwJXWxC^Vu^ zcH)%$VZ(g!&qFUpuW9%U@F|mfNbKSYuVDiRiXV!Aj0Df%3%DOlYdP}bjOIIMH1D-Z z-8vd*$);VlbqhcI^Sk!-EB1a={MFA3I{Fv%elej7tW^(s@bf@LISDfI{II-?{&_E) zy_0e1mvksXFQ=#-J^C0dGo5Q0hK1?z$+~wpHc9&VDp%gA;};YQsDm{?YAoD!PjgPT zkTH*~X+ptJ6%JC2@#++!1T)u%=ve)eX#t4>B)emTKl0gsNEw779%eGC!hP$(w;=m^ z5&*B%)(K~z)fvbpL+f;zCs`E({K9Y3$%?4iOmzfe-v+E)g8RI>r4*f5jViBR|5fQ9 zLLyZR7n&x{U_8+R86eEZiJtjRPrmcCx3$={)p}v8MfN-RH$-?gyke3mY%fP%+A_#2 zR5U&>v$1vaSgvsydO8{}ipnK9uOvC^ zz~q>gJ*DO#*pA4>V1KF`f%#AzC5KX(YmuDYezQ39;%{IB()9|uue`bQ02t|~X z-&Vc+DyCPAyC>?rY_Bb|x0Y30h5xMSEo$@@xmz4tL}%QgnzPdzkw!(kAw?!o4E9xO zY(TCF08o8hbK0Q@9&PH%5UcHrSS=ge&5P-_v%HjgpRTp$a}T;^9C6CoT28$?F7m)9 zAa?9}Zf@%?4~9M<|Masza```btKbLTvjSeMz|KBB9nM2AsgdL6 z#^yZt$W0N8PhpGXiBHCLT0TL4l0I*Ri5gpl*45XUYXkdO&^;Fnz$CA{aiL9*jTlbo z6qg;t%|NctMSCu2zY6K85u8%FJTyTOEMTe2wH;=rvhPLnLen`x;*PpJP#n^W%OHBF z%l)?5LDX{Xz?`oKU2oru7X37^zLWpciuDnYpF}a(-k$UFlaBp=TE))1HUI9g+9#Vmb_CKF7-t)r%9KBQ9OWK6Axv?RF5KoLYR=E0wQwU`+mP`UH9R-?@hh){_(z_-{<`} z9|sB9_kCUKTI;*c>q`0Ui<5hHf2h07X6re1%EaH^jAAypEf@`x^%z#=TGmZzxP~D`coqY-Dr6u_s@x+ zt{Jo7Y|hx9#`{+8%FI4=)$>cMJ>|==@HxxQdVXni^x4|+hYnp;h7IfZL(9%8VSniG zO?bPK`S;l!y$L^4!e2Vr!SZOy?wpTa?_hcKAXnt1%bt7UeYQIPa%W=_Mem%LiT&@e zqQo0_WX!}Hnb~*1!wmd)z{A8KcfjKgc-*l(WCQSytteCDjuC98#vSY4?DgDnTTI^O z|B2w?%2--BvN)vqtL-CvllS-~?J2I@o_( z2WpSBEpn}KG_NVI(wx#(=UUwhZFHO*Sv7*Oyf9i2KaxELtCY@ihH^N8H6PF8M3*^cp39VM9#g-%f?RleXwk%Bj#BOYng` zd-oo{eLE<){LK+fSVP;Q(4^bfvK&g2Ln*bler#`jMt9qlG{aAK7bh}hl6S@>?kp1D zcR62LdTB{&Qop#12}9}sn{68lh99XM{`#f$!Jp;kp6Z=m*9i-8j3}Mm*j`e#x}>D! zhfmWMz3gyg*ju*Pj|J^7xp?u_q@*-j9}}r=UH|)zw$F0fs zYLF=RNSbb`ItCjt31xKg?AXFp_V(lU_QUkSYx}&Om~*J$(txH>?&ehGfvHn|)62Hm zcK+hUE)`#osr?ZyQ0|rjXF-tSKee)DPtT+Mpv14AgF=NJr z*f$?odZpLl!-qpIJy=w6BC`ENLSgZnFNmGmt7FGj=Z>w}JGN#S^OV6sxdRREDURpU zbAKAs`svQd*us&%N3QQLZGJDN<$m{1sqVXMQ$sce40tUns_TkXt9$|;?nX4*jMe>r z@@-0{yJ?H@u4dj6 z-~76|{Twk(evqz*l>3dSl+uSK*>R&f`9_QvQ*cf4PixlRWeccpzjp1KZ86T=doiSl znD+Iv%A5NSUUiHuZIAgU82Ib2?+LybKY0H^8~`|I_xgZ^K8vq>JLE`Hl5^X(_>^rG z#G@Kh{4t~Pk2w~0u=j@)4=B(uu+d%~y!^Z1P#3R$M0)+*$#q>F8`lmTv~l9Zfhn^V z9b8Sa&^IP;6aCHn?sxX$#R1!%nDa6yzzq3dQGA!}DbY`DIrmU$X=&d7PRqY9r|nSA z8J2+CQOQ+NNA59*u@n)(#9tZzy$}rS@16q&&S|)qdogi1QFZ!btFeYr$?c;8-Iak~ zXXbsGS=ZigzyR;X@$sjXPMe!Ep6#Xd52%lv+DrLkKz+ufUdlHC_5LsPQXa&A{V6Ez zo2F3P@hAU9_y6a|wiy{$IaxO68;>DSlf6BJSJVylqNlTd0{?>P6+tXZ@2fGGB%)6;((VQ&}_ zSxsk=EWz5aFY7OzGDNt#b!}?%+S)^mJQM7s6?g4H!1}0=kRP#kL5TR5K$VAy5D^bdZJ)-3SS<)Ku~*=`0qOoz^9KF` zA#^JIJG5vR+>Ocl;kk#7KS}Jfx`*F^#XopwjeIdQgxJ4-|A8BaY7V$tYrNvW|1SL`Ewd*7Vohi>Gek8^ zj9fhq?wUSP4}7=!*RXD^`FwSccBr3`QD1-XL+Hgzp|%4}7n52p+1>N+@%3%VC( zNO<24xDkA}Pi}egn5ME=-&3jn)t4h~T#hdoJm8qWQtwY-H@ddafZ;yJjPHg1xc$kr zZSmzz%Oh=MH2jTN3#OfW=f(oik*GI(N+qPdqd&i4(0HL20R$}*N}X5r;Hgb87*msK z^SAXL`eNO)F}I$b*op0cNH$XpK_6 z?G^5-eKgT=+Zq>mKDClzm%d*W*y1p;3BrX5JsG@X<$<|fq zMy-F%H>t@_+rV9cyo`092PqFOZ1`w*q2s>N_Gt@a&pP@|&HH;mz0OL`t+XcKuL&_F z^i)q0R7!(vltI4(JOMv%#Kk=W*!uB{Egw7+`wp8G0O@JYziTC$M?U5Q06tsDnRdqTmoAs=vP5C$4Ns*QPPCRbNTg_s~Ix zEj2k2)_i?&m*!HZYZggc@$SNPUj~J{inkOf_it`)k~mfHtNzuwx`TD7;s`1{0^|%< z*?GWg4|KV4;L<%dAwm+Xn3lq3T^9zCFvU5g(zz-i;tx>Q&-V)Ku1U|v4qmE~Ue|ox z0DEiJtSPHyc#$;HLn{rP`~iHA;)IwLJ43JkiHw7}X$pz&`Knib;jFGD`D(;doFxm36x$w+AmkHQDl-*EyRPkPFBeQ`htfhEhsx zfDU>&r{`iozgx?_n2224@WO0{w{-M_@S zq@ULTb}S8O>?y(Im+aB9Sb|eR>=JOdX~ z1qTQ;2*UOmCMB-_Z(SeKaRd%h=_}5Xs9eqrr*fMhvv{?B&f=(rxd#L^c6qi=M*5YDNwt?-_7pn0l;%CUu)+TXz~u~E5%yI9?!l~t#CB=>8;RIt>k1~5Icy-n zL?|rXyv2%`w6zp~km&oc0dS|tfLwH0v6Z$@-d(8R;kA-7Ryo=*thEDHSAqAv1xW8o zK=5_|s3OsT@&4ozc;LcDX!Vyh4VyjQ3!|g!SDq(}0J*sga4;ZM81i@|INCP=Kq($y z;KQWQg$w8cOP7hx(kDfbszfuZICh*Df>8@+uWw#Hb)i;-7v~BJ3bJ_~xgMceb~bj;`T%z@eIeuSy#V)N&8$-~WC7?s zjTj9t(|3+<1ikg;31AVPA<_O&w$Cq8oP_%ve<>_{At*RFVIJ(L&k7v@AiaH^SdBnz z^Tw5##DX0XK?pZ-yl;SNJm5!$c&(Q>{R(*%BwkDUoUhvD=sUH2GAnDLCEBrRkhFG) zx@mlmjcT&3lOLid{ZU^DC)7sKx8pIAx|}Gf%cT?}>%RNoL4>$MVG;mV#mWuPhIB#t zn77my^P%GqV87w@d>V`=09W4ZMi`IdfUZ7dJ+QntLFBRwGtp!+vNU=xT(szB;2tv9 z0=om<0I|WP?b8RQC<_qHfYB&XS~;sxz~DaYSJI@yh9Y+3aIhiX8Ea*-vrE^t;`;?T zmmNlHW*5{4+`>HzmXdQo#KgIY%f5L_sjkA+?ASv_&6fGL$$p_?dK3*W%q zjDP7o9EUlL{s`O%JjMCuc$~FHa`8r;1q=enhtDuP^FQwI;OGrf_%qibuGW`bI>9@H zE|7Eae#a1%wRL%u-U||2Sq~AKteVk=kNJ({Z*JlcD66*M;9x-DkM_;c5%i@%b#0tQSd+1)6G5Nv~5@ZLjHEEIt_eg&&95|i(V7h7R(?EdH4xBcp*lV#l4l3i3b^t=|1UZCt)zLcS6X0m* zJxBKyN1So^m9~fP0UhFC&b`kEFhkuS#Q-&~_mhkZjS?hks=8x;)%NEs+XqOQJZQko z@1-ossZ#LVr2pzWb#`Mp7&R4o24@aXmw*KUH|)c5?D~esZ9b4;{JW-Z2@-V=`oj}1 zdmZKNNipv~ND{w?)oghF>4k$+lxX1(1pw~ZFKM5}gcYZ)zZP**UF=Mpr%HTwjbtAV zmcBnkwqibgxq!gu{Q0Yt*Y>xh!X0p%KwjEEc8>UKhx^x-v&23%?@9H90`MQ|;`lIx z;&{uF?AR%L#bYR?Wus^-{6haPf|Pqn02i|T=6s)Q9B?2o13lW{5g#bFu08@vPeLm5*J1wN3_2{ILjK;m;gyv#8iD67NrLV>{dH z!0qoBASMFyY6z{RC_`8_Tj9ANKCy+!3FVhJkPe}2IxzwSFL15O^c^h#5G6t=E>G!` zR}g+4(&rdmI;C=#GMWU25%)dy$vV)15(u5)G_ZScoHztm$J`*1L97CBaPaZ_d)Tb` z+Myro4yr5ljoa5sW+m9L5a;`lzl=gM@9o>zQKQfdZx&zGXtQ<@;y6gwnKEqX5I!>s zcz<}#IB%!71a*A&HN*flu&mS4(%NI9(j30XVd3m1_flp7^_c83shil4Pc{yL39qw) z_~*BT@bPZ}`q|i0(Xb$vv&V*}&v;iddTKRWvp#2Dn&0YZR9Q}=ScGb2@(xKVvZO;0 zT%eLfV-4({PsXf{VEQd_w!C?d2MR9jWH=u2%&Rug!v=d-+0Mo-v^O!gP02F7A>!oa!TuTUoFa!va<+b3wSd=&d{9Ge| zSf5xrxK|J{c&hDxXL?x;P}3?TP3U|N>==21y-kFuSo0|_nGXT)g-C!5cr~~kdk24Z zgp|Ta_-$676?>zK#;!6Vb)%)^{6nCBSrMXCsV|dOgo{aWf?7TTyhbKI1VY~V&+;bN zSQCnu$7cA{`6_k3PARtEUy82eVQCj}Brd;A1&#pPF`>T@I6+!~0B;ej4@?ru*F!kW zL@&#cMX`${ihSa-C}PJVWJB?i$5o1x9BySC)F1$_1>@s@Wg3W6U>U@^b!OC$9W{%(Fe@X(9&;( zHSg0?el=@nFZj3zGosy@B~|vcXm{WyGVuUvltK2N%D|62tw^|yC!`Vd*LgsLWU+IX zs+YC@qN)JHW&t9+w4k%q{q~WR@@k=!k(YJvJzr&C2~4UTYC03b24E%F0(1cjh_6_M z#3DilC5&L>K!b^WGi(;SB=|!^E#wGJ^;vv7AUiVc>k52u&3 zl#{wIxJ$VJ6A-zQXBmPJVDwu}F9ACt-h>0-*ONGEte{atH=~NPeVG3Q$KEJ7n=Bn(()RYp^c!VpM2= zQQ&E!&ibtpN1tDG;Gw!%N#-JJ9oi?b;^{$`d)#@s03pP3OyHdw5C>bOsJFyR=X0WGr`2Htu@() zH+;8qdV^*dX-e|ea$gUt^byH7-wLJJ()2w<^S^zUKWd{?6Uk{^-9~68D37s}+f&AI z>|g|kNgY0L-3@K@v*#jF>Sw;qsTqw}pzUu()z5!duxI|M*Ru9RzL>@tF(+K8DNU|9%;CbK^w74u)35NpYPj$;2_jpZlwW)a zTPR1lN(KIQ^n^>dOL@Q?tA;ZP9wcK{L-S+~HCRzZtas87!h6%d{e9o-*d-l}s4LDY zZ_TRhG73?Q5%HgjDjUwc*B(E9d{)s1&ooqkrnj4#5>zj#+X}#*CG8^fTrizW#O1Jv z)osg9uX*$I1U6CCFyg|**63H@~5mNOP6+9p_v=4N4k1M zH+xH#+*Y#bIh)`-SL1Zo>_uMT#*HUzQk`wWSl%L+Rv)%=b*ymMa}HKL6j9q4k=pgM zLgyOTfQU<~j`*YM7J!P{UI-eYrKR&i)wqDSykJ1q;`H> z+%~D6xR#G9Pv~6x&B6AY&oITw==;tcdJbEaKpuGj2~9=VOT&%& zm8ih!GS&8`tJvXctMf*E^+?}jEM45C>>#m&2KTS`1Xfp+0n605% zY@gicVF?=e zmI_pz$F*J)QXo7JVRiOjF(T^gke{e3I#QrgT2vxIQM&uq&e*d~z&2cN6imV4a_7^* zwuh5Pjc+8Lr3i~j@pwI%QS^^}-gPgO-+E!X!f~x56yp>n|6Zf0I!F}eh)OQ6+qZ8Y zpo;2}4A&nAtz^9L8C&7==qI*;#6E8Ycu{REHm%f^8b(p6Y@3iyn6wPOf%opihu1|@ z2|Iyp!+}$w8-kPe246y&%{Q6r|GUKVUsc=bwWv+z%B&ZHFBEJa5k(~&1S1EoQW1(U zx<$ARUN2HE5;JSx!XOc>z}!tt|2f&U{IhN=pqBu^t}D~4sjPQjM9n@?Oiry5zef3U zM0GxG|9nY_7Zqtox-UmoQHe65MI@DbOWs9Exr)^tXcs9h9$9VCF7U`~=vk;oTf)cv z?8zTM1vH#LHTJzzAyvP&wSSS(-YxgS8-0u7PmXxt)TZ!+t>Hf$^G$vd@YNHd;2-Wf z1zWo-q79FTT~pW(&eJ?qzTt{$@?Z;T{KxdmzU~U&<~FC2G~njOHH!hsRAc`x>d@2c z-X3bJ8|t_@^p!`lM%s`8A_Zsr=Q%;PuA3)Lv{{lO&Yn^fVuzG$uRayDIsQW`T%y!F z7m+_UJ)!%(Zv_N+?M5dDMB&ti{+E88ns9fjqx}-sbUxL)w5(RB((Kk;)C(YMC`?CP z>wr|c^dibEIQ&UEL*&o|^;e5f5?8ZR!v~7K(_)Tn$Ns3$3c#*3Y7-Gawdk`}9xV6%YF++_itt`e+;1#4XCJe^%_Nx&Bh#S7-9>w$(H~ zq&~o>u>%t%;ULr z8`p$%TCvmax`Id+iWah4QxQ4vm93azL}?*MVka7NA!{h8Sd_KzqT9m@Mg!sQq{duF zTP|wyUPqDcSmfeKRD1wE7ve9ix0NMS?>K)l2+bsUD2g6~>aF&Af92OohR70d{u$Od z<)by{OFelN76nuyC8M*GKnfi;W8Qy+i``4}3QHGb2@8F8=jL`jibkWN>wvAihB3|& z)X!w2&JEr6+3IPazav>~-?G(qo4Y%1L*ruId5@BLyf3nCB$vR?KeeI$iQ1b_lr1^c zKjg-e)JxF%UFK33OMZUn8*jW3f9qra!ptLAGrdVV>!}J~8O8|`>=^+FvOgE`$uajK zI3XXNwmaMZ%osi+vkw&&lU8bBglIZ&s=gik{_f<^t1so<9PWH7YvjxYWI98D*d{H@ zsZH{5(1WEy-<bUc|C(KEbZNt z)cRe<*HqJtlvXH`>H#UrYqSN(gE*8Pg9+`BCIi&*<^%vBi$i#yHS&qs2adu7rtMH$ zQ$l07V;S(<1_1vd`eIe|f%=nu6F&U-_gKhhresrAJ<|LU)#C_fxg# z?6?cd@(QNqbpj9Cz^0$=-8$EK;a@ z0AL6)6PUq2w!yVQzs%&xlNT;rxcJ)nUxN+)_G!w@;l*>}`rEQbZrHHlKcCq4&vVkw zY=gX4SmLPb_@7B|)N%ediM5ph`7P%aA$IP zHWe3P?Km20v|uO}Cm|gW5RQ7{Kyq7E!!rQhcjnoEp(K1F@O~rwIj;)1@kNIFT5dEO zF6%>W7C)d4%EgelIp(k~iC4%X&D4 z7D)LEfP)qUKuO~-^Y~Iqg;6B9r3ooP*xSeho%Qte$;=isq7`$kfjC|1fOSj~$IYI% z0gk;TaNNq)zXpy}N!c0Ura;tZqec~G5D}s)5yJCKM0%M;N0uJVRMK=JOB|hwrNnNq zWYDXv5oACi`iknJH0B6hP_Yf10(Ol(ia&5I*b9<4L`b&y0bs>>q}HRJvHULvTSUf) zNE4`ydItm$sKUx4w1*VPJT~$)CNzo*JQ0JoDsS6UTCyb4?;~k;=MwEv(fA10dJ+G_ zVj07k7X8JLWl%u=Be9zi2oen7f__}F)@CL5a4Fn9ldbD9w&IAS$HQI9K%y)e{~1#` z-;8#KiR2I8e`0?lDVhMA%tU6^T-Zbhuc1r&bbcqpk$}1@sd3 z7$v$rUd%GZ0>-C}@QWG9q{Va^SG>$Kx@Qc+YK^QBnbt*%D5HSHiUgd(9MOeZXDViK zykBQKL1LCFP2Qz5H!`Y^Nk-I6b~dTV0w{=glkP++=TW2=Cy`hQF;+Lfh&qGila}7a zEGWIMX-fyjwA8NS{GQE%Ao9Uc(MBDK?6A|T#OcC$>1c~KVq{Q*2_lG&)8>_c;z*)e zi$=?(jJAEAkSo+|!mETCI~eC}6)o~Fz|{yNi`Rf40?J?#0797rDvt|%)n3m3PBie8 ztwKq*&dRdo=t2)?n++w)Tlmd@6P&XC2gwT@Ey5dOIX|;^r)S_kP2%y)9aQebQWdy1 zn(E1vE}NTkv>ZB>nPg6(ZChTBZWhE98OgCdJ`j90*q)Zjs0zBUw=%JlHHP)7#BYCQ zerxYau$H*FxqKXlZ8%4P5Hb$XIDZH@03Ni3b7WqHb_f#t@sIfZ9pur=r4k$G_acu2 zYa4B0jAb}60&^rW(N;N&4K4_O87WO{PEg+_6>f0_mtaDCu9~YvjO0YHR8|$v#T8UQ z_%iVw7Z4(xQ_G+xloq1Wf}^BeYJ@hZEcl#RAI_Z`gz7-R9+YDC7YzYZiqBUmgE(m@ zJWZ-&5~X|sJp^-s(fQQ^RQPRdDCiK2^U-)5ApmQwaLi;QZQ`6ub^p1WsZNusl`Lot zqn(*ZjoA$(>M{daKvi&;_rO6ODS!=3gRY?ZSS=GMOeJawDB+dh z?VUFPv>{2nKR#%k%>}dLGlJZH_j(x2lch*HmB zmu&VLwcH!|gR@Eq!xc888$#5qZ8pAiJ_eORM~&btVdewJECRNTc_sIDaK;8NXNZJ< zPc7jOyBCQzBzFn8ao)^JVyn`(%-@hM4LP(kMvlX(p`0rWW_BD$avOX!8KN_i3mMRf z<%XY|Lrp1!MtC6ekH@#FdX}saA;O;8sE4GDdaK%qk_$Kmn9OK1N3>Zt;IT{MS(M>% z|Bhf`+eV$7%u>=u@tX%CJpySCFC&nqyiJuxJ}j@hNG9#uxvCJ_2T3K6RPZPmG?2uU zdUt5YLP9l!QjKi<5WKtD#%UI#pfymMnlW9JRoPdFbT!#`Mh=jiGgumUwO~sPhOuSr z7YjkLg^m8^9cnxUnpoG-fz0?xiSwacK*6=#JJFIxtpo4!rcqdGDjc(^@74YWOH(jQ zSAqOqQp8Ysv}vhR!cU4ri%oOw`Yz=m(TI)0nCXMLR)&w1%PNVVuq&tfH%km&VZ}$N zcxq3vmIlZ>j1v05hntZHqEzWLHPhlqA0eeqEu|7|@k-z^SotNAL#DC$os5Pb{ngte z3){y4!7$}5stA4pd3dd}jW|^RP$Yxx-v!@jI|55FyW+(bX~7v=yb`6m;RGu0(#Q@a zn)|FW-422lBBanPB1$W?oN&(ZK7K#_Jq_Cwtc16!$S+tqB-g_gQo2j75VdnJ@4~h3 zVagk{YOEsNnnG%I{j?r9I8i`tx z0nCu^XPPP7rgdAtb6+BdbQa)Y{!cbyh(hx8UQxL^j{5q98#m`hgm1J<7 zr@D~lFDZYO)diRzUW-y=*fLmqjQ&P#e;c{lFMP{})hw|E^xb6VHUqG;q7)tXRWUe9M)>f1+&iswWIab-*KZMyvvfr%Qg`*P z>fB%t@hJOI=>?NWBI+YloRQ^vg=qp@u;zuBB`O;5d+ zXHfK;^UpM+mrVLT5NvC6L8jz)?v?yb>Mc;ZBX+^TKBVMn_zL_n?G(rh)ND-%{?F}& z4#lX-QbHu9`$u6)BVmeQvlH&-aDn2&{(>RK&%|&jZ=rjPk#@>3$qi83VyXLJ1StkP zcjUspQUzf%Ei;CQVKvOHDgrrubA6^Xox0U-N(Vq~&(jsq;~KokL_n##Fjq|;EAj|l zRPZ6q2a)dOaAhnL?fj_Q3R5WWf#Xdhza>SPN`z#mLU)%`yI+1QB;VS|HWC;-G} z7l8$q)#lGIyZ}R^Y-^ho9^dH_b?s!=QhoC-SgsTZfeca0cM(OwQRE_wBCF5J_9g$5 z9)QSh4VPL*GAKqIW#beJYeUEs8)vdDN$&z1QA<608_ZJtRGsK4ZJflG<}*Y-Yq&l3 z>pE;^x@)*e6PgR2JDO$5)yQCvhFL_=9dS_2OSOM#aiOG;xkCz>D`OF~=c!Z#V@~FG zQ;YBBo zJdV|pO?6RM;%K77$svA(7Bb>BeUTbZ=sfO$gmOb*0vnu^IHVZx5Pno7*%883qFs}O za$6V?WTK|(2K;2swJW0~eC0krt_g0Kk5N=hnQ6(tw7-SkYYwerv*M}3H_<3T@8A|4 zLmr$``=rBY;)DW#aYc(GO(Kjq>gdK2#fnA16aOUCkE-g+P>d;0d@`+jwOY(dwSYVU z(c#Z&k8;xRWC$|%!F6S>qX&yvu0->|zgX0;uVJK+&PwN6K>}$sJOKhN%N3?6&W;}m zrtp9Y$2dbeoOKu!-K0r}63ulGoC9+QdOq3+m9d2AEOzMXc1fZ8!3Ju(n5D+KFmEI_z?oIQVIIk$NDXMpN!jkhted;28GQ|KMzil7w>NZYrxbq25l<>K{52*6KrH2Rty4S(d{ ze$N&KxDkh<|ItsMjtnDB)TcEn_ZR^g7*t9A$VPBpSUWd|E^Zb411AOZ*8)WzSY#25xqP7Bx6f#hW zOeT!JDq^X|iCX>;6#m6(3I|FY9;|bC{33W*3MSl4=L4on1e_w0B4SI8pVO-RRh zNy2ZM^nw~8LMA+jf(h)?& zW(~PmV91veE}FNQp{o(=^PAf4c!UR}fsNsF>6C1#5g_J^0q_jQL+1R4RDC=L&36;&6oU-a;&U=L_8OX;Fw zgnRg6KR+-kGL|4bHl~*jsf4@xM5(sFuELkx_6 zlRr*P7owa4wZQ0qg9l(hnf?fo7w?!ejmM zL-lDh@JpKE&=EV^e5g7 z?+4EyABgv}#A%W0REZ~YO;UYzm*0A#2ohu}T~Lj1G{~CRi8N|DKq5y7dmA)v920)@ z>L6tcMM0a3clY#2#fD23z$~)`;DEi3))uNJps$o_1_)~ev`8;a+k*5W27$a7JP1k^ zV941ldNFS86G$T@D3}7G(6qM$B1pWDt4k)}K>0ISeo7E)#5PerZnec^3N8>H z71zBYkl05f9rP(a4K3(X(#4vh9w8~eeIksmWKwVID9-rfb0iw*im0__R7{_gavquP z|H3?CKpOT=rUzB`Xaf~+AR5RWy1LqkZ_MeukVKK()o?_SQQM&O)y^(?dpE&1(p?r& z63L30apP=UXuK;kVicH=-)BhMAmdFgCs*6?ND>57QP2Q$4!Z=0RyaGRGb8No)rAVIbJL6}m?N zqA7nOYX1jx7Y*7WU-U+lhZfH?>bwqhx6H68;)-kCiVRb}FjQ5zmq;0NRu>){&$m#z zi?pk8GLk2{t1Hh?>p|y6PUsT=Rj5NVSxw8~TpkYq>?|g~Q98&KiTM`rx#B+SX-NQw zN#z{biJuZ1h`Y6@>5!%&BrKx-G`hh9!3#8+^F(#E53K`BH~Y{^iJT)?=#HQ}`2l`b zG7SrWl1NpWQ)%D_hy{N`B9@m#tkCbou!_*8vg3TI$ZNRAWn1!UvITR*PTTd4oXE=B?xdkr_LF~URri_s1hc$#bI!QB6`-!ek% z(A5%&xzl-y>&@Tv>(|f5`8-$%pyu=d-BdCz0Le@@h7Kc^K^L9Gk4G>3L!>?t1vc#6 z#Cr`e3C~|k?PfGF6{ZZBPYGZLtjBy0Tg?0dL4<@)cZOVk3?IXQGeb>hxB9P^=;g)q zO7P+rm6g3hmDM#&u36{1SSts1MH$i6?ABnC3aGHw44&L=0Ga965(!BV8bV?uwzRyw z8U>hGO!?8T`Jh+L(|$r!j_VL~jB*!;~>(numG-J4_!VN0Oa57JAP(c3K&R z8)<1oOj-6d6#TBPBHuoV2QVuM*m46^5^DCfVH=@|Tr0lMrLCmOF|5>D>piFO1BtH&uxCg&vsE4J->+ZYIBMOdY7>mpR*>!o zWPNK6LWLEjNGIAt`~r<-$1n$Z`^q$#*98Ivenc@=a{nWXf|Qp)UktyPRj!AUP`4)2 z_g<_Ab6_G7R!PA8vUL($xp!E%z+<)14vLRBF{0reNCs#em8Lw0k9SvzP^-sS<}~I> zu;c2BTb=gq+b24t3_FR~%}=6lsMrTtBSl4YIUE3{9TB8Vcg*fW#Kd~cPgCyN-;(3$ z1ZJlD={5mG5ZX`1x z+z*n>r5T!N_-@);2vp%I(%Rv)`aUZi=4>5@ZMzFyj4oj4iVBWsk3cwS0v1&yE=$44 zcTB`|JYL$KRDw-e9o%r!5|!?NbsP7hlTJ_^%!syy4H#jrMDd{*O5F6xK;n|XuW-f!q~%D zJQ)i}&|zF5()2X7aLE3a+PP_6Ma;u6{jPSF8J4;oQ~cnv4hgPq^ffZi<`9i)za!)!*>_@Tma0fX=Z;ADH5N>)K;yxBGbJ^22_8G zkb~DCuKaPDuL3J}D>{8sfk%&{sP9CO60twQnyG=qCTS?g$JjLHUqExBLz(nAD(L>W zFxD;!;IB#zW_NX!K}QVx@!Fr8o3IEADXWF-32|;gd=kzcRqsaQP%(9`eO5`8Q?1t0 zIWa7-pA3-Sft3jC;K?Gmi5vt7;ao`&KvVQSHz$whG=45ifWN>>sLGIB7N*=>FG!Pm z!AS0BJy%4#vv4mfU2me1SNT{{DDJJ8?BoSZ^PcN)_^%*!0!4s3rjXdg&?4p4{g|m4 z@hf8Hgby(&s=RfP{vi0^GE0Zv^NC+Yg#-=O0I+cb5(|-s;8}v|) zcf6CrNIgTz@iz3!{BNGYeaC~7gKNM-s_bvqu*=R4?-;#@k zcLBQXEyTbO=2>N?3^jo=)V#_3!}r{f#XxK5e3X0+p_1XFQ$h$kN_`~_cU#fOk?ss# z==HL0De)UgF7rj0P7FS$j(e0tKzjm5JMSR_!7-Ar6Iuyl*PPzmQwn z9-q3BCMw*&`TY6wAJ!%fcnu?m|26aDeJ4k4pt;5f!3^$Zjk@D5EF)5t8KJrb`T2!( z%spc9HXw}eKY`YK?J!ng!_22MxU4AQLu8_GcDUf~Zt{a~$0$Jv`MbwZ1TEqZ_Z~ZW zvdf&}d+*H~_{n|GJ+^etsXy=Y^ep_OLfBo7RjN)GR|>;uEUR4>*|dx({_Q8z+M&7?LP-##K{ue{}^%oY{Yu3Dxz&)WLmlVdU=&&3xh{_=cE^QdoOm|c+ z%5R);atS$LP4THs6$L51v6E37h}u%HyjFIQybY=ONZ@Jj6>Bi)jECF2c_#PG9u5pL z>3kHoIMQoq8db&Z(wJ&0S7>R?Q4(>xAZ?k3s$eu0qaK@Lz6^m+5~{*VXe)UYcNpNd zgZTPEk&R)ICu%W~>}DJYR93rT%#Dgfh&SxAd>;I z?R-`FmqE%*TzOG9-+p_3S&Vu=G7Sx~UAuAP=Kt;-+oyD5C&)+-PWDM55z|UKi~bo1 zHzw)eI?{4X4YBbR$Lee-FB;H;^T6$jkzJz~FUp|ax7SU}xnCx}j-@SOy z%CCN0y{QwqB~42W9TXuAVGj$GoR(Fyt=$Df`s;PVA}Cl}Q9f&{c9ia#5^JZu22Kla)kk%LLi zcmTTAJt1YO1S#&Gnz5No07r;v;}LBb5*D8LNq8mA#UiZEsedTv7)E^_C_lBl?35RP z?k=fKRW$9mP?xrYEo0$`O72!eyO3D7DAjrCCyyCWG|m_R3`ZuGQcYeLOQ%7?D{bi~ zUOtAmG#&oooxZ1^r)#kKCmgQofwFX ztdYVit0mWB3D(Q8KZ*+X#3~*BG}`SgafR9anw`ETIz7W`zV(+3eZNXEuLM(|%TznJ zl3AE63<}M<%3opoD|BH)8EozIRguS44_rf8$%Awn)jy~uT*;xAK&-6?EWoYNZg?N? zl%4qQl-YuyeJvm zfdykIhKm2c1KbVtm&@)tPnTp2EH5Z9;sT4fzLnI*+b~vjgr+I zu~zr4g|`bBN45+AK*Y0il^nZWu!G6dW|I{5xK$%a1DZj#-DDn6O$P$)WP4`3s1D_x z-3Zb{y8&~_b^3!r0V?URSdb2>nr0UtauEk}CoQ8}q|YjI_?}p07*P*?f>5@8RWt)Z zVz|gu=|9SUQnhA!24;NLq4W}30QW>c$6gqi1ApLLHm$qM!z^wsmi*hqhxPbOJh_MD zr`{X~s==Lf+)qr5N&~aA>0!Z|9@y&3p)FEiC^~>KaZf3vkpf1l%RNKgpXA|!zoS^O=#f0y% zoM03Z{FU~o&t3p0Gpia#fq9whHSNWAKa89)B_w4~E7U2J5uNT2aI)C-iZsG8Oj)Um z0scJ^P0lQ@IfN1F%giIWVKuAdqBiOM*fJ?H< zD{YKWi+<@yTtg`=2S;A*_Cp~jN@dt}wk?Dm1Z<+9044_`%IN=(bKR|V7w83-*ifS( zA}=T>+E@TB1R^3^Nl`x(CpsPiDKk!i|LBHx7@)W#6qMB1$5NFKbz@9%nbSDvdqn0b zrY~Glp%9vdh!8J)FL68e-R5re7et`&CN zRYsir*$Ze7rUnWrSZjJ*#*cKtcFzPuJwO?{a;uM@iBB6GiL8lFtfx_g-@sW38h ztxZN5;he@m;XF`Y69q;nvv9TXU}!0>SZ-9i0$c~8d<3b}&J`H5p4$vhkRpnRiMB_L z!Ms)fwmtr5FtB)llpA;Y%5k{k6w(DxqFspXG`J>MWeyB4a(n=FoAIqX6rLT~bN3wO zNujcG?ugx~1#2YfI~#eSw4lD)qv)x5Pr_@pm|bl_l0>;a9iG1UEetrp)~7a6mCywf_np zRWC=4W!)6fNmnRpWE2wu%a;|;>3TFP7hSxHT_c%swy>Qt)1BlDh-W`8tyX@vdljl- zaBdVhp2%DwFS1@ahBtISiu>HxIc4^cHA5kDhz8GMp zw7(iz+l^5nzB6HpO&mcO1}JOms{fo=$dmtbO#FYIT2h${kSzQN?GLZR`LunFn+|0D zY?P9w`F9y=mXVA$0tzL3`TO*hNIn!HzV40zK|0eBCe#tHS6FNkQ=me5YryT@YrGcM zWMM)A3evO<$joSL3r430b>Zs|5}uUYfzgtJ?TDqyVu%^sakx@TX9Ve61YCYi zuwk;G{3yLq zb<83LiQmW^)|HGNRk)R<774nK58;6PnBm9|?nXjlKN`Rxu<{sCSh16L^}& z<$LT!Dz$A5Kjdz$Nf_@&Jo9~2TQ`?uQWA6t27FZ`l*>poo*%$fZW6F;lb(`zFBPml z81fzNlxVxzj&o7U;W1FE(s7D5xXQnMF3Fx%UQEfQz>nzSg|&W_amm$j&D%3t9t6To zkoO~PjlV_6AfrPlHwVin@&>$;tD=(MaUz6;i!3r=_RNDkN2k}n8)d7b_VtFr(tw$&$?hoLoiO;!n-hBa!UxFzS=&*SF)fY<;sFV ze9?qWUClHTVqnHn$4DV(x$^JgTS$C_U84A#!9pn!PXI==@B3M95w?&|$fXC_RZl#I z_!*)qXAx<)@%rRXN|I}SH(fqxC_okgS`<+!b-l}xPvLGW z6w4`SR}a&fZ!&QW?=SqA#Kd%s#~yhVrpktg)eAmAdpG5w(F$&n33tx-Y?o`Mndu0A zBbdia<-fib{wpP>vI%o#oe?cDm3XXH=|K0K5R7j(!?^uKhqhhd15%BiUnSW9PaYkS zUVk^1ISjqKC@(1C8wV-wJe%U5no zR!O2;#!l7#UjYX7upoH72vzJbonD8(h8gj=Ivs3p6J(RC#AE>xw-R-sYj+@T7+^Y? zW&2@guU44nUq3EB;xQ2!2KPv4~{}y&wB950aj{rK+DkKTALLDotH7`v_ za?n}dQ>s>h>uf4l5x>qPMPve{{01;GMiwYxY}Z&#@6bTgHZ<65wVQpO=5oG&#|AYS z=>FcY+(QGU%y`i$rqPPhMTgfzt`)Qt^eSzizN7=g+f+Rmn;=NBT_`1*eXdgtIxUkV zf^6sxf!$Q{I$OXLXNXC>oa;?b`gjhhSP31Uk#tMwHug0iUjc)H1>K%%e7IoURZ{zG zoBztN%}te~2UV?B_C{%Rd(8i>27rNxaia#i-e?kagP%J6 zaM=nnOR%vpJGdj{F;(|=EK2Y?7XFgp!x@h{1ehe@p&Fe5?R>$OlrY&V(~wfI4RcpS zfy==pu^qZ3&{YC|r3N0kGJJpl?;e_=g$6W_6{esZLXv0cNJ}J-E>wd$6{Q{Ch=VU| zP|nhSTYbUw^-_l0hmEl=s)7I;Ay?7jq~ZpN_x&YQExN^Y=}9S00IxFIq^m0(>j21v zcT^hUX`Kw0FfaXzNwe%4F7XJ0e}x>8y5HbIQw{!i;$Jnjw9C%~j_%>Aah^>`4~--wd^C{-ij3V0FC{G0L6P#|bQ~r;HnU--bd;?_tE``Us=8 zGha%FsR#0Q4e9uqpVGA6pZTYbKMQ`xo%5=1%K;t+WOnGS!5rD}v!O`C45>)c_?iyc z^v{S!lS5ZYK2*qUc!W}%Nh-DMu2~|iadttd^~Fh#gW{Y`ZU$8tHP;xC=gv|_SQBqm z^f2hQeF1DczryI;3tfa*8uXXih59f@K2RZ8TX`Ctewcr?7wpOcGEn-Eo=9tT)T#!w z>I+$QaEh`HcvQe*CNz_7(7Tg@7G;p;*Ab~Lfv zr7XAp%vcO!$7_VlSK{(Op9;RG(TGPWBMgf~Ss<<;wb7M+F!XZ}SQ!p|nNg#KHjE&v zl3|!%?npk(yHzl!nIA~0pLGJeSM$78l(Sb7G8&XIl)RE-P==gn<__06_x49hBtuKxmHM~JLGQ#^!bhA&c zOa$Gt)qaP+iqB|?#M)O17-7JXWJOU8)de{ zs>*iu6U^?Z%V8AqxtvQWidgSJ*;~h;|8M;i)(Fb7^(PcKPcd>@)U7hv5G!Sxh%3?h z>M(WCbZ7>{O1Pwc>ki(mvidLmmbw(g2#lb-dq_uCPpe|w+|{UjD{@v;{I>yNYX#FP zUjp|!(7umm1=w;{bn9SCgx=I8@^(0zMO`OHZG+_NU*UMcWLS;g7Jm4B#RlVOgEqe6JHQ=Weu+UPJex+ z^GiuD>*)Zu-N**GBdLOJz}=)=>m8d+B>T5yiP#$ag8-AX+(!w8tsbP3A&p{>6pkSK z-!v6nbl}5`R1Q<+T;aN_9pSe80Cn9kHZg6GXXB$*V|HUXB7195yGce4^tO>9FbB2W zcB4<*T`n%f?ZUUW64Su)$0!<^eN=M8o?vXY84WlIUx?J?yNiZpi@D#5rI(#MMMatAbk zz>ePQ6hmQUy0;ltoV#2k@u`d%ilcR#Y&ldqwg?kXu(-=a6q>XT?u7QWm z89(BBPivE>%QR1_p8G6)xUQBQGG(Mr$pXhdx&YT^ZSqojNRYCgGAHL^tG`}?+Z<6v z9Q|yaWEmE8@mk@O>Ko>DmN_%bNBJb4Vj62*N~6?iqWmTrr^l6K^=+_KkuP(C@N zK4m)BVKEMv%cB&32~Nrx-`~XRY;?nEPWzWR)Kk&-$PayA$5qa}S+eP>`Z6Gb?_5aXgilFLG`4 zZNVMbkazBAfJE!{Dy@#o+>iU@=Z8B zfo@l(JPrB^=oW7fcTaBaDZDp46t~Ca@JMkQ!-83O@$-w_r)X{J)$M=>oEnF35T%A(oTe9s%r zisG?-02P{4##2gZ@EoRGV{D^7F3uHkIV@r|4RpZG;lzgEE~dhU{___s=rI*_bhiBm z%a0GZ{iF@GQOPw)hR~XH`!kePZ$g#Ychh%_K5;nj%;7pD-+bnfsg5=RY9;hXgXQmm zN|`iV>>Co{iJk5pKM_S3)Z2Fp6DZc5SjmloH!Q`YX8VIh866c)cfMCdeV@op!SSnt zE6{>_G{_f?+bN>QZ^yz0`&POzWFNJyy?$_FFS@xLFGW%C(V+d*w}hka$|YY%jJ92~ znMW1km#BNAylch!i$AT$i{gF2=XMlnk_&??oY$aVw>=W?y$7%W2;wmynD^9a?!noE zc#HJfl&**9wqmY|i9*Wwh?u}8sZ-fH+{UCn%ytA%YCBA~NLL(#s0J3rw4aQrBi==w zC@zc*K>59WC5pgn(b_S)F(!(>w(|%{%tve4G?55Q7`(gZxU8);InMN%!)+NYNQ95J zw4E#R&@wS_D#mdxYWcYuE_F;FwPYm;OEns!E+tS03svY(Mj_&Th{vO<6D76b)XtuS z!a}dzv!7634QhXKAB5!}`?$Wl6>r|2)4;PEr65Y5%jg8r!=Q=-*B9S#mt?p~iXi-6&xM9UQ8ZLjv6T_`1F`W6D_rFGr>b~I#0`~ZWXlxL-XY(uzy^wjgOLRzUUW6(-aL=3oWWqZb>{-DoK zbj`hP0E87?7jepbloFn!EF6RwzTQ??6_BVg%&ccfjM09y8;>9R+Q& mj$C&vkN-1m#Y%s#l!#AitL`5BxDEfCI_brU*}s{)^8W%XSUctb diff --git a/content/pages/docs/kcl-samples/screenshots/flange.png b/content/pages/docs/kcl-samples/screenshots/flange.png deleted file mode 100644 index e43ee9eb5fa8f631fad556773000730cc3608f2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73449 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 diff --git a/content/pages/docs/kcl-samples/screenshots/flat-bladed-impeller.png b/content/pages/docs/kcl-samples/screenshots/flat-bladed-impeller.png deleted file mode 100644 index e6c9acbfeed21affa3dde4663642f46c7b00e81a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46611 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 diff --git a/content/pages/docs/kcl-samples/screenshots/focusrite-scarlett-mounting-bracket.png b/content/pages/docs/kcl-samples/screenshots/focusrite-scarlett-mounting-bracket.png deleted file mode 100644 index 94150219f875ced96a816219b59e60e5f1c8113b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77357 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 diff --git a/content/pages/docs/kcl-samples/screenshots/food-service-spatula.png b/content/pages/docs/kcl-samples/screenshots/food-service-spatula.png deleted file mode 100644 index 0d8f85a5092b1cb00bd12ee0adbc3969214d69f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53902 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

; z3FoN>bc{9v5^9S01hh24nVuem;fPEqu+sw7zzb;ykKr{u0g5l@^KfE{&HdN}ZH;@0 zNl|elSf7ddJ>yoz7kbJwX}ELOjrRjI#S@`Zs4fj`dv3VNCb7-lc`Pvj=gYb6C{IJe zvP`CSnALFB>|+iVM=RUC=6;KX1YrT(L*)Z}qv*8EcUjuAD4(9MdkxTeshci*h{Ham zjZIGG)NNR`Eg;-6?t)nlS+gu3*Ia8fA3!(-@=Ws%D_YD7qhuG5=h|UY*r2t{f^j&I zD^#VfR4WIKp=G>P`UAN&6gjFWm&QnF0mX?smb&iKr*8Yd@vJt-0LW_eZ|I3J0<{@I zNU;tBq!s!5_VE%;BLo{HEyFW-P@;6rFHXq{V03>dy5gN zPZZKBERhRn2}XMHp9B=zAukD3ag#C#OMW6Q#gs(9)MC$j{ikC1?s@LS6AMyb?oR^* zV*in09u9$bSO{MjB~XuQiPyEHBcD=ncuWL`5@90zWd{j$b(%#nXu$Ta!;`A)VI(`O z7VYYwE=Tt|r{}lxdQtOQ7RvHc?2#t)L4Df6G;E+$VbSP|_7TJ&rs?^@-t>R_E}5UD zG{)h2s)elyAM)J56bBF*d0E%81Ws|FfcMuMsW_wzUs9)ph_PJ&Wx5{&JkK24^E?%O zBE6!b!es1?{EZs}yu;~GJseIfUzUGHnBZM^3*+C{<`St;DYNbnj5zjA>c36|!eIjAm-|x?sFw`3DR2$b;}z zgGLUluyD+7Q55Yj#8(Z~w3Nf$bpc*cAPF)J!isu$(Ttq?P0Gm`rfCx=d=pH;8abgt zBrkatcHc|$J@i9-k`vUzb$zek_nK+X^~$l=(5B?AkG6={F%cldolX#TM~{Op6$1hHZY z!AZ$CvLHy#-04n+;3THK$i(2UEExT5LHD6@>mGlp4tmH=A^f%dj*7Lz!Z5uSC#*dv za|GmiZ1Ht?Bxq_@7@ih8%n>n&o;`|3pAF5qDwf9YeEDE6du=Z0f6RBqpO$~7Zdr44X0WmgCystWie_ZQw26RLE2lL70b4|0oO=a% z*6$+Fc?zFIU4ZljXALv*ku{+*wmPRJO5VJ`UP>=$!h@HlAJCw+1euAE15@JAXmKIK zG6!bqrX3q|kk<9%MwN^clCMN&&{rrEj_w80d;=Z~a}2hEbaDO!IuA9iX6I3q1exg` z=4Q<=cI8>+jL@sBg0TOl@U#x-j!J)Gdn}?|FEAI+;}JeJFx?)MgwYO(1Q-P5axMb_ zap=pQh}H!o8}%vi%}yH7+V!^ zj?xv96B(*;2~gwr$bEPHbWK#*HMloqW}fYT0_5^O?kgY6IY+OLd|wW)x(X-G4T5)| zj1zw49%*g%l1eQj1PBXgtf;fEgr{535PKa1Nv&RsB{{HSAu&FcWqW9=0-@kk9*%`c z{!KBA{l~v*Q^xhup3zZ>xJY*s`Y!q-)@Ce^L16(-3(E7HdDhCn9r}%xLTGXQjdcJK_-ZGWJIWls; zuh`4iQh#n_i+wPs08tE}<`{nOdSR-F=eY2YS|H+sm@wJF9J+kRqS(sF<~dQ#^T5Ww z_r4QmMxZU{=A>1}*lM&*;#As_h#OIdFknHqsfpvtd!Sn$5@ELpM}|0U{wBOluB)5D zb2h6-?J#;^L2%%vH;yWPw6Nny7_;lqi4-kZleZ{m1%AzXU=EPaG`Z7APJlp zEAZ!V7<(d`6-g!#FZkEg%xkTtv)|dw=Fp~h&G;2P@MF0|hc(g8#kia;zz!g-05`?q zJ!rXd9*vfsgZmY7kkzM28FMi%Nq9ZM#RX)D#+3nnNdp5(q65ZskO_7GfAaH&tA0%! zbfi>jIuAYyKQ;U6pn+4|aUPT822D^L?uaKm8sMM;bmmCT zV#^`}qc!-v{vM}TNNOQ{lb+=e2KU?@izA*IQGEM~?W6-_@a)o$^4>jDq(@LfFapn| zdyfAx%AxNeMg1H(F-;<0z)VrV){REL98N#uh?;>07dnh7Igp~)b9pM_e&5ML(3V7} z)JbDPLm-G)*kY8zm%r&&=t+$Z%kp|jVLPHTLVM9XwJH8Bok)D9XzbERE1B&NwMx$o z*9E=n4t>I*BlkQP3|3IZ)kR0}s6V&(GzXIg04r!hOO)&rl~p!y?szC=1}gvi_wNU@ zRPE$q9UtQnA150+L00-@o(}Y$ztIUhI3rgP&Ui+;NeIia2q}PikVx+h;@gjNi#Se$K5UlF0xLNliYOtW{~-byb!p_aG^Q3T_*XhJ zgO=Ql%|Z|q41NG3dK4#Z050whay!MCgiz7%i1i@JJKrtmw=Qc8GWI>v{*_~w9vH#f z8=Te=79Av>7acW3(WQ5;=B%yC<4p>%3x)(7lO#{-Jarsf*fTRZyUi7mdKX7RYEkDo zB`7*&rmxFBD4tPvK%PKqDUJ6jyb-@ZT<2gdSRIwfrJT$_$+2;~xvKkW(h2jZ4h8lTLMKwf1{%)#b_n*9xw+HyhEHaM{bzJ{0J zsg%t)IO2I8m$zcu&CAPUxaCYOkePN@-5^m6Jf~1zZMowGER?09d}?~G6$cgCm-H2O z3y$okXOzrd!S(qN)p!X&)1x5jYNVl>n3Kf|?P)Wp7STVkGPQ2qI*g-4KafM%)S;Ru z5lP$5*bNLF2P7}3w{$`}$c>2{95{1@Lc0JJ5lj^|v~1eQ$|#JaXE?Y7b0}cKS_f|3 z+RjV{O61FPuYjrPzR6=hH)hN%lT$EOEAIdYOy^JgY&nWGA;i8k52s3@xJNf!zPlfW zfZ-(_;1rLlvLLofUO+X%1dXC0#w?(4h;wKij=fPD&gWdE(Ga31k}4&b+(KQz(>d8D z*N%83?a=0$lZP^NViDTq``_BL(=P8$jjRq<_8@CppLwNBAK1-Cm`fAe-sF?;&ZY{* zXu(*d3Z8PPzlG+4r-$iiK!!hnyp~Nl@THuIckt4)6~PV0dycf!O$+WQMWYJ?M!3fA zE>69Ni)2Wjn66O%h7fFa?FqsPvNBnK1DK@=@Q5uIipZNhTeH>TAo(^2>9;TOb{scD zcbb7uA7f)4UN`e>#a<15yU>J;6DuGE1UYR%(2jp8{-3OPwQK*EHkUGT7tcXJAOi_x zXZWsaj-w;g82$-il~$fq(`uW~sVssJR{2KS z5XV25Tt?Ea>9<=jdcua$4#CCgo!zTxB;>@+(VX$Y(>9)#QZ9T?&!<33Bd-QTqTd@m zu!(~EN?GWKFq7e_)F;q15PV^mVzE{wW$K%?2Vs!oOCTA-xCI*)oZxY)@>sK_!W!L$ z8f#w3ps(cH*%?BTDoVnAD$2A%oOPY8yzP`*SM*=c%R0Or#P(oj5+-|TMbSx1YT|)* zili3uORy5SEXfhbX)D49cM<1oa5RJm`;7~RW$+SDn2hpsmvKnG*Ht6Z4b(oMC!Uw` zJW3;04zZQXgHUft+(ifmeL2Am$9K@bt=;)hzA)tLf6Y#AoO`J904As6aK9<*@d;Uk z!#pj!*Fe+{0ynV&eYp7D67&~|QV=`7U|})$1UrGyGZW@OsJx_w(VClAtnezaa3+|9 z$y?WX$707@G0YMou;J5oEZhr({Q_vrnNwFUgrX!~{c8^fjfsgdhpUKk+;QK3_Xb3G zH(C*%|3g?2kE@#bVa~(jKscxUxs^x*=d$+#szQ%RrkO}`VR;T;c<*#*%p&r$!hWG>8(xDSR)6gYu}-S)N2W z0NzNZ5>q8)ATc^3(LX8$B+D|y0u-Xk_tff`6z?xJjx@U`z0^n67~% zuucSqchHHN+$xuv11ca*iiz|DQo&_k@>Wm`n}x~eLVwHQfSoQS7e<9D)1z5!d@6C&`{CM3&k8*6ZI;dSDV|cI6Veqy3$$wgHPwWxg2N7WY9K9I!GjifAH2Vq z1+3RFQDGhCGK%yFIuA!R@RnE;lrzAW46uDkv+%TMcP3 zSkQCTaq)I8crGjGqGnv;b+J;a1>@%6XTF zyq^FE?bFKpXv{>>pb>AYSg6n*IujsBAZnboQRAJD#!ed_9(2bFa*amb1cWrHZC5$h z%6@XO7J+VRB7-;o?X+|;N#R~(A`^FXnDX^xXs6>e__E%pS_dkmj7)QZYTy_4+cch5h+L-P1H;u6vA{i;}^u0z_E&t5ihI1OHbMn$K-L&$BK!lVR(o@ zLXl<@inIzVPaFuCA-sz>Z?ZMj&x(MAUr`%yhPzNe0!+NhiB?K*W_{GCQOz71Ro|gr zRby3!2bX-)tU?jgY>#cOeT%yJo_g;qVfqLTl;nnT5rcG6E#~)_5XOzFn9MG+m;DsK zCWiQJwAD`2NC>!u-Q>zu28t)#s#RI_)8u@bv`Do0RIJ|N6r{g^$#qUpb`yiPmoSNr z!@MxEN;H7XkuGHr|52<`GNJ52{6hwOYmXt?CuDXNvqD|xsq;GJ&^EC_91?U+W&#S0 z4AJ9oYV`yuh346_Tm0&pLym6MyF2WobmC$WH78+I;(6gHABu- zNyJqDEKQ(7s0{F2^2U@4wSvXj@#waqky?wBSC_HhnyVf~51Pa{&DOo5iV1S`}z zn1k&i4Dk*e-X|9(L)H$n6!Cju2am9uOoadh9>$G#wA~74%szi|`h(XVnyrzx>ZGC) z!5{l!B`mJ79mO@{vet5Fy@^ddOk;8dXK-DUoL)(wu$f6r@KiVl1>2K zv$zz<1QxUm4u5w-5Z8%F9Lk^IG$2CO?ik051HT4`pcJ(u_LrbP(PdS1l-vqsTIxcj z^BQG|!5o{f8;KkcHzzFm#2PO#G3^^Wd)58z$0X6~Q726%8K;KcWSq%2hZ(U%5jhk< za1lAh!l7(XmDIo4ijtSC4m*aDfsz!&aW|h+H-HFeEK1p2DseT}Xefa(2BQR+o{1zT zNdsgKT@*s;*nr-c=U|!uqW9J--nP*p&<;MSD{@Epdh9@7fV7$^8XOQ40_oaqTckX)Y6YT4@= z@6s!4Y_AxA#%M8ysgGh8NucRAfB@70cvViB#~NkJO^~NlG*Is$<#wp~Ey!;9_)xUi zaob&xE9b4X28MAJi>w>(if<}AqymVWpnKSR15TOf-YE#nJA<34FZQjq6WViLx5B9h zpRY-WoZKvor2xzj;R%x`Y>;W0ZcZ0ytho_-YH4#P3;@&@aOjt$1Pz^q{>atqF1VUJ zh`cg&fPl;I5vOoD050pnN6!DpEL8`7g%BwRs%3BoGmtA$J#`R+pzs(xU}U#MWagE{ z2myu)$0KXfz0~BiZ>$Ed%-KV`NnaqdQSQlN>6YO`(!iR0g27glo ziVr=mP_k&E2PR{%FBClKl-%H=D~0LcfopccAjp&` zmu&yl;RR`Lf3|z~RZd1t*r0<6>;*NBz>s&ex=Zb%GiQrw9z*#6+_b(it|YLEI)OI8 zTeI>%LXz5|hymt{XzNFuIPjVZsPU9ERnI89lUzWHIyatq>$Mq$xP^Wv?xwxotlp8l zElqq5bCsax)sXr%@C>)(mX6-N-Q)#ufakiz27KNu8ycS>i;$9=r-XWgQnfT@pt>PXDZ1hLP*j@Z@8kRK-@nx<`)fjBbq;QDf+Wy@ zgahibAsRy(0yPYJT7V=d4METtFDfyVs)(pu*yzo66W?7{Fxl=t9 zb7I`OW+q{#Vw(VQ*%8T$>O%l4Ye&c&pMpq^+l^k8aj9@f!k`1XmWfa(f{?`szHCWU zF2+cFT;tKi%^Mm0LpVWhqS)XZ1at{y6EGPL9$K^iN(s1OjS=-AXoEj9s5DnYuypdJRRG>~e_*^;6T80=tz*#JP$Ou4n{ z00gQ``x^Jo3{UBzqp0M4=6od@h}%1`|E3O2+b}(6oD-_iivkR!D{sgIHw-V3C-t!7 zg?4YUcEg+7To=i|5FQ8TNKb}52eRvKIZO6iyce*^z?S?21*Y!MEs$2z6lBmUM(vs2 zMJ4U>WR6Nuy7IZW&aw~q3S}w(e)}_A!h^|jdM|+qOtg4s)PeuF`Dq#`1Vf^LDRjC3 zunzIJ?1@m7Ku!gTMk{jq%(`-FC3n41|)KwTr?Mo^rg;n%$HMAB6>W$;4EAO#sKJUV97Y_YPBJ@d(+}aQO^eQ zBZ7q{;6xCHVij|QC4g5)T7U>BjT4tFM=X>bBE1N~adts@-?Z|+I7a=3hKK6!_1Vnl zfmZK;B;Q`WBnWrIpONxLnisPTTbi5+(iOEP8sw-} zCUYhEaa+SynG|mBXTZfNiuNQ!*;%h~_6LX+5PLimk!!1Pp(JjGfdT^o*&seGQym~L zC)HEO1V4`#x)f4~VcDr!q3_{t4Rdx`AO)Yhz7e0x5C~C=0e|=AL$#Y{&6Q~RJ0uqt zKi2W-z+|%nC={gH2AMa9PI}Ow880(04CBmDQsK!vw*B?^AIx#)WrN!~p1ac^guIle z3_@V*d&=D~I%uo@V_Y(gvLNPUBKm<@NQYb^KZ;x&E=aG$#M%1#>SGyyJ1S?^kxh`37Ysz$ zhKYeoo3A~U?^W~%_^spdk?Rdb;%-~?#eAVjI?-a>8OS?nI8gvsRqz4LiB64St1V++NiZQ z-ZfOc85?e%!NEm&ONl{voL_e0+vsK~+nfsZYbo2CAeN`YLJ)jpkY zBE4YRu~d^iVd8+sFGIgD-C*hjS;_Jdg%!*-;l`6D9*&C7SFWnsB&t=P$~*6L#-i?_ zJ}BMlxbjY)GwvGN4RrK(DY>`?1$WN$nTLbDP6W;QIhsfyTNg9I#LH=!SSnQlQJs+k znqRVTqQ}Q(xOkjUSe0&%JIkG8!gS6G`<(#Z{1 zAea31V|tmSUd0mIUSo4%h)%eQa7E{FGDaBgnuct@YYl?w^c!SipnmSD)M-s@fb^}6 z8iC8G5JUnag|7*Nzn_Uh$Gvhl%?x0HyEb>%uFxDJMc1d+kRt%8q zXs^2zXrhkADP>ETh08t%rmT7Dwl989E%4?@;q@40QX?rZc~pFblUb z-womQ4s<8#kLj9_U8Tx^Y9o9pPV7CGYo8lJxw2sJKkZHQ>SRjz{IIWToCcV4Oa zJ}GO1VK2!&!fO`#;qv;=oP}sRtqa{hn9HkK^r)c-&DKYsd>0z!7*7LmX#ABn$Eq!5MJ2 zgzSDwo53h}WMGoo{Ry4{S6RL~UP{-vOa01bOTN7GO1UhL1#!%KV~^F~?kk>628-9C z0k9pnxbnhv4!njP$)%*Qny$l_BW8!`P)i^Sx(0%@ac)dqu&-mG@4$_f?Y)ZK^0u}C zeYm%}$i0+aew%y9)(AW}mKXmh?@@djcN{qCuBgku~abf(5 zt8oQY!?+b!pL{a<65J7ds>k)OH<_t7NTazkA6|nsP9P@M3~GV@5X*mn8*bq#%B$Kt zA)j$7fP(Y9Dpe11W#B;$gD3kg!Y)sg+m`S&THi`n9pkOOramd);4TZ;0NBLKfloGE zf_(*3LQ9SPa^NfkOnjyo@zspNW=J=I%)U2p#?lrTg?{|x$)=y61L1}AVocj-H#<%= z$NVL^;Y#p1cq%jSS{+v$a;03N#4b=m2zw?H4vPa44rA<#C!fBnJUv7P_Z!<6d&Rs@ zBpTKD{nsKj68Z-ByCCgYUu25k%0^jY#nq7uuqdo)Jx)0`aX(b$zBqB>mO5vxO~{y` zh>0o zALtNp!Aj4R+ziIQ_`eBjB2TZM z_)^PucTB{cju^6nTy?|0v2!(8AYc#i1?T+XI$x4>=oE|nGx3>BzLwqRIzF8}8}l-NWcuQlWUI}f*+$*X0tB;MQT8R!@TH?~tUX%FTA zFF;w|vuN#rEjaS>Bkz$k4w?Zkw@Y>(%oAR;G8dDoF{hBB69B(B}9&>mB9{-2E{%N8tZuyxIUK1zPH7p4_$-V1;`mOoRi+Fhi|6dXL%L-h* z&U=;$Ud$iQd3rVbOZ-=uoB%m4y_I8anl*w}AxN9R8|V*PNsSFJTW+@*HtJR+cg@~% zpG{&!U>N-b^_^wRAMl!o@yn~;+p}^w+-eRUHFrEWY{1cQXTQJ~s?x|j@@t>$*QXC~ zW+vClU#Z<)T6+}~lY^_cHeLxb23igE=7>#DajuV-1?9$X?^&6G%b}rrf+yfM@_3Xx zJhSei@GbU*2Ieli+Z#9Ygr+GxWfV3@2Z8uB<#P-eM8uWU?)hHHu}qENN*z?(g8mC5 zTZCQVReby(6Xz0<8SR=KD_jH3bB8oze0Gp3ZKk_1%2&Np1Wp?}-^Px>)enP!|5Iw zzxbEKk?;+WYdb zD(k%OL#DQ9jG5yOGcK7iMdgC2a9T7{Q>J>185d5QGDe1G#wHxgO3f5=iIjvID@z_c zV`jL3M@Nz|B_<6~5e|Z4N_ap#EQfQ>{eC{bdp$Hg&-K3lz1P)TBMNcu`?q}e<@2qg zuNQW1K_`fn_IjtYiOaROuCiB6{Nu_TA4FUmr|qE1j$?3e51!8I`Z=mJ5wnxN`&u_0Mwuxb50MVO63DLiYS=fKgyT1BvCMTmh0>j&M%MAKmbv&RZSs;H+FbC^HG~ zP*(OV@t}r|0bD5>q$s{H-!Q28AIlfoK{R6ECwGB=qbs?|#(m5|=pNXbC9u$=l25EZ zU0GTCe)^Ijp)Ie57Qt|_xwqTCn{wd76i)iZ)X4E~r(E5;TzZ`56ePN^l;xL$mPJJd zttnYt7@JmaF&_UNJ)nr0wBs+*SCBJ(urCl90)%aT;gtLvVT@l$gCQXVTd1!(wAJ=} zru4UUtxnhj#EWQKWpBNed!nop#LvORsEiUDhFRs5d`{wzGzCv$99{K@$pMTDh|mu- z6Q%W&lam_8tg+3G^Ul}oddX>!*8zyXN0%)o_ZmeNRV{4nYR559{l|zvG&~jRdI~8J zlggnK)?BRp;OJ;?IYQzzlla4L^74`{3=Teetl-=+PPOZAZ|uJatG0McEseY-=`J~( zOs|(@B4|Xm#bC{Wcw~Q37sw_9qlUyV+GU9Qait7@D48TNCl~3i#ubqZII-<7e-e{; zIYS;3VXeq7hnsQuf~-jwiCiiLDwn;wEU~*72B>kb0Oy`KRCOp2@T4b**sYSc5o>>- zY1fqDdUuga8mKS$?vFQII}5gzMI-3~b{Hh1We_zsxRFE|=2$X zUY63UgStD@jQjz#9R|p?XUz!V%*PE+(NX&&+%=Jr25`YjS>3777iy;}`9qPK!om0c z6uAgfp8v6PXTU)+;*#o~g1XUhy61|-CLwG_NEKcKro)=FUu!Z;96P0#<|!cVGIp8@ zT}l)>YmyEf+s3=V2ywaPG|}adgkVme%u-)ro>Y|#rQ5-vLeH;Jn1=;?d{9|jCdDJ zeCQ?SBaMX5ATY6u$OWeIz%H+7o{L+0?^S@{>CEex5f?l?F7+~uk+Q`<&KQo1`2>1P zDHV|I5Mk8lT0oXZ+QsmWRzilxT$~>BcG39S`w`^C<#0;yzv89lc-r#5VQUMgOAB9a za@528rKsXiJjDuqH0avzf_SxP$fY;{Llw2;Ck+W7%Hlb9H+;2BGPeOXccM6awm2SjlcIPf;^cve%%9focpsy4c;((0wnbrnPc6Y0a_L59pt8N29xSqWwhH zKzL8gmwxT!RH9}ODPr8!JMTbg{swFV1oQSB-_|p=oypZDlBXnz{9c#;eH{k} zFXSH%(G0O)3*kII#*=_600#*ij2DPB8zP?~R|2r4gE~U7*E;dRG|w1Kt4VQ|*>T|! z*(Dg$`P3~k$*b0n_V*iFaiEHJKrV>6Hq^4NY)Nt1i;EVmr_FQK>04vLmY(a=#W$E+ zKn<9$;GO5HD3?sM^~Q}GCwisfbhX##q0Cn#U6^Q4l5+ybL+QD_bHvIO&hy(9_H;|P zaL%j-ZRwV#tlKYwBf39CvKaohFrak}fkrWP{pu}{yrWY~qc4ImI#<#5kF_?(wmJU* zgUyM+?{4y=>x;<7Yw!s;6}54&`PyKfw342Y-4^6jmAT(S_H)LT3=}TL46!l%iIat6 z*5pl2zDYmt=nXYR=~|tUR~m`>%gDl+EvabPer@g8q;Ijcr+ z@LDScPafZk3M%~lKvQB|eZrvXXLOODeitTiUDEEuTK8F8ZagMQ7=)!vF{1lSO=v*K z8@ekHk!oVeI>dc?Kou!ltXo)cPuw0I4uY|bwfe^ARVIfVzOP~J^6_tF#vjc3Qa>8$)1|#2aFP&-JTU2Bk8((CkMzVF;n$SE zvVXP6AhBRwXeDvRqKI7fil&wKqFF>krIazMXG+nj)wEf zjHFE&=SRiVj56)Pz}MED!R_}`Gp2zcrc20X?9DBU%ko{{wkyWQ;j`a~sT~}P-M}_K z`TFJj4)iE1D%Wp%+}-cj4-`&!*_stCSKG4=IKSNel+iXL0~$_KvFo3QvMaNC%P#SR zOkg_ek$CT^_{R95D=CSe&$Q+~*N1C2?P)yHe=o+BCmzjMGKp@;PQ+#ntv{q!)>g>L zIq3V;C7VBYtX!cFn)2B{@mKG`SSB=wkN3=O zo!}cWiSjuYgE=pDy!j{7lkdRIv&$X20n1Vg;-EEr|)cM$#`&(NeLvqEQ%rs$C%x zn20>d7N16!$Uika7JvP*@vVmfyHtf)o5I?JDUtU+thy9TY+Gfx?4*A$3o4vqzdogj zFgT?zy^YI7=^m>!WMUL`G=Ah5?=O+0VS^6rbEaSnxZ&L7RnZ$zZMeq?;Y6z}7Q{%! z%Msc$;|n%QffSqr$~~3@w4yiC1)?#)UHlYj-aKsl`J0gg(#nd}1i8`~wqVJCB7gcb zcc8zFQ)f{w;=mF+Uah|vg6qtfwzGAO^QMDDM@skol#WbJ3EJ&SZ@qJ+H09+*rMJ%Q z&)gIvP}8y_5W<{wcx$ltZ^%(H7Kh*?>VSYShyqbc^Pc67!IurPJgURV4IN?LcglTY z*O~XktZt!5S?;FlAee~VaHiRXAp!`~6kj`mvSpuFwAZVVP8 zJ;+)<6lxzrc@n8lHpjUjhNs0$@3osyUA*?G@AOe=Uh5AH#_{01 z;BPZ3wze>&;6zAcKU-rzlW=hChz1?C-Z%*yCH)>{AAR0=gG02Ja%QoNtR9te_M|u- zN;nb~ox5*_q>j=B@vshpc+lk>7y!i`s zVcKkiDApKQxrK^Yq${W+2<(_{_0%ZVGT9Dk7ob3k! zmu94%$+*}v;(Sjf2rMG*$c~DdbEB4*e4W`51M z1B2DuITG*bl2Dm6Ost{F`o91BabdOFtpn9-)7D!oO%xy4m6ul(<^3@VL#s17_XRPF@KAo!IQs}jf=Ej0Vqxp-xq=>3 z3G;`y!?eu*0%~PmR7$_V)Sn)G5J2a)hFfe0o!&|(YdqxMJi-Rhw@Vu~$QVahYPh?@ z%_4u!(*@NrSy(^2^5X10ZMB(ne8O;ZdjOZ$R>oFrQQy41_m*EAnC^8d#IBthKDDTH z)%ObB!?qwbT-lcPF8-!;+Ln5D8!49|dXj?7jGVlVCAvp5fpja8Np< zuf)0z>*LwqvNU?hx6v1-R$iE@(X0@n%vS0Uw^COf;a0kJUCr%D2K&PlintFk)Hny8<(pj@C?SiR%&w=+-%?>iCQDIJ*3y7)+N44xOZ#*If`-Uh z02UNEcmfa!s|)yItQnu=&@DpiK!1y{1!>NGr@ljRjb_%c%945{(bke2YVtwiZ=iL; zQ2F-Q^@Y2kB@JY_Op`jOchBp1g+Cu3C3rFD!LK+mWwiy?+jDZDD(UNxNymr7a29p2i6?g``RY=`R|EsZ=g# zAlh4`i461EnqVpMYJSr+7FriAIbI~n-%xkoqlXbY#B0%^g}l}VBeIZKK|@tn^M?p` z2>~Ka)?VC^#ix_ST^4CEZk#O&&bBNkd!m&zlCf0OZC|5HLvz%LI04*3VGxcPFz1;e zGeL*i4@pD(UT5TKN)jPaOd^mPowPCfVTGlQxTgNEvTeA=4tTkjg^~cGtEE%bHtbCZ zT!XD3M3`~Tj4zK42A#NoL<#^=sw|`@28*2P8g=seS>2n-&`}4ZZM#oZh9G!PQvp0o z11V6@(7=RqZ=h$+iZ62Qy4dWZQfa=nYu+vr@%X~aWW;e1Am$^k)t{bZzbOe^8AAMDW@}@*6Ux9OJ983YZ4yBrq%o(nI~7!0U{5 zA}mCh`^xqL2O3#~EqY@^<*#gg<5Nf&;k*akARD6BKMCwy#WNHQD`F8%k}^HSkCMOH zd*wk*f*a&prWB>Ft}TPc7FolTe)wV7 zkDYq*dZlb)tTVO#JJ9=Q6WNe|(9EN5lOb5?xTY#Rv5B6V;1Wtvh|0vAyyOtF4m@*{ zo-J}&d+D~Q^#f7sK|NmGBfaXmz?42FyRXjvy|t@qM?o9O_yIg=-#CxkCXF?T+$%F# zf;WNZs@vQ-2Ag}=OS!gtc* zC}TaL|0$h-={G+UTz^PJ?;CqrdWfwE$Pq}?Ci_Ms!DFogYf^oo_Mhis>lVpn=~^`u zc1I$rUY3!pjop)8%LLsZ&PFwW0G&zP6_zr>1g`VFMJuVdT3TX$e9jebH^hI6ScXjvB9zF8U<`nd!GGc=e*}hdbD5bmg zBURRbnBIfN1<7lZqE$9*vbkD|%vn$csD_5$X@eL=g4>YUUS%Mk^(c#5gTPH#%C4|Z zRb^@QWv%Hdr4&n%^3L?#s|TTN`ak_A?NdnmkCYFAmBzAvnS zgmVkKa)xxLh^kJoBC7px4&8Pgm&0w2Jh2RcuBv++*X{{uU2ksd>D#ZKJp$)ahWZV% zg1k+WLW6G_fr+I!!yPQb>(&Y3ZxTF10klmu5U?ef+tN|PmHW2sgWIvUX3e-UsqT@% z*B=gk3pMG6)Vfv2?Q~hE4Zm10wDBcd^GhbdwL-?^=`L>cY?lRH`^pbI@jTL6-kDhV zVYWbjYE)i27KJza0d!nWseUx#!lNc37NIH+srWO#Ji`_!f(irzfVz)12l~SK(x!*d zB{}};!t@&U8hgv_;pqA9pr#Fe&bG&s7ffi_Y-`(W@-zlZ_bUxFP`?TrDt8Yy$y0@c z$|B15F?T>eT5mY`LQqqm7}PinD7Ss9rSq(YFoLx>F7>D7X?K~@Q_j_pJGC|ck_>0L zEXTA{R9@r@Rct}e%z9*L_7sJ$83ACdvo`NpV<)fI@`#?vHV++yv`I|eZuvy5BM~H9 z*D3*ruE&r@ymp5>Z)dUfZHk%mMD$5d{rQFA#%4I_b{!x=+EA8SQI>k&L0%01SbM4R zWQSWL)c;2&^8eT@m%7>0wf66TQ%R0u1Enj*>GH?@@>=vkJKpRcW~A5>lD8$?P$gtv zw%QmeREi`AA_PrZ-{htPss>h`ALyrSI~$bkk-7s{>kc%dD8aM`4APpdy4UjK9#iQY z(cOIzk>od4%uQj@QJ5ZK>tzs2ec{E}TF#niSjfWyWhPOC4S9Z`O4Zcgg0~i-p);su zPf6ziF_k&wm^9^S3eW{2J7)f%GBpbMWLghbo}Rj&RfOF}@;9p{wzE zNdILW}@sXK`b?uQki%QDwhBZ)iLJ-}KV|{ITNcB}#87q`^k6)`VM)xm2M0 z$a#9dg4fpaJUVb}-Q`u@tmf_QyNab3$($zk=QJCiF19gUy{&AdWSF@}BXRV#&afpz>k*_H>On93K;y2ahh$>wz&rjgkjV@p&0wV4j06nj z7GS*NT1oEeq%;@`&Y>@c6v+5iu~Z$;!WyD8k2M$cUX~Q!fq88DfruT!{Jht=HNHaq z9S>g=&>(JIS7>&FFJeE%(%^#MAFR)Fd~f6#D&h{rCnBlFUGZS?HnaM>wdS*C&tbEv z0i`$92J6FaC@`_+Dk6c@A>ECJ9E6>EebZKgV$W%~7u1OP##J!dgf@#>9j0HJX&{;q znP_GUTBI7b%M&fJI7Cv^aErXWj=S*x>E0{mEOnz&1yN(6Ble)|Cdkuq6FqdLVm|>R zsOeexW}@b5OiZ^;A4uP1KlDOy`)NZWz_CIX^_I&DnKqZlV_ILELthv?CnFayOjsKT zw1xn&Fs%g9W$&RE?pQxl&Xr)N?PpNR-3b2(9ocllMj=HwC-V{^|Ch2f!D^^ESp9|W z42S3^3X~281?vSq8ca3d8cJ`>_l?34nZ^JlYnd)$!VE436QK>i_Z=438|fX5j7z$`@>K?u;9Xt4M3F_e23ve8TOtZNPYr=XnaSLJjZ< z*8YZK&#`5*78NfGz{R&Z3OVhPRNfC1g`iZ|gMtzCIDr8RUz#q|W+#Xs`4*&1O&KzV zlC9e_o_Lvu0QGP~mAG5o@Ve7rc-;;25&HeJDH(t#5>h8qx>Y3reoxb@uki<3kgj$w z4DNshwZ}IZT$gx59?V9>k@0<=g~u)?f(xdW%KYyodUj{IGDelS9*cTm#r7i|&SI*; zqsvgqFWCQqka*VK9qbU$mP{AEaQ23oV2(EZK|kWD1_I5YkbKyLb7QL->u;?uW?Dlg zfh=NSR4wL#C`ajfpYT$P~W}oC*5R6E!yzMS$=$r7b$C=J;0W zFYra9lj$**35r@EyhJlGtv4CSa|U~_T45XmpB0A$O#u5+8(HD9cF`9g0gfgN^{mfj zT37OS;k-%Nw58?4b(>df-DWOp7BM!UN!gAc?RDTdQLzt}5$7q5(-CH*>Aaw4Sy}1} z7l=vF0iHP26G{LTywVxx`t_8Id;e$JYySDn%z)Qlf4#Ltr7vuu1F5KL7Pg*6<0MV@ zCLU1Rb^PZIf z`>srcU49hnH0^Ps+e~*-9flOQ0jzE?U&Vp><~0Mh777q8J!tU2u`gzQBKc_ z>Q;1EfRbYVi?BzcngsPNqKa|ShNpm!{+B zA);HbcW)cpe3WE_f=$dyTC@w{>SX8`d2oSTMot+*5FMaRw;m4u9&PvS73h9((*#))&=z%G;2O zLEf1ia%?K$-+yN*pg2>#?*T6rwcIFm{S{43DB-hD~B9eh)T)`p!c!Doh8q2Blxlb>eHX-7MHHlQ)Ngk z59jzSpH0?Tr~1{5If2sKfE72vL_sL_zR*F?r(j$Fe`$C%?r7bv+To7=%G(X)ZfH#u z6Q0nc30gu84op3)07z}3@=X3QD%T&F+LP}9cpRD_F(RTnE2~hN=KnctLDY7lA`Dvh zJlR&4mfLbxjEa-r~~kTgX@oF{rG62TZixBJM*sW0AXTBjI=G&+A*?xC@S*9MAa z%9dSI<5p|Zd%Jb0?&RQ`NqJ`>(QfAg+tQyUh`$sB%H@rH`1wi<4-+dgI5Y)*-eieFb*1T6eUkQYmc}G@{%SbqP=x`OfuRVGO;jMFe45eVw@Pe z!art(`BwaZGhsy=LHUFmqrEMtEC6ugGNMu=?QdPlGvvn*n5ktmfU2TENh>uM0t$@O zz}-xQbw4*#`V%2g024KG>U%Yh0}A8uYQ>mx%>s%J=ExHr1~`{vQ<{JNUzSdq663?r z%7z9)F=|e*5+2Tx98d>7s0Dzz;y^u&fey;ahkpX;TowpY;7S@!?;9W0iI59 z8u@AKHqCN59=%<;QtMYBM5kW;2SY|TrE+{2v6Np*iUFPj9);_{Apn99R4JoeaNfX? zg)eTt^MUnnxTK&Sjn8JG%{zr7X+baK8PRxy&vS+W5(|cF>~Flr{$HPZr8B)4uop(* zklyS{1(rBw`6Og3$ps5caFas(at{W`uL>{tC_JUPui-6z#L}NveG9Amuorn>kS{!2 znN0c=y??47s6-fT$E{$mDTv*W^c9kx2+?79xc?T=;ZJKpMkSWj5P|v?7)GLR3facS zmK>`#KFXtWEB{Ml0SDZJ9Rd9Jml~_=w8M1 zPuH4P$@qzo9P>8IZxBlU9v^e@Vpt9t3nN_Mofdc6f;Iz#VCrO)9Lvxj)06%Fde#Gr(slMterrPHOcMlIF_F-cp~ z3|@m^dmxHYEXxINF9n*axAJu{>)1SdYvY)(m( zpFH{d0D^g|_`rXO%5GwF3fiLTwxJ8FrNX@;a{Qap6M~?a z@a`h=%zEyBaj88>3mxGb5j(2NNL-nb_zwyUx%v=-8@DQtV526?qkVy^ffW0E9#F(E z)5>=q$Qbq?*?*8)!kjn+9#AYq=`!P#tp3 zLWM0rDo~<^an?|+wWTrjrN0nKelzH*xJ}m&>1iXSCqXKQM&mC*kIoc!sLHl5Sou}6 zd#l-fhI?ckE%2A9RyNM}4F(&WkPTr2rzQJwn%ye0Ir-n^G(dI2^~dcZ_HoX6dglwG8j=|h ztEb3%Trk*e(cZkTyy5ot{q|!|XI;A^qM?&{E&P@yc$tt0*oD+rv_n3<~%trtS6l18}3L0>OTvaSebpabkz%qb$VJ`VF)J{)p zIE9s+gUs>#T;lr^Wlw^+rf*4WKX}bU=Y@^1w4>)ZFk(?{H=E?Pm9X#(?~wa{RWv!k z1OQ5plbvX93&kK$0H7tzj_HWn7b4yXb^kroeHA*u*Udojqm2}Q8~Ya8!bRQw7wPW1 zh;k^Pw54*Ep{BQen0_87>p55A9RLH~=V^1C-!Ap|;Mm1W0xb#A^+6_QOPaH&v8D*N z34yuHZ-9529wO31cx6p^>oRj|C!Y_n4T}t3QJ#O%=XON9_UBc+ULI#h!nSak1^KV# zq?%YUmJnrb0&767XcCpU@W)X-3*iMG6;iDKQg+QODU4ilBU@40aLmsPxxd@tTq5IC zE=LY3>GHhIK^_*-M51I%6s@6W3Iy6qZdnyxC@{a^?*p_#b~A*ok(qbcw2!K0J6yAO z7L(4U*W>E-B35MYJ8mc)z}L)x#Cx}+Yx+RI7`e$=_U@w zUQ}Ipb7g%+~>zJQc(R_cM%WXrb@y1E}58wBY0!;||oueFY4nlUdCpwK7u~;(>kqh#*wM;DYIO zx^}UpWpNTK###Ly>^T(NfbyF40PF7a&P?aNx*aW`sV84{PENi&qi$JQ-6(FM$Dy2p zvpMW+dFRZ_M@D2dcH`xX#|rd0a4&QubP&k3ila9Yw*wQR*L>Sm7PIyn07!ae^|iZ zq=E3+QFjY}phBf}6jdl3&k`N+QAyuD-TFa%+wT#*z$@d8tyMX` zR5Y?(*8|KszQM=m?sA+xb0(?&fKxy->_1Sq|AvO^+ss>78U12HLT|a3iFifgY(e;X z$frAJOUU)^?$0cn8SH7Sp6Ekw@;VFpe-8u9|Hgx_?)B6oUEy84=Zf{eXVfJOG^cqA zVt4gr+4he!l9q)fc8Y19WBCA|-UR?ZzPEw&Ow>eqv+&H7;DrjG@Ioec{Xl5b1NoJ8 z1wo+A3tg=ZT}3bYech0U@HQtGr0Kb@9G~|WTR)xF09l(QV=BP0dq-6NcdxAKZfec3 zyF+|HMtE1}e8P3e2d^6DCdA2Vh=G=vTb6u}>Ggz!HYn36Y2GsH7EI9%z}`nrMMGm< zZXk&FhXlnUxglH>59NFBo+H=<9+XlX~gmo!1jgrD~?rP;O)Qo!OL^8c6gUEj>aV%a07mcp;>pA9T5uf3Xs{m=15$+>j(h$acoo)W zQNEwMk?QRhm<0LI<`Jg-`}Y$in}4XTM+w*u0lf)qN3zsF01#v>Ihs*8+UA;J`_{|t z^VryM(Fx%#&JqNyqPY2Yo@+(%QgA2~7d&M9DAAd%bdy&hAUYmJ#~0^Vn&%`nEDP>- z@aoljDUk91tV75&?5Y2z9B5=PfN=^+?2qsV>~7%SbS%%OiMrZs@0o09prp^|J-_)* zpnYEYeoOn$D~ynxz8CyMywTpsEA75K1iEAPJ5yvliUla1hO~%TBl=QV@1BO^0LzwC zothbc@x*6S*l^ECzd*QLG!AV>ro3~n-b#Yt0FgkPb>hbm?t+uInZ1|CdoM=~Q=wRr zJ_g3&l4fiTkcGaoe;qFwo9ezEi$;4EJZl&-3n1oM?Q%x#8#v&-IEg)&6@b-n z1#IFL!K(gC5nC0IVHk84(10DT;NhHeLIenWG#<`0HHL>K$jZvf_`t&rV+~$W5f=V$ zJ=eR#oxWjHVC9)JZMok*-&iI0UJ~Hu4=aK6eC;bxt++LG2-6B^ufKYgMgeXEnW=H03RQmDJPRRyIs(I)~HV@Y-2S9oB z_tO;>qz+Qb!O?7GCK-#=IPu~Xn2}9Ky|9hqvk@nvNc?QemMvX_2MowBgEWdzXizk> z2)sOI0jlvX5;`qI-Yw-UVekM&vPysxlI}p6bFguh*osC2%?@5Ar+FiuT{Gs@*Is+A z?uQ?KXg}>U1jBtVeBzJg=Z*c>@vial@zSXyM~*Bb1T=9gI9Nc%c>q8Y2OaTdA>o(_ z#I`#d#>c9_DzXe%keJw70Rg=vc!%3E^~AEF1!b@U%^I`GfPgZ#0ptA;`D+G_duNCV zU%M=w4_wx$|iwfLD&M<`>&Ks%-1|orw#G3$*g4 z$-{A-hD-zA3}abD-j$TIxU{&{921Rd=JubLEn8LsQ9j~j>nY%9cHD!4=^{)|p!u== zUxaTs_y$js@njI;+q!k@%(6OH``4$8^KGO7ex1FuUD*>)Tum9xFTP3{c*A*UTN!v*IN<0L&*YTGJDpB@@t8GMxTwP> z?IVw-3@P~f)2>ZVC{L0fWFQ3bC}>0tzX!`55Q+Xzh`sEJ87aXATeay)W4kHT-{?vE z4?6#pam;!2c*dF)T|419@RH!Y>Nza&Pi@7#zf=9hnJ_T8Z?V-X<)p7!Q#ouz!rm*= z$VvNa#-x>?R17uDQ^tNjLYUGb4a75Mj!s1V1gNCKm_Nu#6$oT7W-g?9e9s%oS4^x2uuK4oA z%n(O4Bd*)w1$8iUuRhl&ZJQs0rnjY|YRMilB6!H<#rt-o39#(zn7>xCZ1H=ztenyy!1 z_m8X(ftIIZB%?Q#LN3S^AVBE}1OKAsthO48>{8 zNNDP@ntYVZaZB(}YG#VmSfYU*M1#x)5RvV0?(h5kx$f-%_RRPD`{(yZuNNNAdf(Ue zxjy@v^2FmKI$v?)6`H1XjvV>WQ<~NmPuqOkp&kA!n1A$HEnw)u$cKjgDK6k_Uf_G7 zfBySdRr=g>OTXU#(X2-%t&b_%Z2Z0SM&{oi&d$82f3I`(uWorc;lss)rv8vUPKZ_LA= zTz<2l{mA7v*MOh*P7qJ&7$6kEW`nI60zHt2P{Ck6vDi?-$ z|BYXS`F`ATEa7x?by(c$!uZv-NnbzMi!=S=>wGaqQH z2Pa;9*76p)?y{Xq?jHy3I58;c&_1_!pX*|lUY}Kcc+ZfFxiR{Huw9E?b&Dh7wvF3y zF{J6ckfRA@`&Si~E{gm9gB~>{1Lq$cIKQ%{Fj_Cc-3#L@3L5^WAYpamx$PCaQ+?cq z;KU7uNwTztP0@|_-aT$>p8MqLW2aVYb<0EQyZCwsB_7@xcX(%yug1?kS~JL9GuB;m z6oBhkc|62-+%xCwrotVsPCnL9>(XnpcXynLySLA}e|FiXTNbQL_~*)ovmte_g=~E* zxD;34!KPLRiAN00uL?fWIWZe`Aa(>Yga+~jWe$?yO9bk5nL z9e3fTdS!{HVV$R8y8Y860iADiY~ui|<5<}jSr;O+E*$gJulDTiSWR$*pS(Hfc=uz+ zyGJEXotm2E-J5l?ZGEF#PfTtfapH!8k~z_}b3BbBTo*<}loKwte{uNm877uDt<3=t z4o_`5>+#*yWmw^ySH_QM@$k@P+NNheU;n}B2bw+f@Kr9J?X8=so!ffi%A_-UlHL$B zh{ZPAZUq>7%=65z-QaeQYH>-qO>uUME6NRCUKh>{e6lv`ZMj}{Y~$wG6WsItbI;ur z6#w;uadkUG9&hEMd%pN0VCCK8OLwJQ-P%U*-ffGf;Nm$afbmmiT2PpJl})U-D`E|+ zPY>H0;oTYW#MCv19$xp>m^(H-`|`T)$NY2C`EM5w`5UpXP04{l760x3;Zsw8I=Od+ z7JhDKTHu7(*q~%kKyYG=K&19q;%#eMTn@iTGB5pDKKgpgF`ej9d*8XwPv8Cd z`V-N!_T9Bbo3W?++!^kOh7Tf2cSn17M=LT|ymoy;z{~4i8NVm>6aID+nbaa|cWMuB zjOSuZ__wDHezfiQ>)q;BMATpH>pk~aeBaIY&n&%c)3d(biHV6f4SMwrYgN&UESGmp zuR*iR_Ak_WE!a^}zw)8W1{Ti%dD#MvB`Qhc= z(*~Rves4y8-Ab&+=Nke@El{Tt@zZUijwh8LSbgHcse@Ii){mUeVb@IcSJ{$UrN54$)rq=&RCGeVEpo}?;`hyO`2E4(SG_;x&g;C7Ox}0{ zzILXf0*75tAYbeoe*E&{3S#A%GiUm7PybUmReSZ-SKrQ`93HWGn`hRxlQ$H^wG&}v zAzIX*?9fH<5xLO8k49~b%06=JSXp$h%ail-9}BJWj%+hw(xgD5TWHnWd%|DeGx*$0 zKt*`9dp^a1XRc@d76dH{_I&kKyFr5n6&DN$+Yg}Y=}VV(Cf!jot*&i%A9%+{qq52X zRxEfF$>`l7^WRwvK3Y7xU~o>q>iTyl?Rj%%MQ-h9&)ungn&0uWsOxm| z(qkS_xAJcvg)h3g@8gx;k)=r)85!FC^4Vq8_ZK|YwRR9Lp#gh}Upe?#&V@(Zzt_?d zi%%%gNLjO^ocO-=mru&e4{w-sxa_rQ)eGKzV9sBIzZw8Y<4{ve1Ba9Z#$EUzBtLlm zcfm8y72p4O){y*pL#BZ5mru@UJkqY@$En#b&Ypd>R+Q6o)!q%0_B@weNL0i2@sRMO z9q;k|@c8NncK7QPJ}|O4yCPA0ePYS}RsBbnwq3rf>cpOa!$5(~$4WZi_v)GJiCbR* zFSy+Mh~QXba0yuJ{>lBL{!|#1cvskx7;V6S0et@?t`gLc>uDSu)$~L3>JbqQ-)Zx{ z`Dor1qvF22T02}^{6cP2b@8<7q5FPH-~Id-fZKC-uf$Om#0<%@8PQsMp;0dg+ygdm z*|IGww8zM<+L~*$hi?NrdA+<(N_!wkYURZ$J%{AY~H+C zTed4OvNUPUHRrZ$+O)eVv}$O&_VK3kLu-%D4bcR)R2MdE+_>|Z(YZZ|Gl$FCZpd!} z;cU&Kz=%FA#Q1dP`D>z1+#3~`T$9i_4;(7s=g;4)pZ8`=kFN*RZp`o33CAHoia9qW zqx@C!(YGxwHQbKbHH==dORZuV{+}5U8NMu33k~>mC z3*f^Ig>w7>z`D--YS8z!gVUE?mK>vnPVA;dj%+iuYr3}VFL)U+!Dic@zc?7AFxgJu zjydu3&mDN<9v@dEf)}mY``ve4(&MJ5Z}mLC;l0xjVDH*}4?Iu`eTAIp_=g$ODFomC z;pO3z&wqJ%GEhAEr&)UgkCbhD>#67Nybjb+4TTtzVA6Z8rIGUMWzKU18)0exXLn9#(R*Ik%jkorkQ zqObS(LeNdvejsyv&1l!0>F%aiAy{ywr>@X8$M-A>-?F4Z;QY!+Zs@=FWRIyX=RM)k(gmsTu z_f}&hXrOk*L$|fnBEKKA{IcZGbA2z@A|JY}w&?KT5@K>?@Y`UwTKw zFTIbDLIgh{9JPlo>+;36+2sP3b@x7e8xR<4=$srAic9_NDL#`Wf{%L>6#(UzZw9kKzM~eQ8-6~evh*_(vIiX zIgdKU1nbCx9SIi0X9>YhN!Yt`US!mt#*Q5uUiQ1R$~**!lPGgPy95n*YnwIEmmN@QeH6&xdOKN%Uvix9@{r z;3{6XLvl>iGVrnu+qT7@rqw&YHqG~QTGEx)(mF2eapAr8mR!r7AadA!Dr3i~Q{LdX zU!Kka_BBlnKQl4tL_`r*u?1*WdLk(t)@7Bh#u~uf_QK zewMF~=B9AGerNx>O)za}^&g%ZNEMdWN62t6!#UR;E_3xS@{XF6p-f(S!T)zw~8)G2i*MrzydU{*$lCmD88) zdZr-KxN?fV*SMj6lux{KdBduZvoLHgD-mlf)jorp9qU!n*{6P!*AJO zaFMO-B}E@)+&sN5>tR`uZ;*U(m+M~cUhi_Twszau%|%M5vt&WSFk4oKeJk{}Ip)eM zudH*A>^i#1(=#Rbtr%Ze`mSo6W+e2k&Gi+KOrPbuu8jmE*RN}AY@{jI)HL7b4ohqd z`NR0cvzve()o$VV^~-mqemOu72HQGP=DGsfON?(j1Q5`qS4!iNvf-PyY@sIUuW}FT zU|;)Za<_hYF!S^k&O?Q2`rw3<7oO*O=!tveea0q1P_`GI`Vds&6fC8#nA+PW9uOa6M}q z<%{8wQLhqqC?^4dlx5$84h!Fw71r77V~ySVwj0OVUXJw{?m7HhYd4nc$PBT?YV{n7 z@1`HKn{JG)Y!{mcf8(v{?hRR|;M_Yw*^L_-D@t;r1XTQeidyw*(d%v0aenXnbz6>o z6SL*$SE3d}pE%byr4cGSMV8|!w2X*I=vks>m`_E-xAtwv4`H<6H#7o3{-X7c>`HB^ zkMS4$P}i^}p}u=Vt2|!}&~MxvKMbbd;j;P-`Lj1t_W{0%7Dk0gG(u{LhEfatP+mdw ziE`rn07#i6_K6q>U^x(v@_T#$RnC0H-%sCBKl$$QpYQT#)71}J4#M1_^sro>OobF` zt>{J0dwxmn07^DKHgB7m;e6%z!10u;z`E5hyO~erH&(vqy0usKYq#oSAZbC0TnJr-QqQT+=$EZopV#H`zwp8 zNj_BDGS+Es+XAEP8AhaneaGjyc^Yp#9UdbdQ&z@ZZV^wggTKt9C;kSly8b4uXk?qb z0qNSOOGAAdsqk%v>IgM!LbpiK|J2K>1(*D&**De8c0?EnAzM>J&3BM4B2 zt^>5jI{>c61>A6inteWUH|um4dsJv|BEBpkcF@Sh9to%|5#1ONDLf zV*wCRi~!Yu)PkGM07$+%EwCpgH2o3|9K01cm~Y}>(zI&W(%^~yY_SCZ!DSqrQQ?<^ zTmdP3L&46(Txe>*UkwJ0CKgSr0?GYXn=XxcLci4|ryfH@v|b zLE<1xhfOom29QB5P6=RhqyKA=IXD@A>*Q?9L3VO1fRFW=gGhxcO?U#y6aWR^AS0mM z0JEa5kMxcJn!QD-OfmwMwk9bY=%uj8q)UICqEppSTB^l&2WnEpsUCs3wn(*W4r*cz zoca~Iw5dyY;D7Q`8~G);J2|HPZS%E1X$n{k(82XUTAmG^k@6KnmAWHnE0P8T2sHZn z4E^QJ@lPHuTLe;l9@>rl2dV=Vn_3?(U|>&6txu^UijOJ$GgUjv8Q3WI65~w&pVEd4 zf*jcACl=z8Yy@;Z_uqUoSp51+6H*rCJD8l!(?l*%FahliC<@r*B{&>lM^rHh7wGln z$kK?^7~iI8)nN*Jd&I8~*M2^sMcFGr6e?6u5?-bd${)S_U$sOwd~VCsCAL!Xnuv)2 zKv*V!Ce0Yyc=M;!KA|w0$}|;GLnp<%{^}`qVe75!KZ6#F%|OWo8BzrX zOE>giUvH)R`YFT?-S}`>^z-U75UME8qEv$j@g-B==Cx%Byi;@SSeEI4r}4QdJN(Jn zN$Luxp-4i1?CFSAcC}4D_t(^8gkupSn&BSUwWZYkXADuvgiGU}fsjJV6r@g>@oS15 z{0cDL^dr-%vtP_Wm=23>DPffrWYRNE`4Xt8bdX^@U+Wv7XZ6GAsRJ?sW*~{;sO_Fu zVCO1?eS2i%l-Ra!7nIvV2O2woXQEcltrmhgaLsz^#8#fUxd^d{ghdlAu$ZOf%ltMl zldlBx#>aZI({weBR8MHT4bC=4~leEn2me zAPag<8LOGJYKjjr!c2$}`RVqHr_)7@S$bmgS{M@0lmP~Ra{^3QA&f(b!yBgY>JL0i zDe-;K(sqct%I0hxUm*?uC?P-CA*qRk)!^q@|rgrBKGt=s) z!Qjv4fL$8R2TC4zsSJP_n%z~A-q9e}zsCUCsp~7_t2LM@v=apxL~H4Af`leVAygGx zQ$7-Z<9GJa;!gw1O6T-9*%X~vos`{b+=;i=u723P>RJJNE+dcqE+FxUiQ(8<5 zD47gSAZai=TYmcaIz-gk&=eiaHtP*WFRaU!lQi^OLJA&Cz*{*pUo-hX9BxVQukWUR zy&eWXe2h@vAmW(|}HNgr!tYcORQx-JIREA&15VNM%DxdZ>qFT z=BBt-Gi||e(pnxNCsMVBLgIrIex+O<3Xed5^aF(=cv0rMy$E&)@{Wi>7WIK@6o0Z1 zO0Y@EJ_n*GeZrzK2k`J7-0Fa0K@82Li)W5F(op=gFMbq&d^3_2@yLV+l?ap5H-nQ& zp{8zT{sc;^`H@MX#ufauFT<9^MMBJbcziV2yZvKYCAO5kCD z3NC4~F=)EBO7()B#}xcC^#wY!!Tc}D!%akLO=YlIk@a&B;w9i?`LRXf@uy%^2AKgJ zMZyV2DKkg;{|Tu*;3uIx?2vpw%jDb!(OuHZsIUjZ(2{T_Jp2Kuzyx1@^#Wu!{|bX5 z{}$Ft$={4KnY2T)YRRWt0>_qoEqQoz$!3Df)XnM90gX0eOV}LJad7JIr|)vV9^?B! zDeDqLqZ`Lk)+JEl)Yl#CycxwQO!6m0D~4}t1&#!ok0rexDPv#BRTXk7&#h?-sP``U z%2t3y3wNNm70)JS+p%=2E%X*Lq;5G44L=}UG4)$MZRWknaCH<#ogSJH^~|Z@%Z0=T z1Uyl?I^*g>Zz{Cj8vgt$rgdo2 zoz1W3~H#DDuD}bC#Tr)pZhCUqt{Lsl!%q$=Yd>F|<;#x6qC+v2UOPR<- z95V4OAIW21cRL@#wU#!tu_orosLCjc@R)(pK2%g4#$nn8W~W+Zhp(a@}< zQY0Jvx)n!i2xh9GMfJ)UFr~0R`?sO!0IlJj!Dp7jC*V|X*n3hW>+sD0Uj#-bNDOG{ zt1PhDX;xra@Z3PbvfTAN9GmP7NbwB=h|Ql_>oeF9et}C^ydKYqa`}!>+Z9f~yqUgY zXkI1_nVJF6&+;KSpEvWfn_RsmLHcK<1MP$hwyVX9;{;Rv>T_>eet7w}oA^u9?TGHI2)ubU7uY z2^{q~5lECZ%R!~z>`)QDM{F!B;8PUdCkkW3*LOYIQ`=^>R47xIHVQ$|Ncup1F`MiZaXIg^tYtzx?)R+uf5~RV2 z*syV?FInCv73XK53;4n~zYr5WoXzmX^s6f-LNV!3s+6ik=@@~^G`hE~15Y**?Zx`tg5nR9Ds6$+@S>~uvAS!fkf zKLE;(y$ESox=23C=?UJ#GGU%i^(`rg%NL{}HpCA!E^{jaORS15C)0$Gu~ZlzF}xpg)W3{>ij|yi;*J`^0+;p6A%MK?9{BWt`+_<={iL8l=bGh_215wfo6}Wy24CJ>$ed|K2VsT77K^)T~UEznR zE5r%DF6a#_I`v`mwA9fVr-h>f^?(+PbDAi$V;rEIQ`A**fN;>O1Du_B@|KXj%*tmW z)V$g(->EELCky4>f3Y;Dgyr5tDDH1>0Otq) zXRFHVWbgHjP7PZn@!1yj?7srTK;vd=*BU4<3ca8{B> zz2I&tayJbY_7N@RYa#3hqGGr%{?OCVyaS7072c~fB@)D*n1O<;^QfV33+*bj$Iq-h zV*MH^CJ!ZMh~dn1k51e)`a}{c+FsZ+X89`C*0Lc$Q2nx?_ztK)dz5ALzVXr#;YaiY z7>G7F-bZ>|{B&_Z<@X;AdCL`9IHwrhA&S{AAn6dw(@wM4@WTCB)%Uw=cJ&=n^#x16 zQCy8eSyqr3HIS~xEv|hDxv)6$2QZ4m&L7Wj8dEjURXtD<*qp-gdstuRpF8Zk*H%XK z$@_llO3g8}$A6&|6D7>(i9nY@WcU_T!=qYH+gkNiw{28)o8B#`f7gS`mdsPCZm3_U zPCK>aP+#v8_ni+z;b!Cf1LgA$#G*p4fOWRvY)f+--3*X|@MiZx?W9DUY>zT#n+IX@ zf3JDu@Z@dd&a)Ibb$6R)xU`e zt9=6A4UbP>8JDuM1YF|z4HGszSNZAU!Edl|`Imc91Hbhb4{$RBlJxY%pv3F7J#ThD z!FDDePv3gHom3UOSGwv~ma|AQE#dnQSkSPAcSZ?!Jo_iOPvYyEv?Q_F@Qt>k*Y%bv z=S$tapj&Lt^57r#uIO7|7+1g26%U~*#lyaP0pzbze?fI-j(49soRyECgH-AZ$+_d6 z^shH+C>$D;@GUzhC{`c!N<`Jw5fhU=O-DUHxfiga*wqcnA8G_oPpfvXLUAS=z66w< zJ$CLalm?X&QS-ht?}kOyXEp_#1FmFxPxh@2iR`L}M3(Be6nUqhc>Z}*r@PW--ULk1 zJAo5{@pPY79gPa3RY<4bJ)q$1lW7Uput$k%AO$Ys(j8%e7R^KY<)Nz%#kL!D<4vc* zI>6jkJ$##Y3gZJAU^fUE)Ey(uGF0>PrRe0Y%Xg!>fCnW-nanneRIn8bDwui zX2X>1-L1n=bpS}L$i3;Nn<|H<*Lfbo?ev~tj;JD4m4gq{qvxF>UYCe>=8q8 z1N>%2 zk?MfSEs{R;~X596R zen0fo7c=z7B%~P)?=DVnl{!5IiFAR)t;7z?u+aP2Y$bRv`@~%KDf)oi(xa*aYg3=m zx3gOT+Dm|hf`?D;+GSi@=$ugO@HMHUmYF+1s$5--$SF|!d9v} zpVb1gmx&hdO79qa_Y-Ja1wHU{2%1%UnTpa`>YNPq)YVzkV^?TV&d10Ru~5zJ@azn~ z$V8>^Q<0-e_l`=s2dVOK6j*-{jRWP66>0oqS{h*A@(=nxz7PU$t=Iy}-hu@IjizoT z3+QVS^4)u|Imkh3@9?Ft=3}CzK%3b!48K^8RH)HB8L6Ma2ZnxK+~fSR#g%NXMGZB_ zp^n*2su~6&SO9yJ{DX7|3-U81L_wNF8~T*R#|wKAUS`uIRv!hzeIveSJI74oSbGDGs#|QZ#T(+!^2cHmw{f_pOY1c& zfP>RD+{NlRaY1r9<78EyEgmJ02$lf)c+6sZ8evY8x@pS8fYK_wVN?qVM{2%rCt8zL zNx|-HHx*yj2iQX6Nk5)1^?4hfo58GLlS{SOa*H?oU~q{o3y5(1lE?v0hx%=S1L)Sm zWjNCmM&lsiCDCx!5YlK0hTH=1D*8AeM3^^Zxc{Wi!sf)ysMg-M)z#41sc8JAh_=Q4 zT6;s-ErBF1T)`B1%S=?k;VYJev~&6#C65P>pfiR9;68d*a%Wjl4c7!Q7!Dmj?$pY5 zlt<@FVOy3KTk%KxIG2kl+h*FdX-=kOr@|X4Bc`-5`R*+Kq;^-0_E^nB8xCCc{op)3 z6oDfUY6-~}QnSSyen{G?NWqySUNM`6d*HaFOJPIC&i=G{16m$Ij`kJ-gl9CS;KlVj zMpY$mY}6uCwNV8DD`Fqyh}eIvD#_4A?^F8t@dsuNB5CbU#Vip`lS~4J^RQYwM6RB( zSAq)f@k3b%zTZ)WL*at5qVm8+1_9A{z=+f1yNe`l3iSbB2Vcd3!&Z$ybduf^_hZAFcY8?hY^BT-O2*GD&MYh8R7#gN6fd=Y0@&G;0hIQ!p%h!^UEeu z@mR;f;-DmaVFY^|$LVNzp(>>8W5CI%^Wm|f#M=?-zVuUiCyir99D$)2O)p3&{KD#f^s34kTh+J4YU`3#4!jiv0O!Wh zLqUcb1f>Fkl@9DD6~EH3D_6TBZz6n#J0)*aB_iWnEZnq6U7-gMVc(83`(~Byy8PU> z@*YXm16?azOQB%zae4P_9CvqplSiMgv0skG*0SwjQm)O*x1RbiH z$KXGnoEwGaw&*{J=D3GW-+Q{|9hjw#w{yAPsfMfm))E zg-6DdFF_BrNfotP+?h!s|G}>5q(Iks_Y2TNcXl3#w4x*EKnr?He893wQvYg2Um8Zo zvt^%PTR`CnUJSYs0y-*{~r9pL8wlKOVC-h zs7k^q4rpu|LADeVR8Zks(xT8>s~ot#)<~>W1`XrDAW$JZMT(5vfyI&^8&8~wIjI|4 zp2q4IW2@O@_{5&H>U+Yf@9|DWjH>B6EolDF4+cn|dWYd^2Ns9FN{_x4{>zhTbPRjE z`JR)WQuc-qsAIQY^#2_elyDV8Xj1qgQ1Hh+1Cm5MC)N>^mNFpKncVV<&)M)xR)epPbo-ZH4(4yNBT_F&Bp4(+H{rpgMaX+>leB1I4>`9wY#c38g8Z?At!@19h>j_N4vGh@Um9pa zX-#1uP%>Dz$-hK^%}!+hRz|z380`9JNX4Bm(`UHl z{G;yr4EN>9%E4~?VRO!%-f_3)u1$2e&&$A90@+&~wR{fMg{fiGm<3*fEmA8g&>&bq zfKJE|$?~uJTXG%4a0O&kx~npVEyipqMG8zPR- zcpqc0&G&+s?{K#z$AjBC2uy*`nk7@1fEhshrK@ie0=OZ`qk&W97mH%c8N!ho3X>Dt zSac~WgI1{|yJFLdCo48>sXvBq;4sspS|PT>Xu6Cp(f%Tic&C^a+|%lXk*p1WCecnT z6nPXu#rg272|Bi&1d4pYX)=Dzh& zMANBeqfK&ebujPmWX#cZdCcyqimk#(rUx|dQBPBMEv%|**cVJ}Yr0tEk6R9G102cM z4NXy*aI}+|AMI3qxD}<&*>t2fuLoO_jm}MiKmo!u(hO4#-=>W(ijX2Td82wk_}Q06 zoq#zdi5IQ#A6HYMOL`xdG(#oV|WNEwJCl;+A%Ak+xD_Yo2|bMysaO#PaUL{3fWqm4o) z#0rSF={m0}9e(WRrN=r%DoX47_`4-v1SR#;$Bc3{9E@)`m~}w4;%?p>+SY{rF@#;Z zw`-zD8i@%?{}H>4H4#7keJuaQm0q3oHEU1|otP3$@uU`5qAG;@DJ6!JT|xH+03dpru1|)flevE_-~Bo(7e71eTc>}SO+lj zp}Zig9C@$*8)x!U9)C?2P+|(QT@jTap385Yg4(_-LO^@We7@UPK_#;Fnyz>3|QuBM~6pXsLDw*MtQM zvYtaDkcKgR+fUbJ*6r$R=896x`(u*g%R)=y1E3SuR)`djHaxYeEw19JfB+hgIuNHC zSsZ?^V~wu4O8l9RxVp0a4eBx(5oipp%{a+t{q}REL>Fm754OzYS|*b!C1^K!tBk{_ z>+Y%Q9?@#|@XTxx^lHx5mSYKb@SlDir?_;^Fy-4|IBY{$gh0YHI^V#E)vyr*kP#g+TtQ$KMs~05s$WwNA>}X zcMjGItYpThLLyJ;p|P<)(I`{diYgJyay}LW+01%gu8b-RV7lvd`gPf8hz%Gadu(P= z%$9)4u8>^eRVkxRzGiT0f4=MovDV#0rkj_rYlcCFCP*wQ(|ef^U{11P)8dj;{$xJN zwv{l4$q(3&e`jW4{|7TK{+_1kOgPp^R21TGhD01F+HtlBNjl!CvOASX+K5ShxmLbh zW{7RG#!Ci^nkKlT=Fr$}_*cIrZq>^88#Eu-OOIsEBWzoeGHPBgWsWwJUIc)MGqKhw zvPE`_>r)ju*@%PBl>KCOmu6~i{y>lAkfjj%;lP0__2qtKRbd)o%G`GdFT-9jkp$p2 zVHQ7;KtZZu{LX>%9@LWHG`to={OZ0ybj>d_YFGcvs!r3vWuq|D%sWRV0$PS@W;Yvc z!c9pgo{rR&NvBqpfprzXS`@>7N~PX%^wn-6w&3Zth)fB1Q_&HbW@v?EJ+|us5h10Z zSnfsJMg6~9@CIQSEV?Y>uO@RsC`P!q)Qn2ys0}9SjL;w1n)-cCkAl$=?mZsVzT}^y z=HG7eAtkyLA7W0a8W?BgqYZZS8JTU&r&OaBPrH3n30vP?lxFRdBkC4LXeGU&4arC% zb`3&SD$}CS84CpqC^*0iA9Aiymf(3%Y7~$W>3SX3IXPfu#fInZJd9yxARXqJv(|hg z$O4&UcW(YOmJf$#&hc(LZiZ}ee?!8i{rv_fNtVgD$imNo;G(zC7RsrWr1SzA5n`9h zHQ7nV1;;s9b4bS$`Sq5#Q!A5RB9*bjJ^r=JTbuji+JMTRM?}1XnKK3dipq{>y1g6z zoZ>GyJqu$!rX(`gmBTETT7Cd>dzr8mt=B|XXV)BzXgWA=|DJiBDlR-;apBKd^{cY# z?flW&59}Vm`;@|^9_80>ObHJJ^mr&&YRo(h%Hw>l8IXmU$p5ZHcAcKV4tJqU!*uU~ z6Hmyzb}Nj(w?720n1VF4_GnFpPgkOAdL%R3eZ32#U4z5)^I-)ty|morD;E_RGgao) z@nC(MU}*75@p9P4bWP4S^;i~Z8%OuzeKHpGx;$BQY!y`)y3^=*QKtHjYjbZL75~lC zqB0W+SR!$URpf#a31-d#KhWJ@6}c2wAcFK0tTU9R$cQ|K7!aal0fklWV%NU(!PCPCBGA>FCQNmOYLKal9pJr1jE3%j$KSp0i=90#_9Nfpi3L^; zh^-#r9ed{7x$}iEVw4r9W=mQL!~u5W%as_~ntO0cfcIjoj*JQp#EpkN+{w@$I82u_ z{fbdv;B_I>0&5)&evPu2jYz%NIY3{I(LzYY)xl6u$fFjDx=n@&V>e-34r>k;4vY)b z2wPefBqX|Pe0R}#+%XxxjJXY#HhjBgiK)M;QJw11jcC~9xpP;#Qc2eBN-&x(IACji zS;jWn5a(B9bxKxMJ_?>F_R;@|^a2j@q@$(3unQVE*N8shx{=ONcsU`PXdEJ~1R7xV zg^wau%h6MnFWsGLcpBi9TIlD^tr`j^o*J0Pv5`MEQ#-7P=e3HkHP(0JyLXG13Kn;u zOaj$%i297Na8PB$0$D$j#aQ)%^i_CFyi<^4`FhOyhBVQ*X~)-MFwYB!R*$(`5;6zI zEgYx`*VfFV+YcI`tV=?*MYm+JUO5d{awe=$V~t*{SfR~PHsY|{yQjJ@PBoUtg6px< zw=GIMw{3A@+|t4lSDQ$0Y%i%_%NmKwmUZ_=9lti}HCGx3!G?1R6H*8<#YFEe|1nj- zI|58*K%_S@@=L~-gC`q>2m)lfMtPdpLtJ1K)Rl}1-?@si=&3koo_E=r=!P{RYA}@l z+J}5M+N&PXx)@PrxdJ>AEC4 zLu3ydb3tX`aIU?!DjkwgX;`A^|3}}Pi;Y3 z^AWh=aW3!2K@`P^dY1|28&FBo4);~1l~<*?!V&uA2)U(&ah)-EPvTijF%!;s1cTRT zs{mT#w$6BMM0jZz7+o92-5uMszree{@c1Ws;jt&#KK{n^->XJgw6GoOv2wHnpkcS)|G0jBg& zUp?aSOmVqFv`8#fly~JU0ndn#$}J4;4EtpF^8w6i-*(r^M>x?)ios@pn+w7+l1jiR zu|uuKVPKeAfzRbwsKOU5seEqIV%J(K)$K|ubYDe)3{TX0)Nb8V<;5BUK9#(FCe&~| znermDt%aBhWv_vDI16BYI}{Ji;}BY@{1y!sg~ueTpgbys0hM%ea-Fd=F&e&2C4vWU zW|<`|P5MJ-A*&vw)ZA!}bVP&-EM;BP=}l1`li@#i(=9xrYxc#Lv%liGgH+7!1R5d@ ztO#)fLj#SS>IFeF*ZaMsn1k;^@=T(ZBNDL37`P96h%M>4h*Da(YtZEFhv% z%XJ_sYPnfR#9ES4jw*(n^dAwf>z4AN_g9V!F;`t>Q<7dcQGwof{A*wGOmxjN@qqOg zP+u9XfQ(+iA=jT`(sD9uzRWJ{Fm;Hq|7NKn5SEUe>g-KUs8U;EY;GnKgULxC>85SODez0eZWs4-cCbIOCO9M9836sN*bTVL+e+ zp;)gCh9E9x?~+3-*1}BLhJpV6{q>(;!QsJ}pgFs&lZH8_DE+xX#{UwXPz!s4h8g{^ z{|K6Ys|N1nZkIPT_t4a;*f~IFVuh&LrZrQecQh^7rik-`>vN>QaY|Czl)5bmra^Od zi{}9TU745au1lRA7xy*5%qXu^*E9a#B;{SAIM#UBwN1Qc1xNuWw+bW92H!odgbH*( z+>Zw{zoHPM2!6zU;gRat4Om!(_dtbIGRYy$Pqg~ zG&T1+!_0y2U_bxC`zdgai|ata&Wx089=xex*fU0N0*A$8ZeYej4mJ67+}+q77;jx+ z!p{$eeDh#P!xIMb7ACAKEcN_CeV_kCe%hq9(2@#SacT&59l{;sEy}d3>r7+uN<)Kw z8Qel+V)0O5FQ)KOF&>J!c|bHHO946FOoY^57D2%5dd`j37^xYR_~Su(kr`7k$;t+b zr2HV&;5gl;m7>oLG@Pe3dZ3K}Re}I*E2$0m7X}KXtDXw0c}nwwfp?WU(6WqJsqcW! zxoZH}nuc+%fy~Cl8b?~bbFlSubBR;emr#v@fi)Eh6bAS~N+6cdxEf-3@sJDuVA&9m z%dM4c0v}z{q1OToq;2`1WR3Vc#`X55DbV05QL4(5g?e8$O{)GE_0=jT<%uU}z_5lfLcONp>}Z8vs4FVR0qu2-VQuzwhfE_Sf9p z!O*t@p1bopjT!~3VcVCyG%E2%4zV8L?@i+Ar{D*4*~=yC{L#mqW}#1rLZ3EUF^sY0 ziHjeWM9LNd+T7xq z?bDSQrwP)S822H@$BQ?)vhu2AJcqhea2DgMlh2-wVc%m=YBqi7?28S_&Z9Vjx1lE9 zx$+Tl?WcRuf(AO4k${uNZukOs)-u%0FT0AhEZY4pIGtQkIlP zj0u*PK+Gj2@K*(tFda?xy%tAV35ZwR318pWGCT5@?K?=C7k+@G3gQnn7Q!iJ&K2ei2OX+%XlD1nL z7ULa~ei3KMz_en-s8mKtD>x6GFHn)Za47p|QZ14XG7VHLwLK(2YsVuvhNKKla-fw- zf;qgIMU-clNiLabftdYi&# ztW@vWvsWO|RwZRZW8UgP=XkKN56lQY=soOfyq9FkKdKh*b5*YidCa8+NJ$OHBaGP> zagU7H9XDVmxGe$9Ku6pXWugifeS?Rw0sS1y@=3W?Qp@)f_hLp-Sog74UbitlJaOqm_My&OG?ozyS6!X~SvY zuNw%pPx9Z;2Q&zgU55fCqn2Y!k80pqKO}a zq^{sUp;zx?X&wZ~QLl=ERXz(xb71wL_ALI&IxAe39t}El z=^uyc#PPXu_h$TMCg+E{t@-id#ngK^jz?))QyyT02$MfMX&QY6B1>^DClymIpCw&# zNFcDQ7Qt16X*TFSUxZc>Kq8cvNPYv>p7tshji^G_OCShUq7$eXt28W%IC*o>u&zvq zA(y}nm_YSV3ypN-^XSacm&$L-HLm@V$CP;rJg!f#x-CB*JJyaK z+Yu2B-)T%^+8JB@ha8yPK$K8q7w!bAP#ylt{Q|3)pu|F-XnQ}JEM-?-k)4O5bnx8;C+!0oP0aVCPihn)OsnC^)%VYS-L-B< z1@cRQCxLfe*Ad!6*e5IcjzWY{zixbCzzpI#-h^-3wfESu9_X5a^+){)3a)2ejz;@a z{Od#+<_yk0v2@@pe8~9?lZ2;#79XaYsTM8BA~nLkQ16bXkKY={X{r=}jdkv_rzxV+9^ zfm6%rDH~M{e4x#^VtUX>726|SyDvQaWRgD}bab48BrUNM%bII^>(F_HGpM`^G`C*bS)Y~0;g zCu*23UL0`ZzBV)9r2*%94H;hxrVQw9^EI5tocpO( zE_IW~YJlPkGEWEKAJVIhhM;l`41V;j(eiLh)oL$C6|D)g8U=MMAs01+td9WgGt2;bZ^^3E3=|HOzUw=@XRn?Dz zpL{>2ehYg^1rSlt1@V)L#LxhWf;L0DuDNFN#v9h%3v8DSXraH$$Oph(k)B%mX~J%J zJs_E$;;>a8rtCjS1lmyns|bBLF`{~Nz{i`~T-D{m{2@Lr`HFTi2H)yvdo z3&z~BDkYRf*pXQ6XwXPX70pKs32UnRpC_ zL>0Zz2MNzWfxvIaoETp7Ui-mIpcPz8_65a?)CUBJ?%Jieg3jyc#u2UyBO+`&W%syQZo>;KLD>ek)itguWR|E)Q*PX|e9Rr_-l3E{%iKLQM(NB^A< zQ;6GCITzzx`gIC~E~!PT3F6ClfhDPiM$t2XwLNYH-(!&cJ@kr$4glNJuicTa!piN? zN2pI$A@^Wp;T(2x9ro~T;osI2Mi)Th?@fI^F;ObXL(dh?=?MbW)#dv!#&pe`kA+u6m%SL(E?EN5 zOxFN~9Y@?=(wWOQkGuN_v~LM{L^p~xV0m;sX*SkW8CcVK=TK~;C-^2Jb(iNs^mQf& zG>{vs0ZZ)}S)6_7n|_`C_SD;831s5|Pdt45wXbG^QDlyN=-WBn5ee+^@#zQ90C{d~%N-XFVFZS8luX2H5{z2$wA)dMZ^pXxzPN5>12+tx&9AI?DYvgPt8J)zo z*K4lfI3JXaHy%NKZvTvYL^Ad-j8DdvDxS?eCH=R`>Aj*mn^~#|qGa!8%$boc2sG9l zk4Jc!e$2|l=s35DnTS3s%SN~Jv-B?FjT{qx5JGo+;mzz-8}>E48`@UtO%Qg*z>8JN z#fS7+1gDj70IOseHuYtAC4zsz>C#z5U+`>%YjQ3!?{Vq}WMd1p304*MXREvPenl_!+`m(s8D(O04stnx(QLftmMoM2qmN(O)xqV71!A zgXJ-eKT6j0kAlG}t3k$Elo$z&j7vN*6^#s~-tgQOIPaQNLS)hfFxlB)hT;us3Hu+z z4<_V(c=`dTHR#Jyzx*Ljt;S}4ZaHt2)AK)QU9d8%E+vbZ63VNTi9T8%G?m5r`UJV^ zcGkFKY)IFTv}lq06kBZ6V_;R9X@BMnnN2J+ae-DARznyfv4jIklP2uX;6$>!`D` z2m7Ce%NC~Ou-g`mxns>W58w8;r*2*I#KZsi+aGRQ^wbsh8_+`K4!$6(`=rG@L$PS^ z73tQd-MU6I^)5LxO;x#ZiUumQBlbR{H;yd*BzQF~4tIKJ)Z5H>ETz2>CzU8ZX)-&6 zdLgygetD>*!;>kfSAOXoQ6i~2f?0_=dzBe1as}GztSBk{3cern!J#WeCbBKW05r@O zL9dX=8Mb9*|JwD-(1verBsxzPjjM5aSic8*>8qmLqeX+21Em{r4yb=s7nD@dQHvI^ zsN6p?tzDj2XM#8C7|_VmN-eE%DNk|#O@}_-G>h{=r9=4lfEf~}MwT|5&Ms#yo21Bh zEMX_v`mBe^cJ<|iyHfCz0f0*7B#a8^t*sbi>QDobU^Fqy`xKaQT? z6EfENUSyDywT`j1ug2C+DA^SMA@Gk;5XeRX2FVTRfrvgI-wIslZLvJbE3J%Beb2~V zy)^XlkVfi5(-q=?+i%`{_{Sd;Dscj=U|Px$Ieo22?nDRputahYR<2hv<`-194OhWH zL}N^r>g%7^uTyaagV9!oNv$0;38XmanR#1(3bjc5dPxU_z7TnV+Xk8@6)9RmK^Iuy z42=UCXl$!aH#EaMibXQI9RVeB_yE%b+^0|sr#b%Z>W&nU1p2U%6L)D8%S5No*tsMH4eYo=c$?maV=N0y-{ zS-AnOM<>Hir%)Qwb%{pD0mE9-@xq|`7tMV**ot>5c*l7{Nkg7pCn7fY!8~;sRp$o2 zc}uPI4>hY_n<_?_?W%l1!io0xhXWnWWJ#DXX*(vfXm4DNJ1rC`$rB-{8q(0BdL2`t zI6M%#IQqFyL+1=j=4`T#L+LG`!v7rmtKFs` zf7i>!L=rP?{pq^2Sqv9hHd&)B)+T-UQm_6TOaScz`G31{)b*aBLK7%48du|~AYV9f zLqQ32d~@a{`Mt?9)2uf8)`5?i`maL{++Wf`L(BcR!#jJl%iA-*c#jdk)W@y7dwiSs zDiSrCmN+6cM#n}Z3!Z5=y#5-{21#;5MZp`@wRYd5KD7FFbwl4)_hR(HLGP1+l6&rI zi~o?6`__&Mla-m`*vc;cVjX5JlQ0II!e z*Qp+ztvKE2-;aD~&jGW~67yG`6;ILxN!6?>9t)gA9liJq6cB{N@D0T895c(Czrx1U zH|gH4Oxz*L=KQsTo;^Q-X$ zz(n~F(ogj#LnorU5tMEqH##n>CuntQe2-56V7RsMJ&aO-4e?-CG@F2$?(1!Q#-NV_ zPXQuJgm$vROJNc_t$q~Fe2~*i>%JTF!KOdL;>F|CrThPzkB4qt70JhfyZYCsu~%}a z?-q3NGY2oQOJi@220$y`Yy=&c`mSaGSW_9CIO0VR&_rH=9*|=tjHMgH$wx5YZ1P87J0620x)SK}=3($=}++8Ujih^eG@PaavZOMog&2vKT?Z zbuE&q6MQj(hlW-;^gZCdj$^|717x}b&R`Nu8b+|wIGtZPCL9IMw5zhE)G6J|gG<4+ z!tnFVEckE&XCUbjF5<^MwU8k^U5ojhuocK7{Xn|N1QCv*z?Kz$a(u7+ z0o2$N`!}QTf}=#R-dtlZ*bz@3H&oL{0>B;FcVHVr*zn_u;{|{%I4jOmlZf0_-BnWv zk}2R8+VB{U0I8G4vscEq&x2ROstG~W3RcCN%V-lqF}62z50R^my~sEXYt)IFlmY6P zZdQa?m@AAQJR|N&Aro8;tHfnpcga5Bjee3UhJ99FGF#)@+QI1>h?I(gIO6alTfSK5 zwFm1*`z#}A6?|1hh z_?Y8cfJL&txtx6bt8)gDt}%$lAVEPYP+ zWn@%1BoY!yVG4tJBJif944fTs1Hq?_d}I+ttlbsy1aAr?EIx#PK>3J!8d4XR!?hfr zgg@b_{nsHJF4wPS&vQ2%*=_PO{dzmRTx;)Hpw=LLw2y1qG5!Iu=Pd z>PTu994T|}+?TU|UnP4|0Sv?}xNI?V8txUjA3VQCOICf4!*4td)&H_6)fEmi%O2}W zw;duLmTB9NhRUK2%+qKK-bg-+|17B7XG7%;ZV^EFV^>_wxc~QK0_cSOLM;0j^z z8Z{i#-`Uv7_JR-=ft27Y+5g|?PTz&b)Z=O*RxpNu*}udY_>V2hd&tu4f7J|Ad8>Ylf+wJM@&#FJ6X=zdJ8o1# z!-~R;YI8YoZCmiQCTQ2VSnO$l1>hwH0(LkP!%!OtMvQSq12;ZKyFx+^vO4Qhx7tUw zB<7y075W-+478aAPZeg$F%}%4b2V9KfDvvHPbwk-rdQ`dTLJssD)g&@sxJW&vI}GJ z4O>{738xL6$#BqPJlzq2SnJT{s%gUr!@=eDUj}P#>o2Z8(4$=oQOKmjseL1xCiLlV ztjf6HzDKPs`ax?9>O+&nB$CDD4H%vKUnB!P3bV9`Kk$tQa$+8EyZr=?vmrJ>FBPrd zLZ~Nggt`iHMF1w-#l_(+*QQOM-YW&+INw0w;5A+t%&Ay!Hmjln)#jlb*s-VExS*^*BbBI^BPtm^) ziH$DPsOz!6la7v*OT=mfes9|A^@TiLeHxHHEBLWw>H6b>l@`5XDuDKMwijgCT!4 z%-(XQsKDJ3{sgvdnaE(+2CMJ|*{0n-INRAd4FMI%7BQ1%4`TivBkVYr$FqhQ7^hcv zhrP`A?pdKs8x&kyJAKe1{j|N0!Z``SRg6IEp&J3Yp_36xg?gzL4kihMRNV?=x2UwH zu^^dB03;sDN1xFjkXk`yWFZ$?xk(uukq)I0P;A{M?kpwAlstkMlS5#lu~?lV+7$LE zafWp}>?%u;nMN2;jD0vc(G)4(u*3@ntYQ^_H2KJHlDLOO#7Au+z8TRJQk8{%#qqi>u1FwL~{ z6n)4m3k%I}Dlu;2z5UyM}(SvTeOPxN!6|0nwC2HAzOr)ai_5rwv4Ak(>B^!m2N+9z_81(~pEEEb~ zf2DGloe_X|`*5G2HsnR}i8L z^Bf+Ud>)1wn3CSc!0wqpxHF-bAwY^uM&d^=*vVr5uEg6z@eajpP^j@S#@C=k317C1 zWvHnwmUSb32E|ksg>!xK$Ygk(TW1~83>|7A1l9|Epfe-Mm3|Fa!k|YTIwdTjwZ3v% z-r0bdSc}j&4AYzzUIkWz)&b2I0n7)QiQ$Jd3AjdFOE2YEcC(~;?j1qQ1cOCEyOY%X zEnE%^2^EL+;*drbqDP0O=+mHJALgK*)}RLVf&FqZV+aFSv({k}vM@?;;3Ez2)TiMs zg?i#+kS{dsm;!Gl2+m++<7@7;U5qNdpa5y7h8>g+tIjeffHTM^L4j?l>k2WlX&gLF zs}!~j9_tD)aWYjH8cYl#VSgy_PWuy<0~C5%Z=2+6fOJ6&mZRTFIAD+(qLSu0dhAMu zAVwb7g&#!x*;>q317I_!uab4<1FGzl`O_?@7BCMu=8z2^M#B&Ads;S+U~y>xF)U;? zk&@==(;T)E>bpakVd9~nQA2&R2cpJqIa?O*?!kRcyU}GkUuZYV?QLs|h8Jp^I^>m= z^-0%|fP|TSpXd+J%Kbe~SFK=*zy<;lLIGBx`z=Ej)YY0z1!&LGG`q_P3Bhma9dQ`7 zu}S_M!4X*AxNRG1&)3lcdh+3bp^o{ci)cCnTYZBN{e~h4p8=eTmx0bAFxmG5kUL82 z0Sh{=NQaPFBur-Viqt^@vSP?e$k3J&LkTDZtcSn>1r9U(p7@I5%l@C>J^4*H=24JDnv$|I?me>^I+y=17qb>mrx`2M-Ij6$owQ!2zp(}eGYNhLZFc=UC7%iyZm0x8p9oC z2*-@zfY#qiMI>Y>#{AfILS~%FNLuYXD)VF#!t1WR5_$__u+!=x=?b$fFZW^9JAoy@ zK9pJio!MdxsKFfydk$T7X1kH=O`xa8{d+~`F3`;$iI0BbilFrjr!4X&rO|Sx@4`oc zOuW&aU3+bpFTlLR_Dg_{JC*!`MC50mmH3l{ge{Y1h-K2a{;8Il?5SVvnF!9!u2w(s zWElrz5FL?X0}F(Z;PL%LkAq>RUk583u_7Pz6Ha|{R}XRr4!w=7u>(Ji%1%KBB$zWZ z`O=AC!uJ2T($=jt8qLC4OT>pBNzbLp&3-Zoj`V6Z`H zfprt#Xobt$RMdIUPIvC{V|LKM3DPrgU-Et!k^ds6&2diz!|xTY*mRfb;qt$Ch_vgN zC-6rCT>Uu(Wh}=}>bUv;-@TXlW5_i5kadaSgeiBau=Ip0_0w>r*145Z6NHL}uPX@0 z_GKd16wWz(Y3p5Z}Bc1Og`tG0AZ z3iiP5H95ynu^m5b#LXXQ>dd98`xB9`Ednk~ktWuBAfQ+@0s`&FK_;9nVxt5!J zyc2e79qd@_n{p0hh0&XoA1qC3qS9Fpi{`7YqRa6|#kWI_lj7;i7H`2uFeN2${g8c{ z?;JIhOi4TRJ6D{lYMOr~XK&(`EyjA1rA&gi@)sQA#(L&+=-2)~`$8gJv`yUKW6WAV zFa6+oDZ%|bBE$&#I*yVBO;_@S8TQp7#`$}9DcDla-o24hf5T?+Wsnu;JmD31E)?N5 zYcWdjSJ7(Vnw#)uVirfjky_R`(fG|EAg%=n5v=BTf8q6W7!+|Lj9`$W;2S_VesoR_ zUxAhg7#XAl^`t|boF9Y-1my2vsiuAqf6u3I;qyynk2MKEW`#sb=|AsI{y*_p!(JU` z=q3h|Lf{T(%rZ3yXcLam3;};x1x0^xSQD4Q#jMt9E|nmdlbac1=kbE|xEy{3pZ(7B-Ei4+US#t9|k@G26`$5~jss^WY_JY(-sdKuuIYeGf(c5czC7e(GS z&+@&&Cu1OexsG6tc(m#n?yZK`OS7OiH5 zHNz>!pVIz!DyqOqpJy4E3+a?>!a(D2r8o?BsmS0kz%jxhTO%iAIr`{H`m7+WX)5)e zo1ZSi&ApWL$@hUMcfD0UxJ_b96r5pEM>y;w+XfC^o4WOqQih)+FUp`|8)hN?tjV4K@I<3Ob3*d^T;PV_a(E=X9KP`CBlf`G&u#q)5>Nt8e4WMI z#pQNeWQbaBCaNGmT#OJkN-%~a1R-yXRCGAN#ChPcS+msyf-Plt6}X0YGEg4!0E);I z!x6H;w(Swg7u`=?8?#i=FgYbG15Mv=$M~B2T-Rs%!4PHA=MU^$rRWQCT42C8ovjVT z$uOvl!L}GywB6d+uL;&7GhB<$ynOoI`E6**=s5WXkH9^-2Q-zW2ym-1xAkPVcxQsG zVoF*R;^Upn$*>&E7GW0UWLuqP!@H;~_%6rkk;v4-6p*}E#CZdDggK8-#OC%PC_e6D z+rk`ICgMv~!PLMZPkGF$TPeq)I^p)3bc1-1E=GeB$Tx{4%4?l=qCa&!djTa@#-nO? z6!<@pOTeqjk6B}{y+iY+=gaOhYz41GUV0&C(ooS$iA$n6*b+L zHJ5`}BIcPU9b_BJLsxn2Dl*=CC5Dj1cvx+ixC!ayMtL|E?RwppJf4N3btVx7;_2`t z)6|dl;Ck13By`;Rp-=X2yr|cK(X)5MU1Wb#qQ7B1_!C-0@+Y09Cmzt3H<|qvWlwg$ z;;YBnf;kH42Z4`oS7B`vsP}lWQrGqP`d+oAYvBw2IKGWM38O+whYYI{nqks^Y-AVE zosR7RB@eVa==-} zL^ujVnT(d?ovKlsNxK8kt34`y^5d>~3-?aYk>efcgZCmmJGG#-0nSGom6% z)w2vrW*PlMLRTRFkPyt^WwkD?E8$4puOp;xP<8Qx^ri25-+P~i5l86uFe`B=lan&k8Qj8$wj_4Oa`q{(lW& z(@Uvad1y>4^Z7ZeT4OQ%{XS)_^J_LiimH=zn>%k8*m?6+h|Zf+gr-AAP}H|a+T(47 zn8k@<~0r3dxvCC zA)`$}K<%-h9jdx>M%4|u=x!Cx!`Ok_vQt)lgBbR%ruzAAG)k=!6fJPv{vW&qb`!J58U5h6i_y(t?*($XhL%NO3*-+-2dO@jQ z&W*m6BA3M<*)1vT9F1PzQiDZZ9jL9Gn)UKj8lqUExXW^?FH1VSH>dGlJ2J}|cU$nE zipT6WTlC?7ELxmLV7nwyUqX`ex(3mxww|P0WN*&yPrv?Os>0vXxA&gDX-0Fxo!HRR zp(F9{KKSsvH5D-HeoWD2ogR@5>)0&G%pS2qTAmTPoj1*XqFs8TD!rsd-p&>WzXoYs z`R%d~FSNEjs_G>ORsL_(N|On@n0B?@i9`E8sx>N)QW)6MQ^NF@TxOh&V(8`k^eFua=piZB>n6Pfxvksf+MC#(x#8CZf?1GfuIDf6TlH^$KX6 zMRd5b)C%?OVTA!vk4LW3@u{0z65Q4n%UB3(hm!t*!TWTB@nmaAx?K2Jx4$F@>~Z_&svu&;tijThjvP>u(Fcel~yEfL`C; zq=-hx<7tG5CC8uzZcF`dWW1^)q|{0+8UiI7@zzSkigYkoMfCNIUEZx5vpxW${>Q9N zisO%>x}Omhb%y!>Hb*2@u-D3RkHX)m&L<~{sDzO=7K?bJNT2pirDS>4K=~txLysQQhjqlwp zOq*RYtCRPeVEm`E_=dS!=~~7$fjG26&r5L=R%diE{DWO;W6h%G7jA~I!|9JiOAYEp ze^7^P6;7-CP1j7-HIJc9CY4P&-|390ant1J;$E=S>ML-(XrzkuOO!ZA$3J5fta=l zjkLd;39AEyiX@rn@seJ(GK$u#dy94$!Es)VUpqQza<<^4arN?|k;i8<~x z7PFNyaexK*$}N+4$QfnKA!$y(Zc`|`nL$_KC)&jjiWWP$*sZV<;b7N|Q3@6C)HFmE zEmU&JsXA$zl>4gRNlDB)x97=jFMk?XDWdU0F>{|*i zd;br+^VlEXm`pSm{13>XfP*R!*oFa=a2*}lOZxZSFQ2=)CFmBCUA;s-x{a-5{jv|g zUG~R#d~i5$39?&l%3MX6N4cs5+ZS)uO-tiZY=4}gAB|d=q5p#v-XD=1z~3c0b|U4^ z*=-_ZBr9S{#wc8Q0jhb^4cb}lk5NuZa;EEWrc$|czAsB_+|6LWLt#L{ zwy%HH8v}YhtG(YdxpQk17CWx~Tsl4lSI?_yH5Xt=Q4Px;AX--Z?Y?%K@?pi7j18wc zXu(|*jgizk?cjD|w0|H3hxfel%GjMU3Y7^1sZ(}4cIDb7lrriBbH#g(`VlZ$s&JT) z`zrlzXBDco)lc>w@v{NSo1O8k`Z&dAKe?xq^7uPDg%WOxo0VYeJPU+h( zICh8elWuM~cU5V`PxF;`&TjM#%gZs9F2|hpl@BIy?S#W?)BkEJ3+pRK#Bw-W?hrWr z^T}*i#y)O(FIB4kT8-{7Wl z?9N|41Wrjx-u{fV9q*9y-Nt z^Z^AmMi;C(1!YI@T!JFhC}%eh-p5AV&FArhn=5`#$iYIxlaIgHCM4MX}tyccb z*Kt&08gxwkeRO@19bOL}=1I@javoCWa_P1=t| z$T4hR4bV$5ux${@kD~w#?5$`Xf!PegH0=6^gHq>khTW!~Q6OwUDaGbBY%~*MMVbEb z&5isdMT?Bsx8Qr}^)q&&N7Tv!&%QIpyEIGl@mq&Z9Fn#l^DFk;?rC1ZVa$fwukegX z4=kkmnR~!u?6J8JfF(PI68{XA3)m|Hfb2BtBHcWYj+k?Ew)8h6C%-eA(c7zEnny?3WA8ih0;1d@wgme1q;mk<^?%Y3RhQL!0k}-5X*pmBDCWF^?a000dj^ z1%|4$)0kt(2_VIDLxnwE{WcQcE5s)rIFkj|40(`~_%RiOE#Aj)6f22c`_d-j^yxwo zZ^x&On)NDn!%Z#_*pIrXnw;-hS`5n;NQJPI)IE|0QEY5%(C8@yMuf-pd9YBjLImo< zfx7?vlk6^)=opO)_1sB1T%tJM%ZWO~tm7rC?4tfEE_N5+yU5@ek<1=-J1KV|t?OKvpXT|DuiE+0p-|*46 zNZ~N@G*GW4tM{i!FiWz z4)(%@I}FE?&0(j@*+i|oT8w(ofx?qIaGwIe{o#AO)yDHcmHyA6b zw=(oa5_M`;G%&By-u(;ZWs9ATXV?cV%fikfsVj6*HyHm=o_eK7k5T(d4xM)ekCs!m z#J@(4%G1;t$jpL*YB;%VrZ&1u1K;g6o>sua3?h1NDIUAHKzgJ_er1c&3SAaz*rg?e z$zYM=H)y-#w>Qh`ta)Ol_yVGw2lEifnCmtXXyj<-sToO&=Rdh={+@fY_uYF~YwMF+ z?(VOAUTn5ztBbd1w^}W{hHpN>h!{MA{iW5O@$ScEK@>Q?*#`?(cF^r+?uj!qr?g7l zc!SXv1T+Q%?-Nh1!eXR^S$T;uGpGp0e%cHTT~o104KuYjd%inFZ=%xLIO9RZ9JqPX zs-_L7T=Ea{qj!Fjl7FRA0d@CDHpb-*%az*KF=na%MfOOIrLN?DxGxtn9gjw&w#%r4 zT~@wfB$%E$&!5Z$>)CJ;~5M2_=MfFQyK`4SV!~q@ z7HiIT0>d?Uv@DN)XI0yE)Uft<_OF>XAoD3H5w-d(suGAS-7=7tS+Y1V z3c>Z;Bi2A&yR6qI@eS&fBBj69lzzz}hWtFbvFa&VAL^PA(|se0a1wP{ssE0XXjc(7 zu3;R`+iFVcaz|K>_zS~scevh&9HV-`pU`Og)wWn*=0_nk2-Av+w`!ay4V$w3k zVSE3=E-bG6UG7zq*c#up5I5e65_w41-rpxyUssU0iU4-2F(^$hnJuxvw0>DFsJN<*OR!4w~G%-v9L@ee=204)Gk7d53ynz?hD&Q|Ogu9kjn8T%}KgW0| zavQa0G~X~7NUn=KNc(}#h6HJ?zhpx%XHRgG^bWwQ_-F1yXO+1`sYElJ!Gj!RPBG0# z^@m__IZGyfzkX0k^gBsLf9uw|E`i#8 z4s@JE^Hab?Kmoiv!ZTIEgq4iPG4ow1?XZ$ zfu5|kPqh~*#%-fcIn|{K8Z_uSl1Y$U zNoGMCS<&M1KsbyOma}=upteLMFktOP&@;SarM|M=X3wzJH--VvH=W6<1pOzzr{oxY zlJTra|53~`{uqtyf^j!lM0mxDpUA70V?f8&QEQt)RsMKP?kxAvX_J(j+iIpiwOM{9ouyr!^%2PtCl~LL_D`=@`u!Nv~_JK$BmQA;Li(g zZ?zPFyVIu+o{O9F#W2%0fgd?G%oV-fgdNCU_E@fjT_I=vqE$t`Fx!m)P*Fm#`RnXQ9O$@Vn z3mo-_v%z>7D-A-PMG(*W?yEVN(L?Z#blMa6l$kH(PvI;Rd4Oo4yqrr!zMPakuf{;D zH!Qt={^0^tO+!LA>N*vhlieVGiJ`qnDa$1TBYzc>9W9I9nt7Gx9sQnJ#f;QNcc|J) z89OL`C9Fb_Q2{&wB8z#wF+8N%;URs;9a1&5D4NJB+q$yNGSe9t=TvwgKj3jfQ)JmB zLU~l^b*53j;%7DXRF*ZDaS9DnRB*3+M!Al^Q^VY`6St4$95pV3so=Szuk@aHHr7^1 zjnQxWNBwZ$D4QBV{N|94v#2A)_w3Fb z!s;?#zynv5(R%44SzbQx4vEX<_lcWC!`6yoGrocfY)&VqCB-NE)E_(l{?0uy@y4it zT{MJUe==#96PTGbMhuH7YR)mubLm+#L!H_}#)vOQ&@oMonlCXKfrDEUZQ9baA%LO6L z^IlPlusPODoAh%&gLGx3HnffLJFT}l{uCH}xG!}IL_gFZRXvw~(40rfTd`aiay!_(Ym_jrx@DjYSjR|G z*6vwVvoiFRJ}-}4oD=TCAb^4i(`^7&L5-E@CksT{4~(-*iL!B3xAC8 z{X_|NY&&_34Pn!~u60jm9d2eP1fF9KtI6iNh6f8}@yYGJVGB6AIJR9C3#TnYO*+Gr zc`}y&JMhlqyS}teu#W z`A_S-2&V|Fby~4=JjxC|;~iF&LU?Q7$q!!tCjl1X-r67$cfiLY_(=2}x3!}XQGJ4{ zEI`~mDoJV^+UK~=-`N`JYP0P{x(~?ly$ClSxxLW&qg?^1|#N{&Ka{!LhW&3`| zm?(b4!pp?<`O<6C_3e=lMey^v$j!Z1A6TgO^7CsCEGd2lufHk3WC$j%Fre;X>B`27 zbw3J|g}{&v5`l}H!UT|8(WYiU|Xkigt z%outS_L^?{I(=9Dk?@{i>+A!x6WVIdMzG@^;gNqTOe7)$ zM4WtG6`2v!F{Q=F+nEc5&g8Bc%yu$tfDnM77H@s9|8cu9Ecb>j{c>l%^2)h#3M2af zz2yT7y)DCi!?g446dXIh-?=pra9C#T2fptRd%!2QJIV&^^=*H1<1r zssf`drCW+%d>@&vqPua7vi?{9Jh&nGSKa^SNGP|*G!%M-X-aiSOZY0q9gU{yiTvC1 z!_y$>$Se6beWf;=oBMHG9tsU#37qnGDWp+7r`Hw`3uKx=Hlo&jEMqpNUqUu9(b+^G5{c+YG*ndw%3 zhUN2-<NijtHgJ5tR9d*RAQw4%~Zx+9u-HYm~!Hx1rpbR9mI=IL?*+D)d3r>#M9#k(QgIAmzA<%W6^s{Pxr-4svuA^Z-+ed^k4+;d=eaLEow zvO=!NtbZe|RZt+6Uwag!VnNhh@bI$uk&9GC6`uiD4*yVccM%!ITa+X%wPnfDQ&5|o zv*!S{2-pN*uA>qyzq3^rS;dc0ol)ZtWz;TMomH)IL7Li_0SjV>5AQ;CRNDQd1d>*d z#Ax@*t#9OiB`dUTQ&%1tbhMU?k&3gdYgXMRj61$fA*yQxw5n%YZiGUr-h$Z5C}nLJ ziO+3o%K$+I zVj#F@%bm@>MM&Ce_~ZE4+MZ$55#(xQ;1nm$8z_^M`bQ>|@s|8^;Z;$S=O_zJp5^mXwoWy9E;LAe=DuL?XpS zwek|-U?57V#P1cRl&PlN+Hv!)7~d9oiLW(=h*7LxAT>=zb3P5vt3vHcm3)Vhw8N&H;PKBq0S9-9X-Bj z`QP}Me>(0PtXs?-qIy}Y{HCNwC@m5?d{B`Ai$`AlcuR${tzear#7SyJaC(N4fRu}x>=JN}`eC&r zgDZ^-s76V(%b!@b{O+F(AP-%&QnFYTv%^HozgQR5JHl8E0QWN@2!3 z8u36NDWM#RR34~~rQKk{dPD=3j3c|L$DqvR7RnG3O(uS2 z(HX7%xd>=y{8th{P+u=aY4+P%KYU=hwug1|pP6VEKGPxwHR|K5FgI#gxy33ib3V5; z;OoClR-%CNI{MRps~yj>xeqX1u-w`=Q9E z?Nmhv2$RCxgw6DCkjp!-KcN@*u#Uu^gN#enRnP^Fn-PQ?-oJrd;TfB;zWwP%msClZ zKnkdEssmIyJ^xQMxUuGrtl`k8ikp{5N9LXT>wni5Ye=FXm zOf=QWvUNiqECe-dEXJ_Pcx%{2IsgjQt-M4lWRNBpXH1`mCgf)=y_sB5#@(rkAQ~z+ zviQ~mL$B-OXgdgYWzTuNcg>qp7fWw$Ns@PdA(Nc()^CL5$D+X;@M_fp$KAiU8 zs3tZs+43=s#nv4)oU9_#JXxBD4{hnSPWrUj3uN}k?lh#TaC@%JnlBLw+5Brs&xVT; zOS8pW#gE1bZdz{y^$%i#gKx^c_wq%6)2UnOUkdfFAU}+ycGN*QH(yv~Oa%m$hJs0p zZ9360nNE~e@U-Aj1Sv;C>*2f|pW3`<@~~VL4UCQligQ`!iFIUVU2y(Nu!{$rllcl}!+g}u(A-4-3k7j`Xbdwo@9(>VK#LA{??H3e^d$ah` zL2dB|wAn92Hv2+#piTUgELBg04c+E317i}K0I_Ht6nCYE3Szdhw7x7WdmX{h?0NRm zc1ReD?m^Gfrx}k%!`KgaXSb!l%H7-l-g9UME7DjOfiBWTf!V7Q=t1twRpbynd9DB> zf5x-Jo|IG76bcjWRB6W;`QqRphkl>ZU%A6E49c@;d^l*!ZyvVH_5(o=oZ`#vEeX7*cRfN+MXOr&5krq#TVp!p2(!)y>pswe!KV?Z&R+ktit#1k6{-;J< zr}RgW4|RQZQ4+K*smfHQDeBB+sUXWMSB_4W*%lj?oB5f`?aMiz@{39^`99Cw6(jv$ zmD|6%&&(V{Q75;kj&12dZ@SuZo|&xbZinEEgd=e{lNVBpODv!se_V7!L8)Y@(mDx5 zQafgqt@v>SCH5+UOVJA%!`5I*p@$0Gt<0?ATVq&Y>T7ISPRZP1BBkX{oh+J^BSo5P zj53uvS~j&x{dqt~f7)s=drMcJFku3Bn4^GK?@L0QC%S-ls>9jI@QVu1SOkT+!o5QO z0Q?a9YdnML3-^?!_}=IfP}=)j9XzOneyd8sdeeIk{w2=&6O zVX=t_3O3?FadioDod6tyb0X!(JR6IFi+rSYT`Lp~$CvDYX#GkC<@VTYNps{vBzjn; z74!3s+!o7|H&D)#J~HkC4G>yAQ6qsF1U*UVxx&UURGCVam^hG-HlDPU@ubZst-d@l z*UXaFEe|w^Ty$^|45l00A02{}vV2EEGl}-N2!-9~K5(4*tK6A%O!49hKnwhN{3){R zQit%oZD#{JNYPG_*}rYk$oHw*F(j1j0)1v?bcS${eF>0wpuRP+>^;GwZdQvnD?H_dzwgZv~qE?C1G80KNmb=UBe;2K8t0OiKypRIoA^0n^pc~Jg> zO{NQ?QWFx_)AvKSC$@T$GM9eYt+__zb=twK{PT(x1Ig${M@werA~X4g5*V??=1*OJ zcb~!+gtWSS5uh%l>9ISe@~Ohs!M%O`8#O6uUgAH+VBq0hEUe)|9{c3iCRhIH^P z!clx2vOu~PRY|^_xLtEuzYNZVDU_Y^AJpQTt_Rbn_CEA`1%QIez4)Yun}F_qbWqvr z;rG^T&6hB-ag0OgQ) zK_tbzEvu5aiyEz1)Cfn$btIPis6pJ@rSLM`vBccXd(_6k+MUGz*0$hqKSK|cu%Y-Y z+i44l&H}(dNq3M0n1)S6S~hW6XIZqpJD@E&1#E0gi4Dq>O5JmQ_OA0|60;3q5mNG& z9?vhR&n?~tEsN_6A2sDG_YcTgsC>%I<({Gkw1+U7JLbvWUAw!$jjxIFBW}7fCtSZ$ z_7Z(NGnl?yndPOAwn7`qpqCsM%j}Ea3Jm-L_Lp8+T2Qy3;2ZX)^wCc)2A{T@o2R+> z1>Q?w?>rmS=%>$JprD+~HL&Q1|6_G26VFbbBy&Z8x)%*jbX2oFJ5O&(Pc$yG5WwQz z6OXL%lAk0RZyUl8hu zQB97z0)W9(#>6A5t{Wh{sKQD^T~zMIaAS7YE7qJ|bbazTh7bu)@%H6(=f@8o6?N5U3Y)arEj!gaQC3V#>7E?aF!f zaw2u-S-e}V4Y}QoEC$I6DyR}2X`WM6v~}2SGM~&=7F(0bvlO?KB?p!W)*_q8kJy@u zp^d3;Dn1=anGjK2dlhooSUnMn3c0RzOBF=g50)==QUNJ`h`PXqu0E7%l{9F&WO2BA9zNX^f z4pN)Tl)xS{T*dp_p$#8Id?`}eKdxvzP;n5Sjo95EGmidIxX8hb#M~VtKRC^W`$y4o zMHJ@hSTo0TEC1>y4e^vI2j1KL(*rB3Z_K`>=+JdVC#^21-&9b!JxG~6s1YRLP3d)`a};9L+TC7)hVwt40iUvGSP`Bxjbw{sqG zq2~(m*uW!ts=pceu@ES59fm%>JSHP?jzp0NFn1^QWWQ*mC=fmI;x%6GW=;A&5$Gh1 z+ts#UBQP>f8W~I{tIAR~A+gio5$(c9D6vS6h2Fcb`HFoDb6qe+2wf|+Rf+}L!JWio z?a6Z#1(q!QZFc>}*{;lA8J=WxC~qz7x|0%C+umcp5Ya1r4oj5yuVi2E`mRaeMU-zj zcg{kIjF%nK^s{D%pY^nTmh2Qoho2SHP`{0XH8!|4);F<#ov|P-8L^5bvRmyEOekWq zJiTt?fP;)(AB$xf#f|$0=RR?Pe&Hr6N)`n`BFX!WeH|?hbC~U=M$xH+V6++Ed`Ywq zYO=C6N21hy(hkm<>aw3~2);X5foRaq+g%oFKS2~UtD&?CcOkkNT@vYc{~d$K;Fg4%PbOyAg@W%tD#D6RK0kIw%6EMj-t3 zipd=?id!^o8EG5=Y7&-Zwor>V#Ldg=h<>D=oBw`zK|Y*)ihoR4zrgnm+c&&w)Y!Hj zWafNkq6RNaO%{NNuOkEnMGO&ah5{FCU6iV(AsUFoO-vdR(cn@_UggskXIJ=-sZo=% zlk|mpQEtUuvZd7L=YE=oyH54fjBiOY7x1l>$s@{sbb@Q$kYv?ck39wzICUao?IYGm z(NoG3pFJ(L??H0T7it{_6((6(;sHmhkI_6Xi zIVAxz#r|?#t}~tZCYf5U%cxWX*s^LXGS=a^;>hNb`pw(NTXU87xwq0b=T8>BTf@u# zJZ!J?uYdr**EH{xddw`I6i5ko_Tehecl3k}AxaDhRxW(M`!2C8NX`h~@4ib64Wi4( zKC`hX$WQl9Z}7~9oc?~+1%qnxxFhkvp>uv!@JDylViL^jaoKc2BBYUfAg(L|sAs62jD9zR~tQJdvQ%OkoPKiY~-S7XSJMz9Y|n#unE fsdb-!(&}+vcf0qj8AoFLZ(#o$`~Be;cRux>1s_Ug?SI@A@$LJ=?z`vr zsSzhOM*cbWiTAeE2UBY1f4OVf)Zt@4omjR;|9j!BocA8g&$+$dwKc6T6}&j(lR1ON zf15w#`+K4)|FQhj&wn`mU7LIESC5SxGyU7s-!*wId-u#g^!X3L8*e=G4^96z_}K5y z_?Ph4gUkQx$us>Wd@VTgk-{@PJwD|?{$Hn_;py=gbtK+@GcJqVqI<0>PoD@e{fa z&3b-HTSBtUpPWaix%`wthnUMx)IbRP@ssoT$$9*gkNuR7{Y02L{lHIN(RmtUeu7m0 zhmfkt{nZ_%Pc}Z4b9C4H{i3Sg|Fp2`gRYIPal1cE`&ryZ`LDqInsv1sMyK66t|Vtx zmy#nJ+H2OmJMOOZQ^)h-znRs%KjkLJ-|iT3kF!D%{B7xz$;Gcm?Edi1#-}pJR)}mJh~%ns!^sw5nb2cTG$#z9XtC_$U1G+Q)N_9^bdBpi_B@Z-ffTy>92o{@YW zxqk1wqP^oA^QYBU-tW5g$+a6hZcSK!?#8Y2dZhh%UXQq`-flf^tt-dZzV!U!N~nQQpYO zj!%jmY8&i+^3PodzhS?KV2K=m3oh0V%)oTEa@AO z`u)8z=gX5#Yly{jt>|1>yPVtd<>Tx_z)Wg<*4&Uq1IN>SwbM|ba zMpyJ3w>!QC&u42ww~DQa{;i2UE9A56>O*)wE|K!@qFSn1uPj~$s=ij^z?9Xr7?Iho|cK3@?oinR(-{;D+ZG8j>2)TwRp%j-(eb0-TVE^#f?+6M)0sFAMB)cfv@P0`x`zV%AZHNW$q>Awa{UxfM~U7Ng$sZ zB(H#KbWX(=v%BF~F3xl+o98_$Ro%bl47oIO&fw!uQ;F~uYFSPhG{^1lzmfjom^|KX zKkRQijNm$$fYWR{MobsiAOdNpQ<_oV!&6_H0fkywTGhH1&uc{bci-@1$cy^Uyr`&I z-`^XdU!AMsFHy689*jQL^g(;x<2Th5B;>Cwo>8=|f7Cxm<+)Z|m^tzB<(I8Vo3ti^ zk82A4a5Fzf|8YoevUlqvv5U z+tXF%+S_Ggf0sHL*Mwwu*cT$7vcE_DP~-|8-$tC3t7p%it_c$+tSBs;JF)+O0sG3! zpG{6)(&JlbV}y~MQYmBl))Noar#VAT{w4ljJhq!QiW;5zF=gt2M>=`6!)%sI2*@~5 znsK7JQ>s&uBD5z;`|g{ZE*rneIrU2(VSUU&*aJ_Ae^}f)&XP~*9nX$|3wUe;7hJH} zwejG=Yt~%3{q3e1)^YK)a9H!5r)LgN&Z@k`KFu>6o;uEL=6fcnZ^0qDaEd#ss;bztDufK&9d-=ugE$9h%v^N{-%nlJYJ3;Iuf*_nfA@*?D=lOjxyg_0~OmF6YTkoVZeb zGJ5pr^;e6j)A7^QxQx$9ePmx%D_;y>RNCIn(cADM>DRxC1TdLZK#;P>8*KLmPbgo0 znj23JH}9dJSA8&Ed+=GrK}9&dmhoN%OeBQEtH-%g+rG)&O)U)!)>fVR<-O6J#M_9I zc?BnV+XZr*@(xFQ&D={Y#3Wq=mVnqpmW`{LgT}j)O7! z==c&nhJEIa^E^#wMUu9u&?RfVJ$0&oX`*K^baz5h(yF4O;>Ki0P!P`+`Z5`pc+R$8 zP*GaD*QAa;NwWqx!ZdrTX8g?Yg;5IDwIeVUg*byxG?tS;dUBb2>9WBmUht0=(3~}E zU)B*g*!AT*i+YumAOd~p_Cycs6&*cw^5o3e*lW%k=6c{)-Cc{<=Ef%co`)+(<8%mA zJUMHlz3NjdPT41^zvMVue#LRxmalc5zlcSOs@1AALXI6}sY2{w3;&IK1Ymaod%D2oO&v1^3`|n@_{j`3PMhU^NaY3tYo@ z`5oWYHaW3fq~&Fgj_}+?57km|m-b3`X7~q+ccNEH9-Uu`5Pzz<`O4Q{e)@`m0|(yS zeet5#taD!MT69ikY)#*}JphO-KcNq4ta7~anM0>TPB6@Egek1$Ba|->J!S3AZCD}a zET2Nd@yVKkg2IEZ_gss&y$23dZR?qIxDeR-;!Nt395nqiqn@wQI`AV2HAloDcL?SR z9*hYbERgppjxX4qcQX!#MY^0^$*OSX`5g)Qjd$fY9?&Tl5k5m)e8 z;;HA}-g2zyz_EJ&e*qMH8dZ+yw+6AWd4HQEza68!O{0B{^4O94HvTF!o%!5{M0{S+ zDS5wVP|-JoX7w*&R!)@mO>SUX#-RZjuX>gon+xjFnW&!W!?&cgVX`3h^;uEjW-GaaMGyQd>yeucl{Ebd5!MOT@I zg80-Ze8dXiqyZhMs-RX_L;h&5PHpGdTDS$v8amUUL$9Ez^#=oZG z#?-=RSC3)@e<>wp-~Rpgcfa^$=lNfJvE%ru`itprT(MK!!`9zM8?PD1^T&B9uqQ{p zO`&LUIa>F%&px|*`Cq7h83>-;p zka#*z!-j-Y&n3RcGm$LXPT@5U1Y+^EO|tTmU`eRg33|vy9ABMS4WLq_9xH-MJiQ-S zpR$l7^K#>Kh(qJrKa1O$JjfG>2buB|i~vsRT6mdXDM8GAgGYYfeRMo+_TeKSqBK1jMwk^9cAUJ3gfD%bN9s z0rr<>I*dciA}1_K3Pyz)$2#ShPL21TN=INQ`evN%o?3T${lh7pZr9H3ahS+**Ut49 zh*>Z-`*U*j?kP3pcjlb@TVJZaj>O6@X>+*tT02bZFR5=cLV@3kJ74Lj!JK6#L<>=Z zPeS~cftmjw%f$%EVIkVH?c2BSU{!Wf)hF4LD#>pOnH>gREI*RQ&>_r~kW+&En-$3- z?`^U!_*hu<7+l-3ptj`+Ca8h$gs=WiWvmPwlCUyx+#-Pkf)RTmx6A@`)&2FeVkrj@@LJJd2b;5}c^!$F zAz5BWEvr1w8w8 z5ekSibJ&iyEBH2(7aFSyvpB}K?6KPytb{=gU%zE|UH7>9?&Y;i#!aFoLX%WQLXk)d z;oBv3IaY1-1#v|7m%#oZ0?G!BqJmP<`V5_r$Cf{bJ9JST^GP9|H`u)u)ObTZJq))Ni37noQWk2i9!;XEJ5)>NV-pJ zWXgkNzazH(6$|3hTx{tO*GclPq-H&KWTwDoN+u>)SzpjXIy3y%$T}?5u@RjzHXGiB z{Ev;uE!KvJFKgzGtivP%nY{}wF1BS+sY$GP$#IsZ7nMd2l)c2)t=lZ29_WAA-|>A=YJ@Wm(V;tF-xKrz+QQ6QlKhnEg0gp%?Hxo z2Bg+DCO*yhLt88%ZqV|F&X5+0{Fod~T9bCQHkfcAPC?oh2ajl6WvKAv1dWM>$SRzG zR07s{DGkL^8UrOXI|XL@?;duk*= zYPJbr!^QJ7jQhW1I{sZE1$L{eqb>I$6m0DQ+qT?eQi%pUAMY(y)D1f*T9OR|O&+#X_Z~aG$Zb5INe| z1Su4Li_mNHzOwQtMjl&A)LVx9dH zv0|}9%hs%4yrB1>ZNrQHGray$2(FhqqZdnU4a`FQ-zIik#ss)1U|E>MtaftE;xH8o`5`~>rq5sO1IJ1YI=*wm&H3%0=kM&e=%R~S03&IyA3#$?kPD$9FGUR_k3|5QMxNN8uMak-PLfglQA9QuMY?3|`FUcMHH&O;c ziF%u&GHwI4nZF$w?EkGTb_uh^L;p)#Tvwfw-qPU<&VoQ;aw_Mws5*xWH4iP@V`64} zs7Mz=b+8;7>re{-EkQJOJ{_{0E<*wq%U~JjY;99Kizf|n zo*|!T`H9trdjW-dDNp*m#@pi>Z$FzXiD1NFELlqRG9Z5Sps8WD<(?BJ#)G|m^}XH4 zmL52|bVyG&Nr|~L>D%hvO5E~(R@#*k3)?&B2u7rR^*br=zzEfmYnSSRP>tyHLmR0W z`_mxCNK>T>HgCw^AqfJc2ybJR>M1^oMhVUGtfxs8vZCx9qO=f9h~)SU7Vgy2)?cyQ zqw%sPD-gk+{Sz%ZVcGFi4Kt$xv^;k_6-pAU_c7ro&L+v{5~`k)^nq-KgDF`U_nj*xD%w~gP*FL0ok{A2YHtIB+2+xRBR`eMRz)xrBFjYF`j9=v|^-@ zr{o18P}CTwHbo;}jaw~n1V}pX3q?z)^ne7G1whaAP>b2ZuEzY7$Q;fyM241_wN!0n zqwUI2SornLtIQ|ieAa2Qw-TAKB(w|x@14Q!}w-%wtQI9rwCX->J5 zwN^qA<5LCT7;7|WM`z{uCVEaIE{8duL6G=nDgb{4*cI=V9|1b=&!q!(8YTms!x||# zg=qd?5@d+%LOu}@YX@zN_^g85+oghVnEg>pwqSR-f(I%KhgJR~STv#0x2ZqQWtqFkzk~GE zYJBggRvmjdz+rAp*w(Sk?*CU*$ItLLJ@d#99vtIq8uNZhHB}CY@bdVh!$yD&G7$kU z3TLF~A){{m%yuH7MZOQ#kKc%Y=?wl$R|mfRcN@H3-TRCJgJuQG~xBr$N^ z!n9pu*B*IqbhICx6o)^q#dOU$)LTwHZtL95VLF#8QLF8Zg)MK?c4;BAvfo@?m%|kp2@D>-amNx;?$>Or+gcnwWc*|Z`J)zXVVhd)9Nn?en@{-4JRFc zYURS`(0_j{uRygjEMByw+h?QlQvHWwO5pz9O*s0lZkR19EKKvG!z(6Zj)mUbkw*X> z?DBs75K3m<0gxE}k0LUDSeEf7%g&YeUnfe!7O%}^8%~sUnp`?2rGBjY)Yx9Vdbx~w z(q8FyLhV&4UP#Q>bxMbaa~$4T!i3Y>9fq$kBYI@~s8lMBCp-&fGe3<}s*U#`kkF-sl^D z@VqcbpZe$KwA|){%$8g&tK9AVK>lWQBbTGllhzBW%#V6MoJTk$mam8shMlMJg7z62 zH%phG{tW&u`W!uTC+1{NMDK3gTX+!rXdTsZ6I{MHZhTlX-rZy(}mTZWa~r9#q`g&UNd%MP<~zy3gmU&dNBNm0Ed8?i*GfD5h)@ zab<8;w6)AnM6JA;VPyCvhf-Q$*Wm&kEFEL5!Wqd+6q}A_XZPY2#ofkccm1pwrCjfv zSa>P-n-inIXGaw$KDR1xb%Is*kY1t(`zNsh-jJo8c4z~yKyn#JixspfbZ!K+v^Kv0FQ z1y;w_m&euzUq<`@O1+6@8rqi;^IRv>ze>Vd|SQWk}=9INb4DmP|@##NMG|TpERgi z3ZNn-3Dj&G4V zB8CmvKe@mQWLG&lxG%S3UkO^xYpm^>9qD0R6EBJ8d5>mqIC|7&pWl7mOGoackZU&+0Nw*N=H4Dz-Y4mP*;f~(rJTMI-c1pB**U|v3fO?QJtyiDUH~s z@>EgLZ|F0milnrjyfn9`>~27FSRK4EP3z6q~`lIxdU z?BWqyU66<$tT{b_55P8<&vD_vI$3?L|AV~I{5CsP3@6E*oT|{bA)Mc7nWJI&bdrhR z%c<3hrM}jsX)T*$b^}A=p>GF121l)7|9evVnxvgXu2S@HA6qr#*z~aaM_y=;nP*)| zM|nv{p5p50>Y4dh`3@EN+KbZaUX9sx;6OAU`cSSiDV%s@+J{5*7T*)e4x=3H7F0{H<4+~^SIRp&B)po0sgWG|C-+6S!L-)CU``};pygBjnPb2@l=lr`% zr=Ofv68t5^h%vId@&yYPxCY*J*B2t!y;W+W#RcLYU#zUCa5)Q(b{Rxhh>_5n5|*9) zhY+utYYi2trT}$?g(M>tmC7ZApOcs^1_#ixBC7p14p~E*iLLJ@?r``nM1skuj_(^c z6Ulwut9F_ZF3W7EECE$Epo``M&%)-6+U6?OR?^ecXO=Y2jB+|VgGNN0s(VS8SGp(o zJcDnw|D$ZIei}pYh^^XjLxgKgT8CXNOyw9V?|)j8B#R-qpIv<4Ij&j0vDuHFzxwgO zY8Gg%S@c3qbf-xdxce&{5-gTS6grLEQaUg`{+x=sxB2K&wab*wx(V&gVfKokR}~Pge~Lm3A&XQM=EL~3#Zm1mq7GrYSn3z>m~Lk@qC{m> z;F_2QbkSOPsUURNInXquIoaJ@pcOZyDh~CuRTi9-(4& zpiZGBl+~IfnV3O)RqbC5ZZftB7cF7#M?ABJ1@i03;XMuAc=UYN>c?F#=B@uZCCP>p zJ@tByo_Lo@Y7X!Q3I>5=QG@u%e$2?JOktA)qETcqC7E1X)ZB^hKJ$8`HV$qskJR1M zr_0ZnrS`PqlAW~`O~abrd$NO89Y7O$4yUb4YRoQ6{JTodsaS?AN^;OZ9uxd_FyFUd zusM$vj=D0Y^1&fC6dq-7$M&pN{#D*j%*+iO&4r7Vawo=ZF5EZ*GMtRidhOh2n&@x|{v>iYS|zkTrFY&I0R*oQ?K zNJ9wEj?Ilq!ah1G=(YdP0w*_36KWE?3XM4_|s8`UZ%%H3qwUkW_nHG9AwoPP_JwKSyy4f@{}?k;Lw$x+_DKar*&Cx0g-pz@E?fU|JZ{}x>wkF2 zDI}h<+aW#3ETPsf{pxm3Ha--n#CP36{-|SHPG0g6uZn63R5JpHLQU6I){(ba3#$3Y2PS@1xvX2o*QNZ&iwpinU@pA z=kUaZGRURHF!fu{e8=g_b_Bove)m(Ua@Z7&XKde9a*3MTy}dAd(0&RkvibGS$oD6$vD5g2xXqV zjJ+wpfm3L{&Xd7tu-s!TK(wwBdt_%GYuiCE@N7c1^eNA)zStT&laBD ztOMZC0+AHF4sCmAeC5UXx3D6ky}ca{hxHFkH5X%$jcyg>!-Pif%S@hwPY{iFsTdJB zJR+44tWR|Pxd*By9(X;s?eDpjiT8GIZa?M?jF+<5*Kr+RM+N8_YTI_ff0SBoe#RsA z3jBm;)vO(f$5Y?Ae2s&Bo4wnKxzTVr(G_S}82nT4fyJqhJU|b7HHk}>zYw0IA3$b8 zX8^*4{|T*A2v69kUKCo0dVepp~gA28jN1IZXJ0h4A`W!9S<9j>e1Q0iQ)bR z%or@lRa-&m<@n}1_Hkm{#}O@P-t80k=z&V#y?n)SZ^g#e-_6%;FuBqe7>jF6>6GJp ze-XQ~sOX`*ccqux*b8$-nO1o$n2y)K7}SPS8(hXfIPpW4gT44;)6;uq4juf%BT~D^ zOD|8WUJ5pBgsWorpxVRU#Yp@oG)k9lW6V)fn`vNWpJVdaSkcw}r{K97)sHCRHlRC>Pj1`=A1gRCAz*ii&j;fDu!6D?t z&|A=P#QwW^FqHZ3?)Y;DIX)}f8C(?uFi+XyJsbi!z`oa{Ao_{l6>!N-N3VGD7$#*2 zlJpHKSPFd3NNV8B+rbyml#CHTR#>D0L!#RqION_9-I0l0CS(k!?B$K__dktUYv5&HBcNS%IqaygM-`rp!Nl_tHVzJ7_N%XcB}Ue*ojMeddCLitG)gDFB;s zP;Ei6Sfu;y#ZzrPie!vYc1mqvu-(=#=jGVIVD{ce$X2HH|An612P!+iy~X=FQ3g~5 z&H#oa(}_5}Rr}uBH(?vbFtOz4Z?)-X8g7~s8(1!5?W_-3umLYqPLRN@b{f8%Q^tn{ z27FjYhSUV$P;Ej8EaQAF)Woxi^%M*J@zBiZ)H~bbtA2rh3l9QeHSH@aJ498RvM{|@ z%7L`L!QLDvZj9N~Kkki*Ik~@E_V5%hpBIBpZ9Ru=q+SlRRrjizGgPhARvwjbg?+_| z_j~C->Q=%2+Lq=Sf6tn6Lrn_&&DC=~Hx2WTL-+J-1|>}!HD{Mpvl5HG?iCo6j}$#) zW1AUTO@qfC!LuMiBdz7UPY!i3K-V!%4+sZ*!+;`A2`su5#9RhCrk zT_RO(Kb#&qz3-piaCn$&cdonS@4s6nSd0XwcY9LsR8r%C+KvNgHo}xGI)E^gX#4!z zY^dBr)yK%ZKb6UTA^3d)Wzx#E!9Z(%^bOY>ssFyB?3{AtmtQGA1om)%Wl ze>rcX%&WM+r4t7`BK3Fcbp@`=yTkR#3x8d`4Qp6#&KiFEk}18gEC2)&nn!M5qCQSo z@;>CEyGhpnJof4A_FJ-svl%E8$)=<58V^_Qb$Pd#hfa zko?1cZg3HGEGkW%Us}PVBb_Hv$ED-0tXL7aZLc*ey4ooN@i0BL5iH)q?oHPuZ^ui4 zzDu^CB*RK-1a=J?^dvLm%9_~|DPtGkVW)~~ZO!M$baZxA zZ~=m~0S+NHB*=qe^{k;cXFy`vwzK7-oim#62qDcfTvF1)vLx?PR>Ui)=BOcqwgE@W zV)7#slD&=9C5?>s1*!82rW2%{!%dAD3u*rd12hSc7&g;S~ohe zUWLI7&uj8GZ$hPuCG3_0)c^WG+t16yMlKFxi!R8pDT53;*u9&AvK@}YQ4yAE=j84> z=c!&pq1|6lccpi2@2|VBdHc1Au}}9LhKGx>>??LczbTpM(exIG!vWCx!O=mBN=oOAt&PpdquHGcd&R81me10#nDq+=6j{TXsJsV1|pgJEhkaugsrQFIBd@IV$6ft@5QkYYWp zeC@QO-K{gnNb0s=XD;{iw>Ew_DCMF|22#Kyrt78H-7)6#Y3F5fiQu0s^fCJ{R#l|bG?DX1y`tQhlb(twaGsJ4<>vl8fA5vyVzE=l$3g z_UzcPuW}osfXoa&4-O>DAP;FwPZm=kw!6!6BRRxhF6i^kFIPT!>l68<7i_*;Xl!A} z+1>=O*>$@XuGd4>0sfDOmWB1Nuyn~a z;6Q30YZ(fb%$&bb##~@Hd{%7bvUW`c9}GV|Iq9O(^uaR3o0U2@s{%bm-?pyvwhw|b z1YYMMUALyS_SBa{hb$(NIHv+C>4MUpH!OYt8qAK@)O4y7g_{Mk+OZX@@m^~vYR1dl zaC>zome5=?*OQMA5tET_2Ku3{DUKC2;Jab@syPGw#S)`iWu}epDtN1Cg|o*z^1{s< zVQpwB`u4^9g+WtQS0=Mo^_gzkwFZAdJS|FpEZ1~zzP2Yoi_H5iX~0a zhk@=yZSC0XqN2gk&1<)FfEK6C!$#Tp629>{G0&H26reI`leLzgsI!)U#@2OVdt@U9 zH(&9L)8=NSo|l8%qmILW$?cVP5J$|E zO&fq@$)ww!(!SKilfvnUh8BWY0@?*25dMo&TvPbNK4btUVz|o6%F3sG^AO)ex_k-- z^HCYec8JTQqGG98YqKr|h;dnyTe3ll!?5cQ58n`r!|>PC25tq0@)S3Y19gg*nPfpp**Lz~$)z=a)5y4jV0 zT%zj?tXKU7MTljS=SjOYWh&!)fG=LQ-KG&ENAg0jc zHVI)OF^4LO{Vw)Fin%bd%U;^T>ge4$gLmF`0a_>Sxex7UQgRed9`Rd;BCWRUd?m~# zj%Bg{eMZTF-=iGqW5K)d1@9iXQItB%Un-mE-xTAI7&K@Q;o(3A#Demv-NaP5O@PD$ z*BY>~m%E$-MT*KfB4fAgHH2GAcwKh)i8p8(mA_Sn5()8Hskoes@GD3WUCSO`+NlCZ zxBiFa8*X%Y8wYted)Uet$$)rpliCzQU>hv6Qh}2BHs950%-YEZH@TSR`X1~ab&|XV zBa-|+^yay@p)Q1CQ1EdiU$#fjAcxmFH@D?HLbUvspx|mym_w}@aG_|i%qHJ5=5sbx zpw!B<)I6~wjpd9@br2N{XgwJxv@IftsgtHhpz?xbQ<($2gi6(ly;%TRNstD3rKb^! z@tN=7*B=j;lV8JqEV74Xerc*O3u5fzE6KfD9>SwK%y{kuV=_2KRd3)9!1$I;QC0j_ z86WaoipazQYdc8Dg`Fz!x4>q>yZ*3u*5>!4XUt8d0))gTKL_j(lM*AH{QSn%R_a#NTm?@A3^lESHtOGEr37 zH{%uJk()?zios1!Y@S}|`}e;uPAQ+#l~aDw6~vk-5f+b>H6c?U5~ZdO*07)(5(Jay zih|>a!Nn=1RbdX_xhCxqd?olkPCoc^xDHPNo&ybu1HKu}DV{8WO&=%x@Uf^RXH!Kj ziB}~xpjrkmV?1UJw~o%&8s6C{M^Dr!h}Ii8=H2aCJu>axkr5SFmZWx}Hl?F-!&LO@ zYhnIhys8TQVF^I=8zJp()vF5&Tlar_DR9?jhKGJR^%v9>H75i;-Q8or4Nqht{zyu1$NmKGeY<1E-xC3>aJ6zZ8oc-*k-2j&`t=x zO-hr1TIt4*dx9!5;MJV9WMK zK}}#X$YxmEN;Q0zev#INz%&D<@C|g@!?{C>WgZGG2n{g@sST|CY$YAp$Qb*+97?B(s6a*3qAeta66`6)!qDN1533qmhZaA-Dr>>HXpdyE_0`zG z$q~VKP%$)m_lNvars_k7G`vkoNXw4VeRXhl{TU5Y6&Ei|Jx40!sDpOhC|>tfjB}JH zmkjogWFsCsoWDXZWi|(zFdIT9?F-Q%xL7bmDnh6RWlJQw@$K4cHLf)6kmge}Wp17s zoggCxl3(;TIfoqqNSarf$zv4vqn^$7L=E#NUXA8?=R5`;V-DjQurWf$Nu30J*-vv= z=q9Hk;5Bo;lO-4YjIgB4bx0un;pWSQYE66wHVO2NP(yVlsRZ9UBacD z#5#8)d)20-roJ%|Da8Wb@R0%>m~J-`bcA%0&v+Q@qkGJQ*IfGt%;KS-MZ{8dX9Dkr8EfL}Z?rKXque=BIPvkj3V6C99i7~`u^h4DdvZE0UzlC#nCF0Jbm zSoQi7WgBiGU_^UaUw7*cKROz&0nu=;Y6aHQaH>~|79~wnrkUC_!BLRf6`GDm90*HD zbg_6o2|r_tVeoQ$KvgBu^nawO`v)`J<{QzU|<8ED&)_+$D_ujMqOl9qrs1LE*?+Z#$BY9S||Xj@j>m>D0( z*Y!j(vMB#(jFF+rh1ys^X*YKFk=2Se_#y@S3e;vfWOyu39zlr1{SH?4ZG4EUX zhnuCL#rrP);$#G)185MrBvT|sls$CO7W&QGa!XpVS>X{BkGp10q{BIiuyKe(3a9R{ z@{Q)u`IddpuiB?QBVI5g3_zfS9I!Z3RIodcUW<9HNe90hpML~blCW8SsK5f9La4l9 z3#tS8!M6Mo_QSXkp#pE#`ghkpi(eW14K+#J3wrOHkB~ca!7q5W(``;Yb^Hk}AItkG zMKA|X5!mAiMn>Wiuco7vIaKo_-~^~bKn#dyupZ1K$N~o4nOo&u9Lt^w&y7eS_Ei<4 zlxGPB6+od^=nrL;=De-12<{)bwmK)>j9_sDCMtdJW}#0xFvAhI?q%z*j%j&0=1bN* zQE%TwN8b>0(W?2W<8YK5~jM#_CD|N1Y2--O-40u8?vbLh~I`x3{Ftq?jG3} zvl3NZE_j=KVs&W)M_v6x8R`XtpiUaOacRndxgo{_(5vL{TO<@mc*oSwS*XU*b?ui4N5|q^vOA;Mx70}K>s9!@{p<7n*WLo-btZt>pv5f<8!oD?y9l-A4M#?Am<=8Yb`5mM z#`qY&te3VZr_OiN2V2PRvWx2vG`9NlhTnjLqN=W|`FtL2i%m4x*jN9zzJr;|I}VW# zaS08UdBsWM31END#xW`TXFC!6qAikqU;^s{6|jgfP(a`s#4Vmrtm#`)YY-c|aw<|X zs#C7mezDV>ocj?asWKp4o~;_qFqTE988VV#iJi|F`}n?Kf3^03@oss9bCL;o1Q`@e z-Sc7t%ii7+#1QEt0N^r74W5cC)}`KqDVERR84|*73h|B-7Nps=@s7kL&>M8WZ3oXJBCJoEa`fx#Vk<`H2HPwcdnDlf-Ao1?<0p6^G|Oy%N#kmh>m zngk6tp`zt5VIF7Y!3@Z91*Y*;-ml2V4>@_STW*}1Jb9xeKp2>eR+dKbiGa)+Um`sv z423*G9Hqlyila1{vH1br*^Ot^^)p#dVfHBEAOS^`EOl!y+J->tJ{C--VWv&e!|ejm zpN>kuf>@SOtg-b&PWuEe5DlKfW+|q{f))X-D=teocp30sOIHf~%gr%?$wM0YxVvWx zSH_8wmW3xTPpZG1)i!tQ68AxZGDwzVY}ngd+f*T)jnRfh4i(SU*B(e8lIxw0>W&)w zLjK>Wf;U~T&lE!q+!|2n{t5-@E*tyAv_3Ftef_W58Hct6TGhr22b6CtE81U%uEt_B zF@ul6$8g_G!kmIxWd)rpIAL0yQBxgq`-hF^46eYRwo)#u=i7qr_HdGxj9UF=!XJ4k zlwRLs5=J>-yT6S%i0L0kUHf_zfrt5%NE3qF54?=!&xX^lYP?h0b1nmrVAM)GJ~n12 ztM#lPu}nc~DH(_(dfU*9!*Czuh1uU;?f#maoN#TttC4h>BnPwr&n8r5noD*b|F%FaxFHnMF;BUG`=0v`nJn|!WX#3U4MyNzm7`Z z4_qF~>FM(}vL={J%9u9*$RH!a#r7Bk!UO8+5Q8f^g1>g+ip$V>(=km7qEtWSUXTZo zx|4nm*iAWxojBDB#`btb$6un_GYkQ-axKO8da12lR9WNc+`(P&7}RVRfFbdTL8 zZXv{@t7Vo1hVgCxUf88VdV7EPUGAF{l`4AMf6s~LP0VskbxPiBqe6*bjwIQccB!Ea zFc{U(D~eU zk}@&6rej`MJ&Jt@5W1jyPs`@QW1p@A9os1ik6W>M0x8X@q~LqG!PeaB&Lryfxuj;W zt+pQJ${N?q%>!melBPySO2QRo>zmWP&G%*msy%__rWzUaIVp{R7ddjm&6g+jHp!?l z5`#WICLNz9)dTrg2Y?DQcr#q z!!9nNoiQ}^s(RYuu>|()&2-0bZ=WCI$yc&ICJocO#zvdnA?)OLJik=JM>a;g7R;i1$xkc9P-97|~ap7#TLZCAglz{08i>PgD zM8|(d)U&5Zv4S!=^HEI49|18WU5B6MeizXvr(neGDYG%2(83QYk1`gcvALp`3~aE( zE0t+%U^d)@D)@$YLH?Hv6tRbzyInAX4*N2L+UKlHAbj$a}Blz2%9?5hQPTdrZ|N3%wtT!X!F73{qZ z%dI+s_d9%GQ}F%2bxoQyDPy{oQ969ZTwpYkCwwEKYdGB3{eIJoV$VA?B1B8?A&#&B z`Vi1@gpDPqRaRd;n`KF)aat3Jm*v%rh*S(x#;+Zm@~p}i<4cO(({eEJN zLdZPs#xm629THMbPVFtDo2zO?^CQ~2r1KoJ4qT;xX{q49Cp6}Rkbie#;5uMi?(VK8 zZsVI%NaNtI7{1h|m$Hck^^NXeV|hmV30o#zm}ze1nh9>}ewp4CK4=!pNtGcvQd=-& z^Fnadz6qxuo8|LP6KQCyZM0%#LcTDTglgc)w-d&(0wr$%sGG$CkJj)GqC+1`%TI1kJa1qh)nURfs`U=TCE!ohQ2Cl<5 zqA$63Cd(sIZIX?kSkm&P6-6CqhHkpU*75-KUXpQsONvm$ct&8S<2~)}L_EsS0B{J* zVO)kgGD`v^{OCeEe-3seBXN4$Jn0CE$c*6YatP#QRS`YEWTklIV2>N*?)dQ!9Ry+rkf-(wR{LFbG#(XbMp?0`Qw15){l1R<5yI6L%-mT}cQ+Rn zC?e7YzG3E<_%}TGMV$YOQbU>t-Ofr?hv%^e(`vUqQ-9#&OP#s9_Apd zbU%n#Z!-2PjJAN9ClsiSy7}@%G&m?Iz?ZC%nz9pGEj%!?>C1)@8CO9YB4lX5{WY>B zR*550nT<&cA9rAz$TL``;y4SVC=kXTzB(S z^K%SzC&z}s%x%F6n%w$s-nwprm5R_|ai=7hXs&EU?KCpu`1Xvq(0X(~D<-5a3c-b@ zars+UnGkKZtS0EB$~!!(SFdi`@8~5^engr>RAA^-f&S{w(oD?mFKJIBAqcuP__hqS zz{lo*PiBCU9pxzgp_1FYf;*Q|x%!4g9npUyh+8dt9l}Fgwz3leiUQjR&V-Nya6F5I zq^1k^Mz?2>ogAe4{W1rw!~Q3cF!)g@pZ|7v`Y>ge&_%LE{%uVLZ`H!C_qZDg&DYoO^8IWjffB3GZR~8 zCrZ^Fof>G*@I)<}CK8)-Xs9XxpOR!xI91-pd+>Y=OmNJ&toJ7KkKaY91uu$v_S zB>w?t{^*98s)C`TpwKbxR5E%-k`_7{L0FjZ zdD)!WNWpUI2fGJ2bINWhDE|Vhd)hhw%fKOUoJ-wcXXr3d?G+z=)CW6N()=7is9~`7o1NaLNf5V% zyO9#rTj`&UO_sN!(t@M}35|@l_&yV=L_knO zir?`XV(U3H=<=h=b2};;w)Az>GChOjbu2w;!i4oH;U31s8NOcC-hw4_tY1cKq!CG*AzE=hvPY<0pBDE9iyy{+BhflLl7^jWnw~f!_x`3%?HaLe9 z6*McK+e#t78AHH`@d|@0<^i-UKn1RO*7ZazAVC{peeN&}m18^!o^qbhw~#XXSMsOB z?1W@NL4c(xSx1Hfn0iY3x#JZ>QJTM2lKA}(nk&-L%fJ&e}u zWGruyOsfc4`8Zr(%8TR8J@AKA+=+`{77?zo&)i@VAwB|NYY7V;7j9%om)2*fA_?+HpfuW@RCU9| zcCY*7y-a~cb+&lkAtT6uAAfLgD@UdtiJHxD^J zJ&fLShoDCH+b1jX^78T*s38Fj2xKp<;6`{b+w$OR06>=HoQ$Q@M4ubChBE1gWfzzH8(0d?OujaqFVj830cI2&*pvY;R%e8@qq2!E@wjaaaNRb6LRWoELmSZU*4f=v>vG|TRbpZ zBfDr{_TUz|0K=?MZVSHb>;MQZf%)d%`mt&j(}f&;XyOz_mTI{asY2HS&)`aM84f^huS_yAoLvx$v{B7j=n`fVnvWKT zYns{UaZeMPsg&7%SbVu`{HQPI%n#8F5URfUM=vx`b3ryp#VjKjlOURtagafX51UDI zH}z*1*KXeB+96pUlO*m36@qcxod}9-Lo6ZtI29;V_5cyxbI7R*low{;kV0MvD}lPN#ke@z=tw*1`y(TOT-ZF- z!YN1{4QYAeYq2~+eC?I^4?d7`4w^9#6?zSN=`FeW9SQ#P{j;Z_;(yx(^mxX!9B$Rh zBTU6WiNvfHdJLkp7{!3l?~h!v+xl?_j_u@noati-{%Rme|P*#YV38gOy&S@cS6 zW9KhGEOupMq84M_sa3=u}cPA?Kt8)PM{!86e3+OpIa@5@yUz32DG3&>xx7kue_p zGzLYMq6NO|Vl=*g#6=00pn%2O_TbA3eLI%)O~Z!p`=zS|wW(g5h^?1yR4{|RF^`6I z(k)#6UjJhLsTWbVTYnCoek9v2k>b>HeNYchPw@{)SGTM(5(jYYE4(Y9;+r8SzDa18 z>jQxOQ%tLLlc#4$qTO{&X;JetD^qJ7X&St=d9CsrP07x3VQQrfxfxV57m!m#pV|~O z93p5I$e5+h!NUss#3Woq!jbo644eKUw*;-+7jV~(q~mCb#D*IOq%`(o(1I0ybfi<@ z@HEI_0ZN5S3=mOKi&0IFj!1tDT$RHAx{BgVyx9vt4@ZtMD>krdSY@!2hW%JwBi%j} zS~Z&-XfaeZ*%!hMo2xi26++FYI-B|b3pj#0jL zh5sQeg9eZW{P~?{L7vPZ+gK?h|ADAJ?D@s`Oz)Jj z_VzHmDb$I~g1%ED5q7+pq~3~sfTj2bz*6fgA>X2ZL})lkTdd!$I03Al&fay{zPnl6 zv1<+IS0oVjEc$oPDc*3`;2)_x7}ISd9Jt+#IqbIT9J+_r%8m>ZsA`8ARbSta+pl?Y zFXZu75x9&YC-y|OE&?BGh&fMB=QUp)i6h6)s$IHtY3+@GIturNq4|(RMUaltD7r{- z9E^^Z!{!(!>)F9+u>zg}}Sh^PkJ7*13H zPo+-O7^OX0sowcj=ohZRwoTo|pr|>?VA=Gj@<}crf_{inDc#AtNI&;ZB zg{G&Dk_cpvUMl)d?yX6oHIv4s=jK~G8gF-+og`xP?VQErMCd_w@43i3S}HC|Z#_fx z4EU+@mFg``qsIT{n=RxT$D*8$R>;6Ca~XAToi$<`j70ZDuDWN$LP#>z#*Ho9*au5T z5j$#{^Lb|{ZFpa3YK)^)J(k$?SQ@!}M26r*2q4Im*(@VB!ZH^6 zU@_HPy!$Js->$>NXfSq7gxaNojYbFRF7z!@=ge|EK|kNHUz56kbCMoi!Pezylt_`^TZ8Dic(&B zX~Xh855fmKLIV>PMh0nS&}OS!c4VL>1EMfyj6>mbdh(*rkHZDj28yo-)l zRs`e@g2v(jt5&UwWM&RH62p8Mr8F#)q5F_hvm-btpsRP{B2t8!?O(#b5Msx0N|L}b zly;n#6&^ z)wkGzLU6bPlv@!<{@{+^sD|_>TSzrezmNQgL=6gA!{@`e6NL|kF1GF zN$#TBc0nHmVJ6#BOuQnHok|9!5|k+=EP@~odJv6pLRt3s(8LRU++M^!V}bYB>=*nE z_cib;AMR`5Tk{|+bcbeh1gdz`OjVFz!OC>; zSL^!e&(HCKboY{kDQxl+&Fa&Ssk%%=zr`utjN2^q5pv0BM0~jeiBLaA8uJE^=ED6Dya}SbFqxHY zv{Q=%PZAEj?ehYQWd-tp;gg>QtKr8*H+H<}M;!|?^G3_!srW{%b1XjwW;eZ7Z zARD7v#^BGaN46}DC$lxn;Fq(;enHc$gUbk#+<7$Qh_d&Qg;?%Rk z+S4=)j_VrLO<=J@2SUD4c3hGvi5|-GO{JIm>KyT0&>_M< z2fDRfl~Et-3!3XyXjbH^zQrbg1x@n%ZLi26ECgZ4*Kx(-wYcT12iJlJm%3H+ zXISaubXZK0lvd$7l&(Sqg=v*_adIfyww{g(^i(=L2U?}11s>FXlm%VD@YpL)XiIF2!RhX4uY`v`XO%!Uae~ zgnq5{@fC8UK&F1-#yT**-ol!lOl<~lMN~A~6S)PJTIfZG;ft%E!LBcW0*rYKF-f&E z`~J_U8<>47fW=T~BBY9zb`VsVk`O3@`^A$ppN5v0RQsQM{)j^geg7r0Ddy%O8fB$R zI9(kJO+sPWwP7#mz;wd&|3IS%OJRDP?GpA~8bQ7%eS?;UNYc5&?e?CK3?5oWeVMT` z3P^xd*(xFxI@t9UK=9bQJ;SJxrRVB-N(@wXBFuur!E=Q$v&tbymkgN;5<8=rC46hw zd6TDGXb%3*RjV3LetInWNf^1!hY0F59*X)z;*t)^sZXLpqEGk+FzLegh;lI+-sEk# zsgb?v?I)C*7Ffx&+&>O^$+L)th=8PnrPBl-xjb$a!X^lyLj$Kyn|9x6Q2j@J6VrF# ze>|Zd^-Uj%hjP9*WDaq>3VV!qT*eG61!XkB6GBlj!Qq-{%3-L=W_KhSIyB2f81*CO z*Wt70$BpY+Cavyt;L<-h=`?p#3sDJ~f!s$vCVM%a!Q^{T&DvMd&wHU<7-iocC3BUw zf;%Vy>W)z*^E@mMX(in3f*R5O&k^gIaG%$zgz63G$S^yE+q{vX@$QC?*EhqJY*;QJ z*Fx#6NoeNR2I-7tIC-;UiSJ`7jBv3DCQc!_9P)T`o{%7+~6G5G=L4;17+ zl{TK`ot{=H0;tX_eNBnI zn5V=q6)sf?7ly$u9xQqPH{ZNAaoZFUx8pCwx{rsxIcMX*1$&?GHFN^*0hNRatu|sS zgsp;e@maB4s(=Zh_FFFRHeuDul@S}CSy^%a^wiXIsVh(wPFU{6HLi=$#ohJCeFT(Z zWiiKJ@B*-Ijj#OD3BC#6(q)q7o)fNNR093DXbF_}fs)dO-@ip4Dkw=&QT1wvm-luQhE{ zJ14|zj6};~EtZd`)+#kQk4;2Gu%|hV(*W!le1_?~Q{h8eMC9RKEO3Vw40X5tdqPrD zGVSSZ)C8p8gg~DLh3nQ^@>f7XV0Suga?$vhwfoDfJ#*1t_X;d+Ajf9a*bI>JblNum=8)e)^V!K*HgxI6FNQ8$@dp;bd*CM=afLQtI@ z>km?PwGv-q5OYovVW=k-4dNh4>?$1Buk$t`T;}7E#jhWYKFQTGPYt)AItUOfq#e=fhP8yQlUxZGXHRie^iXXTck6;3H~SG{9DKc} zc@rS6J*SXM%vyYZM821agTyy8j-YT&%2?b)9OkkaX;t1qp}+shd1YAiA0l%(2nnN* z{h4aRVKRSy?AS=8nS76XiJ!_w+^8u~cQ&orw|6f+f@cR5)rBzd446fS`04XKAE_rR zZK4)F#_|ZRWvfQ}C)ew42{mvBj(89lF^vb3Vy0yrnP??7x*@C z18G49ha2y;>cIO$u9)_$d-SXEwa1V9A6J_ztY!}@G=M4)HPGdvP<8_Xb`Y>OhOjbI zJ2V*Me}=Y?bzpo$QJAy0Ib}FigS8kg2r?64?2*J~h!GMWKn!tNlMBi~q~V$O!Utf3 zwoO4l2W~5}G6FPN^GF(7d#OIxLf_0GLvg1AHer@0t^7k>(&~bOt{auVVIu^Ymz8kd z>MPhx(duIjjNTgZG}KE@8HQy?q<(P;r{mW)?j9tr8S)8t*$#=?e%-cU+nuN)j!sqt z1uFle+!6!6L@~rRZYkxugk0|InIZ4nCYc=36Bm*r`X(hOHx{6kZ+zCHim5tVm?u%? zXuT9ko{^_=81b1OMsU{!fi&x+|afX(sOXLfXxYh?D zH<#)E@{eSAB#v^?s4@t-GN2PIW01<>FRXn&J2(Nq#xSjh^YfOE)uqKBwVkR&>p%$iv0aF%3UEn~?syw!P## ztiU=hE3mY$RjyW~VjCPjg-~>tnvL3Z&Zdx=_}4RwCiJW5fmXNcFdq)I9g`lwMzV=y zKY(5|bmh%U=&KC&z#?Ia%r_oiSe{edKW>*DkIho#csE=eK~m|Mlqu$o^&@rMA%V`= z3r;gEPddxVYe?=qdK=<62wigEs_2AfIB!_d$#-4|$|+cUvI1$!;370*sKFQAJx)(2 zG_I-&SjNF5$P$C8lZ&aS1j!^$4yT7z{2@|taKFghx!Ky>)deJ3?}u`07ep_pJ>Zi~ zxjXxh99)JYck$K}jg=({b88%m&JONe;B*bnNFAc4HWh+2kixhrqwtQe^NbD56seuY zsPPLT0z1}7g9p&mVw4*OqJ1v6;fCC)#{_D~7F!3@Am<;w#guB2xF3Bq_Ae4@gioh9 zD#{@hKQVzYtYHM9l2*srtA{V^)YZnKA~7Wh#2wj0qHe0=MRlq7DEu)Nnogn^o`x># z)3)3l{ewLX@E{^(3npogZc{_Dg80@QBM^49!WuNMLx3d<^YswtV`O1R2~8B(zmKQy zAjB=_qq!tqU)*yQZ(-evX_N1Lfsjj$1I<`)h1-38P?gu<{1@|Ti;9Xm#<0SvJ2t}j z0;TdcT>xL>1bt!?ID1uk6_y}G<1OwW{Hq~o5gv`f1Gi$*EYeS`=Jj=4r20yzNw_SV z@Mhs2U~t(?1!N7UC68ptqp117PMxW7S*Oa6bj;N}3{>4=1SU6!3_@fh#$;z;#yy2{ zdkTjctinxr!vv|+)v31rqgE66a>?7P8L4H?>MaKj( zy{Gr^s75hWQF6BMoYgfMn>eFLM3!P6wxqG9u~P+>3wP$b=YW54z5DAup0`3f;sp&x zg=Gehe*_09xc)Ry9^jM9;HSWKnw(>#z?LWWFH=AvzDD#t#2U;e4)-MwO#lg(&>3*^ z8R%dwAQy9F!Y$nub4a=x%P?FqZYEaW;SzLXE@3i4W-#CPK}mH!7ig<4Yt6+w9N3u) zf~u3>?pYASv3-=&nT1Qsgc-X=Ek7r?+!!nOaO1k!VcgEi2fPiiE)MLy7L$uk&1Ji~ z<$-qAg)C!I;T`UdU-2FWkBR|w)~;QAN8(Jb{8UnNw1tRWXs=~tVuHQI7KaB^4-J0S zPS1Rk?eZ+7tcW?4?7|0X{AH)_(jI_XF4kPW5B9e?yzzB#sDUkcBlQHre+Ltu@c1KS z*#D-ZDHLCYlBT%B&d_5bGWp*y12c0^R-=o;A9K~+v`9MT&NpPEWTu`0)eV?nk{1`R zqj14b%6+p)UxL5Grk2I9x|#xuIbr4`K${_J-Vfh@e{LpsC6h4Uw`v@#DX6h&0@Ze8 zmSdw3jPEnHXpo)5b%ujH^DSYedP}5EDVyT3mHmhxRs4+5eN2Cb9QoalBYUJemMf!Y z6D?@nH8lT0$-MgLn9{+g)ySk1QdKThojwFu8;JLR2CPFwYx7}N$}H7gh+g&isZ1JP8rjHSKRx|zcpRvPL!)isSyfka^=6azODxk$`gT;z&87kd-b!|S zm=cEE_QnBbG_m4tkx;xCyvSUH%ByRCPhK47wir|b{5ol0)kK7wI9w1F>Q8UT0q>je zdTiT@%$! zr#*91u+XG6k9QhooIq7iPzi57#x8$-l7)JViT(@2RC0MD5x9S-%v2>l)EyTU;!;1X z6yUU9(shI_SWI;B#cv%V7+5?I_pX}0;l+O{e*V65X8HQe-BA1XeWlZ>h`(mC; z&B{*p!o}qPi>?29#70sai!#4OUTG zt>Tm_UVz9bT5BuE(^^I;iI-MpMkQPZNw_4aMT$47R?#A)V^4=^9gXNnKnPzD6|F*Q ztpo%~xCTW?LbxR4cAn>1d++yszXAI@zws5XEi2l>kvRmmpck2Y7@Obs9En} zM+8zaI3F5Q@NvqX7%`?OHsJ)0e__?8qk=~XwM<3;T^7x-S|9Dk=+dX*ggy-;s@VeY z@gKex3hu1DLP{9jND&&}&c6z^0Ll=%v(t0>w!bJDPxiv+gc^h$?9sPS)OeOv2tNGY zH)pQ>`UyC4=^Ro^w?$kOlk_E-0qEl}IUe53sT?elY9)oucue?=F1f8-C^bvGU2s4( zw?x=!L^yyB#|hE)u!R{?u|1QvFY`qF9$WNu$SQS#qi@#jz$^gHN77-S&qLr&NBBE! zm+zzfp-*ty$2*u_^UG{Sfr(Rhj4Ix-D-54{^@L!)V@g{Vm$r;3!SP0WKc@R4y}_Aj zZmkpIfjz38QZmzKCG~B;z@>~30ERSqgy0AgjN{3@pTB{raI?ujp4f3BC>MV(mPWP5 z_@3q}SQiu=#ILZq+5(!5-L5p?0xw4i5w-lwzP@bWw!@STIT2G&G>e zbiWRJQE)UUw#&fVu$GD)i>_f2R)UM;XjT9Zm)_4fQ-=7`;vK)OVh?|PU1+`?byi3R zS8Qs)aL-pUg{bM{Va0o&oJkvTlvef_cqyDdML8nvb69$f*{8YmmJV>wT-+893xJ0? zx{J#bSEYa{E8AGioaL8%ihUI0BmPe4I0M3U%`NziwgTf{D2;#O8>pD9JjLFP)9G+9 zBYdM6GlMZY=47W!Y%ta&EP@ggHr+{Vqx&-s_~VCb607CEJlTr-;R`VYa_+%mec$2x zm2018x0mn7Dc#9lfV`IdIOjaw!qXmn+GbsLb`QKQuCXSnt@y?NpL9CFt&@P|esWm7 zV+QqbpJ|*DALwOjcgiS7HOH6vGSGmvV?V;c+Gu@`cJx-BS81V0pGg0~*@-_#Tn9Zd zUWa7Bn0rJrtv-k@vVO6^Y@!&Ri>&~;uqqsD7c2g)v}YR8!d8>Y63HPTth+)neMJDhy~*MGTX^31H78=A4>gD)n|Ue^_ zFPamqL01a3<2S%Gj%6vv*#$Tz{VNn9jw99N56mcta!tjPNWj7jp}Eo#$P3Wen(H?P^a%2hETNEXjewq;- zW6ZobAnzou*~e3|@K>Dbi`)d4onzi3Z*{>5s-lryeRVxMIJnOam7Rf2b2oiDcW~sW z4+NZ>!JW4Ys*2}NoHW0(eNA2K4atI{ZW(tjx*EqihF|bYeBBmwXRb$N!4Xg8x>8=| zPib4YK`<$r72>{Gq8ua`AKxV^90&UYOjxAHvt<_1(@2V_4>%Wo>0BK{sPIgXTX-X^ zofq>|-v;CrW}nYv?Do@8mT{rrGiHFoJTvHEfsiIsj_L#VRKJa>yp1(HpQ)&hlO85V z#f5J7`(WQ^3;LH&jRff^}JQK2|r4Kl%04%~>u@@7e2 zFAY4eolWXxY)JQK8@!vv3aOx1_^Ho8B58lvc28*owLW>85oYOQS;u4WG@Y60x1TB z^PF+{Vh4Nz-hh0I5sXvmnXhcHNh zrap*)8xL3nfS639@J?t@aDzYjSMXUs;d70lhWatbDDM!%- zbb+EzjtLalH}TMaaklYxoMb^VYgSBC@)se+NuGx7mR<|{T1N>~@JyVG5yBvxhY{w) zBjh=Ho*5y){G(Yc)UiQM;@T@Mi7CtfZ`OARLGZEj*>ob zWkimSt0i#^QWA1Q+Yxd|s@`r4lp|lPtt_qO_~5LjWNH`_;_orzd1C8-{i?9OvZIy9 z2|133e|&g!fYDS%@tWRwsuI+lfBlI#zMF!*#!(4Odb7EIPNu-f5Pw6+a52;pSqV#Q zm7ge0X*!jw)Z*o4$g*%DBUFI5h2-G02o)?r0g#EtpVEVvD;~`}5NLu+lTWxH6QK#Z zV|o0Miezxxs)0>B{UY~a9}eoS3Ppz>F}co8e|Sa3hodw?{(-Zj{f36sRFAw2aOSWM zXhAA9-32q5jaSo~7!L+jdOb4aTG|mA2#wO}Z@6X`$8k#vn34ybI3_?Elp=(OcgOE$ zsZ0uc@(@W(P@ROi4ubsL06KvM#I6;ohWS0z4py%>5#5IY0+Llul%uPRC^aTo9)5L6^| z9N41rlROp@*E>R-1XjsKe@IEDmWu(w4GQJ2L=MSXQ(qJ>oHD3e5)^yBeu=A-#WC_j zWR_4eZBZhETnO%Am&U7`sUTvwDn_Q)!m~X7S}ftAuSB-`%W>v-T^mQ^m4(*%s;Dy7 zt#029b^C56(Rl||UCNU0>9I z@pg&UF4G>O+F~eeM6gV$5aCJ|%nF6B#$s^5#zsizhSImZ`^F?kk@h?Av3=)Qdt=NL zol#YXT5t~BEFs^NhH{8Q>+=-V;53zFF4T6M*CPNPDU{IvOx-?PhkfYdoG(B^vS)Ao zv`3h~?s0%Zv;do*8ikQz5reVx+cG3Tx=`I>in|Yw^Dac1);wA;gX0L5b$6xpeZ1ed z{#vLGq}T0Qx@OnXsy=NW^l893NvC-ZL@>3h_t-bWVV{jswCl#bT3HBBWiDKXFn2AD z0?q?-a3PfSTgOiPUoerd|KxSrz&n8iT-#+W4>=6xD4CZeV z6`ktLH?6im)*tKPr`WuhBRWad$0*9$$_mmCMp0E7glgXG1X#lU!1vroWN;UKs3ERJh4sr8Avs$N^Wh$sK{&y6LawNQ0kB1+ea*!oEJWsRR&d2q6&FWp zl$>4QYk2A7L&n={lG2d&t-0-Y2uWmwii`1n9ajj#r@$oWv8rUm6pDw)+{hGWof88+ z3Q!iSOb&kKOxLO+0lx4G3B){{kr!_7-Cfi@&Y=AtbgA@7x;T8<5)5;Hgf*Bwq{j+8 z^Pb*RKakJhH;&xq$({Q4$T8;?r620_ldj!~Khe z!8q_I(OC!|7a%?1on#XNMqOSaOu%V9;3<9`AMKU_PKRz~cF+7~N?|+>; zR>?=QAYV2lK;TfGs9Rg1J*XBVpc01@B4z{zt^(sW5Lpoid->)E_(;b`D3CrOdg>QE zq5cAyjr>Oi1qVu$B<|Nl0@c{10)&V!^h8k^{8~I6zn87?`4kvT29|)|GN_9@<6oE- z0)#J$G8t0U0Dm#+gs0oG3PBDPmw1-}#b);v>BdD6yq?2+PAYA>8uiglpGG|S>wzcd zZ!?A*M>cYu!@Df5%j`h5k6YqEd~rOuDn1T>=e4?eGipVz2>}^DLxL+-5|z~PCb%oS z*29|bg2R@5+c-D`to&`C9hCrNT zk-qT&(cA1B$RMsaUFy1~LO;Xamn^&ne<#8WZYw4(x zO~_l4h3U$^JaEM?;GZyf%(iqn;(AZdsGD-SUPty}_+OsDo zvk)Dg@kOc1YeQUk*Cd(6BRz4ivLLq7NdX$Ty9pryP2VJ9m6#f8- z;H*1{uH-1^5h3f3r-m7(#!qIX;7fG48c}UuGT*N~GZa$J?A0&tYTTQDnX7FE-iAve z>=ap5=zy0BdbnmrMqgJ+n3ifSU_vyB%}U)7adT<@G1Is{#t~IbcZH;WaY*WO*Gr}c ztd68Rg8dM`AVXY~cPlL=L05*Oi7SD@7~yEIz(LTDa%~3~=5ADuV=sb*IkO_t(RW!L zB6Ag7!Zw2>oE;dOgA6DcMO7H0T|}Ru^g29ti(ppUk~;CuAuTmC#CPa5kTdu0k&y_z z@MGVxILB+vbC)&V>a(fbULl)0cL|HaQ_xN!*L8skuZq8~K8C1(U=y-BfED523co)U z@Z$s;Ts|Nf4Pp?3(;CbKVuLx#%VZz=i!WiqGgR}UJRo(L0&qO?6~ep&d+dIM4Fj`#YwqNhTx)FizB8u^gh{6^0N>hT`yYink{cV zEFLbSlB4?=Oi?ML!A;v8c{_LPEF{Yimzj~Gw=7djIRbyxk0=|m7hpG5L1|!S#k_SE znh9Ire*!eaQs=YM1SF=z6g|VZM);s*N_rcML%`YA$x<0!5xOym%O^kaspd+^P=&Zk3ymY8xt@M7At_+H9WK=OaP8ask<@O2&Cff2S*15 z(1IiJF$PmcAQ&b=yU;h=zJ$WE3bv7W_da-IBUrQ{d4jl;A&{)tD5waUo~c^2*cC8} zuBmVUcLT+siz`$L=kT-7(9J0Fk?x)(A)!zenU z?H>)ZZHx*U&s&{n-gOWWuPZ`9^T?negHkjWFvzG(8qmvMnv0m_6a}s{Iz$w*$HiC$ z$pwGd42grMXbelFre>b_i=u$9YB*a%$45lVaG`ik`wNmJf~{e%^b%fp=P}XpGa80E8}34$F{-^X)6d_!xfAGXmxk z5nMA;Hi$-wBc*&EB7lJWow$g9WPc-tu+>AK_~`;^v#dlQ;{u0crU0`>mPJmd4G6{z z%zjPjQJum8kt~Q|C>hrVCXFXZ!9Lfbl5%u@R(Emx!VX@Q<2k(PFI|1CI$+?bN%_EnJrU2J7Kr#sIH7cEdETNiS){=77u}TiOqN&l zB}o_v;F9da15tv(v#*mx1ti@XtRy#sQR9LT3tq-s2K~%nOn6J&vFfRm8gf<`TZ|5b zJ}PtAc;+G#bf0q@Q%0vlBnd-2ud719MK6a>$a_n2Tg1^DML4*tp@yRjFgr%ElA< z-1jS*^*Gm{ISGMaHAux6luVK`RuyCs5EZGA6`S}N@)@7tVCD>3D73Jti>10$wqXSI zUAhK#hUZYXml^I#*BJ$|o+V8yL#;9*Jf%A|19}uUafrGHG2yLnDMJ;uQ8-1KN+*I9 zS;PX(VYFoaW5gd8AlTL2;`0$!%(j(mvJyMfn+Qx!Z5~hqi!&5!76|r)r6||2l z&AJhL#D-+PIm9Fw3T;=V+)R7{H@753nikhFCMe)=1>_Wm!K5&jCOSL2Bqvr4e|g5B zbseWn@*#E=iNF~7h^_lMtGskbA~s6O;%`G^t&^kGw04%U<)z$Bmz z?V00yUt`(?jj|C(MyMlWlU9S4{`N zVti8i30pY_15q~?b9EeJ2C%jLME)&c{~$b0;rhWnO)idS#iBF|9ne289-oT(13kvv z(lkyfAbW+v8TpjjsD1$Ra1~g55F9-ODqxbecLZW=ukyw^2ICG=+&Z+mJYY+V57%sa z_er0eDni4=&75PwI%2~CUXt#E8wD8#PP!-uebA|N5Sv>uQ~WmMgrpF9Lso@P6k-t& zM2o?|d})I)Buo)H%QHoOyqiOaz;nZK(t!Jvd!g84XTX^Toz=whbX+WMQWya$q&I^S zJh;lM5+k!~zZnwIs|7~fYgNDD+#8;&xvl5qQ=>P)T|;%|#bI568pCdNqd11n2w?a? zX2Ja)_p!&B0u*X*f!8Qr6PVO91vV`Tgq!pK8ufvM@K!P`;Lnw+9}0zN6EI}N1_;t_ z+Ize6Cg>3_fn^&ajqp)dks>ox;hD#l)gSxZz@jHOJ209W7_YUq@NB8-ZagRNSOzSJ zL*0zTGjr!Oyr7G=F;&P4In-5FyQQU}I!-yfSC}7ljV$y=*U_20FSodM|!>#*J ztRX}NpQ2I~q;YYC9A>57X9P5MMa;nBoDj9|SQ~&LGWq6H^bJONc_@lF7kaV^Jqakt z5$%BwSW(P6YWd2X0~Z+xO$?3{D>i?Q^WMt4@c6RGC5@Rt0ETX+GqVbUG#T==& zBd5JIVJ=WQBuOVqF*vU*IPAKP4t!>iq7yx2ci}L>H4M_F@iDYh2m*b%1}nHCppG`0 zs5&RYs=#J00vTC88N!Z*%b~1TBd7^htTrRWk^I02;5&RPI2E}=+!t|o&b)*=Kr>qa zV?{fpc2tcP=Kwyr+5?LRc3D>N{T)y8t}RaTybB|qw~xo$nFJK1Xx^yf#jz|105Y+K zdV1Wov>Y;y>$x3l(6Jr* zBvvJ>491=cSzRnC@HS$0Z5QSfZKd;c8J{_&zZx>9UX$LrDyK`#vNN-4kLJ8+LsVD@ zq>r1ycSf8yVA#AHQ#sr^PV4Zr$XRGsk}}>%gbTrv^e2`mDY-EtVjxC!7xKVODYbDi z1=9P0ej$(Kg-sXG3ZUQ-jEteoX1HtLq2HlOZoI9~eR%9^)|g~?jvDN{SY(DJ^tkok9srklqnnP*I*@&x4#9 zWfAGsg$c=EL%-P>Ob7P@#9^9A@+ejFv#^;2+!b|eYtwXo4Es?_0K`HB^vz+Ov*0#_ z>toaMn>S~kl=^35K2HaFbm~Lh#R<7l_%u&5DX-Q)m|7E7cf||%ZNIr7!fea zLt#jt;+r2~R{&&Z&}i)QDug2aHR7SLmbWK^NfoYJnbU3gJ>{Rg?E`eLh{$!pe1eMo z95I?z2%pkC79XC&yIP6WV3tDpiIBDchJK-0-12Ao~SvU}@PJluO zsPH$uJJkxwalKvcB9dznR+R|i4J0M~AQ7-zb3hBjf*>JLpoXKC=r+&{gosJmA0Qg@ zqzDmJGPo~q&-T3Ir;Qr8^)#NzT^=e|%^`hEzk|{yLsTv^h`b%Y$m=G`W5LD|lX$@a zB7iT!Ul|Iq1cm$8dM41-R?2btums_b&-qAAe9Zwi0~)Ia1T87hKeaCrwt=D(aae*C zVP^nf#@TV2#VmYC?h~{G)bJ3mwEx|6xPT=-mz4R#oTcSsrqPG8Yq&#}=d>haP`vX_ z=V9D4r%%g*K3!`j6;g%8KOz#AR5>(-rC5P`Y66MzrmfM3O+z&li+ z>pl1Jw3rl+-QXn1EvQFLzTDS+6L>Rd@`2O(HJsRQ1rOxrX*N8Gh{rv8CMHQm))Sb& ztry^$O>CsMG$oK5+(Ve(qRNR#3Ir?f5#a4xvhMi6`g1cnI7rjIC?ICPL?p`5a)g_sPYZaY9)S@d!q5`NaqJ8%|~Utt&; z;k20-_P-Wu&dwrK)|=ifZM`nF39~3p5oX7o&PQYiPv9aTA8xhIx=^q!!*~qm5s55A zc3Rf78-qiHCIr|A?#$hm=R%6_DxS*_jP*fE2m>HOw74AaQs!|m^?*i%$#9LrOI&^0 zZ8GRm^NaigzsPEOE5CJUDzEje{BKN4E;00p5oOHZI6akfaM7v;9+E;6`fk6*?|R#` znn&Vundve>Mc?g8SV#Ys3<#Y?=NYCT`*2{yG7@dh77*mOupUSh#Q`Pe{0H#~aE4na zea7mViegBs3DQ9R+Z5aIp1k|>$e-D98D!!S+I$Q$_XzDC0*Y|1JPHkq5y0qG)B28H zy#17n$i;)_%SuVK(UfdLdaO0W#Hm1v#ptVor$yk6FQc|V*zJT}dfI5h3=^pIY4 zi>#)ZLrAK*iJa&2c3)oCwyAFHo{g9BFzgLWS8u2neKYxs|GG~%U4i*R%^k=2J*KE~ zgS{cH*czP!96}5H-70i04&k0Gr<~bww^tyR00?b*etxID9v|M$%rgTqlWYQ}Nv;d<15Zl^Eq zjVZ6q2xgb0a$0M$8*z@&snVD&MZri6JRuhZ3HU^CF5ZQT7v|l-6y_s_xx6V=njB?j zT_1_Ol|xy*0hX|Ojk*I~dY9W$##DvB1*m{^#-XCln0_|W{4-x8A6 z7PPJP0l-I4A~HS|7XgW}_=!vN63jvlnJIuDW;78DBY-0WYVHJMGW6+= zW8eq=(#(a47-(n84nPz}htXN_y|HQ@Xv6x$i*?1Ag*!QC=geVK&eRx?hOMiLUMQb* zekWtKPzzszERc+QUxw}p;I}clv(6JW7cqYo<+kbut3FIP&7qK7FfG6^1lt#Yf9QD_ zJgIgS=S|8m)d(R>BrhcQrkTac8cfN0QnL>!1i=@Huj z4T9k2t{u;9zY08r`o7T{zXG@*NAWGHCHs<>qu01w!msv$34|Ecpb*~yZ&v{GAPcn^ zcAM%Ys)MjACCJOd39irdO`*uJ>KX^vtz_D%V|aJYYX249f5EJ&-@$P6R{XfLHmnH8 zha@ObqdT@9;LO&&SJtkXyY-56;}uzjf1Ew(+rXl{hoKPrJm?1><}|N#8&^ZB2mub^ z^|EZo4izkDA!eb>T7}gGF$WV ze$BbjTj_7xM=U#=C24(>84oMLkcPoC>+puqRy+$^9ce)XCg{@^V91j!X@&n0yhxb^ zJcbz^Ht9s3kaCc70SOTt3Q^3Pj}_>=@fAq=$pWZL0OC1f01Hd{TRFh^U{UG8+c2n} zMzam)*{XHr{Pf=QyVj3L?;lZp*g-g|v*EAl{e#LHzFu}8;OR<2{yQ9wK(@Uk-Lho7 zvHLhGK};Yg4w%pf5$c|G-kO53$UAL)2fpOsiDA5-HqMmMw`f4{lj&NJU!1l z`qXC)EXTPTjh~>h^jvO0PoHOvcXd7|eK9 zxbOFUcxul?Z2MZa_x$t|6c{t|^VrT*;k&b^Tn9|b>l(|ZaUl%dfFA>96B+KvQ+PPP>rY`l2gn;kXr-QPx1>`+ zt) z5!ao@!y|U!*zA$IvVtE;y0MB}1BmCa6IGnK9<#ma%;i0bcwU%^j&s({~-|NHJIiG!|$kjr&* zcf+vtl3v7NSO9NFYx&IjC0tmNk3#-^U>3A56KzIET&3Y0GJG}9bOc2Q=Eap#VIHhCgaGAkAyTcL9gbC znPh=cxGh2u;~PI!efWSdwZ&O5JDAP@wJ?W3L zw=nOHY{*tl1|C>2Yx{r98NCHow5vKy!>@~`1au{JURlsVb~rK31cNj5i*ZiOJrH;M zuXsdEb`9xK;r`(z6Ks73mye+=K~Qdq6$v~Gd^u5}(aLBcClEWtCBp{V%N6SQC$z&e zxsW0FMMfAZAljLgV?eYJb1l+u&*Tl3`D5J8{xV|O_7QuZE@*z*7$MKpw93h2r(f|l zk!P=HPFqIsikcF>S&aE7`^Mi;I(T)&oJ|B#3TQj+21$FZ><1$zmB=nYgHioS_t3b10{wMjI8+U?&Q7>1(XB!e=c>2g1W-3C^m16T89#L0M(xh^23hsQ;hvtxOs9ZRl1|-%Y=bWnKOM2PvLM z>R~v-Z_#A-F)#fT=U$BHIuJv`0{gh4Zt0Wr2X6oN(!ZWxaUzeMy!77BPvx)}9FpTv zIzwEz;F#kJBd5Q}oIKqwaEBa`) zZ~}(|<5zs(4vX>UV(961phqBB?tQgT5@-d&N6Ab(MN;Ra>NI&AXEiX_4yx^qAkULu z+zA-&j4d3PHU8DrU?R{cSseE9!T_-33p7oTMq7-51A$i7t@wS;{%@sdrN7~6rM_zV zhvAdX&S_b#jCB7pD!xHK*F%= zLC`~^X@}VmUJG^O31;P5M<-RrGhGEW7%LuE~C*_AW7mFLjid?6PJDaPwJNSqv zzqqsI?07eKGA_=0vG!o&1)e$C3LG_xy?!7h*sWv0-DrX@h!I+6+ z9NMidgIGt|w0-2J=^*eTF;Eb!72kogj(&sSTChX>azP*Ud!^%+pDLn5#XfHrdshAe zc7<8pO_gG0uwz*_UI|NpC4*J66pbfYC%R*u-licBxSIFHW2TK5y?A=hmX~{O#nHZB z#c6?4aB^wy5bNNW0}3A)kgDOd(fknnOJ|I0Z5rznl9J!PI;wKhvGuoG#e?S-+%m+~RFmynRbYg-;n=i)ul(#)Kw~*I$)O$2@c!(}DDyO(UC7fD&+` z;wCE&GSomQZ`MfHGSS;1G>ovbX+~)6Z21^W@b3JA_*qBtT?7G8R5W(=U$1jZ-D!x1 z)U;$AUg(bNl7aJ-#Bc~OPd{9|en&h7CwSw_dQ%YTfo$YUK5;WS^?RSENbEfTgI14@ zNP9@^6*gy0{rnE*j*nNit1P_PA7E7b@5v*mu*gu!cDTKNWtN>YrDb1d}HVn6d2PhKsQr?ArgNfC_%lFtKdS&l2E0cDh2i8 z0Rk(ArN>T{@~RD*a%zll&D|PbDjPA2VO9%{n0voP;KX6f1AlGj{JxFjDWOv;l7Dvx zpW|q%fde*>t;a%*R^$XutdPKiv8INM8xk9;D!YlU6q9i#lNoQS>9Hv_jTNC997s3H zH39;(Nxyqk*Y~hx>UOqe9Spi0m2sR{ef^k&O6jzWw&~C>(8c#y_1IOX{|tM)m0Jais)CC}9e}Q*-wHAKA<3)c ztid;#<9OxDzakcu`G^|A5p-l*SNk)20+C9@peR7`k@y<}n^7w(*Q6E}jrN|W6GJ_f zatDSYW#N&gPVeAY?yy>HeF`#((y=Z*OWGRQ=?S z=ikt9<-(%k;_btWr}IdKT8ugV#ufKI!ow=I5NexCJzZz6tcDv7a5jxGw`Kz-Gj{HU zBYIgS8Q--)v8CiBSE@nXLOUhk+m@}ij#7fpP?KmDR-3SZ%3>~M^2P<_8{e1#3OELk z@iGoHWdgpJ857+>^m_qL8QuUnW!3Wpyt+`wsl4VgMC%}s^_w?u-h-Z%(uR-A+CDC5 zW75$IP`lv0?d*ThKqy%?iPmx)a?BoZ%!BBGb5=JLr03$s6;Cp(8etOGso07eM7RTT z$&M9azR09)vwNmR%fFIfMPm#&gbR(?F`gI>REn(Eo4Yazy+CP3%K0u_2iK{V`wg&5 zoR{qgRQ%*yXUHN}opXh*2shdshBVq3G3~hYx+uYORSTt~d2Ju%&mA!N)d5{=5V&iZ z%i@%F?L?uM&%{Bhn`)ar+Y~$(yjhwUxXc~6gsoikBh$q3s zIw@6(1}jK1;lo9mFuy@)#3(>J$|S%pP!MT!AO{{mRTgv%my&3dqzo}|^AGhQW<6Xk z9EGC5-H09*OJX`ylp!v~&r~*5^94ym0vYE-i-E8+``+FIw3=Vg!vFSjl= zm@L9;Jg1Z8(t}WJYf5=J)UHZzP=FXK}{o@uqED zk$w$%nU@O203UD!J#YB2U(hDp(~@o+l7Iha zg&YMsr`WFRp*s=;#}_~sf>uEk{i)fO|3IZW=^UAU5il5~7c`upl?=KybA}Ya_KnX& zj~&;ck1y|jo~pbV%ES@w4P@zblOZ7qENmQ5GM-gn>k3RGyV-R|s0E+?Eq2>@QdoW| ziZT6<@7Z%={^pbOHorD(-oSU+;~X#!QeOVAuWcc@_@@hJ^YDRF2UJh#zv{8mw<0UL zvuc&uO!Fnc8_5v!ga^9epN4Ut} zuk9679C{AM*o~5d6H9OkHXXy#CLHQMf6(rKNe%q`ww_xtRBH1HvkH%Tb^Rk&56TFc zNL68Xu}ErqQ~*^hH#-gbggfFHaQ{I50>Emzw_=-^V6tZ5{fV(M1VPhTLX8n2>}(T` z5P15R`|v%e8Mx|!*P^M^^Sz`u`cvn#Us(;N0~li2THEtciNaEdEt#8kZ6&7t+{Mj1 z<`mT(EG}S$7%O=tXzg0T3Xv_K*gC~08!ApG^;1D;11fB#&6kHV(S^T3cVO5YI_DcX zIeXgGB?mS3Ec$eI(X+FQ>d&wE>-h~1TiLq7ZGi~G)MG1BgUi(t+q_9mEpeySexPaeU<@CT0^JjDtE zqxBvd)38c`a$4m_UyQp(St8txyb_O+ijq(JL@j~6&JvRE5(9M^G0d@~8)>aeyj&*6 z8cJ`S1MR)kl?)AeSwbmhYS%nVO~csR!{L@ds-eoWOXlN@uwJ!utDEOuhE)W0@4iFF zd^xWS%L%qseoHX}+3M=n)r+Y-H5#@vc`Fa8_QXW0UA;3XZ`AnljZJs-X<0YhIPIRg z_QyW@SB?(}NShi~a_GZmlux>&(#tB#BBBM(`}l`>hyFJIyT^4kbnV1|OlMw$p74nK z7`{5PBUkly5-aFhz?7dlJcZ0V!DuXYS~PWD>NR;d|Bl`+;hh~flg^@Y3x9NhQ6*i! zk|C9bzli(LL02OwXqA-K9zm-sI5hE$76lp3~AeVAiM2h`e zT=@Ujxj5}$v>a`BUWVsEit|0>;7l@lnvZS=C{ zJ2&kgS$(ofWlg)4c7|;oB?A&vXmy}MD_5@k1X<_s!rg?;@0`+|es`wAnMc3nm^ihX z`xoJ&RU;>!KCAG}vkI{x_-~*Zhp$vpf*!@*!##95v}~zqHkobX^YpoppctK1t{L%Mg;f5< zEz&6Qtl(dBxhh9e;Mczd_r((EbAv&SHp?^@5EC4|k^<9Jkj zD7{Q%o_{Y2Vs1o6$qv*&cZG)CmK)^4PMed$(P8%EL#qrkUj_ zk%WHxYqvD)o1Z(En+ktc(zgF+6F-@-@!vlDk@^}oE*_7(32tU!qQx~5gV;ivR@;t{ zu;2rfzl0C;l_*l9m~VDgYH(8Tb1_Fu0B~dxonE5EmWlAK;1f%ku$i-ISwq zomCq@tf*%_5=oS;zA}!oC2u7v2bi3A^LI`exc`sChWb2S%%J7PpPt{2D(VxTd@}N- zbo(Tl10wD}-Fxr7+!e9%qIzF5@OBp}d(e^PEr|uBc$yNHkm9~+z;_rmM!x1~tx9?# zv;0$MR_iI!;i9QWS68s=IBsFl8NSNnszF%#M4dVjKlwwTNKm9T0AM+rjWHLHb+Edn z^+ww*muyP1IJ9QX@mz|2Z$!mMBgSIQl8vi~pal)=;)P!zKB>=>8s)DVA1r8kFxC3b ztk!o%l~hffTD2;;=fp&3N4`qD>GA6AK=;+!5kTCYwJ0i_+=MMrlL4;~E}X=b<+{|& zo4jXp!>p2l7)vmKt5)2=&~x&-mCvlcb7N8MT-*vW7bESeNt(&4;X_o&fGxp_@PiAO zewmwIX?)B_HK1dh+s0{8g1d&&UxdJsp5xw4xHbRvZ|xkEJBP45gwoF4jjfr51=6I> zX{awPP|uFx4nfuvHAg}SECU0G;k;5G#x;5mDD%QMV0R?c}z~ zK$CSo*@>Vws`Pc@x`?*kWsgvXC$9-Un7~u>Q0csrAIEhL_3~pp;Lq$hHq%{Q2ZJS} zVYSzI5aTF_F`N~ci^!?bvwXui(1!J1b5aAAFqWJ9Vf?X3keMdCk++dD1CuOuUy!S5D9i~ zx2irpHQ~|a++tz=W;UG`aRVE9tTqd%h`_FREWJkBq)_V)jIMhdt|Dz-HF(=qIpa7Z zAuOlNNqXqzmtX$+K6-lYc=96=qqh1Px!;&JfAIc4dWVtN86W-&5%sgO_J9X-vCdIE%;KE z@p^*7YK-9;Awn5`&!{=Icg{iSox3CKV9z|ahU)e(dE+L_-6@5x95Cf7n^E=YU(d$k zeer{A$-lj%q!j5a8f>|6k;-d+D*xF5Q&tW*szzJ!TV5T!>(#u_R+D}--d5A`3SCpx z-qWYCeo?Y}#-Pt{TZ-)g14Xy~^);5^T$pp&#>VkIOVCR2)}B2V(m7etc)NGOwttva zbR4U?bxTj;g>+IUegT2`(w}=%gn!42^cf^V43?}n1W8jF<~$MPdj1nd$dJFp7tCUe z_i)PfaaqZcS7}LK)`qb1rJT~$fDW6kC>M=-Y*5BUgCzKoZITDxGKB%py^W~E9(A^T ze5}$cSq|&rcU&@OER~6j^kHs1xU--@8~eG0Jm5N(5Kch=Wgc;KjWvYPhjSx!_8i2q zIevL1y@D%;{Yx>2K{L@EFh~FxF@RtM-?$c{(0t^2%N6N zRg2dr47vKNY`$^7c4;c`*GF1oQvSnWEx62H(_=lZqPb5#t96wh-Ff?*_usr^;k!Tl z?nxVdeh&YA5W)BF~c*|#Jl3N*t_QgZD zo}=1?p@Jy1``Ngb767b})$`|$ew{(}W&3`xv5t8V3iVy-u3ynP zTwE-G%X95*6S}W*G_qtZn?6fQ<~?JBpo8_lJa^!IOX`-*X`Zr%BZnRxu<4yUavD#)^VQRk?)C~yLU^8; z4jr*j5%Fcud3-oN3)ej~m6uemMzX3U zQm4!S+*X6KgeY040FL7zJ!rxF!f#{dAcW`?cDBdNdIe1=+ELE}1girnZqesXtZnSX z;))#V#2Nq~?i|a8wD*B$0=B+~nMDV}-20B?lH9Pz9((LUn|P42v)yvJoqoc-8*CPuo93wJj|zk8FJ>WZk~e&d2ER zMm|Oez@bW4F($HF<5O# zOdQB}u#E+-fK_&-lwv&^DZn9)U)L#f4O@n` zw^nvMM?6Pws}^e|^IPMrQXft-NxMVbrDu_`66cXFS zLYznN%zC2Jkn{&IrbZoHGgrMj0pI-l{p{Nw5?1UYS5CUEvn0@lhBsIgcG1>g*Y8#k zW}^YtFdW$4xBr44#jxD{C@c?%?~vbKh7ceq7rHx853LiT0E!<0$NhDvr^Xu>x}<#S z1?y1(8#r#Zghl?BD=Jo>zii9-d!Jb~@WGam@csNlf5_j0nr{sVJUq<4i|L`|?iVR+ z3R^ZJcNh5E1U(FlycAmn_MPF^r*%zbQ_66(V-7ZkB>&W zigXdE=3*dnRq^hs9e=V!n^&vIN9@ z*^3ME2;`m$h$8T384B#__TJ}1Cd2!01CLGH|s6Pj4N9`}HX7V44* z{$=gjQ?$hxC6u9iCL-Fjx7T&dQ|ZkL>c}DaJ08hKW3U`lzrlBr-PH4!N&6_nc#(lSCt&>8rk1&zKAk&Q2mH1o z_c%M<&^rwP@qJ!Ww6P1W!7C+Vr#(7#zd_D=;NZa`oQeBBZADcGgd}HB$xzj)=n%sV z8HSd1V^30L9V#Lpd==Icqp7MVJChmo*^RTdJlK15 z&5g4rea*lFjhw3p9%wC82ecKXSlhFDem31_DMP5=Y=2QPOL;;myNx6~2Md4fn`OAV3Zoh^HRD35Rh-iMF6Z)I(v$DwSGU z9G~93`<|SJUtL@OpVtn02#<}Aa-R)HN^{6a47P0piQ4Blj!DHYoeogkhEoz+Y_^AQ zNgm#IeImd8Q?J#}_8*nAkAu_d+K}GfP}*Y*OCelVs&0C;nw607VSeK}ER#b}*;~1E z+x5%(l8Y2)XJ^Yk-W^u_T|D;vsXj6V8;N*F95_H#!$QPih=*Ik<&tkArZA)7FRa=j z8}YUh`#s*9uMBOIOkwzeQ8{ZmH}NsX0}kJmpNn#^F@cKvMp>Wh0a!0bMV05fTRWw%9z4QFbl zs-S&GK^GUq%u;-bBgKgy%60)Inr4-=6UCMt-yT+U>@ZB3@NvcG#=e;(qrhq5-?36x z;bg>#C!#V6OK%-=_;l6Mm`>FX8dR)?=ED@Jt-Y_7Ra}`4QF&gUSW`1JDAf1NQp~{$ zWo|XY3LDYd$B`f;a9gt#Uv%>((mBM~%17KrJT=vdnwk@OEN3!{*2hJgAMCw|8wskh zoLGXLL@WExYdCK7lHHd?i*nAr4JomBttC#{$L3<}8Oz>b812I-XOy>i1`_+%@J8=p zHij4za%UMZ!gJQGTyK_tDtj^HclA!kC8*$x^{!a9@_))b5O6Xo?Tj-r3lC!g3m}KL z3rlAfE?fx1$XT(!D!-EdcOA6#w91;bBMP>2yTXD;qq}ng_Su1}d~io+jDYYQo^)k= z;OK;p(nmwDIsS0Hk^Ad_9jJe(^07-*klwcvuDCcu^l{tdZJ7tyq4f}J^+u`v84kFZ zJ>}im+wOyP$TD~y2me=g>rz?(La3>$>_NPsIk*LqxN+cdXYdFC!lx<8(BeZ(>|bAq z*V}pHaE?X$1Q@no%zBumwLVpG>@h5Ns<`1fsQ!&|mspYlZlbkNLzY-F>(drtM!Dp`wfD_ycw|)lBcldBfc+NLoA0|DXC#E2&w;e9 ziRA3ODR28th1>+edMOXF7~Q7n1~%!y4`h4k(7`JcRnzu6aALvIHIvg@uUNKqlon&U zVF_(J?V;&~^r7>E+4)Xh8HRSfZXEaC1v<}$O{qn{18nT6IG8tY?{DU_BIk>wZb-T~ zpf8a!YFH&o<#g}Lu0|D$Cm~Te9NRcD%P>5#OobLk%yE%Qmmr(S`&y_gI3IR7tSxnm zDp;}_tAs}Q5OLJQk+OClZ?8a{*7;p zsjE0R4*&1{@A-pzxT}owP+qmwH5^iSv&gJ#&_Zl&JY=E%!C|9E2D{KpX$(o=F;kS} z*z2SMf~5&Q{&y~INc|ob+`(k%s`ERU`?fvL;yJqPS^&m#Nx_Jhh`;9Uu~Bbn`l6roGfL&b|PUchF#vAbWZ8u!VBs)j3PUpR6L zbC068`_EfJmKnNijHyQ?-V(w(?G;J}j>8&6<+MaCw5=9p40K_Au|a4o^p%Xjh7;+&a)=hRm@(w@+zD&j^h>slQ5cTywVd12k6n# z+BD6!p=-yo5PG}MO+^$EY%>EN4pYE@r5Pp(S`(|U7SKb`aGJFA1Ep@U2cK{Ff4?|t zsBqzn1EFEa-J22C)J-BnicbnU$x?kNX>82Eq^QZ!bf z$bsET7$p|gj!Zo$LU7?~QG4p?T+o*p`l8DB+*k&-K zU;CDR?JQuFHRie1lO;=*v|?fIVzASa)yRFgA&8|_zk$yx^7paQ#iJ+KEzQRqcGLCr zoSbps5n~U0elr@m*mCbNA>g&O+wjLD)w5jMA%h@N@Bx#EL^f&$;^~B*aD+mqt5(4D zz>7+H*yhYokap36xnztYDkvC7h_s(bQXMpCg@u)lz$BB=!g0zdv+*_%cCgR{a307} z)5Oykv;9K4U$|lPR{XE#FSXpU^QYK_LFZ3EVD4m~64!9-^|-VK_G)DR9!_Cz`-X4E z_*2KR$=tK#MV_uvRHyG{F8RdvBFw1yDTi$RRwrd@^N{5gMiyK>)nS3~fEF-s1A+s$ zv|+#fH%>pD2H@Btl7_Mj zGH~$H@jKps01IH7K7BPGXYtfl6#WO(U0ge{SY3AANJ5!EI#OsW_WZsMV-!da`M(Ak zj>d-I=dPIe*!bEtV+#x4X>P0~cX2e(>s!HDYKVwiJnqw-&C|VKThZ|_I`+>DRKW-S zs8X#=w(!PSR||u^_`CPazoTfi*#-mfO<0yuuu6S6h&L`67BK?AuYUXOZd@edMlO!w zs@x4EXH(^d(Mul184u~L_?g=MIcpzUA{WXBk_)+|bf)MF6(7IAAz^J?72RB(-h+e7 zDmdKaxX7`O&v5LrPHk5MKV%Jyc#iXNs$bEnc-VSm`)AM;&ad4VrX#{PrExVoH7~8) zy>sWUe*gQk(7}0WN&7&Y4s(aw>f~K4p$y9d<;(DD&+|>u=CdKP`}J)X;aO!)D%#bZ zJ$dvYotxpn@7#16({U8gonLE>GNDbVU+F*p^<{%jS~e$6Lbxe8bG4f)oSN+P^)DSN-Hf3%MfEHzRjlPPhD#6X@g>Wl?#jZq z`!}I8|1K6J)K2Vo-g8aNf2mZ&DP!aLKej<~U(UP@AAE2Ej#3!4_-ErV2=l_9EwXaZ z7es8QE63b2>&L;fJ!+fFC#ak8zmV~}A`n;y2A)7}Zs8|@t0UeFy*>tK25q0|#r~B= zSjtC)c8YezM%NG}Te5{NBw^epSdO6Sd;CzIT)2cx`=*u#8%#ow;iOiK=}YQb({)MPqXoUO~O z&kW00POeny-Sir|j;eQAHwvBiBJZm3)_E&1ex*9*s@C{o-_e6ReuE3dJLVMJIcn4l zp6Xc(AARMP7cr3xlQ-}Hb-K=Jbr{{o(K`et*Q3BBkNpkUn-D55 ziGp14%VeP~fxI4(oj=M8J5^|{g~<|lY|6xGQnwB+9glejH()?p<9M*A6q^lmY;vrH zRj4g|IsK_`zIfr|Z)$NK?ajXx-7b!fWcnm?t>(#pPjrfOG^)}%m@LZp6HhdBEJ{UR zR#Q~x^DBm2`qKVXHpgnX=-4#++6b}yAO5+BV{nGR4Uu$d*Tw!xt1&xE;#M&H;?h}2 ziDCdtwTVER{$h6E2%1%&W0h22v2a1u(9jbfQ;3Jw%zx==u{9dw#4)NgXZ_u8BUN~& zvXjDS@Cyhk&DfcnSq6Fubl?4Tcfl?p&|e&nxmU zo8{)Rs?Y1{@ZhvnkKcBx6MZ1IdXV8|!c@y%q+_dnIWim-(&KqPQt+i0h0WGcW|0}h zlG;iJK404i%j@3Z@FpXxJ~%jt6=&iabcQkIM^jDQD?(LafHJkTPD6_BAZZO>#$Fi# z)ig(dbWL;5eNj20AOj!k;`pdOy*b%j)L@v?QO!u+LnX@gB4KYSN4V0raOpNEno7Er z3c{?wUOzvzTMFx5sY?eA#KSZ12aOFB^9x)jQF!nUXzLtKCyt!ZVBR6r2m@8(fh>^@ z_>@BgLy3cT9CMgR6`e8gM^zL4cFX#YKYrtq4I4JBBhL52-pg4i7DEXWIYyW?6Rl1h zrU1%;c?u9d+y+}b&2v;Q%Hl3cjcekT3?A?|K3*K4&9~2EwIJ--`cub?$@Z3xHnlya z!7kU`MUJ`duCx}O8h?n2u%*E8dbv$kIP-N(*)0^#fX&%bufU5~E)x;aB9?}!si(h~=ct{P@*5w@aScAG6G zyTuyM-VNMBrN$GASdAxO*>&HZ{{H`3`{yZxvwyet2UQbTpy>x^xC2_iFy+&yaiVfX z#UKo*EFA4eTA2Ky0{b#WsLxpRo~N5h4?EG(eC^;CR7tE%chC`nBT6=tHx2waRM+EdP^H`IwBdUiNL{HZb67uN9n zGygGj?blztxbFwIoYf!8*GO_%j*TT^k(`-(`)oec@=!2%_|LYnMR}Mi9+AX>M(_tS z@fZ(CoiOCi6LCt+!f*fKfBfLz*Z$zer+U4GphqeO6JMtz&T6>(2!?!rfSgr|>9e^1 z*_;lM-8WKcMU$&nJ@;udK^xCgPPb*WewOq|uC13;seOyp6cs=(uQQ^(x~uj-vLnb9 z;kH^MA(AE&ZJ5)>!#OW{B8Bj98ypqgW_`zQeRMz3@Frq|}D*zrjLIN^6=) zQXJOUt=!)4kyx(d7ZcnPq}ua;bY~ZC23&`O=u(I^^<@jn%d?lCK5^p;NH7Hva&irD zq8@>Bh{Sg^#>yFDn*_y;AiI{+0ret55**t}e)k2{!}l_Y5 zj>)xyfY`7{3#pvkf&q8=*nRpy--YGn7}l9Z!1I!Vlg0tTFA$C!2yhZiBcYnBN_Ooi}X+HQdy0~tIznYt-)>T)J3P0hTH#9Xe zoI*fAPtM&7A&uL#=F~3aj#!>Ap-2WfW!qVU?K;xDJ!9Feqf0U^@2HK^@&ii9Ejb_1 zlN&Kv?BoAH&GyGoS#`ouEaL#NGc?l%lHnm&@4|{why&jT>Byc2`(md6M3aRkw%*eq zs`h^PYu8&#O8QL0y{3RkDU2rvRP|KHIw0zd4XxMT-Pmuz>h8DC>GkF%$fntj#WBkY zABZ3u?`GnkxA*M)6Q@-bK3Y|CUo216AYB!dM@JQ>SsBJqEn_Ivf`YbSFx_qc*cKE9 zE=Ry>!qKKz=+@J1_c}TZyc(j>0~ijBJ;^w|4F{9y1mV|M@q!gBuEzcM{BQi!^`3%) z@o6;S z-U1OCH?5%z9Kld__RNmsup9f%IUWDJuo*jjIKksYO-(XKc6MrBd=ETjHdf+l=)C0{ z$91pVtw}d6JY9`3fpd!3qxh5?ee?Qfe;SqCeD~6%Awg{`Yy}9l%GD3#tM9pJ8W{(V zLcxj@CqeL7X=XE)%9!G&W2!Sk%y~Lyt>dH(t#_^8G4!@MIKzt`c7|*W2=4hwkL6sg zqQp}gt6yuUJH$?s%h(HsuIvXBE0`nqKYuwBFrL@ZI>9=$T^e>Faff`B*yGZRWE|w- zK$vO5gOhR2XFp8Dn2sUxvJtefCTzr82bVTFUu%!#shcAweDv_~2?%)ov+BP)=|-V#KO4e za&R!tQ>}UqM+CdobG=@~z0=CRm#^76r!L%<~$9ars;p3pq^qZV_koRlE zFXo6iZ2dT$xXx488&%_;#KBHLu8#Kd4lZ;|wB-)JvHXRX4%H>Qsz>h6#dV^0mb<%} zV!jr^@jdex{#mUBHKJshv=|FOF3D&^+`{0S2l{f_eeQ3Qmz(nCQ*Jl&_0xXuuw8SP zZ6JvruF)_2@pltGx~YTbGRL+V4R0$Lqw=jz#Llx4#IESFFX^|O{LKztM{eiR4O~AU z7bkP_X#0|rK@Ju+m;HQB$pssheoHaE4HwDU1dl+lqzVC(7hAbo4eI&?T_;YDDQFXY z>1Lz3Gnx!v|Ewe%A#l*IqIl7`3fRv7lpga-r*{j$YRM$Oec7RbBSQ zfFL;B``yKmEx!Oc#!ssvstk&C{&lVS5NUTXLijnif^bhF#0adq!}utK+%#Lgcmh^k zZn)-2Sfd%VRl(PfnM17Yn3IXHX|SXBAL#q3Jgc|afh^#n<%$oN^m`tHgDijjCiqfn zQRA8`$Ynf@1vPBVzjaQ@qm&&k=w)7_zhLHf+~M@_XVm)1HA*kBm$I$Ej;F12V`W48 z;K=Inus*b88z@qZxS`Bz{Zlyk8T0o<({!ZIYO`;ipyQm{u#?*x)bL`zUAL*yl=mTa? z)ZivI^Njn*FaJ&WsN|ds4}GD%R&%xP-tfe~?Rfv$?5>L9-HzKyO?Aqt@5htOw;Gm>ClPjd}XeJ8cnD}NnvrTJmBsglk`;Mi?6rci! zz)?pVNoPXWgxPK1X_|J_@-3lIP|++gX11BsQbAIfGDSQoAV1D~UElk8&JUn=_s{q9 z@l$dRa5(3A?(g?|eXr}f@8^Ct{P2<4x8L?Rw<)D=pOf~3zgKDqo?8EC55_}7{@H&} zmbusG{9wk9b1j!^gMJgg;N_$3o}4Q$9;<)t*@qVIdit|>jQ{^>Q~AsPb9ecKiKDJ` zJ-_dNulnt}sXzV8?&*J>5z+knH+H@I<-jjDlQ(?$*!(A-`^&&D*9-6X_27T>?w6kL zeQ)qTdhRct$9_EMC*jjQZ~QKOuusCzJoA54HOS%dko$K3>$8I#9^a@pW7fri=OpKO zv*s7KPRwsaZ$&I1{cokBUvAv0v4GroW7jS42n7CH;1Q4@x4`2Tc-&$h{sizASM(o^ zTO>GeG;Xo`K-F_gwgjlnTi_8`F1HkPK)Kwq1_IoVTi|gEJZ|Z+TYBu4Vd{?qw@}f4 zG@iUgscuoKTQ1ctm+F>F<&OjZ-=pHQJ)J89CRb|?Pd)JY)PhgGe=^-&`s%B%o;`f{ z@RNS8xVibkfC}b{voTOeE;gL+8sLoG!_x@u{`})}{u3eb(NO{r+ zqhs3bcnq!0$0yxeo7{6ax#xy_{fIxgBu^*##c2QU2Kkgv=k?Uhi*9;#`j@Y&Jtunk z#vg1QJLS1AzY|f|d3Z|RwfN1sb)zdAeQ)`#pD`^N6XL5JexLf}^^D8e$sO5+myRs_ z>d3Ny|Ldf|huc)Gc%;J-d}p2omwZ;x|J zWyRB1a?T$bqWUh(>nlm_+M0a6VC=l|3&S?&+IUW}Ypz}RAfyIS8oJy4z;5?B_22lo zyBKRkJV2XgaL_2h=1F`zdiJXa%X@_kRUZ+vz7iMIFJ4m{yoFmSW+#em8F z-pTi`zVX#WzWs)HwalIHlFjvW-#t8WWNGD!^Hx=OZET^n7HMQb>ckvGqOK2V{MpA3 zxAkJUA2`z{Mex<>z5CAPH0JN?L*5>4JL7%2Jlm_uuh)bGER(pod<75oHkQDZu^YNi zx2!c!zTlmzMtr{NckfKf+hXQc;Z+PpObNYZT{J|Dwj)X{5?>|AyAaBSaI z83X@Mx3XjpFZX=Q05onMWbpq`ZI54>{8@D(2fgM8ksW(agpJ;?F)HEN_U2jTJr~Bh z-!JTWU!l0RAVF4s`RCU|l38EKyH#x`^LC!hTVDQ!4~a(V{A<-&$e;TSy61s`1>Jal zY(ewb@T>R5y6-#HGHdCMs9!(5@W=1u{pfT{7ZF2kUUOk|9xCl447#L1FRJ9g6Ac*d zOFkeO9Hu-|20^LAlk-2GJgxVif4VF0YHR+v)|IHRD_J|D)|#K2ad?tv%hs{;t{s~_ zearB%kF5Ce&)*fW#G{fAw*Y_p&hPW^YmWRxp6>I@^o~~p7Q=WR{)h)GFpRfmRbLs4 zpkv&DF$<&ToN1VpuqhtL;hz9~pC`8zyh8wG+5h?VM`}H}EH%TA+#^Bq) z)bl{#YM+|Z$f&#mU&i^B9?4lHtQi0T ztGqS;Ekm=auOI$wt?_i%crFw8R$s<=Uj_aYypy+Rki0~dW{kqHy^>rQ<8rq)NOGQO z!^jBONJ>w-O{a0M{M#K-A#ZeCuNz5ZdIJ?T2N?}psuU;6NygeD2 z9o&SlDT&)lDDvXv)$K<+3IHf~Ujcr1oc*sPQ(wYw`VADz>|XYZycyq`+!(Bc+c-=a zqc(K!96X)Of@^OoTk}ELh5uHYEgTuJ^6q-$SI7sXjz88)mFcJ%2V$gm_22T?Lmtop zY%O|Z=L1J{2l%sYzn{N2`M@CUw^y2Q_8_@^J^9X6z`{Cju5(phPS|KJopC zz84ZYt>e=xT_y?!KrtXO;d`I;{FH5g@OAU+e=-ph}yx(&mTAr=D&1Id7yNBuIKp~Hv~OmXD3kCtEiPTyZQ_t{Bh zELVx%Y}pY9+K-NG>_(2o|93fB&ENQSFDy5T{hvU_e!%1xL~rQ{M(H3%t&LY7RU}8$ z#`gXxwtaTt*RwTTU3+P>E%&O>nVJg^9SAry1uEsa`k8#4Duh!1z`H2Zv%UW~%J>U) zTokc7dS3pQkNSgqAfTe*XpUtLtCS}(m!MDb)8%gMdNujxXyqMFH2&`*3$HhEM9<`Y z{-WkzZ6_u|nHaq5TgXT6Y%uvh7FYT!eb4x|&R@25E@=Duk+!c-M~zQ!0_h}3yf*#% z>*iy%6I7rdFEEo4wTra;J%YVx$L#6XUP{84vPsHgAn#v&R20k&AGZ0#OwEWvDkJax zoHg$^ta>eH)oTq0y3wo;t7unORb6;ZbG_%6X zI(0YmV*(pf4JKfwM&6IotWE56e~RrLhFmVJ>m@c(8a($UunAZ&z4PeEvxk;f4jo)+r%EqX!waK1rRdBw+6Yjb+@0ANUze=3d!W)YsKEDZsZ=Ihz zMC94{h1JJE*hLERk>L?e?N6_CSCrD!IIJ5v3lw21MLS*i9g^T)lxqVjz|tut(Et3N z1@=zwlwPng>s>a-UaGg`c}m1`#avFCX(`|>^09ddoPm? z2yJ9w&Cj3i`@ZC2&CB{3!t)(P)|UI{S7R8jTv7lpmG0g|0Quq@5y$iNV9Z^Ma1rET zO^;1)A6{9X6cv=I-0Aguw`El!RJ)Q_zH$lFb!qI46?pzaS$^kX(N+>7Gh|0LMpfaw zq-1p4F^^uK$L>Wt3U5dEIo)DbHy^+J(dK46zVg6xx4ERv%()2~+1+^48xA8fEymLG zzP6NsAT+e1yQ-r5iG&+JNx1Q8W8Y6}j^^}yy1RW@FwP>}WvS1;ui+=<8;x^$fmygT zwlDBps8gd77GC)7yu8~8V|@GuGypDioqX#A;uG^%eeA!W?Ec;CY4XUH)x8rs^3Fm} zN1^A5Z;rNSCxwQK@4(v4b6i%UOfhTLOVa84+edqm?1Ot1R$ zt0c{v@mSdigsxZ#u%6cI6T5>ra5pQ0Q0IY{arE7rf2FnH%JTiEHts+5Q_sbZ%a5+h zzqHTF6hom%U_uu2lq6pG$%@_&a8AwfCo7UZAO@J{mt6w_y#m7A|FpJN^en+i@dN@o zk1yBy-loa$YRvV&UFK%0&7Stb%bqdLt7fGLd6Z?r|+u z+p_L!IJoUNLgoEQ_memyM#&8%i`J*sbN);lP)sFV{O-K-{`KRD?1yD01|SEIGhS7V zy6Jp}UG+zsS9u>h;0~CW-1m)8;Qp6^c>K;!cU83S;hD%qL%04aW_`y~ku02Rc*m%Bl1U+S1nyAOeXZq8GfLwfgnfnad z&yZS($h4U2zne`KCXbqL3widD{Xuwt@B4%BuDSZ;H1MgyuK)X5`=Z9ar&XpD*f*Tx zVf;EGdwbqc1`g+m6y>?ae1zxM-ij#Ht%>l5cuF{pM|hS7cmUc3#x;!mV?fDiV#JCg zF_MZ4AVz*owm+&rJ<#JxKCbQdsrx^knm?&Fq32@8wJvDRq#Z`cLK00lVF6~ERT$ec z!M%p5dqkNrM6wp%{|(7X*)L$P8?RrA8es&|zYM@(iW+Edl%ABJ65Ft#_heyjx8@9{ zTRE6f7JFG7D`s@zNdU>l{gY~2J$3W0h81>2C2hxXU5bT-$>^wX8U5?riZJR zE}k{MIS=xrJ6hfr-33Uhj4mKeK+P+-wiOLPQw-e&48-?4OB5ob_|^%d6dAYN4qh;>6ZAE|{U4ZYCpfR3i31N{r`p|A2E+qIv1kWYTES&f_%~ zrWRb9jH6a9Q?><`6XDR?1b(7;K8O8tGD1#Ff#H7e9QyZR0tsBr03adzP`TH(R@8%u zOCr|PdE2zX3Jo|p-7@R??|0w)eRap`n#svGLE5JzUmKl#?X=0ZYr+S%+t~L+%?CL>pDZsjf z?G;_0iX&j2T-dq+DVXqkX=Es>-MtI7x>h-DSFVK>UZ20_{pGzQ<_pB(fc&Aeo zQ*tqynRmJvL&fA+oi5JJz0n$DAjx3^e)3dPsh4*H7EJVR*(N6s{uIVyz3>~%cv zHQR)psf6zJvju8&$Ai^Fdd71zom=yD!;EU#SMG0J2n17a(%qk&c0ym4X(X8KcCvZ(G% zY>EXJ2rO6nCA#H5$Cgh}Ld)m;xIx*>{54OPhP02xc++?vGPsGE+<6lXv7_q`jW_?$ zW(w@`sQw+qQzNxHJ-em8I0G~GU%hRf@_RWsT}NuVetO{ZoPrRNYE~)bYHv6xOg}h+ z4o@_&Sh|hQ@d??z_;Y!pWaE%Ri-?x@1{s6sup^>j>A zLdD8^3!l3*vGbRWU3ZtC2sq2C3XAXpt#W-}rP+e-r|2(L^}bSOXEiB9wL(o>p}N8{ z$4@MKQbaL;N|-tuEaq?VTp`33*Vt)a%n_Q7h9qd6@e`9e=t|C`MEpfU&!L110IGcl zx&d038rK;sO;!ysAbJ~t%JA`#*Kaq5HG%!?oW3JO*h0^an)6p4D(ghNN1CDaC9~I@ zi1INbUupx)?(%9b@L1=65^?0vIFTs&WEp!(l=inUYbov-I}*>CiqkyzDj!QST!7_$ zEz3W8qWZ`aSFdMyuD7|LsJZ?`qv^#?8{k`bx`inD4`xjN{7yW1=AxIb`=4xf@(zqlv4EVmo}?(UDXoja@eT4p6qw*nkusOUXT8f4 zUjihso{|V?iG+0#X(uZlKoj$Wb^5@+dM#-!AKA;W3;{Nqk21QmAvvdC`F#2>Kl$_z z71tM3Tz?>de%#T&J@>ZhG|*mD{q~6wt55;$CkrsS`{v0O5aOS0$Y4V3er9!W;q^^f znWDIi)AP#fp)D3K5*Q{)z@Qim#YFex^}R$0-NO0AQd_OyulSGvV_}UJ7kMefG$G#y z|Iht`Gl0^*y=n2qoO#WD0QmCL<)2Z7%TNIG8gE_^K@e-sZQTYTFm1j6I;__B{KQRj zLSOUlUU-Z@*?l6rs{23gDQI8r33g@N+);B8rI9;{fe&EG8^OW|dl8vevb;tSQ$WVZ zkENMoz&}5jREiT_0~rXwFvf_3VuFI?1P5hlzZxMp=o*=dNk@aI3NDy6vi42!$H?H8 z?g&}so?MuXHgN8RhMxL{H9G@z(QW+|`OS)pB3?zd-q=1dE9UD#2V{h+t!IDZ=cnOW zb|rS~^#Ys0XymMvL8->|0%6FK&4suHoC^vUkZhrOc=P#{Wb8KBwiIE4^0ZGxVxvLa| zpvA(TBN;t!>)x0*J}2Ydx{R~Wk0kqbO?FA0V=L0)OU(L+^CVa9q%uJVb%mkNz%PimgUc!^jQJyPps`H~p zPkw;65iw}ZREY<2ra_s*M0oYXPwyxR=KzofyU&;s)f8|(k|?Tyb!kCPu1$n!O*$f? z_4P-!X#J+LIa8G_ito>uYGU#AJ3>rYg; z#s_Z!1&okiB}FWe!Sl&JGg-WK69&syvc}*XUw-El1|}A^HTl+;-;t!LL3;_(j2g7V zq?$bs36GBAbX4c5&ApFLaNil*b1=3iQ-kVF&j3+WxL<}v`HhQ^Ex*A^ie(W^!}!eK z*EqD66;$|K_tTl>35!7p;Su>vKH}wMAH4|ZDJBj5rjap9E&DzhBC$Ahq6LnXZb054 zLV#rE^7QQKx+_1c$r+~NywLLXzl~kl*ONz1O7G(taoED#oEzHQdusE=!D=eCe@zXM z=Ch`yetSrbOgmVrkv^S2)!(?SXY#*@?D*<3#^~(Pv#VF1$^Ie|qjcGIP!CUZ(6*>r z!|^rQWoG#fv!!@j4ynrcmV#g(IX6(o%hCmp;W`?$EwSN*NmzAN8Rif_B&s(3sf7wJ z90F%$p#s?}LZ8N*+s@{jTVKn?m>E60EA2`SMu;Ou6a7E7me+Bl;1-2r`6$%c3x3sB z(2{lFBboj8R$ED6wO#j|l_Z*&^-)r%@RqP9X;<=7S(f(nLf7i?Pg)-wp}=n=}j{^ykyvq?ZyVz>fs9P z`YcU!H@|V4ULSN?xB@fCn{$4{g`DyYmqv6>RR8(AZ2YRpq=serT$y3yR6Ug;a}D2f zNnOGwOx`}W@Zw{+yE|4TXd4I82$qiFqr;sdB`8fW+BH&|=}-BH03f+I?-^4H7;;Gy zf$aN~l%{uxyiYh^;LR~SVYe`H>@HJEm`ng~t<|&;NfHIHYX^B~B}PtD>7C6OJ31*~ zO~%;KWN-aw=jSF#V7fJIep*exu{inV&)?tNcvDL&S@B{>D^EqgbrQYvo~NpeZlaP9 zn@=!J)RymCS;5wlv7+Hzj4FKY{kzZX-4_DnF9<2jfB!O0PPODk*Cu65>X_JYLdw+= z-qJO}-vASh;Wr2Y70c44JU0Xx`-Hce2R;dTOOGw_O~cxtPjnsv@$9VXcQKN+WE6gl zlk4iFasJ!bX&Y!kN#jHVJ=2D@gli5)t+9v}L&e5kbC^BT*3ay&IZPPKbP2i%tdW1) zR)|>le!qs_Zi_lN4ZUFhzW1lC?&cV7t9jS`i0Zp}V`}B0BupIL*MOnydMmGJnL?7d zU$_&Ak=RgnAL}^4Uh`$sHw~mIV2tsT+|!c9`x6lW6mueJgsTsgB=sw3Z?}N67e^pG z#F@MAQ0JP8Mr&RJ0h6ffKwnAO=jZ);{&}v*OK!z<)$HlUf~3Bhe#=B|Zhm&K9BiL! z)G+DURT<=kKVTiNXy}{HEL0f61`KG=^_@9C!LbSR+?p2?ytq7JN9%EpWK~7pGXjWY zPYvtta|wtKNkqvreFXl^)@dj@Z^CuoS!}sNx&0o1C6t$Mkeo1pgrJyVl{sv zN)c8pESE|#P3Yo_%Tm{ z3{}hak6xMLZql5WY38Wa#VkMZHFW9GoEA@O7bH079UZ$xTz$;#w)Rj}2RT%49eIr8Q zNyX|L9hS-*<57QKRev-oYDa5)>A|Fpj$?YXij{jVh8jcQIGR3Y7b55$XAO6P{Z-B# zk%@6nLGbRfIrrqnM3$YlCq~3OGTqg6ODAk=9i?;#Yad4h@doge>h1`(v{-B^y6z5n zuvrtgb$?6D7+U|B>KN)6+5JQ9AFS-{$davNGNqQjFL=L7TDd{!^%RbRyIn6 zjhLSQtgx@O>nLQUwqo^^w=v)5dBC?izi^vWQ_{!mi}f0#G$!S`bmeJY`&)LdM*Vrt;$a@e|KvuTZtqy1UP;-hFhU3f1*V)u0D-hFm zDk;I@LeFv>1FbK1WRBywsNj`r@rL~#9&DblBSgRFwya2b?{9sqyMvSck@L45M~QF8 zzX^EPF)P9JF+!eqCjY#(=IZ-}^;y-etBnQKm*lcRlZPdkm(Ue% zldGrNs1!Wocik-f;#~2}^3SHN3pvw0TMdngECPIcPhXoipAwPs;uL%+S*xbtRha0)+%VX z{@(D^XqJLvbXupcRRtD?WP_erH^fb6;GQJD>`)2BkRi%OEoXuWQ zyT3c6=Zy`8A?>lLJySP${#U|tm%p!iPVDb!|JTZntEEvF&K;h)aNFvLh`bTmr>Cu3 zm$Ywn#86AninjA{lfb<6N}Q|-3c!^e>4HJ9AU@H)xO|RvN7itAElyLV9c3*7QE_fA z3+mB9h@D`uV-RMg1}C;`k5_y0CKW0Cg;kd?+u^q3w&)U-h!^4y%4fOolU8SKDgr)3 z0&a1gaFZdZA2z=W6RcUei3kyyrXRv(O3- z#FxifoQ?!n<=kr3JfS_whQ83gW__!(JfhvY;dotd-Nw1;H+~+GZ)ZmIeED(tM`fP& ziffIB=?=!>Satx=qU-i95cqmr*@H4yt~~;1V_=oT1tDOGAHNrY1!|WpQOgv|5t#rm zwAP}I*k;jMM_BBqL2-c&?5rCdFGG?lHma?x%Ixg`2xqO)M8nXIfM#ov1Ih|mF{&OM zDjum8QKVS!YDr?lOnc%8^ybP#(vJ}kQqy})PMQMuD+L)r`uv}CXJt)6BEr21piHO3 z(NGoMo4wWd$R^vLVM&|D%StTdghppZX6YO$KOqNbaAD!j#BPD`foz$KgL1Ta!ohu> z=7g(H?e6(d1d6s`xCGgt!k(yMM(M{ki#~Nq6hfVrG})5sEXtj3i?lmX zAt_c%^8%Ya&StmS9TCnHm%{(;%4$P8l%`liOB{UqkV{!2)0`G--9rnrZ}*I{SZ#Lx zHs1Tiw!W}P70H{fQ*oi8@!(a6y0X|E&hf*Y%983*HhT&(&4PEvce!Ii>w@g@{LHi@ z7k)9uVpZ*PQxSXHdK_$SOk{IaT2ew$?$FdUSFW-kQ7eEGT* zd;1!D3J99BJR#I(t;-&sR-I{Wx7u;kGwnqRzjY`)<$2|fx1tf&We;;IN18JR?}|67 z!Z3^~--zlL|1gD5G#K$=CD*!nP+c+L4e~WLMyBs(=R3e7hTIY^S!O*DobbJo} zsQmr2tqE6&_ZsMh6`OqedoSoI&%U#M3m-fu&UTPt;V>9{S1yKLN1tPYBOPijQAKiy zc1KyLgD1wbw;|g2OlSEz9B@3&0mtJ0`;!ZUY8%hxjIgCS5$ZG~g|)8cmkc|8pfKnd zRy^WpL*wyAm2(+Yo}&YAhBvO;%i|bljaPNOw#bG#IO$T16~=4j_S`XX=!;u1st9Fq ziKAhL6>o&_AYVo)q^jcBa_|xMVuhc^skl0~!`Z$jv^2NR7O9%MN>i$pHI$=<(T#{J z!TC+ETgqVs@WmRzZx~gIM8KioJ(Cdk^uT~Jx{QT0Md!l|zi6Tr>Cj54@Q+z2f$5+y zYB+a9QKtt7)krU76iR{l#XMl<8EJq}BV9-7SR-LM@PP?1uCVLh##*kPdVl(jw@r`R zFW|DSOBG;2O)v+BhaT#1*^o?W@=o3w=ciyGc^Vu7)UO>WmK$S5NRe^tqY%{4_+4ku z*Z>++!`8PVoAFYng5Q(eXCy&%b*0G}871F8S*!R)0*VnJD&cbiirrc_ zk)a$c1?+$}`4hiZaT+SXo9u_LK_W z+cPXv*{l@R#b7zkJ3$OG$?-&Z9fFb`q9Dc4>W4-Slxn2q+e!8))u@ZW^Rn=UmX;~@ zB^FpO7Bup8bxS8T%(SYJmf&+2jx5~Nk^h(Z7k58Xvy+#U1dC?lENKyDv!>WBnT9y0 z6#+d&P2hb9a$3;)n?c~r;}EeXn`R(se9 z-90Am&hTJZDPZY}RG$d~+Rm3!5iCi>mpyrpSnq^%E5fCNa3<}-sYKP8=9$8e!S2_p z#W-w|u9?;ytq)m8S_<>KFQ*rN6@4;x>QOlPYj6>B9K4qZt=DP8taBWN{T3^hXu6~m z8iv0OLzj(GUW@J+h>`v(J8y&*<->T)6zK~n)^R>)S=;-IchYx5yLwbf$I-XMQg>|;`G2GanLCsqUiEl zKSe8Tm zncrP9W(M;UnlNZD@KQxD)AJ*Kt)o)xI6Ywp#|h_X8Ya~w?F;Dl{W<~23&#;`g^hp~ zO%5i$>7)HjCI}6ZmoUnp0gV?8lE2#XePz`x;i_!zd7ba3i+My6n;v()|ta(Q_Y3MNh?HY&Z^P5ZSyPuP9ca@@c7P zL43h8sbot$V03L#{dRBzytHAa6P$1+!XN2ux6bMLkK~@9Moi(@YjLaWim1iZCVIEa*A!5?U7lAcu`e=1~{CCFc7YwQ$lxs zZ$^-=dwD(Ij;tPk$iIjy(Vd>}$?%%QntX>G#NdSZmc?p*=g$MC;xLg2AkIbjj1I(93O_V{ z;r&H*Z|~Rv)AeUIj3h*XkM`At-NVo$EC&DtsjkWjKn21jCtJj zynKDA$p#_Av{>VZLLw3zjfzEpTg}lET+m6tK_n{pa=;j209UG16@?*{fH&2IIO5Iw zb3nWZWDg9NnILi?w)qM+zLWW@dVL9&Pth;u9tl6$J>=@WxUkE4Wo(K<(Ipg7CTYw^ z?n@@}Z4s`@3Mg`6`o5q`sT0NP!p4excT^vo8Dp#6J+1d2%F!ltiHG6@hzLd!@P~NL zv_T?(dQ16(()&cbvmM~G6j=!B;j4ZO_e&}+hK%0J{1Id{3LGE=A6r+$45|Km@Wd|E zJADlNo4MewIEztu5g0#)vRD=2gON1%6xF%Ma`9IYmo>dJs`K5PRb!cDLokBW0MNQr zwHQ(cex?Xf1OD;RP7bwK^Fx&BxU)U@f@+81VMdRY-9PYx?OOQ>nD|~JgTTHkc894n znb(3CzIx~Peqaz-{+Nzg-@1}}nHU}4^O(&b0Xs~}|KZk(4|{FsdU>Jo%vh~7m_=0a zC{~E?1pse>HK$qh>$}Y&7H<~-A~3dm zKLnVnA1A{qk}i-Gg(fh;l8Pe6n;LBZ@rTtgCn=eWC)d{W9KY)+FBZU3z*#}YA_rkz z#DQqQz`)_IA(dE%NTDZC2zH5WqbuJ4f1eMa`GA6oqeY`d98SP5@;$4zMSw&0xX4Vw{!8qZvv;h*Ei{=8juKHBp{w5F1=&`$N{=1h-NN93u&?CWIAk~@@bT&z$-}wFALze{D$a2>p;@M zhEiF_XXJ52zJ9O(dxISbr~rn5fhZMPSb!FSPgQXkSU7*=Ck`hPg324P>u8>WgLwta z@?kqN0u6=>2jCLZaNC+Y6f(x`u!{wRP7hLehN~V&7koY2lKXK~;mUIzk7fKC`N`9& z3v;3;!V=!W(iQj}%tn%NzX)Oc#T8p=31IFnIww zgdoEpNWjKTBSRYja&?64bZI(%qfE!|VQ$6y)!SkK%}{nN1JY5D04PHQfSJIN)%^hN zi_8ySjU+($UAYSd_{p9~_lN-}pLs^DXgnW@P$S~P2Kp}RzM$ieUx+y7q@sz(md96E0Rqm@_H>xLHoP(D zW%GhMOmjmLXwSD8%pl2TFUdUs%t)|AHe4>>KW+N8*@fS6i8+v;as9Eph1T{|gdOCe zVWtZ*ILc(z07Ke=Qj)!Z&4&Z1IdF(PqSn~^S_3Ks9u8jO^kBU_qDZ~$F z7FhQMUi=ppg@{;5-eD1;Na>W~8`$u~cZc&_(?OU*C!fg=W_^oN37`SME2aSjB;E#p z0tC=9g24w=ra9wMkbs1FoN`Jkm>y&dUI;x1QY?)Cf`G|LL5Tl_Jpw4pgcpMF_4EGO z2#`d2q$UWV12L4|8bcq@0?)F!s+ZSb@DeCh{l&(b=!Dho6T*vzAR8CrZ>e+Qw4;_j zW})r_L=!15=s}$XKphe`}Tk~4S`lwVuO#+Ak^)ZQo^jTSHtYbbnP(5GSqM!^fZ_gh9I}rMW0jBNSvoJB%*PJxF;grU*&J)2QcWS2^4%s0${Uu zW)NrIj-6<1#tx<4RUQWot@yw7)S#-l`K#BiF5?`U9iN3kq+Nkg2M~elVCa!}jMxmw zIk*5|Z+@BJ@}hy}xdet4ms^5W&5cc;iJ8b~qxU0s27E!o=WmH!SOEV}RMI2p z3Z|JX5houHAxHwC@OpzGl1YLS8Z1EzMtDIoJ&g3_yk#77rOFNxh?A__3&@71o2Bu9 zf)RaR8-_!+R5sE%KA+&35VC#QtgD0sXWT*+3Vz^7;B-+&s^Pf_G1PrwuPDcg0WCWK z7mTtE><&}3ko3+U8Mt5?2nM&1RwEb#pVO-~QHTWaeu^PLC^8q`;-%BvP=dX|e}8Dd z24P$%G`ZtU7&>ypEO}$2Gaya<8Uxs0Ok~=bc`h1&b=e{Y;8g$x5JQBL_MfhPeB(^H z8XWQN5LeB#)kE=(p$rh)e$9ceG=7Q3ue~v@0g%Ly!okO4wl@u-cAz6|$Qn-On1)$* zlQN(@g*(tgq-R`Ix7TzLU=d(}fwmD)9t$WRQv9)gNr!AKm8u-fn9okYhA*0_RKF;J$}8Qkb4bG!EbN|Dquf1L1V+f*c+mPEYzSM@Cd-3pmPD-J}%(|f$@7k z?QjVbL)*rlP%lhgePq6^NiMB1HVo-Y7;Q`$WL(7dXm=-vVTyl$6k5MfATbW=nmEG!tpe*kk@6*wkM9Wks-Q@r9JRtWu#t7huz7#<-N4tQq@ zf9nqrLNhf31|xud#Su?f^xIg#}!x4zh)w0g%8Y0?-HX4on-ka*N_s-%tYQ zGu64Tk7T@3R@L=X3L1u^D3_T)IA|y%pdmSsVzio(N7N9clY=@5h<8;WK*$7dNJ6Sr0$jbB^eam}}s-9z;dyZxKZ;9+#YC4K<$V#%{ z&cD2t^lOwA&3vWH#^ehob7Vv)AxmlKA}1bUmq6GMUwozI%q~FHM=Ox*00~g{Q2CVG z=_rNxV&#-M7XcO! zMF@y3GUEuJ5qe>}*wQ6@L(Lt0E6YGTFxzDKjQj}BI`AX0B*qYz*18<-8&7eWzHjg0 z*ABFg%s%_k(6Tu=-_4wN@OsWRyW!(2@JkJc1>>LHCOG0X{FfVrhPC=VVb9B3{lqm%-F z0EUeKa*m?+NSE3>6$PWAEEH?bpe(rd2v3XaD50I``(C>dR7^9<2!RNCPHD*8_&{ZW z*@szH7>#HbB`MVol+GHs-4oia0l)xy8UfigfH)W-6kgzq^*1&QfBS*sBCx{Z@iQD@ z+WXl|_*4v+nQ0<-@R>+I&*Xx|O7DedE-DK$JjI1eWWT$GsxZ54KO(|4Oz>zzNJZ$^ zNh3D|9ua}m9v%>FKR5_hqBQ4u(H|IOPAd@%1m+Pis;06e^ofksM=!HUFto^nI3ods zRWK9e34Q@A5i?CIQ!qc!4QMa?P(HyV5hIX_uov-R21SSz<%3kgauggli;xAAig{~r z2tQkb^GwoDklFAbrI$ou?WvVg6HWt`WFXVfl7y>kLJ2-`AU>tqiOVD1G7+)ltve19 zAKc4ealSzN(cyKUkQJuWM`uUAVd;WI_M$<_BCVO^gx)>@nuryO{0Z?Dqv(sgk3Iy# zfsqZq7g9P-!Tb%-L70jDKtr{#Ld>5YCoFI)41MRWPnP$7l4Ij^RX#QtO2XSNhv z|L(jXKU^RIBYyBIUaqQ-2-(CM!``-!;`(W+U*UgXfjifb7}Bk6^y21r0Y^j8?{QyfRFgk!i8jSAy$ z{T0R`F+XEr(hR|X7~&J}ftC0Rz$^^ui8EOT{_Qm;@%;>jUs3|->tmT1PJaW!$0)(s z0~CfIK6p{Xzil8s%rGlRuHPGy8sf6qEe*M4IhH2>{pb2>oCaphy7mCDqV0B0N`H@k zAifh@AucY2`>gTRqEmva0VvaoaNrhpeF>dL3Xn`16IvaRSqgoOUwEzlyQ=TTnITLP zu140(p%2qn&1G^ZF)L#nb0Hz)M`I>XW=lM-8_R^Ny7 zw+_GtO8S5qDKQ2$Hb7hSCxn=u=+7L^tIT&04UNa$OU7cN`#X;>uj@vy>}FF2SIj%dY^)HQ2GcsaaW9Prbe#i}Y{dP?^S0{}1WrEB_qDQU;w~a=n#e#rV_@a4E+f-#%33?f|&ImrrcwK9pgI2U^?^$yax9e%_nq64;+|;S& zx}~d0@pWONaMgkX8OnaZbK-FE+ANajS+oafXEo{1XaVR&Z80CKa@@C<^CIi%^=S77QQx`!5j1Pzh?#J z#tW z(Ps3{R^g+G6nY7ZHm7ttaNZiGJuXe)Wh=0+V$%BSO4v`bfJKM_x;Nku>lnc_xQw;y z{}gtH&}le5e(mnnujOD312VzMd28jJxJJ^!WPqG8K|ofpVAfpvg;A;6dGcZag0E=+ ztBgPObpbzL$=gHxCM^8Z1d}YRoPJP%`Z~})GZ}ZTIdxdP=U%-DvFxQ`Y(nf=Zq89g z>6<58dQMF1uxb#7PTRn#D9SdXJ7x@#0LEHEsazusSi=Z9BPfYOP#XmpFfl?M5sg71Z+(L}yACc%o(YFHC8IrRCP>84@JDo=U^!&Ya859CjdA%SBau;%b`lY#!y8% z!3ohE!~oaa6tCBd4%kTq1Dw0gKCUPmf z6YU~*jP4lXSt0opq=T0@qFvY(fdQJ9^Hs2rPqqhHb(T-3qE`F`2ss%(^W zcxw06+tiwttb&$H0XJ0f%r^l?6?3G3K&@bQUQxPan%*otF?Y>fDsT-b1LjkR{ifzFL?tZc6ji^npy8C<_$N=9~8 zpJt?Z6j;FeE{zUs4@L-uJem|wP=7EmV51m_276)Y^lbs=y*kbyFHCuL7RSuZFCxJvmGD_ja8)Jvp{Afv>= z7N8Q4g2p0LT(byI@xa9`aEOWVpswah=0GF>m|$R-2tdv)rFcRwStcLJM9egB5_YJm zP+uhqCMVE$L)J@t30P%h!x-L|&dzlPzZJwVmw-1^O zv%Se+&_pCd7<*b)Bv#d6c@l?FZRif=^#y=r1$l3Pv!UX^261R&|APL2%+uuYr2_JS z7pCm0e15T|wsB{T;E0h4zzD1Z#b}WtAPEfHkzOBgLje_#eS3u!;9aaXm&`GchDZ}a zHke)kiXIm@;01^~P(gf6nP#9-XKDweF4|kt4nP2wK;mEXgq7PJ$R5oQ9Cn$io{1}| zz%J-9n(LbMWe>8f39p6FjrjUW?2(5{-+G7PYKN=O;f5sXIbTI5{Hi2(5mNzeAQdwi zNO{iq$nv%!046-Ss}AA~XbN@V2M1{6KFMg%#V7zNCO^F2G5UcS0ZnK?1g;MU2j*#* zuLoN+xxtkj+&XW~=j+zknFhz?9%2J=;mILpKS&Aa2M33-d7|y3zk(fdZ2$tJXZ7bm zAfYO;7!<36@N-$&Xk2kXX2?hZ4h&Gh`ZKOYhUI6A++FB?SoNIk3QLy-kCM>v$PK}O z7m#M+3#0=CF#0Kg4lyS-(U`^z)RvUy)5MC6Ix(7WvvB^2)Q~xW9OXs7L;*ODm}$^N z!G>1Dh5&rW>Q}s}&rB$P*pBIKOu=JO4k#wFgWUmhPgutW*;s@Z<7|Z{_^V1oL~OP> z7do+Sr`yyJQ$Bfa&Dp63MyFN(Ffvk4Lg;oOiV|4?tO!`{Mi&98L5?HDU;--b4Cy1<&uW2K2xikhqpVi9RW zp}>~>_Q;W{=jP>{Ys*sYbNDKm!={S_Ptn^o@IG5 zjgySPSlPL1fd_;GM#13~MFX-HL={o+h>iH>BNbbmmHU%`9XgjN&=Lg;oeKt1@}DnG0N>ToUQ z3fxF`&F3M7iJCxQ!NTS>H>7tAHSb+jZFmc-4rs?&e8$hQjRD3NQNuAav^bH8xNMAE zQqM&KU&VhIkP)($7gwzyk-V3*VLF?^U4MLG^PlIazAHVmU?L#IT-|^=2dEev!aprE zVnCfrWU97~-0Y z-8Da7`pmnbDt_VLhJs1}76J^(08$|{mO}V|6xxs$k}<%H^o17%pnW8t!U$v!-UJGy zC1~U+N$bj1|MhU^>+`yP>}wmiXX3<+R{zCKyH@r25<_1MgQtsd>v=V~`Q4p&Prv?R z<2GoI%DK&Jhi}2EY0hWEjwIs1bpl@=7pKlFU0vpq$BzE^BQHURhy zeSx}_;dimAVQN5|y8SYN!;e(pWzV8d*{DGuVLvy0dc^ALe)(Qmzr-+WOu+UAAd&;V zNVYg7Cy)&~2}0xJIOi&!V?6d9ux_{)={5=zq&h83m~bK;a77~<1=|NsAZs`ZnkyX0 zejrmxA_rsx+X3k^l0g^3WEc(`TIFI}_!GFQiVNV1Dl3esODv6yWj0tHywtibq4#j| z3M_ZZ==f#ZG0vAAN<%uBlU1k)k`MN*z_}{6A(LKm&ce@j@@9pPUj`5g2-(43Pq88G z)@Mj4taY6JtBRfr^Un7+Hr=i|UyAK|sUcub=QsM6{#ai!vns|=8d%bjkE>hkE@`yT zXrMw^^TQ=$7zczF|0`4(P6B-$&@79D(vl*~MTD`bKv%o#{uqY5yqZ6d;xY?!A6SM zgJo9gq~H|pzJtB?wwEkf20Y_dEPgw&D895Pe$fsH>J!()loXoI9td-tq!a+=SOL#{2(6-vyeWx~~Po1iEZc&TfR{N6i6S3n) zFz)mv8@u4cu>la?Edtx5U{@7vbj%HR)?gDIY{Te|t5w{(mEZ2QCt@Y$B77`g z!DN;fraw*QlRFbnj2>IbYlW2X=_!*xR_(u z;s^Wu%(vIyF~ORWnHbCs6dkTwXLw}r9&F};sN0tWWrik3Bg7Wl1S`@4n<62g4_Zg_ z1tV2Fes4oo@b}h5%Oq3qg1Ai0$IkL*-UZR68zPlcY)3(nQzocH1fCv^*F*y7ZvJ z{_o>d{NgaRWKZSXU|aB_aYdH!$mm*U(Ths|e$ssV2d9*E`|)wL*ibb(2(_5K-8QLV zRNTlQC$>4~?z?kSCroOH$M2PuJ1&>phYjZKi8zN$cgmJM*lfABWlHE06kLgA32L)e zIcrgo+1pcsgYXQsI~SD<3?S$v%6_ffUY#=<7vDeU>CJ0|`cMZh!P(4uskUY9OC?V) zOayohag=?)o2mddB*%gQbV#rWY?3RGpm)yVw#+(3!d+_Pz1$R4FoU}~$u3UHf?cP$ zt*Ss7_gV72VAy=*d)~LbBH%5m2vYbLw7z3?@5$C)%yLyVYEiNo>0RIzCCg`C)Ys&< zUKPHPFL(BUZ?PGh=UV*Qi1>kYjF=hn&xQ6(&4R5^(b|zp&~Dr=18P6W*!qwhKI!<| z8;7W@vU^M5AmqlNm2aF|or#U2F!zf+fx+`K)e>dNv_vCIN-e6WD)m8o_)#bJFbn54 z^eKlXsWg=tWGz~j^0*2PvM)(=m4+i}s_GHsaV2l6utelSvCXw?Q;O@v(#TWFRl4bR zC$d0(j~oa~RB4$ALdmjlz&-bI#`b0(oWi_lG4sQoh%}K*0e3kOH0RJHtno4S&S&yT zim*1rmGw@qVFB#_gVJ-u--N`7G?a9rc6A zqd*Yu_38x^OAEG^=EkYgfE0SlI>iHVufbCQM%2o+!{!6trt8**-hz*2t6^H8^9+I& z>+i+Rzh)2lhGt{FK(=c|^J;#pEdSWduCH@)Lv|&vwCZbcF6%qicjKyk@7-z}&07{U zoHzWfljS%5M+)i&wgBh74l#t&D`84oAL9_7Ynd%3+E_@WATg*$O431!V*TfcNf*$3b! zLQiIZoy>`@)!c*R-v*}OD6r{wYgtUk z{kuLpeLg?q;$t#BGQD|r;jeIKFsLDLlhnt9-Kog(1Q*iNjfL2tDM$xg$|9hmxyf|w z76+(copVEA>=XB(>@7S~LkV(2Huv*uKOvTuD&!U3gMfp?(oX_lV=&~&8_ErbL4|~n zd{z_m?S!Pa`$tB%nPPUE6Z^CBMnJQWjiS%c*${V`vrJx*yU`Ep2A~-! zxm0$q9gO6ypH3Q~FmnWcn`E=5^lYREsK7qyE>f1oO5Alc2;`il^hocx?CnREf|jO_ z8C`NanFnKUb1qUNvBR^aC}om!Tx~FJTk$wH`yPSq_?QNVoX8dx4}t=6igq!91Sah$ zIIH~q2O76bxrp^-dZJZMoCKM4$P+EUNs=qW!vF; zfsJ4rK(JSk9?%r*W{n#HV4rv79}|M#AsM*~JUJ-;MMI|D35DAUJ$BR}Dd0oZ>A>pJLO zfNx=hcpD2@4RAKF>wqC}!9_yPUoy^LI(PnVRryTTI>HF<`%#^^B@y?A(h^5-#Ln%+ zAzavSkN~m91DYD~LpF>Aouh5Y-tRrRrsjQF7T^3Gwh8(4W4VZ4u8l(M z$2j2C07XbMz&qG}%q!}EGI24oG$tkmzj7h!P&$~qJ}onQE!d?{SFja?6|59Ff;LZ9a_p!A(!)zP_^Z%X{UY!IQVra~ zr8It-`!4TBq!5<4CxAqAVrXK=)>>{vn}urC>~RF-jcj-t^H;+rT}vmdpf#GCPOX`v zGTkrO7vbJ(PTYEcTkZ1cF79h8Erz;UkO|14plrxKOa%k^%f!KrED&()>&j2nfHG*J zJea-+P{fR)0{#|Kf*Wh!)%tM8jiq^>ldJQubjUsZdPVGJ`|S=tzqj=_&+0uy_ZqEb zO=Dy4G}w1yiosLDCa{@mi30q=2MK+4irba)MN#P>FCs`dVJ?J|u!@k476;RbBNKAwb z;bu+^3_YF3TKg0LT&ChXRbT7ZRAJO5c~i zoSHky(lTUAZOf2hhbC-;d0w0s$NP1$p~&qKqLEXSyda>w%M+RiZ}~!V1If~lp87Pd z(OQIT82*T65Tkc7fADMei*Evq!`H_?aRw}%JEIm+&&g+Z%BjSf@C)1QKA07hY76f^^+fs1nIdR6oMEMrb z9=)>wFuhM?E9pTW#V z^4AxHDza2NrrHqk>DYcMM963QB78c3ffwtI(A{?-!Ax~>9I5cacePG4&;2tjP>K=OK{-GcfXD&|I5CW--r3!U5JF!#G zQub}8g0p?xB;|C>Kjp$bf1<}ZT$Wm7!vghqFpRF0%#;W1BTFsxIZoO4FwV$@BDxs2 zi^%~Kqx7J781y*OGF5TOGPQ|GKnujMIO=;*`Un$twda=QUe!8&I4~VyEq_>xRwcF; z_cMpc93%@MM*OpYu)>Z3%m@N3h@o!7eKNVF{bq#}!#pdPLmV0!NCa+C!#(N!Bq}<8 z7wjwCz6||B>2%PdLQ4};hX}1f%tq1A&cGxrO)oPI;J=`Yhy_}k^hY*{-zIcVsP6>kIG3ZGN~Wijy2k zTVXboAHlTAz3dgy#X}TL?;vN`aV45FGrm?Jeugz=Qd)GeC6orm?XG(`xiZorb1Q!K z#fZ$(+6P^xyRqd>!asivV}i3K{U=r?@ZNGV!@`Lb-mE~xCX{J+C~{6@sVb^p8f>9! zNo`6@2VLk!BbaMi7br`BLJ9~BqJ&*+Em+uFbRujN=nd{!gIfuP(QhN244384O2;R>t?=eZqbr`;$K)(u; z*YK+#>yRsdv~I_Kvv4FJTX;fQc3Af zu}1Mr@Tng0Po~R^M?cc2y;qriGq7P6Cd=OZT=?Sh8xs=9AXn6Ak^nG>?R_PHBoq!c z?%vrhi@I;W`o_GPJAnGQj02T!u6x85ED#M?$N)Ae6V^1kW%JK5kP_4v+6JExhpX;5 zmlm=`WGJth=-%JCVX^Azy>bthNO5Cx7+pQ~xBY5N?n2Le` zV427d{L!Lj!J%C@WT&2;L;f8itMj&^C&( zOg^Rgo=0Lrn%WW;TG43YU~KJ3=?TM4r{KpSTP*cUBU>z(CeIy#u-GyeV=*9S)r)7? zZSM&1A5+H;!My|?1WkBLO1hM@tM72`6mzSK_0;JQ*OFy`ZzMz9rXlPDL!#kq%Umk* z!-on04cz@kXhH#vCqVz0(u3(^N|qvoz+24NT5+pN@g@FWd*>frWqqal_aq@C5G2F_ zl2YMBBF?%{62dfS33?JoCk)W8yVmW1L!@BaP+}1U^ zOtFjt%8vsA;s9o*P74t<5NoJK1d4$2Be|bvf8Y1y1nJD0zwSTG*g%pKl=FS}-p}*w zXYViUPEdcE-vrV3iGDp0P$V@dsQ6L-fII2dSEpi5{2fvuk#T`Zpt&uS|3nCEj zV^HFi_dy8Dds}P|$^|?MKawhZFAHK+ohg*M4(>nh9oaa8+*0PTzn&SF@)4cM z%a7008@cPsY@(yCdIXPv2T?5b5S_i4WrV!Y9%cPd)DnV1JdBJ@k&ud=ClT93>h6$N zb3HL1IC=W2d@#svHln{l_XEB^LRaBLH@`>_+f%UChX@>_E-3v|r9luuDv^^H#34QZ zQTY5;AmgYQmMj4Sbjzo`;an&D_=x?8TAwtF5=FtLA zPZm8?DVh#wvNF%9mZfZNWtRBj9oYdm{hkrG-qt>wF{NJ;Vb3VS*-$nh!_tXJ!C)Y+_kArMXaCq7e3E0+ zXi|pcqu8`RHNC2SzIzxdBV~Sd$cT=*W^v#_p&eoU3`_t2jb|a~c5tET`f6+s9@ii# zsEsceScEz#YNzQrndDp+z4d+d6kM~5SIBFjVg+1NYR7D0n30lV1xPYeJ^%X(?3a|$ zQID&`WrJSUFjFsUsgt7Pb{luwcc3$N7YWf4iBJA>(bF&iYX}-v$_b={8RvKOKW52b zLsNCm=Zg|-5{I{6Io#G$Vm#&d!@D;7%jvmEMmygr3C^ts5DYo9E+EmyC6o~YPul>Q z=urwZE(3UQ&qJnp8Ea7{H4GwO&6i`?Q-?86O)fm??RSSe=cLNWHmEkl6`NU2IWY)I zv?M#_p7Q&780QputGxC7vb;m#s?|?s?nP9{88!OZXX<-ZtdHQ9m_6GG3cmE1lTj9Z zW=9svqmvU58ya_%W~aPC8iz>kHPN}Jnh-cD>Pbs=mHWp6{-N%1#Sy((LbYpY0Ezl4 z+Y|lIdYEp2oIS(@9uB)Wjc0&dAIFZaKEMYjaS1AWEa{0~qdw@SD?MmdXUG-0t5%8< z%?N9YQxr(~rcSuNcpymX8`86S`YP=6so7Qay&PBgLR{hOcZ&bbL<5rx-ZSZ7Twv4Q zKE&aKu6F{P_Q_8-K7MsRpbq$YfkOq%*V%4IaHEe6K?OnYo5>j0q_A{Q!s>-B4k7NI zgjmEsgF|7v=b`JK_S>JE`|JR(eQ8mY%VND`THD@ih`*2mIU$ney;0)mK(3m@eA4fQqlOVw%#@6TNuA-eT ztq6$Nsza9U7p|q(&@&^r<^=emht{ZPhEjkQuX>K^p7w*WG@1u+%fvB0zh zH6&0KJdsHRY-!ky6bF?IkH=5Nfv19ukCR4E7QM|llay{m?MQ%)@k|h>7XA}3>Fh7^ z&laji{3pV}Dc5Q^*L7(8wvWdz9TaOjvgoHyE9VlXoWwS*Rjy+?ELl6!p`h^Q3cL4#~|t#392Xhf7PK_*dku*CCg9rA4MV^B5pF zLmc3of!>@n#Pk9l6sbkoo_jt5_UPk84j3neJpvtl0>&^x?2zE*C!_=0HOPaYcrg^E z-T=OSp#!A%ZK)J87vYp4#_ zRDTyUu2;}Bk#I~+-W&B|(Tp^&HC%w_1uuhe<4=Vc3bONNLL)^KM`e%;=suLCibP5l z%9|Qi-d@%@1W{XMaKd8Rj1JTh3WG_pv3j1nH3G3DVi01@!BOfz5 zt8N9Q;aaRgY%!5GsE*j9U3HguwtJj-)b-E7 zcF83dUlj>pS)f&TKp!qi1~701iVHXmQB)H4KSHyTLIiAU6O~Zi01!xRAScj#de#Oy zT0Y+Pn{R+KB{SM>VkW}{4rR%T{9lUz7A zRwVH_R8$(Cm7E1AxF;2jR@!mnGxcN2D%3{65RfcPU_EQ+SCDfqlG=ABvL3qKKpKwF zIv81bt}K~!wPUg|43zP06ils#w#L`{k;&1>pgo2O#2e{0VTkbi)rlp+Ab)pBa1Dl` zNjO85+OfSjN%5AN180ZxCD8>s@HnB6ARq}mO)3Quchl&PR1p%8ff$8&A~vX~yezaT zB_awjIK?2LXC2Q0{bHB4o}YI%F$uU~4Es1fo&|>aS>VM-U*HM2ko4u6OYi*${$gq&)d59oA|jug3)hsgD!}wIgGx5t@t!6Dl(InntZC z95nHe!2+4%f;NL=3pJw}P&Zs6Pq9X4t zA7auKWbM7&mxRNPF-|f!g+??Q!sdWG3R*ZB!B-3H)4GtLzaA0^NI@xxvqw6RP9gZi z&#POXD1NS~`rm4+e6(g*J^=*1vQT1wQTjmSTlQ9EF8zhd7? z0bI|Zf-^#@y^M6I>mxiw0=YdZ8CGqcazSH%3pdp+v|GpfA{x-hJ)QCS!8un*12U;t#(*j$HXbo)*Yt~$PReuP_8Cd{W{XA8tXg;{zI%a# zs|!Lk(xUjHJqy$j6lA|D&}0Jt`I;gplSib}be6#atA4DnU0Uv{eh1Daih+ z6ujp1TRDH{o@OcvJV3_Ren&>(yvOHtjP*XB-Y;BLziD#dNhsk)@shmGyWfyMcK?QH zKpc`PL3q>B#TZsFra8; zA)KLRCavnYV&F?h;s6J48vh0*+x%IMRG6{izw4)+V)Yer{ylfq}SByg^=C%-h>un3GJN=SiS29CCFb z7H+r&Dv&fJua2`%s0w@cdQ=5*#q`RWjI>HM6nW);Ruq7aRuo`<9zJP_KQ#T-y8#?z z9pXrREs<}L_$j~Ozep;TJggovMkSP>j$SGV#Q$u;K09MlgkYqh$G9DZSsMNnD;dss z;FKf2RQTMo8jLLt6x8XKbaKTwT9&STpeDARb7GS@Km-B)gIm#BqGxo5p3$VOe`Y~n z*#A-X7j+}S$8>+C+Z*cd68`?wtp)M$w+pNY|LHG=Jm1X>$n#r9Ky^eyVLUZ|)jpn6 z3P#XBqi;+yl;Fp{wn5nIk|-Z~A^tKvY%@Ol@&=WFVR!ZH=)2iper3l03UFYx;Xup&|GL2(hcbfI5y_6|*{KJU zu9Wyp=s}n@Oc6ghc#*I$0PDH%AUHl5KYl0zkRg9*W$)$GX$|^{(My}2`OD&b z-6`0=0%1Uwh1&X1N(Ii-h}l(TCjnIFCGRYPCHQVsgu}9=A(P7Q=dc+s=$j%MFvt-E zhOY3I1TS>_AQmWxfe)!*D)fRR4jQ}q896F2J}pT3bER&(-45d9VCF`99>#U1@r()@U=|f_@PQ@Twb<> z4Uw%Iu=+~*QHJLk@PWQs%6Ajp#t2fpG}+E13A0wwasVx#P?Xf3B}Sm_O+I6EJth3I zndM_&3_bYB1igs-FTSAWV!o0=``ze5{b$R3S{&s}YP^DJL=IXo!5yjq4Qf8BA+I2t zlbs#U1X)SS1gOKk3X5F4lL!dJ(!y!HuqbVP=AIxCU=Fd9toc@8LUIlzek^zj^f2(S z#lnsCV`$|})q@bmV}@3%8LK&^AVnSk!*o1R!&R-x3XL()e~50wP>HpBDFjy~19+qk z3NcUOG0jENgP#gyQG7f-<&cv8QUe5@HJk&5NZ^u-F*i>xpDEcuBMj0BoLcDD|46pA zkI4Z?PF?)?o$B|Sel&4LM@j#VIm5mP``yCNS~qO$bP(YDg0AxyY@We)AAf)9mA?w) z!Tl>m2Z~~CA1xZBtDubRs}97QMcs9vtUOoi7hM^UB)~dRKl{^Rycx9UB}MdYK>!Fv z6uPkML^*d2w7q%in`Lft7sx=rNmmDIK_(96oDlC)Q~LfZNPNrZs$rbz?HSaRZeD`S z>``hThYNz-l$ActU-BXYtE5NFp8-&Y57Qb118UIH6AvHIR9CxVA*9KM~DQD_Zkn zdTe}VAg3x)0YlY129XM4I6YEvwv;Bt5fO^n1zkz5$*kckryPPn*2rukQy|g0kBx_0R-d;Rd>K?f+h*FipPIpC=8ceK3DtNMH{rFkLLiu&|bJ><*>HUQS>2k z2JeaX95-aFoCZ`p!mk3p11zB z6by+Vg2O~+Um8dZz!2y;u)AyJ0S0UJIyY%aj*n6BaRhjLu@-9Ri$&xCMTO`=e2>V9*52$yL{{b)wmj}K}AS)3-(69Xf*zoI6p-r9){jjeVW~j-?+N7A@ zOsp3!RbR1cHJ$@R0;drLgh0s8i9%8Zp2$p%#m>F+H0^+|R-p+F-K9cMyfHxsuqyUrykul)1%9r4#2Q+29hI-aMn${d`W5?a+2KV$rU!w)YnUo z9nv(la~x}$+EM<@LmZi@14VQInY~5<$g4~i+(RNX9Z+pV9uFH);3*)@yOJM2{MjU8 zOZYbRw2)?@(+Br&NOv8`@(}<%3C;e|m#D)>n3+o*P3h~pfJR>iqe){bb0QHB2O=|| zJ;?r45T_5xQ|`mTok|*z$S~?deJ0H>JM?-tlh2=Xe1!1d*J9rvr2XXLtamnj{$atT0-A4q5h^tfOM;@@?Xn_9baXK-W0#GM*_0q}I9$_yO$0V$T zzj|=Hdnjt+u&H4_lYz6Muk}iT;?oUE*#nbL%UHEzCvKn;nn%X* z8#BrE;&~G>p~^$%YXN)F_V_xdr|6VY<}CRX{O>k0imeCKZ=XPL^)7G=E8IDJcYvZXeM-j z&%TfT7*@S+-<*K;k}vldQ=EF`dl6suUlGXuZ=K6IvS_g)?`}9fp%~zNd3#i>mDx?& zquImJrFlrfl6*a14NOSwTt} z`mtmwCr4B8efiC(JZ~0MZhgc9$^-ieBTRj2Hd49ax z*O_sYNZ8l_#3O@`5*5&42KryqL_k01n_xFr^c#v(Q@{cKmZu%zqodongIJY$Y=Z(d zm{}vW@6}XVqUggTWaD8b_?y!M*BGf5LKzf(Yi z9S_NT$lRbInK;aMU=7wR5h{K~C80fNFGKFcYjTpZax(aBHW-X$EB9pK1^~WE1FL}W*EK;+72}ySG}U?cXNh4)Hi?Oz94hYZCSVV+^Me4 zQ_C*F+lMW^YB}d0mL&%YzGH5zL22FKr{K&BHyU1BH>G$D(F_x#WHax6lhEa(4Hj!Qigl8Zf@1NoKX=SMf*VCo)Bi2gQwI=T*DIUTC0lcXFAK z=+W}K>^l9pKqM!%Ds_*@Ka=HcIRZwT)b_)^Eho*G{g?A%> z;+02tKk`QC%O|cp)<`EvrM{6aFGvkvK={mp+|1{W|6MYD|Mdfss#cH5ZltA2xh~W` z0tFxz9U`7ST?KX?&fa1>S!REW;q+Fs^0-JRXf+A|dE;bt(v_P3<8}U%poo^nuXs+c zY|gB(di~r;P93hM^CrlGh8~k3tUQryBl*78LnT>52+O{Mu-C2J5QZ3n%pMM3yGHdE zox&dAbbJjH@+S>*)%(zv2ZiyGe9KJ0Q`OdK@6_;+min-H%olBx#fj%{AEDMV@AmF>wL861~&oBVf%`V8Ft)Z_pH}Mr!*PCII(cQ zTq~G4DvbhK*IsB$y&b|AFHim(8+Lzt!_er469Y6QV76boiVb8>A=|b639sO}k$L-* z5l0yVD-Dm{z{Vph*QwT%%eDfpeMct65!%G1WZB#ylT@`q>DI27PA8DA-2+fCHR(*F z(S&&nvmR!6WLX;T#?Kr?Pw3@Ko};YOpP{WE^Q*QKXf#=zChwK+^OM0Jb(SMU?IZfo zV9J%&Z^3VQ6;k`!S!eD^JnK*qDS`V7P-p|KUR6OxF7}xe;0ngb_1VQ2W^LL3t&I120@tEoHZXDb`1}m-ZJGX40@6zk-yYxEGe|E2;t($)7 zw0u=fcPI0Yj<3{0KPAdJHhPM1N4^kVnu$oCqq#%p+|k@k(tYs2k5Xd`Uf3$CCI^>> z2U#RJnaAMocdgt{KaBJaSgPCn;tmGJP+Mc@?NK_f+4l;raqgfjeIe)G@GOY9K1G1< zm-VaHq`x!S2NolhN|)zFIgI%M*?3VbsmJ#(sUo0^Q_qz*l3;v{s0pDe{tFc{NcfAdxzND z&5i=B8T6p6LAQB7Ha>Oea)F9um6uLDeG^++H)|2W;?2E3+&QW3M}1pb%z@duVeWz} zm$r9ZYU^~Hl4!O5NiG0;4vYY=#e&1ZYdpgQSWZ-88s9{h z<%>3@BVf+iTMNEr61oih3L*aH9<^JnI!NN40dsV+{#0-l>{jx>0&A{A^15+38Y>_n zdg7^JobtB%6N?^kq)M)ZYP6sz;4e@gVmNfy#+C79HWOSk~{%j`BV>f&61v?c=< zt_#U65;0k1X9B6B*@^2yOvJU3u2B?Rl0DOzEANT2r0y#-VOpCN7q2g>kcuZehMn8M z6c+83|AQQVj9f40MB?GvMmt^Kp_{~;@8s95pA4FDv13j3QtOwsteddp1fBA>uJbUg zJ1@JB!FoBAla`fN1@N*Z=SML&0U~zw)U`>L0=Umqw)as2R(FInt)d-O3#CwaTSYXB zEDh=kvUE)#vRm{U9rsdV@tVv}eA99Q$r@^2pSgVS3!(io-MPW+rimW=If!7k%MDLS zB7j-y;*pP~i#B>9#bj$8U_>%$kMOnh93*SKhB_((-l!O<(W-OWOigNYz9QA)#1w7R zF`zS*RZbeBmJ>Z&$4nk@xg-7^=+)y&@4 zjcIwpC)N3DanrEH;rNKgP;3jWD4^Hbhbh42+c&(;uBovSNcw@ef6e7Rt`_vNb#2RABh330mwGQ4U%_F&Okh&EoP#MxhF@VO6nPq z3pS3o^_v91y}$1*)J@P=yev1cyTMsq6#qKinJU!Auvq)WX-uo`xR~{p@)` zQuSn*@D?VVuLrjNmR;WYxYI|>?b2pVPiK5FsU%p}HTAx83;f~fuJyq}rnk-&5r|Vb z4Le)|*d}e7ifN@ei&YsMmozZTyD3p%vlvu}bqJ_sBx{6{2%TK$brd_a!)?ZsS;SMh zri#iKacXHuf`Q6SJl zm^0#BM639Ww<*JgXa=K`KBF?V#Me#=-6=cTWzq={H^k|N)FhMK$wV$s1T71s6_gP= z&7xVEJ8@D&lTk}@8`Ss`w4!8AF`t28S03?ANTQPj*xJ^(xuyq(ef#;rc&NQq`O{G)E2n97g3Kmtu1O5oJi^qhEz(O$ zIq(|K5Vpv5ToljWwzXI6;~Q=$N%F*_1*BP+zzwE@Yjk;}cP4)<7cc|iuVhqs%u62f z%GwLrt|r$)lsc^Je5h=vvU6=+!8DR?iWrmN7T!jm8s&`2v=*1J)|e#DIx$IuuE@wf zd7`}XiITRE7pb^!fe_ZU3b3_2=xxdKxSH2dpby|^!t{_4h2(;}ZWW`Zj=Hv%_!Hb0 z_~zqkz_5d2gz;5bTF%!Xe&wk$Q4E1wZICy#xvTTgm>C_vShMN#LpK~e^-UqH)yHj| zdEn9iOaOVg>l^;@KJCnk+d7_~H#FnHQ^y84IjRuL8R!bDaTX;QuqCL(r%4)H;*=Rh z$kVuDlot?%>@7h5)Wbk|>dwgyW4j>;T9}t!SbfgB{B~!qR%pPq0niN12w-t<*shh4 z;`~~6OMf$CXV{y$?p;gHrR6iVkC7zp&oKN-DVmlB@Y#A5bTzD3u}=w>Ar?MqME;V% zsYs4Q*C5IvMK1Xh8W#pAK%P#qnT);TxnVE1qhNvGQW+X6*?d-GqO0O_4tW5Hde1*v!H|P3IwY} zjr3_RCv+GK+GcA_?6+UpNB@>mh4A*lK4Si-V5P;$-yZe}k6q9sA>#t~^sqKl=ED&R zNh;-3sT^K76jegj@Oe7WO1%q?Hvv>zLn{;&Shnh&R<-@$9gk&2mmRt@g`a>?fum$q zO{!TOwiO4xvRd9{Y=u)5aw{P}D~eOR)B>AaY-$bXdgvOOQD6`O2a;g04oZTCkydXYYWr{XLLHk`Q!sH_BQ-!^x03ag^^B_@jjSk%jbU}Hj8A+D+%#_Y!5 z*%kq3BsI9wi#!5~;sk@%#Q?flROZ2^an59pO@qqa_Jq1Iie(fM>s?fD!xvHDHYE|k zsYi9JZLP2V1l|$DXoqZ!LDy~`9j-a?N0 z$vm&JmI>7|=Qa%8GbqhGMrpMPCz^P?876EAPSb+s16?Xdf)b9`&d3n=7&}-HvQ9q( z&Wj$xLF84M=mE5vY4iwSl{S+A3;-5`B5qPeASsYD%~2wPM7|Dm%-ZVFw7azM!ZZGS z6}~bnDk}|A3Eyog;q}!&bCLQ$dyl|1s-9cE#PhQni{11TM{KuOACt_L6ktLw40_t=`V5 zE7?i-Qh$**jQ#}VNNlKEzrZR=s`d-5KA})MRm*2hI$^4%F%zmU3<$x9#Sxa5$>}>~ z^9s?WQkPln3H$?mkK}9Z35~6&GWt6Q08ES*+)mW%XoJG*qo-%RzCdF@m*kD$Ut}oj{Xn`D8pPMhX z`J2YNN^Fb3-+IVY^MSRNbDJhEzl6DmU;MVxa!P5dQzFqUZ~!(b%MyAU%BY%sbf%_K zrG@wdh}KoceA2DTN_}*C){IO4kExZv_w!!$;Lu5`bMo7xY^6>N@bjQ`;^;5w9?u%mA4kYUQX9M}=d6k5Vi-5CCn+7bgSqYr>^3P+G8B>lleb=t}NE z0y06uEbwIwBruta0bJs@<+-q)lpq{{uA0=%F9%QY%lRVzv;2kcPuWs%ZE$>bukhur z!@l8T*cbkqpm{BeQ%SxUJy`Tn1bFJMt_~CJ8fZ;~T+@}wypGEX8hg1_^}7Zp)woWA z**f4oFdxdW2i{T{uG&3o@^q2|HBc>ZO_DJN|<(4e_M+;h5&8YYz3 zp&AXsHc;GK?PX5YMY&|Cgi}4zJpPThA3l6|%l;>^eg1sGn=8;5wd{CshZ=zcT?_D% zH3eNaQ1;D_#A)M}&HK)E-RMK6S*~U9%gr6n_f`}5?DFGWYyNb+xAfA^(TJ0N zm(lz`n(SJBTz`6fX8zg|4ftT=Us%6sKYAN$qNcSM%Ct$>R|{Y6v7vvaICf|!Sa4wO zZ0^a@%zroZW$NEoFWl+ZVC&Smx(_;d+JdwRozZ8f^9ulQjomT~i1HOPTY%cVbPH)K z((~usGk4maNX-Na1k<_&9uLVWawXKbw~I@UMqAh7`LAJ7;NSyXH|2u@1h>x>BW3m*mjpD4k#>CKO`I<;Dsfl=8N3)*?V@=zqP*?^jWA zA8q_8jmE3!(+&XJa#!L`-M_tiXaUjMN7d{vQcN3Ar{5c=_M#8pD>^v;)ahT3`zS3o zsqLZR2udG6d3n;cq3sP0;U-|)saNI&;I_jDw+Gi%4T&dK3Z*B(p8!-HOCtetGL*0^ z9Py00a;hUS*&`#;2Egb&mZ8W zSk5kH&#RU?9>0st96%t7%;wVa`nG90RiNIhYEaqd%Iw$j2pdnyPfQ1a8@(-AB{}?Wvq)8WY!&MBjS~{Dj*E zP>g6OhZZwc>~+6LxbgG6~G?0$JkMM46+^FzLr&gq@uLB+0+s(HY8Zzf?0OwWy)&~7j zv3T{61>Vu0FWB zDoA1~p1m@ji4-Gq-}G>&75s{w~Ov3*LIt)|9Hs@xCik za4$_nnnMskB|t|fh`2p*4kS^B2=|`~g;d%Ehbr5O8!GA~@Hvj5sFSvnf~K zNWx>*i}OK3H!pG?qsr7W8$L~vL@x~Ef=#OlggafVrugj_ofQWbls)2)%xk!YV_+LP z+i$Tnf*<2{MjI#?Uh^#js!WhusI6lvRsB-*9#KHoo7+!Vc|_T6i?Y{y#r7R}aQMLo z7F59=@_*6;i+pIu)91AHv6I~|!K#q^q}@!9AJ+5pnyU+9ZR;lVUVi)*{K8X^TQw5~ z++!33(BLIehcKA*4^z;{he+j{N`a3;C16j}XjiNK$ue0=cwV$$sT=e%@D7+ z^K=?#%1=??;=`uMM7Gp^(~G;#=FZ3tr6GhAQ29IhpwAV0Zb;OrbJ>`VYAJV&h%hq_ zo$D@8_6fG6JgaeXtyql{$CotYtL;n@uoS>F0ChmoLQ&vM;Zd_YC~{{<$%%|Kr-3o{ zLPXd%Db3X95GbeC%?va;Q_3A3M4A!Pr-~&#c=ERZkoi?7&lgoRw|&&{!K?F|4}a87 zwE3f3_O`ct;+R4A99QyM#F-qUfBNt~L3b%5KGye2^Tq9t`B;*lOiyCg3r(+QR9x0L|MlFD;z0({DGV~UF|+qzc}UH zHvYSS(}?*@eG_S!f4W{PC=3*B5R~az5?ki&u-@FL!+} zVC83?I`!pKFZL4nFmqpfE3?yACBmA_7OwH&X;-x1>8q+2B{R{?KcxUS)?fotvxD{K z3Oa`x%}0`Z=7U?G3Y{K5_yV0Qbt~l&^)&6P3q-URQdgZZiP!tgdU<%QNLhO0Zz@gtS3o{T%5up@0%|@`C$h@F11Hl>DekkVQyl?tUp2%l18Sbg@;f2>Z}W2;)^n(Af9n{m@HBc1zdvi`NEcRHeHFvzd*n z8V{avjB158qhPNC`LQO~sauL6)@OJYA1u5mbvdtnb6UjDexh8KDb-ID8ezu9)1Zwv z_syq7$;o>lNthm8NI458C)stlgON8Ub8SbjRnCV-8-*SZp+_#?OlH51bY2=-o~QMOPBN=GUE?#&im@% zn|k|ATaM?iS3T?SlI51{k%`U@$0^J1LdRD+=LZMju6FEqdS1(>ex7J9dgSrkGh0+G z&SnATs7L6IT0Ej$MW;sZXPBlSMqf$HE|VE?HeBJ}a`RkGMpCAm`}Bu@>z&^8Pq)Z| zwBhKy7+y2MseNMBbW!aF7V z;{cmdV}D0H!-DzT%#%7=53uWd`_v__(HZ7E-GV)u41U-}2gk&c} zC8`w77hCT3)&8id{rS=DL7XIoXkV@PP-CPOmz+ z_E=kccPTeb&py~WSUG<`^g?hX@vAB=1eT@xGXTAVn+QJ``#>_xl0j`ouSUsortT=c z@8h@d?t*gl^kd)dPb#uHU#-_=5wyoO4 z-7fS4Y=rH1GlKOw@4SXDoCXlJvQUb; zASx=?m=g{vVDlm;A};>6MaWKg<=7!(0o{*m^Y*X)YVEwi3rCMF-!SI*2fLG^^9J>8 z{&3pqQwfwXWN)=`!s=guithN>J^EjhKQTtv_-OTq{_65&i_RA#X1N&$5e->7*f}gb z%EG8Vq2(hjfh(b8l4as)omWitzjw{2TNlD;#jRirQoI~ zQ`BG#{dDvFMZGhAJn#MqdsvK7d*Is}a#EXLXz@1Pe@F7s=XZZIdzyKuq zo6;|#|E_YzQuSaA2T4>1LZyZn`M9DXV;Z(7gq9Rvg^mUr{lu2ii^n0a|lC9jC1D~HpgMl)xnAt()j$ul)0Ntu{pE z_z!cX~6+0#HoxvpWn*Hh$r~#=kNVAtN6~B=7qe4t)G5_ zol^T(|LvHmYnwyhrnUb(&?|Up-Y46CZTP_QzjvA91Y(HMEh;aQr< zn?p8PmVHRAs_>ppdfz@W5y!1?dyYfHWp*5AcHPJOf4X#Z$<Jl%*?*Yx{Tc$eCCiH?`M2HLau)gohF#ZA|E-0)zR{9EnNFTy>a z!tQ@Z*R$?|8V)_s{cHF+Vy?cc(}&juIrWSf3f&m`0^{A*H0|r-MIcJUKO3!V@%$GcpAB$ zJQClH>&c_XyKy~vBt(j0=6dqDo;OhU6;6f;IQl3eGeRV jJ$d|pO&+`NOuAh6THTxhoeduUH}UT8{$+D%#pC}EFLRI! diff --git a/content/pages/docs/kcl-samples/screenshots/bone-plate.png b/content/pages/docs/kcl-samples/screenshots/bone-plate.png deleted file mode 100644 index b1c63bdd30f6b4fc9e5938d34063049895e6593c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129303 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 diff --git a/content/pages/docs/kcl-samples/screenshots/c-shape-solid.png b/content/pages/docs/kcl-samples/screenshots/c-shape-solid.png deleted file mode 100644 index 3d2010d53f904e5cfccaf05a13d31d5627fdeef6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58298 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ũ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 diff --git a/content/pages/docs/kcl-samples/screenshots/camshaft.png b/content/pages/docs/kcl-samples/screenshots/camshaft.png deleted file mode 100644 index c92e50e69f04751b7732e3f4531a68695ba2aa74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64661 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�-0;#Hi1+=r z_FXjt-X;hDOA!0Y_FY|${P$&SJdMlNr?`Yb;qD(L*gA%XephE#kzX2hqU z8wo=VO(msG>!;37S;=MBkh}2A^9>W$uU~KIma%c?&OZ2VZ)RNMrMSQa3k<|$gmfo7 z0;=8$I1XBn=r;w92vma(Xqw!VP&{e@oDn`KWJg-si0w7U`Yp^FQC)^Hv|DPa-DbIF zn}pv!JP!X4H#_!vS=oln%!!8iX;p6_K-vG!3o*0$B6z-7P*(Pb91T$-649b4#G$$; zWBsGz2oO0V=&B4_u;9?8eSTQfdDoAx1*-Tq_~{cR%qLjVuWmb^@f^@%W_#H-rhYlO2}Q&7Ys*!oGT@inh++8})Z!QO zN|KY3+HltC%`gk9A8oDP>e1%#AD{>1WU|Vb%~bc?O9B_3Qs-`p`hi&<@N6m%I<3mk zT5npCkshd@pCsfaK{2lk?um1wUzp#k7k@q{bs%Zp20uVQbqJ3rA0NdOLDTavI&jUj zeVzH6V6~JfR846<(G$@wfRH|1*{3{4@d;fG+M)j!r3uicTtSw^>mTN#b z+`+bL<^A)OM-;F~g5~6hqU7}YjZsT(_!&zAqw-UT;rTES+5!F``l#;(D>KGe_cQRt z4~dE8d9AO1f5 z&i4xow*^-m>*uu*3(gipVSkW%&jFg#47`Vjhk+@skR3z9&kwm-G9l(b6AYZBuuRpw zK-TsV^`A);GGG6k>>`gol8K5a@QWw_WFl%Z%d6zgqC(HkbZPi9!*dlJM@e#G;;7jb zc(@H0XD7bBVawUVpt*zMvflaAlNV=egPI#uaP}#eTNsRiqj9;V8KC9ugLBJs%=Msf zbA;d=-je1tc5DIbDkYJ}+*)z<;_|Mh^6UsL-?jxz;>J(hdbi5?XxeJGZ{~bm8fJLw z`zHV&3O}yiHNlV@bi1>A(3$5wlVQ~7Ixc_(-YfZ{`r_n46T8rk(>fB)c3X9ApXuHh z)4d=)EoJ&+i;SON*yoc&Ki^FsRky3y>e1G9c+Kd`8k+l8yt<{&er>c1hBOV4%bg)ETUa;s>8l z{9wZSWY;1PX$yCPZEjIHvnVzFQqB!5t_F;f;Ha!Ty|Fo^SST|A*b!!e#Mfw)q;gX# z1k8W6H7qJDyl_|BF?aZ zKJ_hTS%nbh;{w)f^OI$5$f^uBRR@nf;*mA6bGT*G76b!Axd{XZv+eSMM{GIY;`tNd z)7s>a_7dX@c_luz#TADu%gB731d}P-(s;!pAC&9eIV%c=_qt@#iA**hk!{WkGw+*e zMvC4iVaqp<=6v;XP}`+3OHRey_+sk(Ys?lIh#5M?IL%s2q4#sLdJ#ZcmxhQ2Bse4QZL1(Jq6H{kA+3dL%1=Lx1BN#aIEX+^JedR%CP0pk(O%M z^yiavk2J3DHT*kuK8EaM;r*~@$Ypgd@QGZd))RTo-afMvy zA!T4@7pE~B>yURbai-@_xS5*lldtt&?(|{&8{@CNiu4fn-OoRF0=faAwh(s{2oJd+ zds;APPtu_Oxe)R+EQ8+sc2dkQ(&JI4hWr#{X5jtdeGrX=Ano@)vS|kjw}-tQ{}zyP z@8xTr?!D%b595(KGDL4^y%coWhAkIoZ|(cyrnCQoh$DK-zuy|*Qod%4p$r~)jL1A} zq#m-97rJj5=f6(NFzbh+LKKV5mX{1!-{<_`8L?}2Z2rsWKXd|n0EgKug^K^PJubU-bA)IU@CZSzX*ab#nb zF=`x3vqOHLI0TG}y(Gd82h0#R7{Sn={Gv@MVh03Fk&1hKQXH+#{ot)yDojhRXqMgT zFke|QYA_za1T2sY;DLttL@_|HKm`Twovs|)4e!!FjB;gN_?D3WoZS~Tps1=lf(T|0 z0UUdbhbqsjG@(rb^Wg0(=QSm940=OvdR7T&LYczfW2b1|Gjp z?iMRZKUsfPCJUUj1SFvJkQH=8OhpZWO!PXLc8Xj+x5K23Q6m)vPlz_FOrF_(6EFeu z1!R@_t!6ltz_yig=lC7uKV`lV-$*zmYtOi8om}!Xe`(v;(gmmV9;*20J zsi)Y4EOBMrwP&0|9|>qU5pWhxad`R=z5Vi5!>onk1q?YkoHJR5Sa|fB_+*iG;I_CS znx2P=3Axe7^^^c5vvchR=g@7!xaz~d(!VNe{Vj%XjGQn;w;5QCe+7xdJ0^NYel-~c z%!`{4F{}b3xaVNWu=xkBwJoU@2DM{ZA7e$IxF8X==y!Y3UW@&o1W#%p{Y&v))928cz z>+lmnnC<-A-lk!ID(>!;FS;KE2=w#1(IOhKOYEY%+g1 zeJN!#U;6!Dl2^@*Q=1ybd=L-AHmk2jZ~>gm>I(<-RrrZPP<9l;Pv(A{GY@$kankhd zXHw6eQP;X19nhS73m@Ws3{K9g=#8kwzxug9*&cbTqG2D#Z=UpR(xmbK)KnCh*GqFx zfZt7gdmxfu_1hl=1X}tOgq%%dC>{u~>YGRydcBvQtay2A2+R>8W?58-q{-FjX~CBi zdyxRU1=$u2Q5?w_EJo$ss$49Ji5w(;n0qEn0ndaO{cGZVWjCw8m4HxsB`t@~<9z>2 zW$@YR;2)KA3$DT~@Q{qPx;p{Rz6N_Gun&e@{EOZ!SoWAzDrVv>&vGoPUK9hT^p$MDs9wuHPS0nEsfxscE%}*9n~P2KGATHwm0LfwQ+@|pucNkY?L7Y z`5BMugW$8x)nVog$%zp3I7jRbUc5WYi;8HCsnRc0a}Ndg7XL07q$)7Wf+yYQ(Qy)Y z5#iDQi=)J25@bxiG$MM#CvNxe-oy30XenF_(&T((O$ztt%qQf?ji@h1Xbk z?y>YjcL1cbV1^tQRNNRx)R8&Fa+Y93011_UF%h?8G?9ZsOxQ0p|Ae$JxPA&Ey_fXH z5^^8ce`Sw=)Q!lxltXcL-GCg_qf2uF%)R)s4PXf4!BA&{HC!`YWY?qOKi^Yy@zNz& z>(Lvw{O1BN9r7n90&gHYa-lo$8+e0@7k4C`ICt(bvXX`awFR-1)BldqOx9{s7Uh=| z1AYlDonoQ7sTK+%E5b4FrW@X(EG6ojIONK)jze+}0XhN;^^)C($xN+TYaW_ajPDH4 z9%?Wyf;%&%`0iaI#-?ZC$Uy1^fwo-;im{S8yuhB2DHz5o0xUKDgU|}O$IxFkZ9n#A zT;1Qt_rH7h?jJh68+>Ka++6~4Be(%7*DvXxm6(&6017I{_xEhP?Y$csd&ppRJ^o=l)c1hRn~&h$sfyV= z2|OYg1x);f?&k;pnb?Y&4`gTZhyF5Urna_EzQz@<7;KdUjGB(99jk0l(aG0rPPxNT z1nB3d%u;vmRW6k1)j>^^&y0!1U(4sqlDICO(4{0jj&aJzjkv>o-hG% z2f|1RiRmxwWRJ$qib?A;t1loLLVJ)yBgMJnd)MPF@LnhVE;SxWLl89}>o|jdu1bizKQxxll+&`NkNGEKVx$y<#vy5Wh5 zZzIi!Je}Rh{FNCrt=GVVi0%-U6c~?4Xej}JGSv?1G=vF4Kv9mzh>L;| z2}JdgT)(IFi`INa;#IB-E|YeW9V6Vu?cxuJEpz^m+_LF<|F*QHCHvXIys^vcL zkyY6d{9qSrO-2x|So!O2uO}EJ;*RCnW4#j1Ns6W*0-ATvij7e>5~ITZBnf!NQS;LX zC=~qA(hoi*vb$iUS%O)0)Q~jKQb$9c;aYog%)&dr_6L2n@6u;r*W5aF8r!?~hS6|@ z^oKMj@PSW*OrX!3;y32y}rgHix!eMgi1-G>$=EDc7w#wPx&d=~?M8L|-rNHM>pDQ}FQ(XH)? zK-3m}82{0e{r|5(DpQ}e;AjjWZHc#Mh+Wjfpb3}f? z3}xd+*V>I)wJpVVb6NnfIIU!Brc33Q)r;e^7sqFLg;u!XAF_Y7>6H`)9>$T>P z2VBU+E^tzy_&}*55oSw?eGreI%YW**frQb@`Yd-Vhv`_DqEUtyzbP8ldpTn)_>QD0 zf9~L@|J68ETvm=C9!3h*i}frY->u+y>tHcfa1(l?V|r5Am>H13$IxDp zv9Tk01}P5L{HdhUiRA_|?vlKX{^~`_)lD5~g23O1QI{bju7w$0HxG4lr}V!#K>fuL zR0+--`G#NsDzK z(@Gfixw?v%+ps@!v!J%Yc6>E#(Wm;SH(9;Hzr}59*}%B^l(_n-o?UIuRfB zf^8*MS2eS)lv;$AQSoQaW@<3pgGK~E7Lf>|!9I@~avH)USK1^MV^Y^^qs+vCUegDN zbCf$Xp4M0j+vhUbSy>Gv!Dt$B5uVN0!f}caFbJs<$$tSArXE{ixxMY`?R^?8prr@J zZK}1y?M@@-rYyo$%r7>^%M5-0+nvLfhD^)Z;$+LY#c6FJOwV5Q>y-YxGn;`l^v-5_|a@;n()7-jP+F_aBc$4Q;h)vGSdxf!%l3B{z?#YjV$A2*=1`biFR zS>cnN8p6QuA`V9^hz(oc_?vIz6JQHOiAdarJY;AwbfM|ade7ml66=p>$_%k+hDY-m9*Tx&I5?e`c)TXUxBKYYj=O0#MYc zcfL>mqs#~&JM~KofO#E%nvxHwzGlaT({nvgJ3)EUUYMeFZg>h=@kxL6Uw3n1{O_4h6U#aIt{tFK4=}QUiGL) z);vg!jE(1wH>m>PMW663eAZe}l+~)T%~8C8ZNXQee%c3SfIM3TnMtO*$9Pq2%tfiuyQan}uo??+ zdyaeYl(4H&#X)uoOiCcBl3ai!LkMTx;B)gIJ}V1R@t2YBY7GG~)AR`za%cpU!pbmu zs-Yt9GjM94LD737JGx>OjTS7dTX`-N00+P+IFRRI)em|R06hIt zJpxS^Ac{u*9tFO^p)tV@6r7pd$0c7@Jh-aPbe*~N8xbgJqIO9zHtm!Iw|+QpsLpXa z1_G5;M0Cg~_!&eYO)t4AOY%8&Ngmgiy-llf{X_xDfszr2b^ulxr8de#wIdu*1J^+d zK*^uz&A;hM1^&;p!GHQ|7+~b%fK;5xClDz~(f6wx5 zL(SQ&hO=2pFw|dt-X|zTGC3czMME@C&qNw)HyKBDmPLsm(Ri6;IybBjHd`;Pw4W8- zrnrYxxhz*)%S?UOll!<<^%9n@1>-WT+^ZO1ev#HQv?1R$Yg+J?Og+)}Luj+I&QX5kqCNQ3DfK%eE&dPmxz2Ev`toH$I{DAy^NJe90iR zr+gVJzLv)HbD!Ivhuod%dZv*U@mlhKk${)XRhu0ctqsh3TsfS-}b+!?ZK^5SQu7#@@^Z}(~; zWWCAh%F^to@&O@oyNr}iu(IT+%l(0LUgZ}vyuLtf>kF~-@lJo2j%?J zQ{G*OGJBWm0~v|%j=VmuyW2YsdTD5LL*}2k**Pb7aZ&uNzEm1c@LxA)>j&|QMO~~+ zt4;H+r45+{(^a&|4`T}}*Z@J`%5nGv6l$U>>iqWmgPH%{(0U{<@w)_BVzSJjgHk@s z{Gc+c-4(EYMj(|58jdAiDs@+Zu?2w9mG}v_C&ve4I;jk+TYD1u|4{Cr&=Hvv& zAJHqsy7j-KCi7V#skh($&8PUc8YEVL;sHWf{F!1wTt(x1GI`0FWN8tVprwkdBw?%& z7H=x~0N(;;;HwC*2Oc8ADd#Q(1K5)(R>BzGIoYdk833RrFABK=X3m&lWd+~1YAs)^ zL^b`DLJ#+3EJ@S|6MGRHhWs`;{2$~qH2DM=YvzBV5G>(ZxuwWsI!T)tWi_fwV^azg zpB4LnO&}6U?T}ErHQ|&DpDc9)h~*cPEfK@BvQY38{}Sa8qaZKu)QQPc7XlDuI9nZR zAt&}$>-3+bMLSp8@EDP3K>3pahw1vT6Z&!0vmZ#9};ZF=|liuMxUF?JSeAC{u|)$v8D4?%@D?7^CX~8k*UlVrPT(k z`5E0{cFvCOY+&mh{wi61ei=Be7o!@xF=P)_iZ{JgQR`b++O#&1I`om82XI6sU0Lk> zA0tUm^46-pirqnYXG)u# z8Qu1>30coECCU5tIUZ^W$PlJ{L55~l(iF1jSTh-VsH)07OQ!LkB_QX+U7`mC*!l9!{gvVZ0FH8aQ9JtbrgSY6L{> z4WU#cfRWl4Wt?lBZ$H5tBX)E z(j~5D^xVqb=-fsH!wh@Y(+;4oLv_&hd;jWJj(pVTYo;T`!43w=$tlotZe-CRdOa9W zo?_UGm5E}M#J9_Gk-|P;K^}r4F416x)huweR{4niCIM11m1pyAJ>OZU7Qs7tG4ks0wL!tz)9dt}3O4>%9ngM z1&1XE=YtxP!V7pv66zw{rh^7QQ6Qn(|DZ(8$F&%V`pa}Fb17oekgHYGET4k1szbl1LmF}SzkGgzZBo%~@>El-KQLH7=|D+m4^mpSKdfXpGff0(&+^a8BbtELw zTn|t}B_lgKhh03%N%dxXvjx{$HT!=p!~1mP!zL9uUEBN$t(F2RDHMV-OE+Y8uI8pX)#fh|L54u=Apf8YVyQGwk-ud z?pEVQx0b;|Fx>KKgCRfW0dJg&#&FLkR82_$U(^)OUI$jM7F_u59n62~?LBy+#?M65~G?P!zuDENwGU8Z*Z|<{wyA4-Ec48kLT2(f%z< ztI`Gil4KEP;%dD_m(DCi#E4e7o!dU*jK*HwTnM3<)QI3&8niMEjs#Q}7;1EhSTS!8 zQt%XHZ;wOn-L>{E^boF%J@uwIu0so9z!pse>MNb{d_=$yhe~{}8aRvavH___29)JF z8NcM}g6D#x3XPzm3NZr&TWBr`sCMz<#k`f5z}`NU71EZqHC-dFb*+I4^F_4ByZXBF z4AdNF1~l{N%>=FLMDM~aj1%NtZ1v2R9H#J!yxj{$a1ojMh& zFQE=uOY=rAt#T7S(MFh(G?lJ5Ah6Y}Vs`~Gy58(%Deq-0k}OO;L~9Kwzw3oa(qv$F z*xU6kC`+JN4ebDc{wFkhP6R09`=bL;7ho9>i?vH019Uvg&;?VZ2^nqGLHc_)tB_HM zp~P$r5wxxOr)%9aoPb6*2c}2h4YP`oB$zTl>annKG3#7)bkib$Rm|@q#WT4Ibnt4Q zN8rIO49>q!0Rt}WLj_B~udS^8CZO({-Dau5Q&9CRrO+g*TyRmxGRDz1oTK3pX%l3= zfhG-xv$OX(nWc`;bRH$v=P|36@_h=W*!y9WV%wT}vo#FqaL~SR1oQ=3DTp*Q5ua#w zt^23zbzWRsD`cih8%36UT<-_ZD`A3hy_;J(8?lNTH*F?Uk3fAxK3yi`aPqJT1&q%kau>2eR_|5x!AeVv>6DjoMFF#@p_HFFUwDrN2207*J}bE3t|J9 z7or>+SzQEBao4cyIIYYyuzMfKv{30F_NCsg+Ow+c)KbTcnK_*4kTcIGYvxnxuaNlG z;-k_kQVX8R7^`GXNU;6Sj}=sPHuZ@-I^mG{0BchQATAcl%NC&k+yMfkArB8q80q5#2w}o4l_QCQPQ|7^ zY9M+l)5_o#V%z@1rPnBnTq+byYuNSp`2O&5Sot9ASbu<7e-rxS(~fD(%rURljyt_} zxqHp>QibhR@qzIKL``vl*N(J_sOV>kh6ubm9}AxqtbGLHJ;?1n9mys$FLqfvsU0pW zjMzetiCyAf5+%?Kl!5|sIz7m2Q6bDP3#m|I zxUxc1Q=vMhKm}VEf5Dh&D-SURCCn);1p`+}#md-vr2X83DMzM1dj;nn212#v&ai}% zsbMY}#^yMzg|sEtLg&MZ3t$&sa_D+xRjJydF_h#}NeD`M`ym$Wf+afI4B7zLWDqjn zBk`%saz?@w_-ud$7mYCAa*|-`%A&5k?5VhhN0|mzuBo;!%%BDaG&^A!D+MZJfX$Ju z>M*W3iwDoJ5AYXQj>$Aq0tv`MJ;HV^-l3=8Joy^&-^MMJ`@xbcm$GYVtqD{>LPtI# zIcUL*EZPLbm^gYbE`qFGG@UUJBl6wgiv{oDN)JR2djIdM3gmZ61xH7Ly#~a(qgz9N z3^BL_XK>`GIu|YeF@@@lQyV=0SqmU)x{6q3<1zFMv%aBv-H?ZQl+3lzM*!+P3vSC~ z-$KrA`JWIzkJ1$?DIA}Ugp>ja8;g=L*`#`aBU-d4#1*v0;Cz||wp6;JFh^g2G+6OY z87v+`KYZ3FqHEa@x+m$Gg4UgfgsttWM-1M7QA)2KkvO@ls6PM)D_yk~hFZX>{NBTI zU7E>j7@+CCDB&hiMy>5<&^2udEuy+ok^I>?ntW+O&_n79ks!shs0^6VLt5Z}p522}7;@FNf~@yTK$8m4-(HP|a&H(p^XYPBW3g*>)@3$pkr zLKbPS0%d3R;-WDl?!1A3wd6qlV;b_b@uoTob?o&N#y^@96F{P2fmkplj40Q$9ojW5 zsl`w;9o?T6#3=5v1u!XOe`#wS`#^?dW-rN1j$l76I&gGlNvS+H96eH+@pAKsT8->1 zCY*R!ibgeT%ov#6mai7fySj?avjm5mv`ov~*m4ulhyo`}lTi&P{j73c zg0e6l0zf{JoSQ)Idg=P7Rb9pUT}HYIA1moLgrRJwDd594B1Rih#Eag@&6+A{r?%SI zaE)adw1u8OVIWaUn7j-yNiT7gz+Bm4YL>{^{h~ z0sY7B+{UK@uC8M5ab`+#0bgmz<7R+0%@|PY*Xw)z}EUX7ROc@y2 zQtEKb!#n)Wn<({}4&=cY51JnI))9%YG$EDR--GDuQ8`jbH(fY2T=xUT1KBCY!X!7e zSW;T)kXY2BrOyBoclE^@E&@z_MUz%F>)C-$WsPcrcD^E|AStOl=cc6u?hIM)UQBe- zx+iI`+9@Bcv;#h@tN<)!hV*EFUhQadQq#xxv?4z#Pt@`^EK(F#d4xvGdWnzH0QlAsW?;0eCs)L3W)5fFYxVonqUdw$gAEJ%k775v94K3X3#H+SUc7YC|fSIg;C! zwA8|s8yGIejoMQ~(pzZtiz=Igf*d z?!*d$(X0^4>3XCd?jcDqO1QX4XEB8XKFz^ay32+FAZLNcqMzGUCTOo&C;6DDm0_}m zM^p!!V$R-(urE9HP#K&;G(5}xHmQQNfWQuBf%J*D_3)bLYO^1mz{X!gc|bA?@q`=# ze-$AT8m3sKkxUZ}6k%3|V!G|x$840Av&-!LKU`UR(8cB8vm1V@b5iNhoy|BMFMmSadv$hZD zp+95B5Xwj|fkg~*1cL!~5+ApsvXEd5pb>kFcxZUZffbZPSAZ^wfsX^BM~x#zJ!C8R zRa<-0x9NQ<3-nvWt{2))8eFN77C;QO<0;n0vQQM9-H@vxeFTh2BL!?q)`tdC#%Un- zvoN{FM<-}Z+6Xcpq6n8V?Q*+Jj~zVt^j}j$AH+~ywwJZ;y_{|a4NZT*eN)`1v4*@m z{J?yHQXasw>f9h_TSaJYXyG=tzCjZmyN9m|FW#WY4-42PN3xZ3@q^RS*118f0}GEJ zWWzC*4efu~)6;DbyW7FwZvx=kqEw~WHNSjZtNN~u!RJ>)AVaa_8mik6{Dq)T)Wq2p zUjwg;gt6;!kfN$xQKWu5XZ5A}AW7m@pck}q(`$0yQ32U|8p8uL1}ct1INzHsvoPN) zC5Xn;0?B+vlNPEp9=8+jn>(t*(OP}UkvgpG;RPEeOZ%l996_`2cP3v+fc&Ns4uS&n z#ImOfvEo+lo+!;=tnDOK;h%QF-=XZCxT<&5F3!Ew&pDlx?Q=#-|Ilm)E{cjxU`jMF zuy&#yh&9*7YQ2iJwjBZ?^+A2GB1W(dPEKz?yT%nv%sAl2rb5ub*+**vcWM876~?ot zUj0X&P3HE0owNun3ULJzUC z&{{T5iR{I*%4nd7%aJfU zpkY7*vn#*rd00)Pp{^55J9whe0qA4aZWu^SI-471wMq8hsI1-dE%Q&=8Y3YDLbhz5 zrLcc&F}vgc z%be54I>^W5nXw4+%6lt9mm+t;ao{8g7hrant{XH!$jvc*7|Fv}AZvnp8|ID8r&93d z1NaKr0eMmMmWH2D)l&bE^Z7nf9X2Qfh^X*VUqU}=N?`4VbHuSeE{Emh9Z=cRV@VS5 z4zEW*@?gM9YQ>JsmHSds9zDbexcv`sV_doCr{uFOLCC%#VT1I($ye%@8 zCN7F(SUJ(1=k-p4}jKi05hQ#BiU1qb|eRBt0@e zwNZ9mtyN>#y}1nl3he9)ELC>b)Fq01IRN`Smz2MOERiMEuqc ztnGH#pfvalP~HL&Aele?Y$U6*F|%jJ)LP*&kuHGz1A)DMYzb}2 ze3OyT$TfD~vUcXc2IAC3^7$*Ueq}ki7RQg(-esD~8wFk4gt;M@GVI z9w`??JV4zDPv(gZL3k6uE|%qxcW0)aIhfjBYx^2~PkNmxYf`14eM__%mxKPAv^xSl zAt-~1$ZIlslx9jm`bdHj-!q%`fE)Rmi8SImhExg38PuASJ^PSHJHw`WCl$C z+5_kNAQr@Y)5~QTo66O0D1#LT?C#fNY0mtE>j-lT*H4#-9q> zk)WW@C6A>OncE%7Fr2n~g@OnG{0w$Qf(4a20UOEDir_fkvPjKL*| zOCE$9QZP1KHSsGY=>mkaSe2i%6DnF%B%KHf6LmDTqL>B;IS+(=yJq9$rHSVU>G6@N zyAln@@azZfMMQBM&&YWC$}-=A-jdXopA zzO}D`st+{BDD-2`3aBm$Da6yn<{&aMq-nE09{oUhD6SOa$}qUCM8n&BWC+OsAY`qI z2zT0nF{6n5u}3*VFf_0lU|i9b1IkOhmyre)vBcB-a{dpZB`mR_VtFof*ZVZP&f*I@ z9fs2rCQwc>MsCTH#}DYe??wfd`M%y6Rb?BGftg@Yixf7oA7&#gY85+4y020^@f4Ejt*3>iuTgLW}SL_Y*O1Q z#fv$i9I{@H<8oi))|902vFe&uOzxR!2NpOiWv?{!p+Jc^4J0yFwNYA?gJOVGwT$l_ z$^Fzz&=G5Gy}!0}VcoskPT~-hM>b9gnA|na{rFm~cpPIzDP4CQ+e|LIWg{Ua+i3n( z`0H~A;Zn=usFbKp;L$Ii${|F0WsjXxy~8a63Qo$q{1&gv4(UkHuBmmU-4asDwOM5j zu4N8}mSTQ4duV9dcJ%1cE0mfwKD9I^EF~tanB+3ca?zI=I}8O=2J*e2>>%I(O-hLa z6GDUqTxw$pT%n((J78mx2P#i+KB>p2rncd(k%Gc(blR~y4*F3Z{-a+DzNK=5h4dO` zzo4MXnw_qVw_?)KzYYG$vS~nl-4ErxO}Zr)K7)c0_HkIPhY&#|!PDLHR7B=m~4hlNn23zc!9d!%h#A~m7h1eiYsIhW>yuk9f>4=PjCkE@W} z^K7{0?3AZvoS{xEvZ%Ewf1xs3*_qpgrP6|PEtK;-1jELtf>uln97`5aHR%)ipej9* zNg_N_lu2PJfuCjsDiRC;QkSN()zSsg^CuEgMSkHI{L)&s`F}{B@m(zpl(6+3?R(}c zP$K7P>%Iox%L17L|MgTV~GD)La)7Toafhrod~3LNO8g}oE0br_LoPaF0E62>eJ%a`B|Y*X})w!D1R}U* zX|sSBh=K_y08s!lW;D-pwq<{9B$1rYfHPU0ek|UfbAVqkS}qNOd>UKcv1-_j7r2RO zxZp%KHRCZuo+vd{46Ha3(`GFjtG$v_Dirw$1S@QeM+L!r394BVs#M<1QJk48H-vL5 z##34Iyy6I%%{(ZL#(@$xW(_r6(0_MM#?#`|9ySj%g}&*Ph_2% z)m5c1IL6arI>=<1su}Mylej(Sy+kw?mFg2V2j)@LNpHE_Vl+%;_RAQk5;BffxYnUe z{#tVw{$qSg@|+@`cK-W#==y%#gMhEOiJ18dH#yrNnoA-iCOEXKfu!X&mILVH;-PA0 zBIy3zchax*Navvy3$et#${dXws70@TwKe*tE$YS02x>h-XE3ck2TMIaMWme!xH}v| z3!l@hw^vCrwV25|mP2P6q6Te*M>e;jkv1&HeFc9(Q((X;yloE+?9kz;0i7I0h)YGNVC66FJp{E(!{VJ{I65`)^lP|5hs9AciPmuRj@pE4)SE(iQK zuPxnEC^JB#n+UaCh+Vrb9_84?vO#7cS+J4XT>XeBg%pCE#7J!m-e^NREdTTT3HBGX zsv}_lbA3#o=dwlY^)7KIsWioCU!Sd%aoTDBPkCfzVNVOO#GVDqm@>c;vjbj4JKPBt zp5Fo`66tZF$w8I3=;+!@0hv)?!~hip(vU?4B5AlC*VG^5ex);=N2kNcOTvTj=&8o4 z>^_k!pIJy}XCvUHXDtGNDgLR?sd&S#zYU}uPhwg|xAtCgy-OsktjAvG!v9^>=H8A0 z#WJ-e$yjx_Rf>=%(-9$=_03BK5{Ldz%PUb1k76sI&NifND2>$!$AD)eyZ*+oEA2_W z?eJE$qi@LRre|-MHce_L9Of`3h)|P=`8?tbMPf%O=7ucd)n_A3@f2Ms2xX(4QRg8W z;}@Tx4g<%r!N@gCjy~4Df@g}6z-(0XMb^RUglLIL20P{|Cfsm9Pogwy5N>$LI+ zOfgPtIkxsXG+aqYA^cd?vhBof)m?q173a*^I=^v;bKTQE)r)*%m|S7%)o;VG%F6Bu z<=s=!mBK@~S2@Z@*~5eF5sdXu=tLQV`j8h!uo3rdnj+(4^w&0}iax%j2%S<7jV{BT zAlE0E9f~XO#9#e%5ICWn%9jm5-3c`pWDM4O-qw4nDQnrPZTr-Kw5o(Cj3Q0T_cb3Q z3;aYF_5eajXe-F&cgZEs(9zVDKIKpNZe(r#4H(lKi!uwPB&y~^n8ZJ@%SZ(Sd$Nbj2!rNhj6)?n00F{op-_+-hv#t%Gy{IPmE--7FU2&j zV)*TJ8At80lU69t7Xh@1mP1_iSj}~{8f9zrGSjA|t)wZ2)Og`62`V-qn2J~p%AkxJ zlQQGKc9ur(gw6*n7#Dl6;wUXcGY04iRgp%SvDq4^H;#;;U2j3m>WMdF>ZIn$QS>p4 z6thrm#U3Dx7EsAh=EM!ot^y3RsOewI>Ur!814X|xV3i#hQnMEe&)#KQcDAp-{whsi z=ZCNjYU=>kLMj@~?WJP@m*IwEuw#&-Q$k1NLXr-va`Pl|Zo3`_1tlFbuqeSFp%YrG z>9Nvcd}0^GJ;Y&pI!!J8Hl7pf>v2freuzJpQ&y5=vFzS_1Tm;hRV;rs_>V)Mse8Ny z{p1-RQ>AKBf7L-?K&jR|bJHjDkQoN)SQ3o1?E-%Nk63OY6VKi9D9B4b{@!8q#$=m} z(VeZ)&7rGjGEJ9L-W=~Rm87%_h((MiFL0%7QHWlT*tIxv)%+6*MtN&n+N{svJ-OQ_>ai};NJ0gEbgmPS3 zhMo676P*|~-D;i3*j!48cVITzNRg?k1e$#6=b!E!vO~(DNv}K9fag(CEw1X3Sb@E- zKV`x}*JtBU0wW^J2S+79Ey(l9TFD7b?5`W$dgSaEJ2;*nTt1T1zYRw}K>H9fbc|a(r{PlgZ(A1;& zH+g$WHBSt%mw#q_t%Q1GqYp5uWx5F=UdWZ~@M+C){R7sY`yZF9KEv~!c?{_I{=ZJ4 zFO-%v5P~7t!|lk)2DG)>)q|OYp-_S7Yor?6+Vy3trZAIig4TA0wbad!OPZ803&RE+ z97y3Z#*#J3-1lT?PLRVOh-^emTPsI(^EB=Y-BD02r_?D<#_qysyi4oM9BnP7lw?<= zW{g%%0&F4cr0og9YBClEz97(VO_qu|T{*OYUC~8u!(Ze#p2<82oxGWpl1=L+%K_K!$qwaQn_R+#n2hH0_=DPHHl?MV1^d!;(^rmA zDCrle-)wfr3yt5;1PwhMp~q@B0ujz0=9@E$5E~hZ1!fv@vLfuI!RFlvwt+7(d@nGy znEvb#Dxxq0${JP`34v%J=Tn%*7AvgZ%tcFGW@PwpmIG@oj$p9GaBrTZQF(}3Cv=8> zD7lF}cI~uEYRFkBrLEJ(I~iQL#ZA@V2+lA<%rA$Z%UwAPc@EW=Its?wMO%s`gv0x3gt)Pn9kLkK5_GToa`}# zR4zwQ>mLxVc868X_1J`pKPD{asXZ8n=;GYUmyf+(8w&N-94&Ctly1rr>a658GHUB! zPpcysY_L(A?d0sQqmMa`yS|bw9B}TKvEpULx~uS^Ptt|?;Upf=ZQ(GA)M&|$weKC- zm4T*BMJII!c8K7=N83;vrd^n7ChSH|md7lyOow#5UEIxJSJngn|C4zJ>2JU$|Hu!V z{yw!G&!W^iS!BQnn>*;2pZ93{1{GOamC+$c4$qkHGn{h^MBPzm>8JqxoOXF#fUT`c z9$F|7Z8VORgmR21UxG-f%x#qUZJD0vWS^cep0`n4qyo+NSGYDz_kr==iZ~9c+O>A~ zZj;hM$|emlC|IHn7F$8QEGp0gP6Nq{FV~t(JVdPUgt9=h*$aU3iBpt&mZK6kOh^&~ zfVO!R=+8i-#Loum^=>@leC>VT`|pSDXpvSr|IZc;BF@XH-qj+|>w1XCmpUxCvM4*S z?%o_O8n}|?d~m3k8DZ-YLgD7vVHoWJokP{LjTb3nhUA=jD`G{V5j8juUuCf^u@m>caHS9!$^&cQ6CX+I} zG_}h(+kw`Qu(9pO@-?LA#=Zx>1ZI$31%ac6hSv?wDwe{9J8#CFMxyBhoK_*BC{J@L zBNUaODB>iJS9nEnI;wal>Ym0Dm!Zm|o=(p&_PyZX7-@*iW=iZwLL?)bo^@aB`8U(G z{%sewsVoh&^-;nJu6URzpvLhEq9vEHu)hl$B!1x}X`$e7Q9CN3rmAsprHNj2)pmjy z(VFBdMxhB5c)8jh(m5DM*s_F|j|1Ky>}Cies4Y&8(qaOAbV+cp$rDX4u_)yPJlRk? z7=$N^^PHjnI7WQV)|zaR(vc#!`7Oe_KVbg)D8vqsqqx2bD0m=_St0akX@gX# z>^3ZM#RaHcp7LoZn(NBY$mlcfsGG|^jAt90HF?HQnU93J#SN#YMaC%L>SvW!y3G*K zK~7ndSkCE>yY{A}M7lvLMZr`z@+;Mwjt!m&9X`FbSi5Q*hi7-3j9m(%fA1Oyxkee- zE_NHk$HHa3m*alppBTrFeH=>l7dIib1ISq`IUIw1!{Y`DqsLo zxfMJK3|^x5@;yc0CUx#4y(r+Zmd@FVvz~7<&j6_ojx~;u$h;Ys+}R!RsXhX;kGRhd zzS2&52EYww<&mbK-zu$mq4Wq@RxH_9CC~(5tiSY4(uqdk+}wnuRc>eojnxQ*s|k+L z^SPF_Cz(J+h8pO{-%&UPwSc`3&~sOJpBwC*$x~oX=OBSB@P%?f!b+*jV+9>Fq*54Z z-N;km9$zY_B66rCcl9tjQF+q7GhoFCB&4v06-}~cR(Rc7A%K8vanqnQ)=ZJFVCYN> zsMrCu7kC1Wu&u-9jbO`HA85Wl72f;u_i5dQ3gT?xBf>`wnnRJ1!riYSXxyIR}v&7{U^G3VjU{osWi;oK1j%R0novq=xXL`LfVsiI?p zZ4^WZtK&FQMU-Qd+V?=s?8epox*Oa`*WXa@%MplKlX6McW>?vc>{zCx_5IGid?q2 zw-8hh%-3;aaXwJrEB}@Ywqa*{*b5d%p_;es2sv-(|L66z;Bi9QuM;G(EC)JUyCWdN zqS>God@`tMo&f6W2Tzpd)bVU={g4);uP8o#sDy^n zQL`+EtNI*UO?0QgX$s1J9#VQRT6H6uU>C~3__(_7;@DP7x&uKugrkOVI+1}HlG=^O z9Mf)0NOwCrFt_d@g)V9p)GrbY-xmy2eQHy`TBZI6C61eJMMa$Zz4P9Htb5x_YqzKV zIw9?GEOj2e1J{STlpe&yZVsdb%U*yJkRTGj+;po@d8TTwsRUb1%`;F-IM+tT)kIp- z(OQopQ8omx#eXl5CW7b~>rjG3YWZ`ES)WA1R_v-&Z>`vy94|>{_-o z69JDPcV$IP7lJy zt6eYuj_F)t5gsYQBX3Y}kUEg^H3Yv0EV7=JqVfQh z|M(oOYw2?3TweMqA|nRqdrT-TW~jq+M;@d}sN97WO&y4a3WCNWB%){GjXsY2UJ<`o z*2^3}xy&}9q!%0eW7-yA;!I*gEzvDu46 zTL{1O?`;27Gn7bFZ9?jMO_Od08LNX#Yn@QGmw}!bY-fb3Q+KW^7P+#`{LtW%p6(~< z225JD`glt+ZhJkAKEJ6w% z(TRho-N2Y>8P4soZU#{pP>P?gO_pR~CuWAo7f;ThZ7w>PJ^<>h84yvXm*O}(YQ$FxQb*_$5&d@jTR7Z7s&k}IFCjoJnw-Ty zBx+Ib;0p3mOR}n$IMd~Ebi{8VJ0`V*bxSX;O}5FS0gG`Y4|Gr9cPN~II-YN)NG^Buv9JnM7)*%~r0qB`omJiT;FRw0FiNkIGqnj}E*GwNIL_ zBGd2ElB4vV?NxKxKOwwMTKhpibCf)A<>G|u#nRr6K<)u!(`IAqk*p%-sb*{^BGu?Z zE@06*u*)oaGcgK~qeXFQwW)|rz`WFRR3D;mKD(q0RrK}uF3pug_#z*9ecQ0(MQK-y z%71Zh{3W-P0FOdiLT`E@7&o5{%{#@Q#Rxp$!?Wr;@0+wDa?Yu|fCxyfV)oQkp_(2t z7g@toj}Bjw&FDL=dWqNWqG6=b$iOm>AA>Gk*Vr|fgt7BS%yc0`DVZ(yI;boFfI#1t==*SjxlL{S0sh0>c>%aka@f?CrQb&tR{ zp^=~kJ?pTa4<0;7*!7^?>&B@~qg(Svp+=KDAkQ11E{Ey@p8d;{bk*xyhA#2#fpJ+7 zrLhV?$``WcDJ?Np*ts-zYUtxyJJwdhI)Q2{COGIL!T&X>O?zC|Dp5=zx+m9vCY*7x zMEhu@BjJX2Y3-BXjtn3Vaqi)7%G|0%+L$^ilmJvX7Ej%UIa-Wn>OeM-VfIqM-H89; zg8DRytu~UeFJmPEng_A7AP>70B2<(A?wgd6Lw-dd-12x?+TVNr;x$QC6Up%AD9 zJNR6C!sl9&FJ71N-jP8^KSwnkq**QPoXme-7$5)no}ybnu4msdwlAfm<-ML`zM1ni zk0PY*pSeQq^pk_>MF+hKD5_J4fzd6pWUq;~Srl7rwRcZ?5f`$ktf;EH$j?G{*oqD0 zSZtEttf-shzpFIt$2~X}aeRNn#o1f?o(PlyeVrsHG+jkEj6W=u!jM>bvTBv5+WII_ zGSi{ofa;fWAaYcXfiLLG7=$xofMoAF+G}(aWK>cuISgsat+vVi+P=@Z-(u}J7o40_ z8P!&c;Fx8nrb@D_Jf;dZkeiE>O%u#-=pr6$i3gKz*nsRa+Oe+oy7$jip6rFxm7xI# zpZ4T&On`F3npgxE5YG03^lEAY$d^18hnEu*5S&Nf0UXQGxJXF9Sup9m6Q zrrp`U&Q_JyoT8KN6KFBof8~?`ax!(e<@};vP#%96&xUw0i@%Gx{_A&dB5Fg^j2dJO z7t^Y;dBqP<>EQ&hum-Jm9r57_i{O4`rL?HOvU+Nfyc{a@vjoIs?%dekz5HMOMnppT zU4f$wqHC9&V}eR3Q%cbA?5|SXWH_~WPCmCPG%6 zQNS=)+g^3IFnc977eux*NX$t72)iPKR73G~TOmsHqk@e90`bBag?P?zGl<4Bmfw8v zaY;C<)afWbnOJ)Ad6Suy0+;q>T*fg3unzs9JR^3GhYIVQIOfB(;)GXDjkr@0!IVRts`+}t%zPE zhr-6>hq^wgPyb|bMz3n6dsMGFwudAx*SV7?Pd2j_Kt~xmWy+K-hwp)$p=oGAfcH-% z>d-e(I*wUnoJUp#|I9IH{1w*#ZhHHyiexf~x`(Vo)N9r-q&y-uj(oHvUZaKC+&FjJ zy`$Y=y6Eb>Qh+)0#A(%$AZbx2ui(&bV3# z2$M%2e|&O$Fb%!Ai0)0s=|{zadDD@o%SZZ{HQayBp8D}h9l10&_WazUT#WnKl)it{ z38oe+aZT>OaYRR2&w{gm`6>xt1)#T>8ID8}{>@6G2w3W$rS(AR7?wtO+tdOde6T(V zrE#dzq5B7^sw~T|G=+gR%iGtWcC%fQW>4ca%+j)J8s@Md4C>`a}1@lxrBA2`6Q;N2Kx6QSh&=DGM1pek!O5gMuAs^R>@j%C_$e z8#4Zp*vT%Gi61jNp@=O@j7z|25RZrKXL0ig7mx{SR^|Q(6W43@tQt72FFfW$R~mIw z@R!+#6@>R@J@~Fc_Q!t=V~4v_A=+z_2Jg9EV$wiavC)I#z|Uh>0wt|LHfN<6mF=rm zuY{9)ssMATE0XbrajM}rIpQ#f7@uw*5d2(#rx6x+`p`BiIAE&X*z8b>m2Mp_{s*Ul zQ?izW&mdou2=Jwe-A^=Mo@nn+6Sp=@>4DGqso)ji&RdO2j=exN(p{HW;>?=BbGGl|y_d7Xs)QX{u=_l-82<#`ixt2AAPHnZ zLQ^!whI=NWS4uu~RX(%dQCn`d-9#-A22X3)8{u0LgZ}$B7^i2k`RG1wylJ{OPmE-C zaZ||RGByXZ5@qX`47BZ3*E`HF^D_ApffAN;N~0O^yH0)j7Kt~Ux-nz^u%pisD!^ib zj#-$i0q%GAHyPIzqSrW;2ZS(I!(cLXKWe%*F^T3zYRU02Kn0OH0N>$tTR%-64ODE- z05dehh}@Xspl!qKREI~pqs=cpz8e`Or?9f4YFI^DNyTxp+}O?k1NbuEYBm)4P=GU? zK0D@t)itCXjI@=?h|I&$vA3t`53JAW3J4zk8p~?p9V{DZS{#Y$pe1VY9@e@mi!v6f zlSxzw1)4;*H_fbFh1sK#Xa&XYXtI21W2!SoeKMDcTLSQ*X+lx9HJ82V!>=X zPv~D1W1xUo6Wb|O?{Fv_>>QJYGeOAdqk&`Ps9x;v>+p2FPVAk?`4$H1WzRPPQD0~? zR{=J|OJ?58T29n4^I%)XC9Gp5?>H%pPVy>Ex`T2S6%6L)whTw(5Lr)c75ohAE6cGf z{%tpgpb>T7r(0=(kZX1HnHVlXZ z-EGZSd>Itn6<^pipscoyc6Vnf(FaA=6{aW|Vk5x{jT17J6s&NZ zVezE?@z;p|FjwyYMtg-g#B4i|SSZuX+Hvt&21WhCVs4hVSA7`2}|7gIKe!o z!T@8Kx`^LLgnwtX(!K8CO$ft#SMLG~2_jh4^YvqL74F3aviA9m5Eaddm@$-AkB629 z1OYoqT@0r=Wudun?Pl`pqR#ws_Hj``IPsuD9Vi~V){p&;%HZwDXaMg1acDIFkB)^8 zyuS?6MkKHqF<7+9kIe>NH6{yRx@AY2G4bym2S4%`uFmtkvvjbC<{j+ve$cw_c>w|} zVwxcoyl}WE<>jK3COY+pU+a1j1ihIL1G0Ou2D)63+!NKlhM`UnBd*n>7S-(PrMZc} zZ3Pv!OW`CYXJqS8U_S0>`tjm( zKZfLfaZuN0h?57TD1}pP=Gfo8B$m%^hZ93ie?zH?V?-lT4iu&T*{qnV6s>e-6I zC;?-WUWxP-$i~+?FB6#9YuRs_4HXo$Jg9@wDg(`zBbjEGg4L7`J%P(yU!B1FRG=H>w!Wf!Apors>u&!hdP zS%LwcIuzw$v}BTd`IT?{>bHpfH7VeGGtk?|vCl|z2acT3M2s7^1qGJUhDTV*`6f5l zBu-5~NgfhPsY`g)*OBVPl<>`BFR5D`BWhEiXLg4}m^q>QKJ*TLv&c&4yXb&GpoDs$ zI4wiUSxioHD|xbSj?GY>G1@_<6>d4YDoPvMV|?Q<%x_pG%{95KGS^IN`jxR`i<{JK zvm*(r7&iZ>_;lQIctkKx5xPgB6C{%&hC8c~S0G$`tHGM&y80oejkdA5+WiO4s5hl! zT1AA42%CUn!TzH3xZnnQO=7xt5ka^;`HSIfH4p*hO%mvlBz)_`YjnBy-D zz`sAW1Hl?v6>rD*UVjyrL4NVRwBk^QG#ShlR%y0NV(7L4ZKTciEH*lQCVK~4`VY43C+v%M)fUIop7^*Wj(x_(HYalET# z{6+YD&Gqgmb@W8^rn&bCt+)D+%%YDOzje^#sTQb~v2G;<4JrL~)3 zrdbChTS4R4iEr&gISa%bxKyYOfXp(JwYfUlVToZHT29If%e7ph=x8P#QZP9j9aQgZ z-(JpMS+WR|paVGCg-rRwqN7z+QAT*Um55?Qzf-49J?RacmUcrgmPxfL`YTq=Pg%8) z(QeG~Niok0JY(>)mqa_B2na1wn`Xlt6_3rA_FUBEkkfJZNtyWlYl|MnoMd{>sEhk& zpCt9$bB0;U;^q;H%h90=?Y0i|d0fS8?SYDBpt~0wG9C<^h>LnOJM8NO@8;uY+12;l z9`e`D4M5OaTIe=dx1VriHnU@isp+QnaQ6}*z2UDxZ@9Z6ndK(5&7m8H z0ec4xg(BR^39XZZPzKZfgNg)_2r`Je__KAYpamcC7mDD0o<+s)C}=SQ&GZM&ljv{F zFnX^(wpywsx?x{RBiU$|M3o7{=0#NR7Ol$hQr*m#A ?@x`D@o& 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 diff --git a/content/pages/docs/kcl-samples/screenshots/car-wheel-assembly.png b/content/pages/docs/kcl-samples/screenshots/car-wheel-assembly.png deleted file mode 100644 index 609f56034e1227426b6135712cf401192e852ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255236 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