Closes https://github.com/KittyCAD/engine/issues/3494. Thanks to @nadr0 for helping on the JS side. If users set their units, the grid will stop auto scaling, and instead will be set to 10 of whatever unit they used. If users set their units, and those units are metric, then it'll include a scale bar (see screenshot). Imperial units won't have that bar. This behaviour is configurable via settings. ## Limitations - The scale bar below the grid cannot be disabled in metric units, and cannot be enabled in imperial units <img width="1690" alt="Screenshot 2025-06-05 at 7 51 41 PM" src="https://github.com/user-attachments/assets/c597087c-f96d-4c30-95f4-b3d8ba2b5567" />
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.
-
File Naming: Name your KCL files descriptively and concisely, using hyphens to separate words (e.g., flange.kcl, ball-bearing.kcl).
-
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.
-
Inline Comments: Use inline comments to explain non-obvious parts of the code. Each major section should have a comment describing its purpose.
-
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 will be generated and added to the repository automatically.








































































