Forum: Platinen Altium Polygon Pour AutoNet


von fft (Gast)


Lesenswert?

Hallo Kollegen,

kennt jemand eine Einstellung / Möglichkeit in Altium, mit dem man ein 
kopiertes Polygon Pour so einfügen kann, dass automatisch der jeweilige 
Netzname eingestellt wird? Aktuell hat das eingefügte PolyPour nur "no 
net" und erzeugt damit Fehler.

Dank für Eure Hilfe!

von Taz G. (taz1971)


Lesenswert?

Hi,
mir ist keine Möglichkeit bekannt. Ich wüsste auch nicht wie das 
Programm den gewünschten Netznamen automatisch ermitteln sollte. 
Hellsehen kann das Programm ja nicht. Ich finde es mehr als richtig das 
eingefügte Polygon auf NoNet zu setzen.

von fft (Gast)


Lesenswert?

Hallo Taz,

bei normalen tracks und vias funktioniert es doch auch :-) Kopiere zum 
Testen einfach ein Via und setze es so an ein beliebiges Netzobjekt dass 
dieser berührt wird -> Netzname wird automatisch übernommen. Setzt du 
das Via ohne eine Berührung irgendwo hin, so bekommt das Via kein Netz 
(ist ja auch richtig so)

Altium nimmt einfach das Netz, das vom Track berührt wird. Solange nur 
ein Netz verbunden wird, ist die Zuordnung doch eindeutig. Ansonsten kam 
früher bei Altium ein Auswahlfenster mit dem man die Netzzuordnung 
manuell vornehmen konnte.

von Jens D. (jens) Benutzerseite


Lesenswert?

Hallo

Das geht leider nicht wie schon erwähnt.
Ich habe mir ein Script geschrieben mit dem ich zuerst ein Netz und dann 
das Polygon selektiere.
Dann wird das Netz gleich dem Polygon zugeordnet

von fft (Gast)


Lesenswert?

Hallo Jens,

könntest du dein Script veröffentlichen?

von Taz G. (taz1971)


Lesenswert?

fft schrieb:
> ...Kopiere zum
> Testen einfach ein Via und setze es so an ein beliebiges Netzobjekt dass
> dieser berührt wird -> Netzname wird automatisch übernommen. ...

Ja ist schon klar. Aber wieviele VIAs,Tracks und Pads werden berührt 
wenn ich ein ganzes Polygon drüberlege ? Ich schätze mal alle, also 
kommt ein Auswahlfenster mit allen Netznamen - irgendwie unsinnig oder?

Ist es denn so schwer das Polygon doppelt anzuklicken und den Netznamen 
auszuwählen ? Oder habe ich was falsch verstanden.

: Bearbeitet durch User
von fft (Gast)


Lesenswert?

Hi Taz,

Taz G. schrieb:
> Ja ist schon klar. Aber wieviele VIAs,Tracks und Pads werden berührt
> wenn ich ein ganzes Polygon drüberlege ?

Im aktuellen Fall sind es zwei Signale. Jeweils ein zusammenhängender 
Signalinsel mit einer DuKo dazwischen. Dieser soll vom PolyPour 
ausgelassen werden (sonst könnte ich ja auch einfach ein Fill oder 
SolidRegion verwenden).

Taz G. schrieb:
> Ich schätze mal alle, also
> kommt ein Auswahlfenster mit allen Netznamen - irgendwie unsinnig oder?

Das wäre der allgemeine Fall, der eher wenig Praxisrelevanz hat.

Taz G. schrieb:
> Ist es denn so schwer das Polygon doppelt anzuklicken und den Netznamen
> auszuwählen ?

Multichanneldesign mit 35 Kanälen und entsprechend vielen / schönen 
Signalnamen. Pro Kanal 5 relativ kleine PolyPours. Natürlich könnte man 
in den nächsten paar Tagen alle Polygone einzeln anklicken und das 
dazugehörige Signal auswählen, aber da hätte ich vor 10 Jahren auch bei 
EAGLE bleiben können...

