KiCAD8.0.9: Netzklassen zuweisen, Netzklassen abstände

OP #7844115
Lesenswert?
• ▲
▼

Hallo zusammen,

  • gibt es eine Möglichkeit, im EESchema einer Gruppe von Netzen, z.B. durch Rechteckauswahl oder eine ganze Seite, eine gemeinsame Netzklasse zuzuweisen? Das wäre wirklich komfortabel! Die Zuweisung an benannte Netze habe ich bereits gefunden...

  • Wo kann ich Abstände Netzklasse zu Netzklasse einstellen? Ich meine, daß es das in frühren Versionen gab. Jetzt finde ich es aber nicht mehr.

Gibt es zu der Problematik "Netzklassen" evtl. ein empfehlenswertes Plugin?

Danke & Gruß Axel

OP
Lesenswert?
• ▲
▼

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

Lesenswert?
• ▲
▼

Axel V. schrieb:

  • gibt es eine Möglichkeit, im EESchema einer Gruppe von Netzen, z.B. durch Rechteckauswahl oder eine ganze Seite, eine gemeinsame Netzklasse

Ab KiCAD 9.0 funktioniert das, mit den 8.x Versionen nicht.

Suche mal hier: https://www.kicad.org/blog/2025/02/Version-9.0.0-Released/ "Net class rule areas"

Damit kannst du (wie es in Altium schon länger geht) Netzklassen über mehrere Netzt anlegen (Rechteck Auswahl)

Du kannst auch so auswählen: https://forum.kicad.info/t/how-do-i-use-the-new-creepage-custom-rules-v9-0-0/59328/9

Ein Grund mehr auf V9 zu wechseln.

Cheers

OP
Lesenswert?
• ▲
▼

Ja, das geht schon mal in die richtige Richtung. Dazu muß ich aber erst noch mein Linux hochziehen, um auf die 9er wechseln zu können.

Im Moment habe ich es so gemacht, wie oben beschrieben. Das hat auf jeden Fall den Vorteil, daß man im PCB nichts übersieht.

Danke & Gruß Axel

Lesenswert?
• ▲
▼

Axel V. schrieb:

...

  • Diese durchnummerierten Netze lassen sich dann in einem Editor relativ komfortabel eine Netzklasse zuweisen (Sicherungskopie vorher machen!!). ...

Das geht (mittlerweile?) auch einfach im in den "Netclass Assignments" mit bestimmten Pattern. Man kann z.B. "*" als Wildcard oder den "|" als Trennzeichen verwenden:

https://gitlab.com/kicad/code/kicad/-/issues/21451#note_2682858904

In deinem Fall also z.B.: CPU_(1|2|3|...|26|...)

Grüße

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über ein Jahr alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.