Forum: Platinen Altium - mechanical in 3d sichtbar machen


von M.A. S. (mse2)


Lesenswert?

Altium Designer (Summer09) stellt in der 3-d Ansicht Top- und 
Bottom-Overlay als Bestückungsdruck dar.
Ich verwende einen mechanical Layer zum Bedruck, weil ich damit nur 
bestimmte Beschriftungen anbringen möchte und keinen kompletten 
Bestückungsdruck.
Gibt es eine Möglichkeit, einen mechanical Layer in der 3-d-Ansicht 
sichtbar zu machen?

von Taz G. (taz1971)


Lesenswert?

Ohne es genau zu wissen würde ich sagen nein, weil die MechLagen nur 2D 
Daten haben und keine 3.Dimension.

Ich mache es umgekehrt, also meine Frage: Was spricht dagegen die 
Overlay Lagen für den Beschriftungsdruck zu verwenden und den Mech-Layer 
für den kompletten Bestückungsdruck ?

von M.A. S. (mse2)


Lesenswert?

Danke für die schnelle Antwort, ich hab es fast befürchtet.

Sämtliche Bauteile in meinen Bibliotheken sind so angelegt, dass die 
Silkscreen-Zeichnungen sie einen ansprechenden Bestückungsplan ergeben 
(Bauteilzeichnungen, Bezeichner und Werte).
Allerdings gehen diese Zeichnungen zum einen rücksichtslos über Pads, so 
dass man diese nicht drucken könnte/dürfte.
Das macht im allgemeinen nichts, da wir grundsätzlich keinen 
Bestückungsdruck verwenden.
Selbst wenn ich meine Libraries alle komplett neu anlegen würde, wäre es 
mir viel zu umständlich, die Bestückungsdaten in mech.-Layer zu 
zeichnen.
Das gäbe nämlich keine automatische Unterscheidung zwischen Ober- und 
Unterseite bei der Bestückungsplanerstellung.
(Zumindest ist mir eine solche Möglichkeit nicht bekannt, darüber 
nachgedacht hatte ich schon einmal.)
Unsere Baugruppen sind häufig zweiseitig SMD-bestückt.

Hier ist jetzt eine Beschriftung gewünscht (Klemmenbelegung).

Es wäre schön (aber zum Glück nicht unbedingt nötig), eine 3-d-Ansicht 
generieren zu können, in der die Beschriftung zu sehen ist.

von Taz G. (taz1971)


Angehängte Dateien:

Lesenswert?

Das Problem ist bekannt, Altium gibt von sich aus keinerlei 
Unterstützung für einen 'Assembly Print', aber alles was notwendig ist, 
ist auch da -> man muß es nur einmal auch tun.

Ich habe vor Jahren mal angefangen in meiner PcbLib auf Lage Mech20 den 
SpezialString .Designator und auf Mech22 den SpezialString .Comment 
einzufügen. Beide so in der Mitte vom Bauteil, das es ungefähr Mittig 
ist wenn der richtige Text erscheint z.B. R12 oder MAX232, auch die 
Textgröße muß man richtig wählen um nicht über den Courtyard zu kommen.
Im PCB müssen ganz am Anfang Mech Layer Pairs definiert werden, bei mir 
M20<>M21 und M22<>M23 damit die Schrift von Bauteilen auch auf den 
Mechlagen wechseln. (Aber das habe ich in meinem default PCB eingestellt 
um es nicht jedesmal tun zu müssen).
Für den Bestückungsdruck habe ich dann 4 Ausgaben. Top - Bottom , 
jeweils Beschriftung - Wert. Der Ausdruck ist 'fit on page' daher habe 
ich auch mit sehr kleiner Schrift (unter 1mm) kein Problem.

Seit dem bin ich sehr zufrieden mit dem Output.

Durch die PcbLib zu gehen und bei jedem Bauteil zwei Spezialstrings 
einzufügen kostet zwar Arbeit und Zeit aber lohnt sich.

Im Bild sieht man Lage M20 und M22 mal als Spezialstring und mal 
'normal', rechts meine definierten Mech Layer Pairs (achte auf M20,M21 
und M22,M23)

Gruß
Taz

von Rudolph (Gast)


Lesenswert?

Michael S. schrieb:
> Das gäbe nämlich keine automatische Unterscheidung zwischen Ober- und
> Unterseite bei der Bestückungsplanerstellung.
> (Zumindest ist mir eine solche Möglichkeit nicht bekannt, darüber
> nachgedacht hatte ich schon einmal.)

Das geht schon, das macht man indem man Layer mit Layer-Pairs koppelt.
Wir haben hier in der Bibliothek mehrere solcher Paare in den 
Mechanical-Layern definiert.
Etwa M10  M11 als Top_Courtyard  Bottom_Courtyard, also 
Platzierungshilfen für den Abstand der Bauteile zueinander.
Ist das für das Board richtig eingestellt wechselt der Layer automatisch 
mit wenn man das Teil auf die andere Seite der Platine legt.
Ohne Paarung bleibt der Mechanical-Layer beim Wechsel wie er ist.

