Also, heute habe ich mich nochmals mit dem Thema beschäftigt, Doku gelesen, herumgesucht und ausprobiert. Folgendes ist dabei herausgekommen:
-
man kann mehrere Netze mit gedrückter Shift-Taste auswählen; ABER man kann dieser Auswahl nicht direkt eine Netzklasse zuweisen.
-
Es müssen zum zuweisen einer Netzklasse die entsprechenden Netze benannt werden, auch wenn diese bereits intern einen Namen bekommen haben. Wenn Netze nicht schon einen Namen hatten, wie z.B. "CSn_XY", dann habe ich diese mit einem Präfix und eine laufenden Nummer versehen z.B. "CPU_26".
-
Diese durchnummerierten Netze lassen sich dann in einem Editor relativ komfortabel eine Netzklasse zuweisen (Sicherungskopie vorher machen!!). Die Netzklassenzuordnung ist im *.kicad_pro zu finden, das sieht dann in etwa so aus:
1 |
{
|
2 |
"netclass": "LT2",
|
3 |
"pattern": "/Leistungsteil2/LT2_54"
|
4 |
},
|
5 |
{
|
6 |
"netclass": "LT2",
|
7 |
"pattern": "/Leistungsteil2/LT2_55"
|
8 |
},
|
9 |
{
|
10 |
"netclass": "LT2",
|
11 |
"pattern": "/Leistungsteil2/LT2_56"
|
12 |
},
|
-
Dann kommt der zweite Teil, das eigentliche 'constraining'.
-
Im Leiterplatteneditor unter 'Platinenkonfiguration-> Benutzerdefinierte Regeln' habe ich folgendes eingetragen:
1 |
(version 1)
|
2 |
# Clearance for CPU nets to anything else
|
3 |
(rule CPU_global_clear
|
4 |
(constraint clearance (min "1mm"))
|
5 |
(condition "A.NetClass == 'CPU' && B.NetClass == 'LT1'"))
|
6 |
# Clearance for Leistungsteil1 (LT1) nets to anything else
|
7 |
(rule LT1__global_clear
|
8 |
(constraint clearance (min "1mm"))
|
9 |
(condition "A.NetClass == 'CPU' && B.NetClass == 'LT2'"))
|
10 |
# Clearance for Leistungsteil2 (LT2) nets to anything else
|
11 |
(rule LT2_global_clear
|
12 |
(constraint clearance (min "1mm"))
|
13 |
(condition "A.NetClass == 'LT1' && B.NetClass == 'LT2'"))
|
Die Angabe (version x) ist zwingend. Der Regelname ist unerheblich (rule XYZ). Mit den obenstehenden constraints habe ich es dann geschafft, drei galvanische Inseln mit min. 1 mm auf Abstand zu halten.
In Sachen Benutzerfreundlichkeit ist natürlich noch Luft nach oben.
Gruß
Axel