Custom rules

Custom rules in Fusion use various scopes, including:

Some rules already restrict the objects that they check, so not all scopes apply to every rule category. This makes certain scopes unnecessary.

You can order custom rules by priority, with the lowest value to have the highest priority. Within each category, place rules with stricter scopes before those with less strict scopes. This approach makes sure that Fusion uses the stricter rules first.

Custom design rules dialog

Rule Priority vs Scope Matching Strictness

When adding custom rules, carefully consider rule priority and scope strictness. Fusion uses the first matching rule for checked objects. If a less strict rule has higher priority, Fusion will use it over a stricter rule.

Note: Stricter scopes should have higher priority, Minimum value, and Preferred Value.

Available Rule Scopes

Scope Expression Parameters Information Example
Is Copper None Checks any object on any of the copper layers: Top, Internal, and Bottom including pad, smd and via.
Is Copper(wire, polygon) None Checks only wire, polygon objects on any of the copper layers: Top, Internal, and Bottom.
Is Pad None Checks if the object is a thru-hole pad.
Is SMD None Checks if the object is a surface mounted (SMD) pad.
Is Via None Checks if the object is a via.
Is Pad or SMD None Checks if the object is either a thru-hole pad or an SMD pad.
Is MultiLayer Object None Checks if the object is either a thru-hole pad or a via.
Is Thru Via None Checks if the object is a thru-hole via.
Is Micro Via None Checks if the object is a micro via (straddles at most 2 signal layers and 1 dielectric).
Is Blind Via None Checks if the object is a blind via.
Is Buried Via None Checks if the object is a buried via.
Is Text None Checks if the object is a text.
Is Name None Checks if the object is the implicit component Name attribute.
Is Value None Checks if the object is the implicit component Value attribute.
Is Attribute None Checks if the object is a component attribute.
Is Signal None Checks if the object or its parent is a valid signal.
Is Polygon Pour None Checks if the object is a copper pour polygon.
In Net Classes Net Classes Names Checks if the object's signal net-class name is one of the names in Net Classes Names. In Net Classes = default; In Net Classes = default,power
In Signal Signal Name Checks if the object's parent or the object itself is a signal with signal name = Signal Name In Signal = GND
In Component Component Name Checks if the object's parent is a component and the component name = Component Name In Component = U1
In Named Group Persistent Group Name Checks if the object's parent is a persistent group with the name = Persistent Group Name In Named Group = My Group
On Layers Layer Names Checks if the object is on any of the layers in Layer Names collection On Layers = Top,Bottom; On Layer = SilkscreenTop
On Signal Layers Layer Names Checks if the object is on any of the signal layers in Layer Names collection On Signal Layer = Top; On Signal Layers = Top,Bottom
Object Type Type Name Checks of the object's type name = Type Name (Wire, Pad, Hole, Line, Polygon Shape, etc.) Object Type = Wire; Object Type = Hole
In Diff Pair Diff Pair Name Checks if the object's parent is a signal that is a member of the differential pair with the name = Diff Pair Name In Diff Pair = USB_N, USB_P

Available Rule Scopes for Each Rule Category

Binary Rules -

