
KiCad 9.0 ist da - und erwachsen geworden
KiCad ist eine Anwendung für Electronic Design Automation (EDA). Nun ist KiCad in Version 9 erschienen und glänzt durch viele inkrementelle Verbesserungen, die für die Reife der PCB-Lösung sprechen.
Eine Übersetzung von s3n🧩net
🎯 Mission Statement
Das Ziel des KiCad-Projekts ist es, die bestmögliche plattformübergreifende Elektronikdesign-Anwendung für professionelle Elektronikdesigner bereitzustellen. Es werden alle Anstrengungen unternommen, um die Komplexität der fortgeschrittenen Designfunktionen zu verbergen, so dass KiCad für neue und unerfahrene Benutzer zugänglich bleibt, aber bei der Festlegung der Richtung des Projekts und der Priorität neuer Funktionen haben die Bedürfnisse professioneller Benutzer Vorrang.
🆕 KiCad 9
Vorwort
KiCad ist erwachsen geworden, wie Heise meint:
Beim Durchscrollen der langen Liste der Verbesserungen, die in diese Version eingeflossen sind, fällt eines auf: Es handelt sich um eine Liste von Upgrades und Optimierungen einer stabilen Software und nicht mehr um wesentliche Funktionen: KiCAD wird erwachsen.
Mit 4,870
einzigartigen Commits und vielen Beiträgen zu Symbolen, Fingerprints und Modellen hat KiCad 9 einiges zu bieten (Auswahl):
Allgemein
Jobsets (predefined output jobs)
Mark Roszko hat eine Funktion beigesteuert, die vordefinierte Jobs
bereitstellt, z. B. das Plotten, Exportieren und Ausführen von DRC auf Schaltplänen und PCBs. Unabhängige Jobset-Dateien sind wiederverwendbar, da Benutzer möglicherweise Ausgabepipelines erstellen möchten, die sie aus Gründen der Konsistenz auf alle ihre Projekte anwenden können. Jobsets können über die Befehlszeile oder die grafische Benutzeroberfläche von KiCad ausgeführt werden:
Eingebettete Dateien
Seth Hillbrand hat die Einbettung verschiedener Elemente in Ihre Schaltpläne, PCB-Layouts, Footprints und Symbole eingeführt, die zuvor mit externen Dateien verknüpft waren. Dies ermöglicht die Erstellung von völlig eigenständigen KiCad-Dateien, die nicht auf externe Dateien wie Schriftarten oder 3D-Modelle angewiesen sind.
Bezierkurven-Werkzeug in allen Editoren
Ein Werkzeug zur Erstellung von Bezier-Kurven im Schaltplan- und PCB-Editor wurde von John Beard implementiert. Wie beim Bogenwerkzeug gibt es im PCB-Editor einige Hilfslinien, die standardmäßig als tangentiale Linien miteinander verbunden werden. Die Rückschritttaste funktioniert genauso wie beim Bogenwerkzeug. Die interaktiven Bearbeitungshilfslinien sind (noch) nicht im Schaltplan-Editor enthalten (dasselbe gilt für Bögen). Beziers waren bereits importierbar und können nach dem Import bearbeitet werden, aber jetzt können sie von Grund auf neu erstellt werden.
Unterstützung von Multikanal-Design
Tomasz Wlostowski hat Unterstützung für die Erstellung von Multi-Kanal-Designs beigesteuert. Damit kann der Benutzer PCB-Layoutelemente aus einem Kanal wiederholen, um identische Kopien zu erstellen.
Komponentenklassen
James Jackson hat eine Komponentenklassenfunktion hinzugefügt, die es ermöglicht, verschiedene Symbole und Footprints in Klassen zu gruppieren, auf die bestimmte Entwurfsregeln angewendet werden können. Komponentenklassen werden im Schaltplaneditor für Symbole festgelegt und gelten dann für die mit diesen Symbolen verbundenen Footprints. Richtlinienbeschriftungen, die an einen Regelbereich angehängt sind, können jetzt ein Feld "Komponentenklasse" enthalten. Symbolen innerhalb des Regelbereichs wird diese Komponentenklasse zugewiesen. Das Feld "Komponentenklasse" kann auch direkt auf Symbole gesetzt werden:
Symbole können mehr als eine Komponentenklasse haben, wobei sie alle übernehmen können, die direkt auf dem Symbol oder einer seiner Untereinheiten definiert sind, oder alle Richtlinienbeschriftungen, die mit den Regelbereichen verbunden sind, die das Symbol enthalten.
Im PCB-Editor werden die Bauteilklassen an den Footprint des Symbols angehängt:
Es gibt drei neue DRC-Ausdrücke/Funktionen zur Unterstützung der Abfrage von Komponentenklassen:
(condition "A.ComponentClass == 'CLASS_1,CLASS_2'")
um gegen die vollständige Liste der Komponentenklassen zu testen, wobei die zusammengesetzte Komponentenklasse eine kommagetrennte Liste in alphabetischer Reihenfolge ist),
(condition "A.hasComponentClass('CLASS_1')")
um zu prüfen, ob ein Footprint Teil einer bestimmten Komponentenklasse ist, und
(condition "A.memberOfFootprint('${Class:CLASS_1}')")
um zu prüfen, ob ein Element Teil eines Footprints in einer bestimmten Komponentenklasse ist.
Tabellenbearbeitung in Schaltplan-, Symbol- und Footprint-Editoren
Dank der Bemühungen von Jeff Young können nun Tabellen zu den Editoren für Schaltpläne, Symbolbibliotheken und Fußabdruckbibliotheken hinzugefügt werden, wodurch sie mit dem PCB-Editor gleichgestellt werden. Außerdem wurden zusätzliche Bearbeitungsfunktionen für Tabellen hinzugefügt.
Benutzerdefinierte ERC/DRC-Fehler, Warnungen und Ausschlusskommentare
Jeff Young hat eine Funktion hinzugefügt, mit der Sie ERC/DRC-Fehler und -Warnungen aus Textfeldern und Feldern mit den folgenden Textvariablen erstellen können:
${ERC_WARNING <custom title>}
${ERC_ERROR <custom title>}
${DRC_WARNING <custom title>}
${DRC_ERROR <custom title>}
Maus-Rollrad-Aktionen
John Beard hat in den Editoren für Leiterplatten, Schaltpläne, Footprints und Symbole eine Funktion zum Scrollen hinzugefügt. Shift
-Alt
-Scroll
ist eine primäre Funktion und Ctrl
-Alt
-Scroll
ist eine sekundäre Funktion. Die aktuellen Bindungen verwenden diese Funktion, um Text zu erhöhen, wobei der ganz rechte "Teil" primär und der nächste ganz rechte Teil sekundär ist. Zum Beispiel führt Shift-Alt-Scroll bei "B2" zu "B1" oder "B3", Ctrl-Alt-Scroll zu "A2" oder "C2". Dies ist zwar etwas heuristisch, scheint aber in den offensichtlichen Fällen gut zu funktionieren. Als Nebeneffekt der Erkennung, dass sich die Maus über dem Namen oder der Nummer befindet, setzt der Dialog "Pin bearbeiten" des Symboleditors nun den anfänglichen Fokus auf das Nummernfeld, wenn sich die Maus bei einem Doppelklick oder der Tastenkombination "E" darüber befand.
- Footprint-Editor: Pad-Nummern und Text
- PCB-Editor: Text
- Symbol-Editor: Pin-Nummern oder -Namen (je nach Mausposition) und Text
- Schaltplan-Editor: Labels und Text
Kontinuierliche Verbesserung der Dokumentation
Graham Keeth hat hart daran gearbeitet, die Dokumentation von KiCad für Version 9 zu aktualisieren. Dank seiner Arbeit sind die meisten der neuen Funktionen und Änderungen in KiCad 9 bereits dokumentiert. Zusätzlich zur Dokumentation der neuen Funktionen hat Graham alle Bereiche der Dokumentation mit aktualisierten Screenshots, Textbearbeitung und Korrekturen verbessert. Unsere Dokumentationsübersetzer haben auch daran gearbeitet, den übersetzten Text zu aktualisieren, damit die aktuelle KiCad-Dokumentation in mehr Sprachen verfügbar ist.
Andere KiCad-weite Änderungen
- Die Kommandozeilenschnittstelle wurde um einige neue Funktionen erweitert, u.a. Raytracing von 3D-Bildern
- Umgekehrte Mausrad-Zoom-Option Bildreferenzpunkte
- Erweitern/Kollabieren aller Kontextmenüeinträge in den Baumfeldern des Bibliothekseditors
- Zuweisen mehrerer Netzklassen zu einem Netz Kontextmenü-Kopie aus den Inspektorberichtsfeldern
- Kontextmenü-Kopie aus Inspektoren-Berichtsfeldern
- Text-Justify-Aktionen können Hotkeys zugeordnet werden können
- Kommentar kann zu ERC/DRC-Ausschlüssen hinzugefügt werden
- Rechtsklick-Aktion zum Entfernen ignorierter Tests aus den ERC/DRC-Dialogen
- Rechtsklick-Kopie des Inspektorfensterinhalts.
- Erlaubt das Einfügen von Bildern aus der Zwischenablage als Referenzbilder in Schaltplan-, PCB- und Arbeitsblatt-Editoren
- "Als Text kopieren"-Aktion, die das Kopieren des Textinhalts von Textelementen, Feldern, Beschriftungen, Tabellen, Tabellenzellen und Bemaßungen erlaubt
Schaltplan- und Symbol-Editoren
Filterung der Auswahl
Die Schaltplan- und Symbolbibliotheks-Editoren verfügen nun über eine Objektauswahlfilterung, wie sie auch die PCB- und Footprint-Bibliotheks-Editoren dank Jon Evans haben.
Werkzeug zur Synchronisierung von Pin- und hierarchischen Etiketten
Ethan Chien, einer unserer neuesten Entwickler im Kernteam, hat ein neues Werkzeug für die Synchronisierung von Pin- und hierarchischen Etiketten beigesteuert. Dieses Tool ermöglicht die Verwaltung von Pin- und dazugehörigen hierarchischen Etiketten, ohne dass zwischen Blatt und Schaltplan hin und her gewechselt werden muss.
Netzklassenregelbereiche
James Jackson fügte Unterstützung für schematische Netzklassenregelbereiche hinzu, die es dem Benutzer ermöglichen, eine Form zu zeichnen, an die Netzklassenrichtlinien für alle durch die Form definierten Netze angehängt werden können.
Design Blocks
Mike Williams hat die Implementierung von Schaltplanblöcken beigesteuert. Diese Funktion ermöglicht es Benutzern, Bibliotheken mit wiederverwendbaren Schaltplanblöcken zu erstellen. Diese Funktion wird in einer zukünftigen Version von KiCad um wiederverwendbare PCB-Layout-Blöcke erweitert werden.
Netzklasse farblich hervorheben
Es gibt eine neue Option, um die Netzklasse als "Highlight" um den Draht herum einzufärben, anstatt nur die Farbe des Drahtes selbst zu ändern. Diese praktische Verbesserung der Benutzerfreundlichkeit wurde von James Jackson beigesteuert.
Weitere kleinere Änderungen am Schaltplaneditor
- Speichern eines Symbols in einer anderen Bibliothek im Symboleditor speichert nun alle Symbole, von denen es abgeleitet ist
- Befehle "Speichern unter" und "Kopie speichern unter" im Symboleditor
- Warnung beim Versuch, eine schreibgeschützte Bibliothek zu bearbeiten, mit der Option, eine bearbeitbare Kopie zu erstellen
- Option, versteckte Felder im Symboleditor nicht anzuzeigen
- Netznavigator zeigt nun alle Netze im Schaltplan an Option, Symbole von der Simulation auszuschließen
- Import von Eagle-Schaltplänen mit Modulen Symboleditor
- Pin-Dragging Indikatoren für alternativen Pin-Modus
- Abgeleitete Symbole in einer anderen Bibliothek speichern
- ERC für lokale und globale Labels mit demselben Namen
- ERC für unverbundene Endpunkte Unterstützung des Imports von Altium-ASCII-Schaltplandateiformaten
- Blätter können vom Hierarchie-Navigator aus umbenannt werden
- Option zum Ausschluss von Symbolen von der Simulation
- Option zum Anzeigen von Indikatoren auf Symbolpins mit alternativen Definitionen
- Möglichkeit, ein ganzes Blatt als
do not populate
,exclude from board/BOM
oderexclude from simulation
zu markieren - Ermöglicht das Ändern der Symboleinheit im Dialog
Referenzfeld bearbeiten
- Ermöglicht die Zuweisung mehrerer Netzklassen zu einem einzigen Netz
- Führt Ordnung von Netzklassen ein
- Erlaubt es Netzklassen, Nulleigenschaften zu haben (mit Ausnahme der Standardnetzklasse)
- Effektive Netzklassen werden aus Netzklassenfeldern ohne Nulleigenschaften in der Reihenfolge der Netzklassenpriorität konstruiert, wobei die Parameter der Standardnetzklasse immer als Fallback verwendet werden
- DRC prüft auf Netzklassenäquivalenz, da beide Elemente dieselbe Menge konstituierender Netzklassen haben müssen
- DRC testet Netzklassenname (A.netclass == 'my_netclass') gegen die kommagetrennte Liste der nach Priorität geordneten konstituierenden Netzklassen
- DRC-Funktion A.hasNetclass('my_netclass') hinzufügen, um zu prüfen, ob eine gegebene Netzklasse einem Element zugewiesen ist
- Schematische und PCB-Netzklassenfärbung aus der effektiven aggregierten Netzklasse für ein Netz
PCB- und Footprint-Editoren
IPC API
Jon Evans hat eine neue API für den Board-Editor entwickelt, die auf Interprozesskommunikation (IPC) basiert und die aktuelle Python-Wrapper-Schnittstelle ersetzen wird. Diese Schnittstelle wird im Vergleich zur Wrapper-Schnittstelle eine deutlich verbesserte Stabilität und API-Stabilität bieten und wird während der Entwicklung von Version 10 zur Unterstützung des Schaltplan-Editors erweitert werden. Weitere Informationen über die neue API finden Sie in der Entwicklerdokumentation.
Zone manager
Ethan Chien hat eine neue Zonenmanager-Funktion beigesteuert, die eine einfache Vorschau und Anpassung von Zonenprioritäten und anderen Einstellungen ermöglicht, ohne dass jede Zone einzeln bearbeitet werden muss, um das Ergebnis der Änderungen zu überprüfen.
Verbesserte Kontrolle über via tenting
Jon Evans hat die Kontrolle über das Via-Tenting auf der Ober- und Unterseite auf Platinen-Ebene und die Überschreibungen pro Via ermöglicht. Diese Änderung ermöglicht eine vollständige Kontrolle über das Via-Tenting im Vergleich zu den Optionen, die in früheren KiCad-Versionen verfügbar waren.
Presets für Ebenenpaare
John Beard hat einige hilfreiche Funktionen für die Arbeit mit Ebenenpaaren hinzugefügt: Voreinstellungen und eine Schnellumschaltliste. "Aktivierte Paare und das aktuell eingestellte Paar, wenn es nicht selbst eine Voreinstellung ist, können mit der Tastenkombination Umschalt
+ V
umgeschaltet werden.
Werkzeug zur Formänderung
Interne Plattenausschnitte können in der Regel nicht mit scharfen Ecken hergestellt werden. John Beard hat ein treffend benanntes "Hundeknochen"-Werkzeug entwickelt, um die richtige(n) Form(en) zu erzeugen, die durch den Durchmesser des Werkzeugs bestimmt wird, mit dem der Ausschnitt gefräst wird.
Pad stacks
Dank der Bemühungen von Jon Evans unterstützt KiCad jetzt PTH-Pads mit verschiedenen Kupferformen auf verschiedenen Lagen. Pad-Stapel können mit unterschiedlichen Formen auf der oberen, inneren und unteren Schicht oder mit einzigartigen Formen auf jeder Kupferschicht definiert werden.
Interaktives Positionierungswerkzeug
Ein weiteres praktisches Werkzeug von John Beard ermöglicht die Positionierung von Objekten durch Zeichnen einer Linie und anschließendes Definieren des Verlaufs dieser Linie.
Eine andere Möglichkeit ist die direkte Manipulation von Objekten, indem man sie zunächst in eine bekannte Position bringt und dann die Funktion Exakt bewegen
verwendet. Es kann auch verwendet werden, um die Ausrichtung in der einen oder anderen Achse festzulegen.
Der Vektor muss sich nicht auf einem der beiden Objekte befinden, was die direkte Verwendung einer Dimension von etwas anderem als Bewegung für die Auswahl ermöglicht.
Multiple track drag
Tomasz Wlostowski hat den Push-and-Shove-Router aktualisiert, um das Ziehen von mehreren Spuren zu ermöglichen. Das ist zwar nicht dasselbe wie das Routing mehrerer Spuren, aber diese Änderung wird das Routing von Platten mit komplexen Bussen erheblich verbessern.
Überprüfung der Kriechstromregeln
Fabien Corona hat eine Designregelprüfung für elektrische Kriechstrecken implementiert. Die neue Regelsyntax und die daraus resultierenden DRC-Fehler sind unten dargestellt.
(rule HV_HV
(constraint creepage (min 20mm))
(condition "A.hasNetclass('A') && B.hasNetclass('B')")
)
Verbesserungen beim 3D-Modellexport
Dank der Bemühungen von Aleksandr Shvartzkop können 3D-Modelle jetzt in die Dateiformate XAO, STL, BREP und PLY exportiert werden, einschließlich Siebdruck- und Lötmaskenschichten.
Weitere Änderungen am PCB-Editor
- Netzinspektor-Panel
- Cursor-Snap-Indikatoren
- ODB++-Export
- Option zum Plotten von Pad-Umrissen und -Nummern auf Fertigungsebenen
- Ermöglicht das direkte Einfügen von Text als Textelemente
- Einschließen von Siebdruck und Lötmaske in den 3D-Export
- Filtern von Modellen, die in den 3D-Export eingeschlossen/ausgeschlossen werden sollen
- Plotten aller Ebenen in ein einziges PDF-Dokument mit separaten Seiten anstelle von separaten PDF-Dateien pro Ebene
- Überprüfung der Entwurfsregeln für schiefe und spitze Winkel von Differentialpaaren
- Optionales Skew-DRC-Flag zur unabhängigen Prüfung von Designregeln für differentielle Paarverschiebungen
- Fehlerabstandsindikatoren für Designregeln
- Verfolgen des Entfernens von Lötmasken
- Beliebige Referenz für Relativpositionswerkzeug
- Cursor-Snap-Indikatoren
- Externe Abstandshalter
- Arbiträrreferenz für die relative Positionierung des Werkzeugs Cursor-Snap-Indikatoren
- Zoneneckenabschrägung
- Option im positionsrelativen Werkzeug, um einen beliebigen Referenzpunkt zu verwenden, der an Objekten gefangen werden kann
- Werkzeug zur Erstellung von Aussparungen
- Werkzeug zur Vereinfachung von Polygonen
- Vias mit ringförmigen Ringen pro Schichtdurchmesser
- Überschreiben gesperrter Footprints beim Aktualisieren von Leiterplatten aus dem Schaltplan
- Gruppierung von benutzerdefinierten Lagen als Vorder-/Rückseitenpaare möglich
- Der Export von 3D-Modellen aus der Befehlszeilenschnittstelle mit Raytracing wird jetzt unterstützt
- Erweiterung der
physical_clearance
Regel zur Anwendung zwischen Kupferfüllungen und Footprint-Höfen - Verbesserte Darstellung von durchkontaktierten Bohrungen
- Nach innen gerichtete Bemaßungspfeile
- Verbesserungen beim 3D-Modellexport
- Option zum Verschmelzen der Kupfergeometrie
- Option zum Exportieren von Kupfer auf Innenlagen
- Optionen zum Ausschließen von Leiterplattenkörpern oder Footprint-Modellen
- Netzfilter (kann zum Exportieren eines einzelnen Netzes verwendet werden)
- Zonengeometrie-Annäherung mit Bögen für schnellere Verarbeitung und kleinere Dateigrößen
Weitere Werkzeuge
- Toleranzberechnungen in der Reglerkonsole des Berechnungswerkzeugs hinzugefügt
Eine Übersetzung von s3n🧩net
Comments