KB: Creating user-defined component classes and rooms directly from the schematic

Altium Designer Altium Designer
In addition to automatic component class and room generation during schematic-to-PCB synchronization, Altium Designer allows users to define custom, user-defined component classes and associated room definitions for a specific subset of components directly from the schematic. This can be achieved by applying schematic directives to a grouped set of components or by assigning a ClassName parameter to individual components. When the appropriate project options are enabled, these definitions are detected during the ECO process and transferred to the PCB, where component classes are created or updated and rooms can be generated for those classes. This approach allows design intent, such as functional grouping or placement constraints, to be defined at the schematic level and reused for placement organization and constraint assignment using either PCB Design Rules or the Constraint Manager.

Solution Details

When you need grouping beyond sheet-based generation

During schematic-to-PCB synchronization, Altium Designer can automatically generate component classes and rooms, commonly based on schematic sheets. In many designs, there is a requirement to group only a specific subset of components on a sheet, such as a power section or interface block, into a dedicated component class and corresponding room rather than grouping all components on the sheet.

How schematic definitions become PCB classes and rooms

User-defined component classes created in the schematic using directives or component parameters are not created immediately in the PCB. Instead, they are detected and transferred to the PCB during schematic-to-PCB synchronization (ECO). Component classes are created or updated in the PCB based on these definitions. Room objects themselves are PCB editor objects; when room generation is enabled, rooms are generated during synchronization and then managed in the PCB editor.

Choose a directive-based or parameter-based approach

  • Directive-based grouping: Use a Blanket directive to scope a group of components, then apply a Parameter Set directive that adds a Component Class parameter to define the class for that group.
  • Parameter-based grouping: Add a component parameter named ClassName to each component that should belong to the class.

Schematic-defined component classes can be used with either traditional PCB Design Rules or the Constraint Manager, depending on the constraint-definition workflow selected when the project was created.

Step-by-step schematic configuration

Directive-based grouping:

  1. Open the schematic sheet and identify the group of components to be grouped (for example, a power section).
  2. Select Place » Directives » Blanket and draw the blanket around the required components.
  3. Select Place » Directives » Parameter Set and place it on the blanket outline so it is logically associated with the blanket. Ensure the Parameter Set crosshair touches the blanket boundary to ensure correct scoping.
  4. With the Parameter Set selected, open the Properties panel and optionally set a name (for example, PWR).
  5. Click Add, choose Component Class, and set the value to the desired class name (for example, PWR).
  6. All components within the blanket will be assigned to this user-defined component class during ECO synchronization.

Altium schematic editor showing a power supply circuit. Annotations label a Parameter Directive on the PWR net, a dashed Blanket grouping regulators, and the Properties panel where a Component Class rule is added for PWR.

Parameter-based grouping:

  1. Select a component on the schematic.
  2. Open its Properties panel.
  3. Under Component Parameters, click Add.
  4. Add a parameter named ClassName and set the value to the desired component class name (for example, PWR).
  5. Repeat this for each component that should belong to the same component class.

Important: The value of the ClassName parameter must exactly match the intended component class name, including spelling and case, to ensure correct class creation or merging during synchronization.

Altium schematic editor showing 1V8 and VCCO decoupling networks with many 0.1 µF and 10 µF capacitors tied to VCCINT. Properties panel displays component rules and footprint assignments for selected capacitors.

Enable component class and room generation

  1. Go to Project » Project Options.
  2. Open the Class Generation section.
  3. Enable Generate Component Classes.
  4. Enable Generate Rooms for Component Classes.
  5. Click OK and run schematic-to-PCB synchronization (ECO).

Altium PCB Project Options dialog on the Class Generation tab, showing automatic class generation per schematic sheet and user‑defined component classes enabled, with options to generate rooms and net classes.

Additional Notes

  • The ClassName component parameter is a local parameter and may be overwritten when updating components from libraries, depending on update settings.
  • To preserve schematic-defined class assignments, use the option to replace selected attributes for symbols on sheets and exclude the locally defined ClassName parameter during component updates.
  • Although rooms can be generated from schematic-defined component classes during ECO, room creation and editing is performed in the PCB editor.

References

Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.