Forum: Platinen KiCad: Scriptmoeglichkeit fuer Ausgangsdaten/Checks


von Dergute W. (derguteweka)


Lesenswert?

Moin,

Bei KiCad-4.0.x: Gibts da irgendeine Moeglichkeit, via Script oder gar 
Makefile Ausgabe oder auch Netzlistenerzeugung, ERC und DRC zu 
automatisieren?
Wo ich zB. schon druebergestolpert bin: Fuer den Platinenservice 
brauchts andere Unterlagen mit teilweise anderen Filenamen als z.B. fuer 
eigene Unterlagen - also z.B. lauter Gerberfiles mit bestimmten Namen, 
ggf. auch noch gezippt vs. irgendwelche Pdfs mit Rahmen drum und 
Schaltbild, Mechanikzeichnungen und Bestueckungsplaenen drinnen und 
Stueckliste(n). Wobei mir am liebsten bei den Bestueckungsplaenen waere, 
wenn man den entsprchenden Cu-Layer in Hellgrau hinter den eigentlichen 
Bestueckungsdaten sehen koennte. Und die sollten im Gegensatz zu den 
Gerberfiles natuerlich nicht 1:1 sein, sondern "Papier"fuellend. usw.

Kriegt man alles irgenwie mit mehr oder weniger Aufwand hin, aber man 
muss dann immer ziemlich genau gucken, wo ueberall die Haekchen und 
Kreuzchen gesetzt sein muessen, ob man die Daten jetzt letztesmal ueber 
den Menuepunkt "Print" oder "Plot" erzeugt hatte - oder gar ueber 
"Export SVG" - Kurz: Das ist von Hand langwierig und fehleranfaellig.
Gibts da irgendwas, wie man das automatisieren kann? - also z.b. via 
Make per:

make gerber
make own_gedoens
make checks

Gruss
WK

von Bernd Wiebus sein Geist (Gast)


Lesenswert?

Dergute W. schrieb:
> Bei KiCad-4.0.x: Gibts da irgendeine Moeglichkeit, via Script oder gar
> Makefile Ausgabe oder auch Netzlistenerzeugung, ERC und DRC zu
> automatisieren?

Die Schematic und Board Files liegen in Textform vor, sind also einfach 
zu parsen. Aber Vorsicht, ERC und DRC sind keine einfachen Aufgaben.

> Wo ich zB. schon druebergestolpert bin: Fuer den Platinenservice
> brauchts andere Unterlagen mit teilweise anderen Filenamen als z.B. fuer
> eigene Unterlagen - also z.B. lauter Gerberfiles mit bestimmten Namen,


Die einzelnen Files lassen sich über explizite Namensbestandteile gut 
indentifizieren. Ein skript in Deiner Liblingssprache sollte das 
erkennen und umbenennen erledigen können.

> ggf. auch noch gezippt vs. irgendwelche Pdfs mit Rahmen drum und
> Schaltbild, Mechanikzeichnungen und Bestueckungsplaenen drinnen und
> Stueckliste(n). Wobei mir am liebsten bei den Bestueckungsplaenen waere,
> wenn man den entsprchenden Cu-Layer in Hellgrau hinter den eigentlichen
> Bestueckungsdaten sehen koennte. Und die sollten im Gegensatz zu den
> Gerberfiles natuerlich nicht 1:1 sein, sondern "Papier"fuellend. usw.

Wegen Komfort schau doch mal hier:
https://github.com/blairbonnett-mirrors/kicad/blob/master/demos/python_scripts_examples/plot_board.py
Aber keine Ahnung ob das funktioniert. Das Python Scripting in PCBnew 
muss beim Compilieren extra eingeschaltet werden, und braucht 
zusätzliche Bibliotheken. Keine Ahnung, ob das in den Feld, Wald und 
Wiesen KiCads 4 so umgesetzt ist.

Viel Erfolg.



>
> Kriegt man alles irgenwie mit mehr oder weniger Aufwand hin, aber man
> muss dann immer ziemlich genau gucken, wo ueberall die Haekchen und
> Kreuzchen gesetzt sein muessen, ob man die Daten jetzt letztesmal ueber
> den Menuepunkt "Print" oder "Plot" erzeugt hatte - oder gar ueber
> "Export SVG" - Kurz: Das ist von Hand langwierig und fehleranfaellig.
> Gibts da irgendwas, wie man das automatisieren kann? - also z.b. via
> Make per:

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Bernd Wiebus sein Geist schrieb:
> Die Schematic und Board Files liegen in Textform vor, sind also einfach
> zu parsen. Aber Vorsicht, ERC und DRC sind keine einfachen Aufgaben.

Aeh - puh...neee, das kann ich mir glaub' ich grad noch verkneifen. Das 
kann KiCad sicher besser. Ich wuerd's bloss gerne aus einem Script 
anschubsen koennen. Um z.B. sicher zu gehen, dass Schaltbild, Board, 
Netzliste gerade zusammenpassen.

