Forum: Platinen Altium: Clearence zwischen Top-Pad und Mechanical Layer


von M.A. S. (mse2)


Lesenswert?

Ich benötige mehrere Bestückungsdruck-Varianten und mache mir zu diesem 
Zweck eine weitere solche im einem Mechanical Layer.
Nun versuche ich, dafür eine "Silkscreen over Pad"-Clearence Regel zu 
bilden und stosse dabei auf Schwierigkeiten:
Kann es sein, dass Clearence Regeln grundsätzlich nur die Lage von 
Objekten innerhalb des selben Layers untersuchen?

Meine Regel sieht folgendermaßen aus:

First Object
(OnLayer('Top') AND IsPad)

Second Object
OnLayer('Mechanical 31')

Minimum Clearence 1mm
(das ist versuchsweise so viel, dass ich auf jeden Fall eine 
Fehlermeldung bekommen müßte, wenn es funktionierte. Ich kriege aber 
keine...)

von Gregor B. (Gast)


Lesenswert?

Versuch noch mal bei Second Object
((IsArc or IsTrack) and (OnLayer('Mechanical 31')))

von M.A. S. (mse2)


Lesenswert?

funktioniert leider auch nicht.
Dass der Clearence Check normalerweise (von sich aus) nur Objekte 
innerhalb eines Layer gegeneinander prüft, ist ja sinnvoll.
Aber es wäre schön, wenn es eine Möglichkeit gäbe, ihm explizit zu 
sagen, dass er es anders machen soll....

von Ralf (Gast)


Lesenswert?

Der Clearance-Check sollte eigentlich das prüfen, was du ihm angibst. 
Ich vermute eher ein Problem bei "(OnLayer('Top') AND IsPad)".
Probier's mal mit "IsSMTPin".

Ralf

von M.A. S. (mse2)


Lesenswert?

Auch das funktioniert nicht.

von Ralf (Gast)


Lesenswert?

> Auch das funktioniert nicht.
Hmmmm... Schau mal bitte, ob's nicht eine spezielle Abfrage für die 
MechanicalLayer gibt -> OnMechanicalLayer (ich glaub ich hab diese 
Abfrage auch schon gesehen).

Ralf

von mse2 (Gast)


Lesenswert?

vielen Dank für Eure Antworten.

@Ralf:
ich werde das gleich ausprobieren, glaube aber nicht an den Erfolg.
Dass es nicht funktioniert liegt nämlich auch bisher nicht an einem 
falschen Auswahlkriterium.
Ich kann (und tue das auch in solchen Fällen, denn man fängt ja langsam 
an, an allem zu zweifeln) die Querry-Statements in PCB-Filter testen.
Dort sehe ich dann, ob die Objekte, die ich meine, ausgewählt werden 
oder nicht.
Ergebnis: die Kriterien, die ich mir bisher habe einfallen lassen, 
wählen aus, was ich möchte.
Trotzdem prüft der DRC eben leider nicht den Abstand zwischen diesen 
Objekten und anderen, die sich nicht im selben Layer befinden.

Aber wie gesagt, ich probiere es gleich aus und berichte dann.

von mse2 (Gast)


Lesenswert?

Wie bereits befürchtet: es geht auch mit OnMechanical nicht.
Hinzu kommt, dass onMechanical für meine Zwecke zu unspezifisch wäre, da 
hier alle Mechanical-Layer gemeint sind.

von mse2 (Gast)


Lesenswert?

Es sieht für mich im Moment danach aus, dass mein Vorhaben mit Altium 
Designer unmöglich ist.
Da werde ich wohl für meinen Bestückungsdruck einen manuellen DRC 
durchführen müssen.

Schade!

von Ralf (Gast)


Lesenswert?

> Es sieht für mich im Moment danach aus, dass mein Vorhaben mit Altium
> Designer unmöglich ist.
> Da werde ich wohl für meinen Bestückungsdruck einen manuellen DRC
> durchführen müssen.
Soweit ich das sehen kann, stimmt die Aussage (leider). Ich hab's im 
AD10 auch nicht geschafft, MechanicalLayer gegen einen anderen 
MechanicalLayer oder generell einen anderen Layertyp zu prüfen.
Ob das im AD13 auch so ist, muss ich noch prüfen.

Ralf

von Ralf (Gast)


Lesenswert?

Nachtrag: Du könntest höchstens den Bestückungsdruck in den Keepout 
Layer nehmen, da funktioniert die Prüfung gegen 'IsSMTPin'.

Ralf

von mse2 (Gast)


Lesenswert?

Um Gottes Willen, danach geht dann gar nichts mehr!
Wenn man mitten auf dem Board lauter Keepout Objekte hat, färbt sich 
alles grün...

Trotzdem danke fürs Mitdenken und Rumprobieren!

Gruß aus Berlin,
Michael

von Ralf (Gast)


Lesenswert?

> Um Gottes Willen, danach geht dann gar nichts mehr!
> Wenn man mitten auf dem Board lauter Keepout Objekte hat, färbt sich
> alles grün...
Das stimmt, ich vergaß zu erwähnen, dass ich's nur als temporäre Lösung 
meinte, also zum Prüfen, ob der Bestückungsdruck irgendwo ein Pad 
überdeckt, danach natürlich wieder in den MechanicalLayer überführen.

Poste das Problem doch mal in AltiumLive, vielleicht hatte schon mal 
jemand ein ähnliches Problem.

Ralf

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.