Forum: Platinen KiCad Silkscreen markieren, verschieben


von M. M. (blackcow)


Lesenswert?

Hallo, mein Ziel ist es nur ausgewählte Bauteile mit Siebdruck auf dem 
PCB zu beschriften. Mein Ansatz wäre nun den kompletten Silkscreen Layer 
zu markieren und in einen User Layer zu verschieben und nur für die 
benötigten Bauteile die Beschriftung im Silkscreen Layer zu lassen.

Prinzipiell kann ich auch einzelne Elemente in den anderen Layer 
verschieben (bei den Eigenschaften). Was leider nicht funktioniert ist 
mehrere Silkscreen Elemente zu markieren, da dann auch Elemente nicht 
sichtbarer Layer mit markiert werden. Und selbst wenn diese markiert 
sind, kann ich nicht deren Eigenschaften gesammelt ändern.

Ideen?

von Blackbull (Gast)


Lesenswert?

M. M. schrieb:
> Mein Ansatz wäre nun den kompletten Silkscreen Layer
> zu markieren und in einen User Layer zu verschieben und nur für die
> benötigten Bauteile die Beschriftung im Silkscreen Layer zu lassen.

Das ist irgendwie von hinten durch dir Brust ins Auge!
So viel ich weiss kann man jeden nicht gewünschten Text
(auch im Silkscreen) als "versteckt" makieren, der wird dann auch nicht 
im Gerber übenommen.
Zur Sicherheit kannst du es mit der Plott Funktion überprüfen was hinten 
rauskommt.

von M. M. (blackcow)


Lesenswert?

Blackbull schrieb:
> "versteckt" makieren

Auch eine Möglichkeit. Das Problem mit jedem Element einzeln markieren 
bleibt aber.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo M. M.

M. M. schrieb:
> Blackbull schrieb:
>> "versteckt" makieren
>
> Auch eine Möglichkeit. Das Problem mit jedem Element einzeln markieren
> bleibt aber.

Das geht am schnellsten mit einem Text Editor im Board File.

Wenn Du das File öffnest, ist da ein Bereich, wo Die ganzen Bauteile 
stehen.
Für ein Bauteil fängt das so an:
<code>
(module Diode_DO-41_SOD81_Horizontal_RM10 (layer Vorderseite) (tedit 
4BAE1119) (tstamp 4B91164F)
    (at 213.32698 67.22364 270)
    (descr "Diode, DO-41, SOD81, Horizontal, RM 10mm,")
    (tags "Diode, DO-41, SOD81, Horizontal, RM 10mm, 1N4007, SB140,")
    (path /4C3F1E41/4B86F8A4)
    (fp_text reference D9 (at 0 2.54 270) (layer F.SilkS) hide
      (effects (font (size 1.524 1.016) (thickness 0.254)))
    )
    (fp_text value 1N4007 (at -1.016 -3.556 270) (layer F.SilkS) hide
      (effects (font (size 1.524 1.016) (thickness 0.254)))
    )
</code>

Dort steht "reference D9" und da hinter irgendwo "hide".

"hide" bedeutet versteckt, und wenn da nichts steht, ist das nicht 
versteckt.

Der Workaround ist überraschend effizient, wenn man einen guten Text 
Editor hat.

Die Referenzen in ein anderes Layer bringen geht so auch: Für (layer 
F.SilkS) schreibst Du z.B. (layer B.SilkS).

Aber nach meiner Erfahrung ist es gefährlich, zum "verstecken" 
verschiedene Layer zu verwenden, weil es nicht eindeutig ist, was das 
soll. Verstecken über "hide" ist eindeutig: Es soll nicht gezeigt 
werden.


Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de

: Bearbeitet durch User
von M. M. (blackcow)


Lesenswert?

Danke für die Info!

von M. M. (blackcow)


Lesenswert?

Also, das mit dem Texteditor funktioniert sehr gut. Jetzt würde ich das 
gerne automatisieren. D.h. ich hätte in KiCad gerne einen Button, der 
ein Python Script aufruft, das diese Textersetzungen durchführt. Geht 
das?

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo M. M.

M. M. schrieb:
> Also, das mit dem Texteditor funktioniert sehr gut.

Gut.


> Jetzt würde ich das
> gerne automatisieren. D.h. ich hätte in KiCad gerne einen Button, der
> ein Python Script aufruft, das diese Textersetzungen durchführt. Geht
> das?

Nicht mit einem Button aus KiCad heraus, sondern mit einem Python (2) 
Skript, das über die Schnittstelle interaktiv mit PCBnew 
zusammenarbeitet.*)

Alternativ auch mit einem Python 3 Skript (oder einer x-beliebigen 
geeigneten Programmier- oder Skriptsprache) direkt das Board file 
bearbeiten.
Dazu aber unbedingt KiCad vorher schliessen , und anschliessend neu 
öffnen.

*) In einem KiCad 6 (Application: kicad
Version: (6.0.0-rc1-dev-937-gc22a247db), release build 
(Experimentierversion) findet sich oben unter "Werkzeuge" eine Rubrik 
"Skriptkonsole" und "externe Plugins". Kann sein, dass da was mit 
Buttons geht....aber ich bevorzuge Python 3, und da geht es halt nicht 
so direkt und kenne mich damit auch nicht so aus.

Nachtrag: Vieleicht hilft das weiter:
http://docs.kicad-pcb.org/doxygen/md_Documentation_development_pcbnew-plugins.html
https://forum.kicad.info/t/tutorials-on-python-scripting-in-pcbnew/5333


Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de

: Bearbeitet durch User
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.