> Die einzelnen Files lassen sich über explizite Namensbestandteile gut
> indentifizieren. Ein skript in Deiner Liblingssprache sollte das
> erkennen und umbenennen erledigen können.

Ja, solange es drum geht, die Gerbers nur umzubenennen ist das OK.

Aber - etwas konkreteres Beispiel: Ich will fuer eigene Unterlagen 2 
Bestueckungsplaene erstellen - und zwar solche Bestueckungsplaene, wo 
man die Bauteilwerte und -Umrisse in Schwarz sieht und die jeweilige 
Aussen-Kupferlage in ziemlich hellem Hellgrau, so dass man sich 
einigermassen zurechtfinden kann. In Din-A4, nicht im Massstab 1:1 
sondern moeglichst gross, aber trotzdem mit einem Rahmen 
drum....Hmmmmm....Ist das wirklich schon so exotisch?

Rahmen und nicht 1:1 - da wirds schon Bloed. Krieg ich erstmal garnicht 
hin. Nagut, also 1:1 - weitergehts:
Fuer's Kupfer in Hellgrau muss ich hergehen und die Farben vom 
Kupferlayer und von den Pads (und vielleicht von noch irgendwas) von 
rot/gruen auf Hellgrau aendern. 2x Mausklick auf die Farben; Printmode 
auf Color; "Single Page" statt "1 Page per layer".
Dann noch die entspechenden Haekchen bei Copper Layers und Technical 
Layers. Hupps, dann noch die Farben fuer den Text und alles moegliche 
andere auf Schwarz aendern, sieht in der Printmode=Color Einstellung 
sonst alles kontrastarm aus.
Das dann 2x fuer Vorne und Hinten.
So, dann kann ichs drucken. Aber aus dem Print-Menu geht kein .pdf 
Export. Brauchts also einen pdf Druckertreiber.Hmpf. Im Plot-Menue find' 
ich nix mit Farben bzw. Grautoenen. OK, in Export-SVG gehts wieder. Muss 
ich also danach noch von SVG auf pdf wandeln. uff.

So fertsch. Alles irgendwie in pdfs gemauschelt. Aber leider sind die 
Farben ja jetzt voellig verkonfiguriert zum weiterarbeiten. Also die 
"richtigen" Layer wieder auf die Originalfarben umstellen; dabei nix 
vergessen; usw.
Diesen Heckmeck wuerd' ich halt gerne etwas vereinfachen, wenns ging.

KiCad selber bauen ist kein Problem, laeuft hier eh unter einem (B)LFS. 
Und gegenueber der Zeit, als man dafuer noch bazaar und ein 
Speciaaal-Boost gebraucht hat, hat sich erfreulicherweise einiges bei 
KiCad zum Guten/Einfacheren gewendet.

Unangenehm ist dabei nur wieder, dass wxPython zum selberbauen ziemlich 
braindead ist und so wie's aussieht wohl nicht mehr vernuenftig gepflegt 
wird (Letzte Release: Nov.2014).
Jedenfalls bringt wxPython "natuerlich" seine eigene Version von 
wxWidgets mit (wozu das denn, ich hab' eh' schon ein neueres WxWidgets), 
und nur mit der laesst sich da was bauen, dann brauchts zwingend noch 
die uralten Versionen von GStreamer, damit wxPython+uraltWxWidgets 
zufrieden ist und sich bauen laesst. Brauch' ich den ganzen uralten 
Multimedia-Kack, bloss damit KiCad scriptbar wird - grmpfff.

Naja, ok da kann KiCad nur insoweit was dafuer, weil sich sich halt den 
Pythonkrempel ausgesucht haben.
Musst' ich aber mal loswerden. Nix fuer ungut. ;-)

Gruss
WK

von ado (Gast)


Lesenswert?

Für Bestückungsdokumentation ein sehr geniales Skript.
Leider in Python. :-)

https://forum.kicad.info/t/making-a-good-assembly-drawing-for-hand-soldering-out-of-the-kicad-pcbnew/2096/10

Zum selberscripten - leider auch in Python:

https://forum.kicad.info/t/tutorials-on-python-scripting-in-pcbnew/5333/2

von Andy Y. (merlin129)


Lesenswert?

ado schrieb:
> Für Bestückungsdokumentation ein sehr geniales Skript.
> Leider in Python. :-)

Hatte ich auch immer gedacht. Zwischenzeitlich habe ich es gelernt und 
liebe es :)

> https://forum.kicad.info/t/making-a-good-assembly-...
>
> Zum selberscripten - leider auch in Python:
>
> https://forum.kicad.info/t/tutorials-on-python-scr...

Vielen Dank für die Links!

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Merci auch von mir! Wenn ich auch noch kein Python sprech', ist jetzt 
wenigstens klarer, dass das auch der Weg zu "schoenen" Unterlagen ist. 
Und nicht noch irgendwo in einem geheimen Unteruntermenue ein 
verborgenes Haekchen angeknipst werden kann.

Gruss
WK

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.