In der 3D-Ansicht kann man wohl keine Layer hinzufügen.

Aber warum nicht einfach z.B. M3/M4 für den Bestückungsdruck verwenden 
und beim Erzeugen der Gerber-Daten statt dem Silkscreen ausgeben?
Dann teilt man dem Platinen-Hersteller entweder mit, dass die foobar.GM3 
der Top-Silkscreen ist oder man benennt das um das der gleich was mit 
der Endung anfangen kann.

von Steffen W. (derwarze)


Lesenswert?

Michael S. schrieb:
> Allerdings gehen diese Zeichnungen zum einen rücksichtslos über Pads, so
> dass man diese nicht drucken könnte/dürfte.

Das sollte man aber in der Lib ändern können wenn das dort fehlerhaft 
gemacht wurde. In den mitgelieferten Libs habe ich so was bisher nicht 
gefunden. Bei den selbst angelegten mach ich das gleich so das es für 
meinen 'Stil' passt.

> Selbst wenn ich meine Libraries alle komplett neu anlegen würde, wäre es
> mir viel zu umständlich, die Bestückungsdaten in mech.-Layer zu
> zeichnen.

Das kann man doch auch editieren und die Bezeichner lassen sich doch 
verschieben, ausblenden und auch auf einen anderen Layer verlegen 
und/oder kopieren ohne die Bibliothek zu editieren.

von M.A. S. (mse2)


Lesenswert?

Danke Euch sehr für Eure Antworten,...

Taz G. schrieb:
> Im PCB müssen ganz am Anfang Mech Layer Pairs definiert werden, bei mir
> M20<>M21 und M22<>M23 damit die Schrift von Bauteilen auch auf den
> Mechlagen wechseln. (Aber das habe ich in meinem default PCB eingestellt
> um es nicht jedesmal tun zu müssen).


Rudolph schrieb:
> Das geht schon, das macht man indem man Layer mit Layer-Pairs koppelt.
> Wir haben hier in der Bibliothek mehrere solcher Paare in den
> Mechanical-Layern definiert.
> Etwa M10  M11 als Top_Courtyard  Bottom_Courtyard, also
> Platzierungshilfen für den Abstand der Bauteile zueinander.
> Ist das für das Board richtig eingestellt wechselt der Layer automatisch
> mit wenn man das Teil auf die andere Seite der Platine legt.
> Ohne Paarung bleibt der Mechanical-Layer beim Wechsel wie er ist.
...das ist sehr interessant für mich! Von mech. Layerpairs habe ich 
bisher nichts gewußt.


> Aber warum nicht einfach z.B. M3/M4 für den Bestückungsdruck verwenden
> und beim Erzeugen der Gerber-Daten statt dem Silkscreen ausgeben?
> Dann teilt man dem Platinen-Hersteller entweder mit, dass die foobar.GM3
> der Top-Silkscreen ist oder man benennt das um das der gleich was mit
> der Endung anfangen kann.
So in der Art mache ich es ja. Ich wollte nur wissen, ob ich das auch in 
der 3-d-Ansicht zeigen kann.

Steffen Warzecha schrieb:
> Michael S. schrieb:
>> Allerdings gehen diese Zeichnungen zum einen rücksichtslos über Pads, so
>> dass man diese nicht drucken könnte/dürfte.
>
> Das sollte man aber in der Lib ändern können wenn das dort fehlerhaft
> gemacht wurde. In den mitgelieferten Libs habe ich so was bisher nicht
> gefunden. Bei den selbst angelegten mach ich das gleich so das es für
> meinen 'Stil' passt.
Du hast mich missverstanden: Die Libs sind mir nicht so geliefert worden 
sondern ich habe sie so gezeichnet, weil ich aus den Silkscreens meine 
Bestückungspläne mache. Diese sollen vernünftig aussehen, daher habe ich 
Bauteilumrisse so gezeichnet, wie sie eben sind. Das geht dann auch über 
die Pads.
Im Allgemeinen gibt es bei uns keinen Bestückungsdruck, deswegen stört 
das nicht.

von Taz G. (taz1971)


Lesenswert?