Rule Category Object 1 Scope Object 2 Scope Common Scope
Copper Clearance (Different Signals) Is Copper, Is Copper (Wire, Polygon), Is Pad, Is Smd, Is Via, Is Pad or Smd, Is MultiLayer Object, Is Thru Via, Is Micro Via, Is Blind Via, Is Buried Via, Is Text, Is Name, Is Value, Is Attribute, Is Signal, Is Pour Polygon, In Net Classes, In Signal, In Component, In Named Group, On Signal Layers, Object Type = attribute, circle, line, pad, solid polygon shape, rectangle, smd, text, via, wire., In Diff Pair Is Copper, Is Copper (Wire, Polygon), Is Pad, Is Smd, Is Via, Is Pad, or Smd, Is MultiLayer Object, Is Thru Via, Is Micro Via, Is Blind Via, Is Buried Via, Is Text, Is Name, Is Value, Is Attribute, Is Signal, Is Pour Polygon, In Net Classes, In Signal, In Component, In Named Group, On Signal Layers, Object Type = attribute, circle, line, pad, solid polygon shape, rectangle, smd, text, via, wire., In Diff Pair None
Copper Clearance (same signals) Is Pad, Is Smd, Is Via, Is Pad or Smd, Is MultiLayer Object, Is Thru Via, Is Blind Via, Is Buried Via, Is Pour Polygon, In Component, On Signal Layers, Object Type = attribute, circle, line, pad, solid polygon shape, rectangle, smd, text, via, wire., In Diff Pair Is Pad, Is Smd, Is Via, Is Pad or Smd, Is MultiLayer Object, Is Thru Via, Is Blind Via, Is Buried Via, Is Pour Polygon, In Component, On Signal Layers, Object Type = attribute, circle, line, pad, solid polygon shape, rectangle, smd, text, via, wire., In Diff Pair In Net Classes, In Signal, In Named Group
Component Exclude Clearance In Component In Named Group On Layer (only ComponentExcludeTop and ComponentExcludeBottom) Object Type = line, circle, rectangle, polygon shape, spline In Component In Named Group On Layer (only ComponentExcludeTop and ComponentExcludeBottom) Object Type = line, circle, rectangle, solid polygon shape, spline None
Soldermask - Silkscreen Clearance Is Pad, Is Smd, Is Via, Is Pad or Smd, Is Thru Via, Is Micro Via, Is Blind Via, Is Buried Via, In Component, In Named Group, On Layer (only SolderMaskTop and SolderMaskBottom), Object Type = line, circle, rectangle, polygon shape, spline Is Text, Is Name, Is Value, In Component, In Named Group, On Layers (SilkscreenTop, SlikscreenBottom, NamesTop, NamesBottom, ValuesTop and ValuesBottom), Object Type = text, line, circle, rectangle, spline,solid polygon shape None
Board Outline Clearance Is Copper (Wire, Polygon), Is Pad, Is Smd, Is Via, Is Pad or Smd, Is MultiLayer Object, Is Thru Via, Is Micro Via, Is Blind Via, Is Buried Via, Is, Poly Pour, In Net Classes, In Signal, In Component, In Named Group, On Signal Layers In Named Group, Object Type = line, circle, rectangle, spline,solid polygon shape, hole None
Drill Clearance Is Pad, Is Via, Is MultiLayer Object, Is Thru Via, Is Micro Via, Is Blind Via, Is Buried Via, In Net Classes, In Signal, In Component, In Named Group Object Type = pad, via, hole Is Pad, Is Via, Is MultiLayer Object, Is Thru Via, Is Micro Via, Is Blind Via, Is Buried Via, In Net Classes, In Signal, In Component, In Named Group Object Type = pad, via, hole None
Copper - Restrict Clearance Is Copper (Wire, Polygon), Is Pad, Is Smd, Is Via, Is Pad or Smd, Is MultiLayer Object, Is Thru Via, Is Micro Via, Is Blind Via, Is Buried Via, Is, Poly Pour, In Net Classes, In Signal, In Component, In Named Group, On Signal Layers In Component, In Named Group, On Layer (RestrictTop, RestrictBot), Object Type = line, circle, rectangle,solid polygon shape None
Via - Restrict Clearance Is Thru Via, Is Micro Via, Is Blind Via, Is Buried Via, Is, Poly Pour, In Net Classes, In Signal, In Component, In Named Group In Component, In Named Group,Object Type = line, circle, rectangle,solid polygon shape None

Unary Rules -

Rule Category Object 1 Scope Object 2 Scope Common Scope
Drill Size Is Pad, Is Via, Is Thru Via, Is Micro Via, Is Blind Via, Is Buried Via, In Net Classes, In Signal, In Component, In Named Group, In Diff Pair None None
Copper Width Is Copper (Wire, Polygon), Is Smd, Is Text, Is Name, Is Value, Is Attribute, In Net Classes, In Signal, In Component, In Named Group, On Signal Layers, In Diff Pair, Object Type = wire, smd, circle, rectangle, text, attribute, Object Type != air wire None None
Acute Angle In Net Class, In Signal, In Component, In Named Group, On Signal Layers None None
Air Wire In Net Classes, In Signal, In Named Group None None
Wire Stub In Net Classes, In Signal, In Named Group, On Signal Layers None None
Matched Signal Lengths In Net Classes None None