Habe gerade ein Script gefunden, der das machen soll was schon Jens 
vorgeschlagen hat. Funktioniert zwar noch nicht, aber es scheint mir ein 
gangbarer Weg zu sein.

von Wühlhase (Gast)


Lesenswert?

fft schrieb:
> Multichanneldesign mit 35 Kanälen und entsprechend vielen / schönen
> Signalnamen. Pro Kanal 5 relativ kleine PolyPours. Natürlich könnte man
> in den nächsten paar Tagen alle Polygone einzeln anklicken und das
> dazugehörige Signal auswählen, aber da hätte ich vor 10 Jahren auch bei
> EAGLE bleiben können...

Dann mußt du das Polygon Teil des Rooms werden lassen (ist es das denn 
nicht?). Dann sollte das funktionieren. Oder Fills/Regions verwenden, 
falls möglich.

von M.A. S. (mse2)


Lesenswert?

fft schrieb:
> kennt jemand eine Einstellung / Möglichkeit in Altium, mit dem man ein
> kopiertes Polygon Pour so einfügen kann, dass automatisch der jeweilige
> Netzname eingestellt wird?

Ja: Das kopierte Polygon mit der Funktion

Edit->Paste Special

einfügen.
Dann geht ein Fenster auf, in dem die Optionen
- "Paste on Current Layer"
- "Keep Net Name"

angewählt werden müssen.

In meinem System tippe ich einfach die Tastenkombination "E" und "A" und 
bin dann bei besagtem Fenster. Damit kann man Polygone auf andere (aber 
auch den selben Layer) kopieren wie das ursprüngliche Polygon.

von fft (Gast)


Lesenswert?

M.A. S. schrieb:
> Ja: Das kopierte Polygon mit der Funktion
>
> Edit->Paste Special
>
> einfügen.
> Dann geht ein Fenster auf, in dem die Optionen
> - "Paste on Current Layer"
> - "Keep Net Name"
>
> angewählt werden müssen.

GENIAL!!  Funktioniert perfekt, vielen Dank für den Tipp!

von Jens (Gast)


Lesenswert?

Hallo,

hier ist das kleine Script.
1
Function AddNetToPolygon;
2
3
Var
4
    Board           : IPCB_Board;
5
    Pad             : IPCB_Pad;
6
    Prim :            IPCB_Primitive;
7
    Prim1 :           IPCB_Polygon;
8
Begin
9
10
    // Ask user to select Track object
11
    Board := PCBServer.GetCurrentPCBBoard;
12
13
    Prim := Board.GetObjectAtCursor(MkSet(ePadObject, eViaObject, ePadObject), AllLayers,
14
                                      'Choose first net');
15
    Prim1 := Board.GetObjectAtCursor(MkSet(ePolyObject), AllLayers,
16
                                      'Choose second net');
17
    If Prim1 <> 0 Then
18
    Begin
19
         PCBServer.PreProcess;
20
         Prim1.Net := Prim.Net;
21
         Prim1.Net.Rebuild;
22
         Prim1.Net.HideNetConnects;
23
         Prim1.Rebuild;
24
25
         Prim1.Net.ShowNetConnects;
26
    End;
27
    Client.SendMessage('PCB:Zoom', 'Action=Redraw' , 255, Client.CurrentView);
28
    PCBServer.PostProcess;
29
30
End;

Als CopyNetToPoly.pas abspeichern und aufrufen.
Ich habe es mir als Shortcut definiert um nicht immer das Script suchen 
zu müssen.

von MaxE (Gast)


Lesenswert?

Hi zusammen,

der Post ist zwar schon ein bisschen älter, hier aber noch ein Tipp für 
zukünftige Leser:

Wenn ein Polygon kopiert wird (ganz normal mit Strg+C und Strg+V) wird 
es automatisch auf "NoNet" gesetzt.

Dann kann man über "Design" > "Netlist" > "Update Free Primitives From 
Component Pads..." (oder kurz D > N > U) alle NoNet-Polygone dem Netz 
zuordnen, welches diese berühren.

Voraussetzung ist, dass es nur ein einziges Netz (Via, Leiterbahn, Pad) 
gibt, das das Polygon berührt.

Grüße

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.