Hallihallo Folgendes Problem: Ich entwickle eine runde Leiterplatte mit diversen verschiedenen Bauteilen, alles SMD (Grösse 0603, Kondensatoren, LEDs, Widerstände und Lötpads). Es wäre toll, wenn die Bauteile alle schön zum Zentrum hin ausgerichtet sind. Ich weiss, dass ich jedes Bauteil einzeln drehen könnte. Das ist mir aber zu umständlich und zu wenig genau - kann man irgendwie das Zentrum der Platine als Referenzpunkt setzen und die Bauteile automatisch ausrichten lassen? Besten Dank für eure Hilfe. MfG Renato Edit: Ich benutze Altium Designer Version 19.1.6
:
Bearbeitet durch User
Hier gibt es einen Video dazu: https://www.altium.com/video-circular-placement-multi-channel-designs Vielleicht hilft Dir das.
Platinen Frickler schrieb: > https://www.altium.com/video-circular-placement-multi-channel-designs Danke, aber ich möchte nur Bauteile ausrichten. Dein Video bezieht sich aber auf mehrkanal-Designs.
Renato R. schrieb: > Platinen Frickler schrieb: > >> https://www.altium.com/video-circular-placement-multi-channel-designs > > Danke, aber ich möchte nur Bauteile ausrichten. Dein Video bezieht sich > aber auf mehrkanal-Designs. Das Thema interessiert mich auch. In dem Link wird eine Möglichkeit beschrieben wie das zu machen wäre: https://www.eevblog.com/forum/altium/evenly-spacing-components-along-an-arccircle/ Ich muss das kaum machen. Früher verwendete ich einfach die MOVE/ROTATE Funktion mit einen Zentralpunkt als Anker. Das reichte für mich die ein zwei Male wo das notwendig war.
Das könnte auch noch relevant sein: https://www.altium.com/documentation/18.0/display/ADES/PCB_Dlg-GridEditorForm_Panel_Main_Panel_Grid_PolarGridFrame((Polar+Grid+Editor))_AD
Besten Dank! Polar Grid war das Stichwort :) Wünsche euch einen schönen Abend.
Beitrag #5932920 wurde vom Autor gelöscht.
Ich berechne mir die Positionen gerne mit Excel. Also egal ob nebeneinander in mehreren Reihen, im Bogen oder im Kreis. Man muss nur darauf achten, dass beide Programme das gleiche Dezimaltrennzeichen benutzen. Also ich muss schon mal in den Excel Einstellungen das Trennzeichen auf Punkt setzen. Das Vorgehen ist: Im PCB List Panel nur "Components" anzeigen lassen und nach Name (Designator) sortieren. In Excel Werte X1,Y1 und Rotation berechnen, kopieren und im PCB List Panel an der richtigen Stelle einfügen. Ein Excel Beispiel für eine runde Anordnung hab ich mal angehängt. MfG Taz
Und was ist daran besser als ein Polar Grid zu definieren? Ich sehe nur Extraaufwand und eine anschließende Copy+Paste-Orgie.
Hab nicht gesagt das es besser ist. Beim Polar Grid muss ich jedes Bauteil anfassen und auf Grid legen bei vielen Bauteilen ist man schon etwas beschäftigt. Ich hab Excel und die Mathematik einigermassen im Griff, bedeutet für mich dass dieser "Extraaufwand" nicht existent ist. Copy-Paste Orgie = (in Excel) Mausauswahl, STRG+C, (Altium einfügen) Mausklick, STRG+V das zweimal (für XY Pos und Rotation)(ich hab auf die Uhr geschaut diese Orgie dauert 30Sekunden. egal ob für 10 oder 100 Bauteile). Aber jeder soll seinen eigen Weg einschlagen wollte nur eine weitere Möglichkeit/Alternative auftun. PS: es ist z.B. ganz nett beim PCB Start die Abblockkondensatoren sortiert nach Designator nebeneinander anzuordnen. Dadurch entfällt die Suche oder das lässtige Jump-Component.
Taz G. schrieb: > Hab nicht gesagt das es besser ist. Nun, wenn DU das so machst bin ich mir sicher daß du da schon deine Gründe dafür hast. Wo fügst du die Koordinaten denn dann ein? Ich hab momentan leider keinen Zugang zu Altium und mir fällt auf die Rasche nicht ein, wo man sich alle Footprints tabellarisch anzeigen lassen kann.
Ich habe in PR99SE Strukturen und Komponenten im Polarkoordinatensystem immer einfach mit der MOVE+ROTATE Funktion gemacht. Das ist sehr leicht zu bewerkstelligen. Die Komponente wird einfach zuerst bei Null Grad auf den gewünschten Radius plaziert und anschliessend nach Selektion mit M+R auf den gewünschten Winkel gesetzt. Diese Methode arbeitet grundsätzlich im Polar Koordinaten System und liefert gleichwertige Resultate im Vergleich zu Altium.
Wühlhase schrieb: > Wo fügst du die Koordinaten denn dann ein? Ich hab momentan leider > keinen Zugang zu Altium und mir fällt auf die Rasche nicht ein, wo man > sich alle Footprints tabellarisch anzeigen lassen kann. Einfügen im PCB List Panel (muss auf logischerweise auf Edit stehen). Also im Excel hab ich 2x14 kopiert und füge sie im PCB Panel auf der Zelle X1 vom ersten Bauteil ein, ich brauche keinen Bereich zu markieren. Die Spalten X,Y und Rotation liegen nicht nebeneinander deshalb zweimal copy-paste. Ich hab mal ein Screenshot gemacht, viel einfacher zu verstehen.
Altium kann seine Koordinaten auch direkt aus Txt / CSV Dateien übernehmen. Da kann man dann schnell und easy ein Script schreiben, dass einem die Bauteil nach Wunsch ausrichtet.
@Taz: Ah...ich sollte mal öfter mit dem PCB-Panel arbeiten, das benutze ich in der Tat höchst selten. Und ja-ab einer gewissen Anzahl an Bauteilen ist es auch schneller, da stimme ich dir zu.
Vielleicht per Skript ? Hier was zum kreisförmigen Anordnen von 90 Traces, kann man anpassen zum Platzieren von Bauteilen: Datei Traces.vbs: Sub Create_Traces Dim Board Set Board = PCBServer.GetPCBBoardByPath("C:\Users\Bla\Desktop\Test.PcbDoc") Dim i Dim Trace(90) Dim RefAngle RefAngle = 4 Dim Angle Dim Xh1, Xh2, Yh1, Yh2 Dim Radius1, Radius2 Radius1 = 20 Radius2 = 18 For i = 1 to 90 Angle = (i - 1) * RefAngle Xh1 = Radius1 * cos(Angle * 3.1415/180) Yh1 = Radius1 * sin(Angle * 3.1415/180) Xh2 = Radius2 * cos(Angle * 3.1415/180) Yh2 = Radius2 * sin(Angle * 3.1415/180) Trace(i) = PCBServer.PCBObjectFactory(eTrackObject, eNoDimension, eCreate_Default) Trace(i).X1 = MMsToCoord(Xh1) + Board.XOrigin Trace(i).Y1 = MMsToCoord(Yh1) + Board.YOrigin Trace(i).X2 = MMsToCoord(Xh2) + Board.XOrigin Trace(i).Y2 = MMsToCoord(Yh2) + Board.YOrigin Trace(i).Width = MMsToCoord(0.5) Trace(i).Layer = Board.eTopLayer Board.AddPCBObject(Trace(i)) Next End Sub
Rächer der Erben schrieb: > Dim Angle > ... > Angle = (i - 1) * RefAngle > Xh1 = Radius1 * cos(Angle * 3.1415/180) > Yh1 = Radius1 * sin(Angle * 3.1415/180) > Xh2 = Radius2 * cos(Angle * 3.1415/180) > Yh2 = Radius2 * sin(Angle * 3.1415/180) Beschäftigungstherapie für den Rechner, oder was soll das werden.
1 | Dim Angle, sinAngle, cosAngle |
2 | ... |
3 | Angle = (i - 1) * RefAngle * pi()/180 |
4 | sinAngle = sin(Angle) |
5 | cosAngle = cos(Angle) |
6 | |
7 | Xh1 = Radius1 * cosAngle |
8 | Yh1 = Radius1 * sinAngle |
9 | Xh2 = Radius2 * cosAngle |
10 | Yh2 = Radius2 * sinAngle |
11 | ... |
@ Rächer der Erben Vor drei Jahren hatte ich schon ein Script geschrieben um selektierte Bauteile im Kreis anzuordnen. Habs geschrieben weil ich es kann, aber nie benutzt (mit Excel ist einfach schneller und universeller). Wenn Interesse besteht poste ich es. Ist aber ziemlich kompliziert und ohne Erleuterungen nur schwer zu verstehen.
@my2ct Hast recht, kann man natürlich optimieren, war jetzt nur mal schnell ins Unreine geschrieben. Bevor aber der erste Buchstabe des optimierten Skripts eingetippt wurde, ist das ursprüngliche Skript schon zig mal fertig durchgelaufen, also was soll's. Aber OK, Vorbildfunktion und so, stimmt schon...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.