Nets can now have multiple netclasses assigned. This can be used for fine-grained, modular, custom DRC rules. New functionality includes:
Introduces ordering of netclasses
Allows netclasses to have null properties (except on the default netclass)
Effective netclasses are constructed from non-null netclass fields in netclass priority order (with default netclass parameters always used as fallback)
DRC checks for netclass equivalence as requiring both items to have the same set of constituent netclasses
Modify DRC to test netclass name (A.netclass == ‘my_netclass’) against the comma-separated list of priority-ordered constituent netclasses
Adds DRC function A.hasNetclass(‘my_netclass’) to test if a given netclass is assigned to an item
Schematic and PCB netclass coloring taken from the effective aggregate netclass for a net
Note that we have also tidied up the case where previously the default netclass could have a schematic color assigned, but not a pcb color. Now, the default netclass can have neither color assigned. These should be set in the global color settings if customisation is required.
STEP export now supports exporting a subset of components based on what is selected in the PCB editor or a list of reference designators (supporting wildcards):
DRC skew rules now have an optional flag (within_diff_pairs). When set, the DRC rule is run independently for every identified differential pair in the traces which match the rule conditions. When left out, the current DRC behaviour remains whereby skew is run acros all matching nets (for example, for checking the skew of a bus). For example, for the following schematic:
In addition, the router and DRC definition of skew have been unified to always be measured relative to the longest trace in the skew set (be that the longest in each diff pair, or the longest in all traces, depending on if (within_diff_pairs) is set).
The router will also pick up the correct constraint for skew tuning where skew is definied using a (within_diff_pairs) rule.
Layer pairs can be added to a preset list. “Enabled” pairs, along with the currently-set pair if not itself a preset, can be cycled with the “Shift+V” hotkey:
There is a new Shape Modification tool next to Fillet and Chamfer: “Dogbone” corner relief for cutouts that have to fit something with square corners (specifically: sharper than the edge-routing milling bit, often 1 or 2mm):
In the PCB editor, there is now an at-cursor indicator showing what exactly the cursor is snapping to, which also now includes intersections between lines, circles and arcs:
This can be useful when constructing geometry. For example, you can draw a hexagon:
More importantly for footprint drawing, it is easier to make something like this using just a couple of construction lines and circles: