Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.buildwithtrace.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Design variants let you maintain multiple configurations of a single PCB design. Instead of duplicating your project for each configuration, you define variants that specify which components are populated, which values change, and which footprints are swapped — all within one project. Common use cases:
  • Regional variants — Different power input stages for 120V vs 240V markets
  • Feature tiers — A base model without Bluetooth and a premium model with it
  • Development vs production — Debug headers and test points populated in development, removed in production
  • Component alternatives — Swap between two pin-compatible LDOs depending on availability

Creating Variants

Define variants in the project settings. Each variant has:
PropertyDescription
NameA short identifier (e.g., US_120V, EU_240V, DEV, PROD)
DescriptionHuman-readable explanation of what this variant is for

Text Variables in Drawing Sheets

Variants expose text variables you can use in your drawing sheet (title block):
  • ${VARIANT} — The variant name
  • ${VARIANT_DESC} — The variant description
These update automatically when you switch variants, so your printed schematics and PCB plots always show which variant they represent.

Variant-Aware Properties

Component properties in the PCB editor are variant-aware:
  • The Footprint Properties dialog shows which components are affected by the current variant
  • The Message Panel reflects variant-specific information when you select components
  • Variant changes are non-destructive — switching variants doesn’t modify the base design

Exporting with Variants

Variant selection lives in the desktop app. The PCB Plot dialog includes a variant dropdown so you can choose which variant to plot or export. The Trace CLI exports the design as it currently stands — switch to the variant you want in the desktop app first, then export from either place:
# Gerber + drill files
buildwithtrace gerbers board.kicad_pcb --output ./fab/

# 3D STEP model
buildwithtrace export step board.kicad_pcb -o board.step

# SVG / PDF for documentation
buildwithtrace export svg board.kicad_pcb -o ./docs/
buildwithtrace export pdf board.kicad_pcb -o ./docs/
Variant-aware export directly from the CLI (selecting a variant without switching in the GUI first) is on the roadmap. See the CLI export reference for the formats the CLI supports today (PDF, SVG, netlist, BOM, STEP, position).

Importing Altium Variants

If you’re migrating from Altium Designer, Trace imports variant data from .PrjPcb project files. Altium project variants are parsed and converted to Trace’s variant system during import, preserving your variant definitions and component assignments. See the Importing from Other EDA Tools guide for details on importing Altium projects.

BOM Generation with Variants

When generating a BOM, the variant determines which components are included. Components marked as “not fitted” in a variant are excluded from that variant’s BOM. Rule areas with “exclude from BOM” are also respected during generation.