2025-03-06 18:01:24 -05:00
# 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 < https: / / zoo . dev / docs / kcl-samples > .
## 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:** Include a title comment at the top of each file, followed by a brief description explaining what the model is and its typical use cases.
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, images and STEP files will be generated and added to the repository automatically.
---
2025-03-19 16:43:10 -07:00
#### [80-20-rail](80-20-rail/main.kcl) ([screenshot](screenshots/80-20-rail.png))
2025-03-06 18:01:24 -05:00
[](80-20-rail/main.kcl)
2025-04-17 10:46:56 -07:00
#### [axial-fan](axial-fan/main.kcl) ([screenshot](screenshots/axial-fan.png))
[](axial-fan/main.kcl)
2025-03-19 16:43:10 -07:00
#### [ball-bearing](ball-bearing/main.kcl) ([screenshot](screenshots/ball-bearing.png))
2025-03-06 18:01:24 -05:00
[](ball-bearing/main.kcl)
2025-03-19 16:43:10 -07:00
#### [bench](bench/main.kcl) ([screenshot](screenshots/bench.png))
2025-03-13 23:38:51 -07:00
[](bench/main.kcl)
2025-04-17 10:46:56 -07:00
#### [bottle](bottle/main.kcl) ([screenshot](screenshots/bottle.png))
[](bottle/main.kcl)
2025-03-19 16:43:10 -07:00
#### [bracket](bracket/main.kcl) ([screenshot](screenshots/bracket.png))
2025-03-06 18:01:24 -05:00
[](bracket/main.kcl)
2025-03-19 16:43:10 -07:00
#### [car-wheel-assembly](car-wheel-assembly/main.kcl) ([screenshot](screenshots/car-wheel-assembly.png))
2025-03-06 18:01:24 -05:00
[](car-wheel-assembly/main.kcl)
2025-03-19 16:43:10 -07:00
#### [color-cube](color-cube/main.kcl) ([screenshot](screenshots/color-cube.png))
2025-03-06 18:01:24 -05:00
[](color-cube/main.kcl)
2025-03-19 16:43:10 -07:00
#### [cycloidal-gear](cycloidal-gear/main.kcl) ([screenshot](screenshots/cycloidal-gear.png))
2025-03-06 18:01:24 -05:00
[](cycloidal-gear/main.kcl)
2025-03-19 16:43:10 -07:00
#### [dodecahedron](dodecahedron/main.kcl) ([screenshot](screenshots/dodecahedron.png))
2025-03-06 18:01:24 -05:00
[](dodecahedron/main.kcl)
2025-03-27 10:57:01 -04:00
#### [dual-basin-utility-sink](dual-basin-utility-sink/main.kcl) ([screenshot](screenshots/dual-basin-utility-sink.png))
[](dual-basin-utility-sink/main.kcl)
2025-03-19 16:43:10 -07:00
#### [enclosure](enclosure/main.kcl) ([screenshot](screenshots/enclosure.png))
2025-03-06 18:01:24 -05:00
[](enclosure/main.kcl)
2025-03-19 16:43:10 -07:00
#### [exhaust-manifold](exhaust-manifold/main.kcl) ([screenshot](screenshots/exhaust-manifold.png))
2025-03-06 18:01:24 -05:00
[](exhaust-manifold/main.kcl)
2025-03-19 16:43:10 -07:00
#### [flange](flange/main.kcl) ([screenshot](screenshots/flange.png))
2025-03-13 23:38:51 -07:00
[](flange/main.kcl)
2025-03-19 16:43:10 -07:00
#### [focusrite-scarlett-mounting-bracket](focusrite-scarlett-mounting-bracket/main.kcl) ([screenshot](screenshots/focusrite-scarlett-mounting-bracket.png))
2025-03-06 18:01:24 -05:00
[](focusrite-scarlett-mounting-bracket/main.kcl)
2025-03-19 16:43:10 -07:00
#### [food-service-spatula](food-service-spatula/main.kcl) ([screenshot](screenshots/food-service-spatula.png))
2025-03-06 18:01:24 -05:00
[](food-service-spatula/main.kcl)
2025-03-19 16:43:10 -07:00
#### [french-press](french-press/main.kcl) ([screenshot](screenshots/french-press.png))
2025-03-06 18:01:24 -05:00
[](french-press/main.kcl)
2025-03-19 16:43:10 -07:00
#### [gear](gear/main.kcl) ([screenshot](screenshots/gear.png))
2025-03-06 18:01:24 -05:00
[](gear/main.kcl)
2025-03-19 16:43:10 -07:00
#### [gear-rack](gear-rack/main.kcl) ([screenshot](screenshots/gear-rack.png))
2025-03-07 18:45:33 -08:00
[](gear-rack/main.kcl)
2025-03-19 16:43:10 -07:00
#### [gridfinity-baseplate](gridfinity-baseplate/main.kcl) ([screenshot](screenshots/gridfinity-baseplate.png))
2025-03-06 18:01:24 -05:00
[](gridfinity-baseplate/main.kcl)
2025-03-19 16:43:10 -07:00
#### [gridfinity-baseplate-magnets](gridfinity-baseplate-magnets/main.kcl) ([screenshot](screenshots/gridfinity-baseplate-magnets.png))
2025-03-07 18:45:33 -08:00
[](gridfinity-baseplate-magnets/main.kcl)
2025-03-19 16:43:10 -07:00
#### [gridfinity-bins](gridfinity-bins/main.kcl) ([screenshot](screenshots/gridfinity-bins.png))
2025-03-06 18:01:24 -05:00
[](gridfinity-bins/main.kcl)
2025-03-19 16:43:10 -07:00
#### [gridfinity-bins-stacking-lip](gridfinity-bins-stacking-lip/main.kcl) ([screenshot](screenshots/gridfinity-bins-stacking-lip.png))
2025-03-07 18:45:33 -08:00
[](gridfinity-bins-stacking-lip/main.kcl)
2025-03-19 16:43:10 -07:00
#### [hex-nut](hex-nut/main.kcl) ([screenshot](screenshots/hex-nut.png))
2025-03-06 18:01:24 -05:00
[](hex-nut/main.kcl)
2025-03-19 16:43:10 -07:00
#### [i-beam](i-beam/main.kcl) ([screenshot](screenshots/i-beam.png))
2025-03-06 18:01:24 -05:00
[](i-beam/main.kcl)
2025-03-19 23:28:07 -07:00
#### [keyboard](keyboard/main.kcl) ([screenshot](screenshots/keyboard.png))
[](keyboard/main.kcl)
2025-03-19 16:43:10 -07:00
#### [kitt](kitt/main.kcl) ([screenshot](screenshots/kitt.png))
2025-03-06 18:01:24 -05:00
[](kitt/main.kcl)
2025-03-19 16:43:10 -07:00
#### [lego](lego/main.kcl) ([screenshot](screenshots/lego.png))
2025-03-06 18:01:24 -05:00
[](lego/main.kcl)
2025-03-27 10:57:01 -04:00
#### [makeup-mirror](makeup-mirror/main.kcl) ([screenshot](screenshots/makeup-mirror.png))
[](makeup-mirror/main.kcl)
2025-03-19 16:43:10 -07:00
#### [mounting-plate](mounting-plate/main.kcl) ([screenshot](screenshots/mounting-plate.png))
2025-03-06 18:01:24 -05:00
[](mounting-plate/main.kcl)
2025-03-19 16:43:10 -07:00
#### [multi-axis-robot](multi-axis-robot/main.kcl) ([screenshot](screenshots/multi-axis-robot.png))
2025-03-06 18:01:24 -05:00
[](multi-axis-robot/main.kcl)
2025-04-04 11:03:13 -07:00
#### [parametric-bearing-pillow-block](parametric-bearing-pillow-block/main.kcl) ([screenshot](screenshots/parametric-bearing-pillow-block.png))
[](parametric-bearing-pillow-block/main.kcl)
2025-03-19 16:43:10 -07:00
#### [pipe](pipe/main.kcl) ([screenshot](screenshots/pipe.png))
2025-03-07 18:45:33 -08:00
[](pipe/main.kcl)
2025-03-19 16:43:10 -07:00
#### [pipe-flange-assembly](pipe-flange-assembly/main.kcl) ([screenshot](screenshots/pipe-flange-assembly.png))
2025-03-06 18:01:24 -05:00
[](pipe-flange-assembly/main.kcl)
2025-03-19 16:43:10 -07:00
#### [pipe-with-bend](pipe-with-bend/main.kcl) ([screenshot](screenshots/pipe-with-bend.png))
2025-03-06 18:01:24 -05:00
[](pipe-with-bend/main.kcl)
2025-03-19 16:43:10 -07:00
#### [poopy-shoe](poopy-shoe/main.kcl) ([screenshot](screenshots/poopy-shoe.png))
2025-03-06 18:01:24 -05:00
[](poopy-shoe/main.kcl)
2025-03-19 16:43:10 -07:00
#### [router-template-cross-bar](router-template-cross-bar/main.kcl) ([screenshot](screenshots/router-template-cross-bar.png))
2025-03-06 18:01:24 -05:00
[](router-template-cross-bar/main.kcl)
2025-03-19 16:43:10 -07:00
#### [router-template-slate](router-template-slate/main.kcl) ([screenshot](screenshots/router-template-slate.png))
2025-03-06 18:01:24 -05:00
[](router-template-slate/main.kcl)
2025-03-19 16:43:10 -07:00
#### [sheet-metal-bracket](sheet-metal-bracket/main.kcl) ([screenshot](screenshots/sheet-metal-bracket.png))
2025-03-06 18:01:24 -05:00
[](sheet-metal-bracket/main.kcl)
2025-03-19 16:43:10 -07:00
#### [socket-head-cap-screw](socket-head-cap-screw/main.kcl) ([screenshot](screenshots/socket-head-cap-screw.png))
2025-03-06 18:01:24 -05:00
[](socket-head-cap-screw/main.kcl)
2025-03-19 16:43:10 -07:00
#### [walkie-talkie](walkie-talkie/main.kcl) ([screenshot](screenshots/walkie-talkie.png))
2025-03-06 18:01:24 -05:00
[](walkie-talkie/main.kcl)
2025-03-19 16:43:10 -07:00
#### [washer](washer/main.kcl) ([screenshot](screenshots/washer.png))
2025-03-06 18:01:24 -05:00
[](washer/main.kcl)
2025-03-07 18:45:33 -08:00