Steffen Warzecha schrieb:
> Michael S. schrieb:
>> Allerdings gehen diese Zeichnungen zum einen rücksichtslos über Pads, so
>> dass man diese nicht drucken könnte/dürfte.
>
> Das sollte man aber in der Lib ändern können wenn das dort fehlerhaft
> gemacht wurde. In den mitgelieferten Libs habe ich so was bisher nicht
> gefunden. Bei den selbst angelegten mach ich das gleich so das es für
> meinen 'Stil' passt.
>
>> Selbst wenn ich meine Libraries alle komplett neu anlegen würde, wäre es
>> mir viel zu umständlich, die Bestückungsdaten in mech.-Layer zu
>> zeichnen.
>
> Das kann man doch auch editieren und die Bezeichner lassen sich doch
> verschieben, ausblenden und auch auf einen anderen Layer verlegen
> und/oder kopieren ohne die Bibliothek zu editieren.

Hi Steffen,
das die Schrift über Pads geht lässt sich nicht vermeiden wenn die 
Bauteile dicht an dicht stehen. Für den Beschriftungsdruck auf der 
Platine muß man Arbeit investieren (verschieben, Größe ändern, 
ausblenden usw.)
Und für die zweite Sache, die Bezeichner und Werte auf andere Lagen zu 
kopieren gibt es Scrips, die das sehr komfortabel machen (google mal 
CopyDesignatorsToMechLayerPair_v3.0). Diese Lösung ist für mich aber nur 
ein Workaround und keine dauerhafte Lösung.

von Taz G. (taz1971)


Lesenswert?

Michael S. schrieb:
> weil ich aus den Silkscreens meine
> Bestückungspläne mache

Und das ist im Ansatz schon falsch und generiert so immer und immer 
wieder Probleme.

von M.A. S. (mse2)


Lesenswert?

Taz G. schrieb:
> Michael S. schrieb:
>> weil ich aus den Silkscreens meine
>> Bestückungspläne mache
>
> Und das ist im Ansatz schon falsch und generiert so immer und immer
> wieder Probleme.
Da magst Du recht haben. Mein Problem ist, dass ich nicht die Zeit habe, 
mich zu tief in die Einzelheiten von Altium hineinzubegeben.
Mit den Infos von Euch werde ich aber bei der nächsten Gelegenheit einen 
neuen Ansatz versuchen.

von M.A. S. (mse2)


Lesenswert?

ich nochmal zum Thema Bestückungsplan in mech. Layern drucken:

habe Eure guten Ratschläge inzwischen bei einem Projekt versuchsweise in 
die Tat umgesetzt.
Sechs mech. Layer habe ich dazu reserviert für Bauteilumrisse (top und 
Bottom) sowie für Bauteilname und -Wert (jeweils Top und Bottom).
Ausserdem entsprechende mech.-Layerpaare im Board definiert.
Funktioniert. Alles kommt dort hin, wo es hin soll.

Was ich jetzt noch vermisse (oder gibt's dafür auch einen Weg, den ich 
nur noch nicht kenne?) ist eine automatische sinnvolle Ausrichtung der 
Bauteilnamen und -Werte. Damit meine ich:
Z.B. immer zentral im Bauteil (ich weiß, das gibt's: 'Central'), 
ausgerichtet wie das Bauteil (0° oder 90°) und so, dass die Schrift 
immer von unten oder von rechts zu lesen ist und nie auf dem Kopf steht 
(sowas kenne ich nicht).

Bisher habe ich hier immer Handausrichtung betrieben.

PS: damit ist zwar meine Ursprungsfrage nach mech.-Layer in 3-d nicht 
positiv beantwortet, jedoch kann ich nun, wenn unbedingt nötig, dann 
doch den Silkscreen dafür verwenden.
Damit ist dieses Problem für mich gelöst.

: Bearbeitet durch User
von M.A. S. (mse2)


Lesenswert?

Ergänzung:

ich hatte Bedenken, ob die mechanicals bei Verwendung von Variants 
Schwierigkeiten machen. Tun sie nicht, alles ist schön!  :)

von Taz G. (taz1971)


Lesenswert?

Aktuell Altium Version 15.0.14 gibt's noch keine Funktionen zum 
Ausrichten oder Anpassen der Schriftgröße an die Bauteilgrenzen ( bzw. 
Courtyard).
Aber es gibt ein Script, Google einfach mal nach "AdjustDesignators2 
script".

In den neueren Altium Versionen stürtzt das Script mit einer 
Fehlermeldung ab "blabla LayerObject_V7". Für die neueren Altium 
Versionen muß man "Board.LayerStack.Layer..." durch 
"Board.LayerStack_V7.Layer..." ersetzen.

(Für diejenigen, die noch nichts mit Scripts gemacht haben)
Einer der einfachsten Wege ein Script mal aus zuprobieren ist es die 
*.PrjScr Datei ins Altium Fenster zu ziehen und vom PcbDoc aus auf DXP 
RunScript zu gehen. Funktion 'Start' wählen und OK.

von M.A. S. (mse2)


Lesenswert?

Vielen Dank für den Link, sehr interessant.
Ich habe mir das Skript heruntergeladen und werde es mir später 
anschauen, wenn ich Zeit dafür habe.

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.