mikrocontroller.net

Forum: Platinen KiCad Silkscreen markieren, verschieben


Autor: M. M. (blackcow)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Blackbull (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: M. M. (blackcow)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Blackbull schrieb:
> "versteckt" makieren

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

Autor: Bernd W. (berndwiebus) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht 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
Autor: M. M. (blackcow)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Info!

Autor: M. M. (blackcow)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Bernd W. (berndwiebus) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.