kcl

KCL Settings

KCL Settings

There are three levels of settings available in the KittyCAD modeling application:

  1. User Settings: Global settings that apply to all projects, stored in user.toml
  2. Project Settings: Settings specific to a project, stored in project.toml
  3. Per-file Settings: Settings that apply to a single KCL file, specified using the @settings attribute

Configuration Files

The KittyCAD modeling app uses TOML files for configuration:

Per-file settings

Settings which affect a single file are configured using the settings attribute. This must be at the top of the KCL file (comments before the attribute are permitted). For example:

// The settings attribute.
@settings(defaultLengthUnit = in)

// The rest of your KCL code goes below...

x = 42 // Represents 42 inches.

The settings attribute may contain multiple properties separated by commas. Valid properties are:

  • defaultLengthUnit: the default length unit to use for numbers declared in this file.
    • Accepted values: mm, cm, m, in (inches), ft (feet), yd (yards).
  • defaultAngleUnit: the default angle unit to use for numbers declared in this file.
    • Accepted values: deg (degrees), rad (radians).

These settings override any project-wide settings (configured in project.toml or via the UI).