Forum: Platinen Wie sind Bohrdaten sortiert?


von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Von Platinenlayout/Herstellung habe ich nicht besonders viel Ahnung und 
bräuchte mal für meine Software-Entwicklung die Information, wie 
Platinen-Bohrdaten, z.B. im Excelon Format, sortiert sind. Einfach der 
Reihe nach oder bereits Weg-Optimiert für das CNC-Bohren?
Ich frage deshalb, weil ich, falls die Koordinaten nicht bereits 
wegoptimiert ausgegeben weden, einen entsprechenden Algorithmus, wie 
etwa "Travelling Sales Man" oder Ähnliches, vorsehen müsste.

von isidor (Gast)


Lesenswert?

Albert M. schrieb:
> ......... vorsehen müsste.

Müsstest du wirklich ? Du wärst sozusagen gezwungen ?

Ohne es genauer zu wissen behaupte ich dass die Bohrdaten
"wie gewachsen" daherkommen, und ein gute Bohrmaschine
macht daraus sicher etwas Optimiertes .....

von isidor (Gast)


Lesenswert?

Ach so, du willst selber eine Bohrmaschine bauen .....?

von ich (Gast)


Lesenswert?

ich würde sagen, die Optimierung fängt beim Durchmesser an.
Weil Werkzeugwechsel dauert Zeit.
Sonst einfach mal Testdatei erstellen und selber gucken, braucht es 
früher oder Später zum Testen.
MfG
ich

von Georg (Gast)


Lesenswert?

Albert M. schrieb:
> einen entsprechenden Algorithmus, wie
> etwa "Travelling Sales Man" oder Ähnliches, vorsehen müsste.

Wieso? Das macht jedes CAM-System von sich aus, oder hast du eine eigene 
Bohrmaschine? Wenn du die Daten an einen Hersteller schickst, 
interessiert die Sortierung überhaupt nicht.

Die Optimierung ist übrigens trivial, wenn man nicht den Ehrgeiz hat, 
den nachweisbar kürzesten Weg zu finden, was in der Praxis völlig 
uninteressant ist. Man braucht nur einen "guten" Weg. Travelling 
Salesman ist was für Theoretiker.

Georg

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Georg schrieb:
> Travelling
> Salesman ist was für Theoretiker.

Seh ich anders, insbesondere weil ich den Algorithmus fertig da liegen 
habe. Braucht für 2000 Wegpunkte weniger als 100ms (Delphi/Pascal).

Georg schrieb:
> Wieso? Das macht jedes CAM-System von sich aus, oder hast du eine eigene
> Bohrmaschine?

Das soll nicht über CAM laufen, sonder die Daten sollen, wie bereits 
gesagt über z.B. Excelon File direkt in meine Software einlesbar sein 
und dann in G-Code übersetzt werden.

Guckst Du hier:
Beitrag "Projekt: SerialComCNC Serielles Frontend für CNC GRBL mit ATMega"

: Bearbeitet durch User
von Simon K. (simon) Benutzerseite


Lesenswert?

Albert M. schrieb:
> Georg schrieb:
>> Travelling
>> Salesman ist was für Theoretiker.
>
> Seh ich anders, insbesondere weil ich den Algorithmus fertig da liegen
> habe. Braucht für 2000 Wegpunkte weniger als 100ms (Delphi/Pascal).

Mein Eindruck war immer, dass es nicht DEN Algorithmus gibt, für das 
Problem. Wie auch immer, wenn der schon fertig ist und so gut 
funktioniert, nimm ihn doch einfach. Schlimmer machen kann er es ja wohl 
kaum.

von Realist (Gast)


Lesenswert?

Albert M. schrieb:
> Excelon File direkt in meine Software einlesbar sein
> und dann in G-Code übersetzt werden.

Das hat aber nichts mit Wegoptimierung zu tun.
Da würde ich eine eigene Funktion schreiben die nach verschiedenen
Funktionen neue Koordinatenlisten anlegt. Die Strecken zwischen
den Koordinaten kann man ja relativ leicht berechnen und als
Auswahlbasis nehmen. Einziger Knackpunkt wird ein clever optimaler
Algorithmus sein, der keine Wünsche offen lässt. Halt wie ein
Autorouter, wovon es aber noch keinen Optimalen gibt.
Allenfalls einige gute Kompromisse.

von Georg (Gast)


Lesenswert?

Albert M. schrieb:
> insbesondere weil ich den Algorithmus fertig da liegen
> habe. Braucht für 2000 Wegpunkte weniger als 100ms (Delphi/Pascal)

Und der liefert beweisbar den kürzest möglichen Weg?

Georg

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Georg schrieb:
> Und der liefert beweisbar den kürzest möglichen Weg?

Nein! Habe ich auch nie behauptet. Aber er liefert einen der möglichen 
sehr optimalen Wege.

Siehe mal unter Wikipedia: 
http://de.wikipedia.org/wiki/Problem_des_Handlungsreisenden
"Viele heutige Standardmethoden der ganzzahligen linearen Optimierung, 
wie Schnittebenenverfahren, Branch-and-Cut und verschiedene heuristische 
Ansätze, wurde am Beispiel des TSP entwickelt und getestet."
und:
"Die bekannten Lösungsverfahren unterteilen sich in zwei Gruppen, die 
miteinander kombiniert werden können. Exakte Lösungsverfahren finden – 
beliebig lange Laufzeit vorausgesetzt – grundsätzlich eine beweisbare 
Optimallösung. Heuristische Verfahren finden oft in kurzer Zeit gute 
Lösungen, die aber im allgemeinen Fall beliebig schlecht sein können. 
Für das metrische TSP gibt es polynomiale Heuristiken, deren Lösungen 
grundsätzlich höchstens um den Faktor 1,5 bzw. 2 länger sind als eine 
kürzeste Rundreise."

