Forum: Platinen KiCAD Symboleigenschaften editeren/erweitern


von Thomas T. (runout)


Lesenswert?

Hallo Gemeinde,

eigentlich ein Softwarethema aber KiCAD-bezogen.

Ich möchte von Symbolen die Eigenschaften von extern
editieren oder erweitern.
Unter Symboleigenschaften gibt es Felder wie "Datenblatt", 
"Beschreibung" etc.
Ich möchte bibliotheksübergreifend Felder ergänzen. z.B. 
"Herstellerbezeichnung".

Es gibt eine "API for Add-on Developers", weiterhin
gibt es die "KiCad API Python Bindings" welche auf die API zugreifen.

Wohlgemerkt, des Editieren kann sollte, besser sollte, ohne eine 
laufende Runtime erfolgen.

Gibt es da eine Empfehlung für den besten Weg?
Oder gar ein fertiges Tool, gern auch Datenbank-basiert?

Grüße
Runout

von Patrick C. (pcrom)


Lesenswert?

Kauf dir ein buch oder folge einen Kurs Kicad damit du weiszt wie es 
benutzt werden soll. Wenn du das gut im griff hast, kann man eventuell 
mit API benutzung anfangen.

Ich bin noch nicht so lange her angefangen mit KiCad und bin sehr froh 
mit (e)book Kicad Like A Pro.

Patrick aus die Niederlande

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Schau dir doch einfach mal an, wie so ein Bibliothekssymbol aussieht. 
Hier mal ein x-beliebiges rausgegriffen:
1
(kicad_symbol_lib
2
        (version 20241209)
3
        (generator "kicad_symbol_editor")
4
        (generator_version "9.0")
5
        (symbol "8284"
6
                (exclude_from_sim no)
7
                (in_bom yes)
8
                (on_board yes)
9
10
                (property "Datasheet" "http://www.cpu-galaxy.at/cpu/ram%20rom%20eprom/other_intel_chips/other_intel-Dateien/D8284A_Datasheet.pdf"
11
                        (at 0 0 0)
12
                        (effects
13
                                (font
14
                                        (size 1.27 1.27)
15
                                )
16
                                (hide yes)
17
                        )
18
                )
19
                (property "Description" "Clock Generator and Driver for i8086/88 Microcontrollers, PDIP-18"
20
                        (at 0 0 0)
21
                        (effects
22
                                (font
23
                                        (size 1.27 1.27)
24
                                )
25
                                (hide yes)
26
                        )
27
Ich denke, es ist ziemlich offensichtlich, wie man da mit der 
Textbearbeitungs-Scriptsprache seines geringsten Misstrauens weitere 
property-Einträge hinzufügen kann. Vermutlich werden deine neuen 
Einträge ja alle "(at 0 0 0)" und "(hide yes)" haben sollen. Wenn sie 
auch im Schaltplan erscheinen sollen, wird es natürlich etwas 
schwieriger, eine konfliktfreie Platzierung zu finden.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

die Idee von Jörg weitergedacht. Nimm ein Symbol, kopiere es unter neuen 
Namen und ändere es mittels Symboleditor wie du es benötigt. Dann kannst 
du genau schauen was sich wie verändert hat. Wenn du die Unterschiede 
kennst, kannste bspw. mit Python ein Script schreiben, welches dir alle 
weiteren Dateien ändert/erweitert.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

man kann es noch anders machen, je nach Langlebigkeit der Änderung. Im 
Schaltplan alle Symbole markieren, Werkzeuge > Symbolfelder editieren. 
Hier kann man dann Felder hinzufügen und löschen usw..

von Thomas T. (runout)


Lesenswert?

Hallo Veit,

das greift doch bloß im Projekt und nicht in den Bibliotheken.

Das Stichwort wäre hier "SEXPR"

Die Quelle ist hier:
https://docs.kicad.org/doxygen/classSEXPR_1_1SEXPR.html

Wenn man die Kirche im Dorf lassen will, dann mit Python:
https://pypi.org/project/sexpdata/

Ich möchte damit meine eignen Libs anpassen. (1000+ Symbole)
Die KiCAD-Libs lass ich i.d.R. unangetastet.

Grüße
Runout

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Thomas T. schrieb:
> Wenn man die Kirche im Dorf lassen will, dann mit Python:
> https://pypi.org/project/sexpdata/

Das klingt doch schon mal nicht schlecht.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

es ist schon erstaunlich wie man so über die Antworten hinweggehen kann. 
Da frage ich mich, wenn du alles weißt wie man es macht, warum fragst du 
dann überhaupt? Irgendwie habe ich dafür kein Verständnis.
Parser Möglichkeiten gibt es viele, der Parser alleine hilft nicht.

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Veit D. schrieb:
> Parser Möglichkeiten gibt es viele, der Parser alleine hilft nicht.

Das Python-Teil macht ja beides.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.