Applied Parameters: None
Summary
This command is used to access the PCB Rules and Constraints Editor dialog, from where you can browse, and manage, the defined design rules for the current PCB document.
Altium Designer's PCB Editor uses the concept of Design Rules to define the requirements of a design. These rules collectively form an 'instruction set' for the PCB Editor to follow. They cover every aspect of the design – from routing widths, clearances, plane connection styles, routing via styles, and so on. Rules can be monitored as you work, and you can also run a batch test at any time to generate a DRC report.
Altium Designer design rules are not attributes of the objects, they are defined independently of the objects. Each rule has a scope that defines which objects it must target. Rules are applied in a hierarchical fashion, for example, there could be a clearance rule for the entire board, then a clearance rule for a class of nets, then another for one of the pads in a class. Multiple rules of the same type can be set up. It may arise that a design object is covered by more than one rule with the same scope. In this instance, a contention exists. All contentions are resolved by a priority setting. The system goes through the rules from highest to lowest priority and picks the first one whose scope(s) match the object(s) being checked.
With a well-defined set of design rules, you can successfully complete board designs with varying and often stringent design requirements. And as the PCB Editor is rules-driven, taking the time to set up the rules at the outset of the design will enable you to effectively get on with the job of designing, safe in the knowledge that the rules system is working hard to ensure that success.
Access
This command can be accessed from the PCB Editor by:
- Choosing the Design » Rules command, from the main menus.
- Right-clicking in the design workspace and choosing the Design » Rules command, from the context menu.
Use
After launching the command, the PCB Rules and Constraints dialog will appear. Use this dialog to define new design rules, or edit/remove existing rules, with respect to each of the following rule categories:
Press F1 within the constraints page for a specific design rule, to access documentation for that rule.
Tips
- There are two types of design rules - unary and binary. Unary rules apply to one object, or each object in a set of objects. As a consequence, unary design rules have one rule scope. Binary rules apply between two objects, or between any object in one set to any object in a second set. As a consequence, binary design rules have two rule scopes.
- When adding a new rule to a rule type that already contains one or more existing rules, the priority will be set to 1 (ie. highest priority).
- A new rule can also be created using the New Rule Wizard. Access is made directly using the Rule Wizard command (from the Design menu), or by clicking the Rule Wizard button, to the lower-left of the PCB Rules and Constraints Editor dialog.
- When scoping a rule, the Query Builder is a simpler method of constructing a query, using sensitive condition types and values that only allow the designer to build using relevant 'building blocks'. For advanced query construction, with full keyword specification and operator syntax, use the Query Helper.
- If a particular design rule is no longer required but may be used again in the future, rather than delete it, it can simply be disabled. Do this by toggling the corresponding Enable option for the rule in one of the relevant summary lists, on the right-hand side of the PCB Rules and Constraints Editor dialog.
- Many rule types have default rules created when a new PCB document is created. In a similar fashion, if all specific rules for one of those rule types are deleted, the default rule will be re-added automatically the next time the PCB Rules and Constraints Editor dialog is accessed. Alternatively, default rules can be created again by clicking the Create Default Rules button, at the bottom of the dialog.
- Use the PCB Rules And Violations panel to quickly interrogate which objects a rule applies to. This can be particularly useful when creating a query for a rule’s scope(s), since a rule can be edited directly from the panel and therefore the query can be 'massaged' until the desired objects are captured by the scope(s).