Aber das ist eigentlich nicht das Thema meiner Eingangsfrage.

: Bearbeitet durch User
von Einhart P. (einhart)


Angehängte Dateien:

Lesenswert?

Bei meinem Layout-Tool werden die Koordinaten nur nach den Bohrergrößen 
sortiert. Innerhalb einer Bohrergröße ist das offensichtlich nicht 
optimiert. Wenn du einen funktionierenden Code zur Optimierung hast wäre 
das für die Performance eine schöne Sache. Im Anhang die Bohrdaten für 
ein konkretes Projekt.

von Georg (Gast)


Lesenswert?

Einhart Pape schrieb:
> Wenn du einen funktionierenden Code zur Optimierung hast wäre
> das für die Performance eine schöne Sache.

Dafür habe ich schon zu DOS-Zeiten Utilities geschrieben. Die 
einfachsten Methoden sind oft die besten: nimm das erste Loch (welches 
das ist macht keinen merklichen Unterschied) und von da aus immer das 
nächstgelegene. Das wars schon. Wenn du den alten und den neuen Weg 
ausgibst wirst du feststellen: 1 x laufen lassen verkürzt den Weg um 
50..90%, je nachdem wie ungünstig die Anfangssortierung war, das ist 
praktisch reiner Zufall. Nochmal laufen lassen bringt typischerweise 
nochmal 10%, ein dritter Durchlauf lohnt sich schon nicht mehr.

Noch viel weniger lohnt sich der Einsatz eines Supercomputers nur um 
nochmal geschätzt 5% rauszuholen. Die Frage ob es sich wirklich um den 
kürzesten Weg handelt ist nur von theoretischem Interesse, auch wenn 
Albert da heftig widerspricht. Warum verstehe ich nicht, da er es ja 
auch nicht anders macht, aber wahrscheinlich hält er seinen (geheimen) 
Algorithmus für den besten den es gibt. Das behaupte ich von meinem 
Ansatz nicht, und ich habe auch keine Lust deswegen einen Shitstorm 
anzufangen. Aber du kannst es ja mal mit meinem Vorschlag probieren, du 
siehst ja gleich was dabei herauskommt.

Georg

von ... (Gast)


Lesenswert?

Albert M. schrieb:
> Von Platinenlayout/Herstellung habe ich nicht besonders viel Ahnung und
> bräuchte mal für meine Software-Entwicklung die Information, wie
> Platinen-Bohrdaten, z.B. im Excelon Format, sortiert sind. Einfach der
> Reihe nach oder bereits Weg-Optimiert für das CNC-Bohren?

Grundsätzlich nach Bohrerdurchmesser.
Was ich so gesehen habe ist, dass die Daten nach ansteigenden 
Koordinaten sortiert sind.

Wie Wegoptimiert hängt wohl auch immer von der Maschine ab. Manche haben 
den Bohrerwechselpunkt Vorne, manche Seitlich, manche Hinten.

von Maik S. (yellowbird)


Lesenswert?

Um wieviel Bohrungen / Teil geht es denn eigbentlich ? Nur 
Interessehalber.

von Werner H. (pic16)


Lesenswert?

Die Layoutsoftware, egal welche, gibt das Exellon File lediglich nach 
Bohrdurchmesser aus. Die Wegoptimierung wird mittels Cam_Programm, 
welches Exellon Dateien verarbeiten kann durchgeführt (zb. Lazycam, 
coppercam...). Für das recht beliebte Eagle Layout existieren 
verschiedene Ulp's welche die Bohrdaten als (relativ) wegoptimierte 
CAD_Dateien ausgeben, so das sich weitere Programme erübrigen. Zu 
beachten ist aber in jedem Fall das ein geeigneter Postprozessor 
vorhanden ist welcher die Schnittstelle zur Maschine bildet, denn nicht 
jede Maschine hat alle G bzw. M Codes interpretiert.

: Bearbeitet durch User
von Werner H. (pic16)


Lesenswert?

Maik S. schrieb:
> Um wieviel Bohrungen / Teil geht es denn eigbentlich ?

Nimm dir eine x beliebige Leiterplatte und zähl die Löcher;-)

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

Albert M. schrieb:
> Georg schrieb:
>> Travelling
>> Salesman ist was für Theoretiker.
>
> Seh ich anders, insbesondere weil ich den Algorithmus fertig da liegen
> habe. Braucht für 2000 Wegpunkte weniger als 100ms (Delphi/Pascal).

Dann versteh ich aber die die Motivation der Fragestellung nicht.
Wenn du den Teil fertig hast, dann ruf ihn halt auf. Notfalls machst du 
in die Konfigurationsoptionen einen entsprechenden Schalter rein und gut 
ists.
100 oder 200ms interessieren niemanden, wenn die Maschine dahinter dann 
20 Minuten bohrt.

: Bearbeitet durch User
von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Einhart Pape schrieb:
> Bei meinem Layout-Tool werden die Koordinaten nur nach den Bohrergrößen
> sortiert. Innerhalb einer Bohrergröße ist das offensichtlich nicht
> optimiert.

Werner H. schrieb:
> Für das recht beliebte Eagle Layout existieren
> verschiedene Ulp's welche die Bohrdaten als (relativ) wegoptimierte
> CAD_Dateien ausgeben, so das sich weitere Programme erübrigen.

Genau nur das wollte ich wissen. Anscheinend handhabt das also jedes 
Platinen-Layout Programm anders. Damit ist meine Frage beantwortet. 
Danke.

Diskussionen über Wegoptimierung wollte ich hier keine führen, die 
implementiere ich so wie ich mir das vorstelle.

: Bearbeitet durch User
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.