Forum: Platinen Progrann zur Nutzenerstellung für Platinen ?


von Ralf Z. (ralf_z)


Lesenswert?

Hallo allerseits,

kennt irgendjemand ein Programm, mit dem ich sog. "Nutzen" für Platinen
in einfacher Form erstellen kann.

"Einfach-Nutzen" = Mehrere (kleinere) Platinen-Layouts (selbes Layout 
bzw. gleiche Größe) zusammen auf einer (größeren) Roh-Platine, so dass 
der Platz dort effizient genutzt wird und bei der Herstellung Kosten 
spart

"Multi-Nutzen" = wie Einfach-Nutzen, nur das hier verschiedene Layouts, 
d.h. verschiedene (kleinere) Platinen(größen) zusammengefasst werden 
können.

Ich suche jedoch NICHT eine Nutzenerstellung, die direkt aus 
Layout-Programmen heraus erfolgt und für die Platinenhersteller 
verwendbar ist.

Was ich suche, ist vielmehr ein Tool, in dem ich die Größe von Objekten 
[ meine Platine(n) ] und die Objektanzahl angegeben kann sowie die Größe 
einer Fläche [größere Rohplatine ] - das Tool sollte dann durch 
Berechnung oder einfaches Ausprobieren herausfinden, wie die Objekte 
(Platinen) so platziert werden müssen, dass sie die angegebene 
Umrandungs-/Umgebungsfläche möglichst platzsparend komplett ausfüllen 
bzw. wieviele der Objekte so in diese Fläche passen.

Beispiel 1:
30 Platinen mit 30mm x 70mm Größe, Umrandungsfläche (Rohplatine) = 300mm 
x 200mm; Aufgabe: Wieviele kleinere passen in das größere und wie ist 
die beste Anordnung ?
Beispiel 2:
2 Platinen 80x100mm, 3 Platinen 30x70mm, 7 Platinen 45x90mm, 1 Platine 
100x115mm; Aufgabe: Ordne diese Platinen so an, dass a) möglichst wenig 
Platz auf der 300x200mm Platine verschwendet wird und b) möglichste 
wenig dieser 300x200mm-Platinen benötigt werden - gib mir dann die 
Anordnung grafisch aufbereitet aus sowie die Anzahl der benötigten 
200x300mm-Platinen

Es gibt solche Programme im Bereich der Logistik (Stichwort: 
Palettenoptimierung), die aber
a) meist auf Container-/Palettengrößen zugeschnitten ist
b) statt nur mit der Fläche auch mit der Stapelung in die Höhe arbeitet
c) extrem teuer ist
d) es keine Freeware oder günstige Lösung für Privatleute gibt

Ich habe in Google schon mit allen möglichen Stichwörtern gesucht, wie 
Kombinationen aus
Objekte, Fläche, Paletten, Nutzen, PCB, Platine, Puzzle, Optimierung, 
Berechnung, Programm, Freeware usw.
jedoch nichts brauchbares gefunden.

Wenn ich programmieren könnte, dann würde ich mich glatt selbst daran 
probieren.

Mir würde für den Anfang auch schon ein Tool reichen, in dem ich 
verschiedene Objekte, für die ich die Maße angeben kann, einfach 
grafisch in einer Fläche selbst hin- und herschieben kann, um zu sehen 
wie ich sie am besten anordne. Es gab früher mal von IKEA ein wirklich 
einfaches Programm, mit dem man als 2D definierte Möbel, deren Maße man 
ändern konnte, in einem Raum-Umriss so hin- und herschieben konnte - 
nur leider finde ich das nicht mehr.

Hat irgendjemand von euch Vorschläge, Ideen, Links etc. ??

Ralf

von ... (Gast)


Lesenswert?

Ralf Z. schrieb:
> kennt irgendjemand ein Programm, mit dem ich sog. "Nutzen" für Platinen
>
> in einfacher Form erstellen kann.

Target.

Dein Layout als X-Gerber ausgeben. In Target einlesen und beliebig 
verdoppeln.
Denke an die benötigten Zwischenräume fürs vereinzeln. Meist 2 mm.

Ralf Z. schrieb:
> Was ich suche, ist vielmehr ein Tool, in dem ich die Größe von Objekten
>
> [ meine Platine(n) ] und die Objektanzahl angegeben kann sowie die Größe
>
> einer Fläche [größere Rohplatine ] - das Tool sollte dann durch
>
> Berechnung oder einfaches Ausprobieren herausfinden, wie die Objekte
>
> (Platinen) so platziert werden müssen, dass sie die angegebene
>
> Umrandungs-/Umgebungsfläche möglichst platzsparend komplett ausfüllen
>
> bzw. wieviele der Objekte so in diese Fläche passen.

Kenn ich. Nennt sich "Brain". 
http://www.google.de/url?sa=t&rct=j&q=brain&source=web&cd=4&cad=rja&ved=0CD0QFjAD&url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FBrain&ei=37FuUNHWA8axtAbb_4G4AQ&usg=AFQjCNEGIlYv91PEdAPnPRVVMQirNinh9g

von Hermann U. (Firma: www.pcb-devboards.de) (gera82)


Lesenswert?

Ralf Z. schrieb:
> Was ich suche, ist vielmehr ein Tool, in dem ich die Größe von Objekten
> [ meine Platine(n) ] und die Objektanzahl angegeben kann sowie die Größe
> einer Fläche [größere Rohplatine ] - das Tool sollte dann durch
> Berechnung oder einfaches Ausprobieren herausfinden, wie die Objekte
> (Platinen) so platziert werden müssen, dass sie die angegebene
> Umrandungs-/Umgebungsfläche möglichst platzsparend komplett ausfüllen
> bzw. wieviele der Objekte so in diese Fläche passen.

An so einem Programm hätte ich auch ein großes Interesse, ich hab mal im 
Netz gesucht und nichts passendes gefunden. Muss man halt eventuell 
selber schreiben.

Ich paneliziere die Platinen selbe jede Woche, und es geht schon viel 
Zeit dadurch verloren.

"Tetris"-Spieler sind auf jeden Fall in Vorteil :-)

Ralf Z. schrieb:
> 2 Platinen 80x100mm, 3 Platinen 30x70mm, 7 Platinen 45x90mm, 1 Platine
> 100x115mm; Aufgabe: Ordne diese Platinen so an, dass a) möglichst wenig
> Platz auf der 300x200mm Platine verschwendet wird und b) möglichste
> wenig dieser 300x200mm-Platinen benötigt werden - gib mir dann die

Ich sehe aber ein Problem beim L- oder U-förmigen Platinen, das Tool 
muss ja echt "intelligent" sein,  um die Fläche optimal auszunutzen ;-)


Gruß
Hermann

von Cyblord -. (cyblord)


Lesenswert?

Hermann U. schrieb:

> Ralf Z. schrieb:
>> 2 Platinen 80x100mm, 3 Platinen 30x70mm, 7 Platinen 45x90mm, 1 Platine
>> 100x115mm; Aufgabe: Ordne diese Platinen so an, dass a) möglichst wenig
>> Platz auf der 300x200mm Platine verschwendet wird und b) möglichste
>> wenig dieser 300x200mm-Platinen benötigt werden - gib mir dann die
>
> Ich sehe aber ein Problem beim L- oder U-förmigen Platinen, das Tool
> muss ja echt "intelligent" sein,  um die Fläche optimal auszunutzen ;-)

Wäre ein solches Problem nicht sogar NP-Vollständig?

von Ralf Z. (ralf_z)


Lesenswert?

Hallo,

was ist denn "NP-Vollständig" ??

"Brain" ist vorhanden, aber warum einfach wenns auch kompliziert geht 
((oder wars andersrum :-)

Selber programmieren würd ich ja versuchen, wenn ich denn Ahnung davon 
hätte - fehlt mir aber leider so gut wie jedes Wissen dazu.

Man könnte ja so ein Palettenoptimierer-Programm sicher dazu 
missbrauchen, wenn man dieses einfach nur in einer Ebene und nicht in 
die Höhe stapeln lässt - allerdings hab ich leider noch nichts in einem 
vernünftigen Hoppy-Preissegment bis vielleicht 150€ gefunden - von 
Freeware ganz zu schweigen.

von Michael S. (technicans)


Lesenswert?

Ralf Z. schrieb:
> Hoppy-Preissegment

Wozu braucht man das denn im Hobby-Bereich?
Wo wäre da der Nutzen?

von Ralf H. (teccoralf)


Lesenswert?

Hermann U. schrieb:
> Ralf Z. schrieb:
>> Was ich suche, ist vielmehr ein Tool, in dem ich die Größe von Objekten
>> [ meine Platine(n) ] und die Objektanzahl angegeben kann sowie die Größe
>> einer Fläche [größere Rohplatine ] - das Tool sollte dann durch
>> Berechnung oder einfaches Ausprobieren herausfinden, wie die Objekte
>> (Platinen) so platziert werden müssen, dass sie die angegebene
>> Umrandungs-/Umgebungsfläche möglichst platzsparend komplett ausfüllen
>> bzw. wieviele der Objekte so in diese Fläche passen.
>
> An so einem Programm hätte ich auch ein großes Interesse, ich hab mal im
> Netz gesucht und nichts passendes gefunden. Muss man halt eventuell
> selber schreiben.
>
> Ich paneliziere die Platinen selbe jede Woche, und es geht schon viel
> Zeit dadurch verloren.
>
> "Tetris"-Spieler sind auf jeden Fall in Vorteil :-)
>
> Ralf Z. schrieb:
>> 2 Platinen 80x100mm, 3 Platinen 30x70mm, 7 Platinen 45x90mm, 1 Platine
>> 100x115mm; Aufgabe: Ordne diese Platinen so an, dass a) möglichst wenig
>> Platz auf der 300x200mm Platine verschwendet wird und b) möglichste
>> wenig dieser 300x200mm-Platinen benötigt werden - gib mir dann die
>
> Ich sehe aber ein Problem beim L- oder U-förmigen Platinen, das Tool
> muss ja echt "intelligent" sein,  um die Fläche optimal auszunutzen ;-)
>
>
> Gruß
> Hermann
Hallo Hermann und ans Forum,
ich habe bei IKEA folgendes gefunden
http://www.ikea.com/ms/de_DE/customer_service/IHP2_user_guide/index.html
dort ist der Küchenplaner in 2D und 3D. Gebraucht wird nur die 2D 
Ansicht und dort kann man einzelne Objekte /in dem Fall unsere 
Leiterplatten/ anlegen, ebenso die Raumgröße unser Ausgangsnutzen.
Es geht also wirklich, ist zwar kein ComputerzuOrdnungsprogramm, aber 
wie @Hermann schon schrieb, nuß das ja dann richtig intelligent sein!
Ich hoffe das mein Hinweis ein wenig hilft.
LG Ralf

von Cyblord -. (cyblord)


Lesenswert?

Ralf Z. schrieb:
> Hallo,
>
> was ist denn "NP-Vollständig" ??

http://de.wikipedia.org/wiki/Np-vollständig

Grundsätzlich vereinfach(!) ausgedrückt bedeutet das, ob es überhaupt 
einen Algo gibt der dein Problem in endlicher Zeit lösen kann. Vgl. z.B. 
"Traveling-Salesman-Problem".

> Selber programmieren würd ich ja versuchen, wenn ich denn Ahnung davon
> hätte - fehlt mir aber leider so gut wie jedes Wissen dazu.
Eben und bevor man anfängt so was zu programmieren sollte man erstmal 
checken ob es überhaupt sinn macht. Und wenn das Problem NP-Vollständig 
ist, dann macht es keinen Sinn.
Allerdings bin ich mir gerade nicht sicher ob es tatsächlich so ist. Es 
ist nicht trivial das zu entscheiden. Außer jemand postet einen 
Algorithmus dafür welcher in polynominaler Zeit oder besser das Problem 
löst.

gruß cyblord

von Michael S. (technicans)


Lesenswert?

Warum sollte das nicht in endlicher Zeit lösbar sein?
War, soweit ich mich erinnere, auch Aufgabe in der Eignungsprüfung
der Elektroinnung Hannover 1975. Konnte in wenigen Minuten gelöst
werden, allerdings waren Flächenmäßig genauso viele Nutzen vorhanden
das die in der Summe vollflächig passten. Also müsste ein Algorithmus
erst mal die Maximalfläche und die Summe der Einzelflächen berechnen
um zu prüfen ob die Nutzen überhaupt drauf passen. Ansonsten wäre es ja
gar nicht lösbar ohne Rest.
Im nächsten Schritt würde ich den größten Nutzen in eine Ecke
platzieren und dann einen aus der Restmenge der etwa die gleichen 
Proportionen hat usw. usf. Da wird man dann nicht um hin kommen mehrere 
Sortier-Algorithmen anzuwenden, das Ergebnis speichern und dann das
mit der besten Ausnutzung zu nehmen. Für einen Programmieranfänger wäre
das aber nichts, vor allem nicht wenn es in nächster Zeit fertig sein
soll.

von Stefan . (xin)


Lesenswert?

Fab3000 macht genau das, was Du beschrieben hast. Wir verwenden die 
Pro-Version um die Prototypen Layouts, die in der Woche so anfallen, in 
den geforderten Mengen auf einen Nutzen zu setzen. Ist in der Bedienung 
nicht immer ganz eingängig, alles in allem aber eine große Hilfe.
Support i.d.R. innerhalb von 12 Stunden - preislich ist Luft vorhanden 
um zu diskutieren.

http://www.numericalinnovations.com/collections/fab-3000-gerber-cam

von Axel S. (a-za-z0-9)


Lesenswert?

Michael S. schrieb:

> Warum sollte das nicht in endlicher Zeit lösbar sein?

Eins vorweg: der Ausdruck "nicht in endlicher Zeit lösbar" ist in der 
Tat strunzdämlich und du hast Recht, wenn du das bemängelst.

Auch NP-vollständige Probleme sind ja nicht prinzipiell unlösbar, es ist 
nur so daß auch für den besten bekannten Algorithmus mit steigender 
Problemgröße der Rechenaufwand übermäßig (schneller als polynomial) 
ansteigt. Typisches Beispiel wären Algorithmen mit exponentieller 
Charakteristik: O(2^N)

Unabhängig davon sind diese Probleme für kleine Werte von N (wobei 
"klein" durchaus in paar Tausend sein kann) durchaus lösbar.

> ... allerdings waren Flächenmäßig genauso viele Nutzen vorhanden
> das die in der Summe vollflächig passten. Also müsste ein Algorithmus
> erst mal die Maximalfläche und die Summe der Einzelflächen berechnen
> um zu prüfen ob die Nutzen überhaupt drauf passen. Ansonsten wäre es ja
> gar nicht lösbar ohne Rest.

Es ist eine offensichtliche Bedingung, daß die Summe der Flächen der 
Einzelteile nicht größer als die Fläche des Nutzens sein kann. 
Dummerweise ist das nur eine notwendige Bedingung und keine 
hinreichende.

Einfaches Beispiel: der Nutzen sei ein Quadrat der Kantenlänge L. Die 
Werkstücke seien ebenfalls Quadrate mit Kantenlänge (L/2 + epsilon). 
Dann kriegst du immer nur ein Werkstück aus einem Nutzen, bei wenig über 
25% Flächenausnutzung.

Die Flächenausnutzung kann man mit geeigneten Werkstücken beliebig 
pessimieren. Sei der Nutzen z.B. ein Rechteck X*Y. Das Werkstück ein 
L-förmiger Winkel, dessen Schenkel gerade X bzw. Y lang sind. Auch da 
paßt nur ein Werkstück auf einen Nutzen. Wenn die Dicke der Schenkel 
kleiner wird, wird auch die Flächennutzung immer schlechter.

> Im nächsten Schritt würde ich den größten Nutzen in eine Ecke
> platzieren und dann einen aus der Restmenge der etwa die gleichen
> Proportionen hat usw. usf.

Das läuft unter der Bezeichnung "Greedy-Algorithmus". Dummerweise paßt 
der nicht auf dieses Problem.


XL

von Chemiker (Gast)


Lesenswert?

Ralf Haeuseler schrieb:
> Es geht also wirklich, ist zwar kein ComputerzuOrdnungsprogramm, aber
> wie @Hermann schon schrieb, nuß das ja dann richtig intelligent sein!

Ja genau das möchte ich eben machen, automatisch zuordnen. Also alle 
ext. Gerber laden, dann bestimmte Nutzen-Größe definieren z.B. 
210x300mm.
Und da meine geladene Platinen (ext. Gerber) automatisch mit einem 
Abstand von 4mm platzieren ;-)

Stefan --- schrieb:
> Fab3000 macht genau das, was Du beschrieben hast. Wir verwenden die
> Pro-Version um die Prototypen Layouts, die in der Woche so anfallen, in
> den geforderten Mengen auf einen Nutzen zu setzen.
Kann das Programm automatisch anorden, wo steht es? oder habe ich falsch 
verstanden?!

Ich benutze zur Zeit GC-PrevuePlus ohne DRC, DRC kostet viel zu viel :-(
http://www.graphicode.com/GC-PrevuePlus

Gruß
Hermann

von Ralf Z. (ralf_z)


Lesenswert?

> Hallo Hermann und ans Forum,
> ich habe bei IKEA folgendes gefunden
> http://www.ikea.com/ms/de_DE/customer_service/IHP2_user_guide/index.html
> dort ist der Küchenplaner in 2D und 3D. Gebraucht wird nur die 2D
> Ansicht und dort kann man einzelne Objekte /in dem Fall unsere
> Leiterplatten/ anlegen, ebenso die Raumgröße unser Ausgangsnutzen.
> Es geht also wirklich, ist zwar kein ComputerzuOrdnungsprogramm, aber
> wie @Hermann schon schrieb, nuß das ja dann richtig intelligent sein!
> Ich hoffe das mein Hinweis ein wenig hilft.
> LG Ralf

Hallo,

vielen Dank, genau das habe ich nicht mehr gefunden. Das Problem ist 
nur, dass ich bei deinem Link nur auf der Hilfeseite zum IKEA Home 
Planer lande und von dort nirgends ein Link zum HomePlaner selbst ist 
(oder ich bin echt zu blind um ihn zu sehen). Könntest du mir bitte den 
richtigen Link angeben, da ich über die Suche bei IKEA und "Home Planer" 
nix dazu finde (außer Küchen-, Bad. und Büroplaner)

Ralf

von Ralf Z. (ralf_z)


Lesenswert?

Stefan --- schrieb:
> Fab3000 macht genau das, was Du beschrieben hast. Wir verwenden die
> Pro-Version um die Prototypen Layouts, die in der Woche so anfallen, in
> den geforderten Mengen auf einen Nutzen zu setzen. Ist in der Bedienung
> nicht immer ganz eingängig, alles in allem aber eine große Hilfe.
> Support i.d.R. innerhalb von 12 Stunden - preislich ist Luft vorhanden
> um zu diskutieren.
>
> http://www.numericalinnovations.com/collections/fa...

Hallo,

und vielen Dank für die Info - dachte ich mir doch, dass es so ein 
Programm geben muss - wundert mich nur, dass ich es beim Suchen nicht 
gefunden habe.
Mit was für Suchbegriffen würde ich denn bei Google mal das Programm 
gelistet kriegen ?
Wenn ich in Zukunft doch für weitere Projekte viele Platinen bräuchte, 
dann wäre der Erwerb des Programms evt. zu überlegen, wobei die 500 $ 
schon happig für eine Privatperson sind.

Ralf

von geil (Gast)


Lesenswert?


von derptank (Gast)


Lesenswert?

Gerbmerge lädt gerber-files und packt diese auf einen Nutzen.
Man kann über eine config Datei manuell plazieren oder es das programm 
machen lassen.
Wie es mit L und U förmigen Layouts umgeht, weiß ich allerdings nicht.

http://ruggedcircuits.com/gerbmerge/

OpenSource und Multiplattformunterstützung.

von Stefan . (xin)


Angehängte Dateien:

Lesenswert?

$500 sind für Privat schon ganz happig - so eine Ausgabe macht 
eigentlich nur dann Sinn, wenn man das regelmäßig verwendet. Wir haben 
die Floating-Network-Pro-License laufen, aber auch nicht den vollen 
Preis bezahlt ;)
Wie gesagt, da ist Raum für Verhandlungen.
Im Wesentlichen, importiert man die einzelnen Leiterplatten, 
synchronisiert die Layer - für den Fall, dass die Namensgebung nicht 
einheitlich war und legt die Größe des Panels fest, das man bestellen 
möchte. Im gezeigten Dialog gibt man dann an, wie viele es von welchem 
sein sollen und wenn noch Platz ist, womit man diesen auffüllen möchte. 
Dann bekommt man eine Liste von Varianten, die man sich ansehen und aus 
denen man anschließend auswählen kann.

Wir setzen aber auch gern unsere Produktionsnutzen selbst und nutzen 
auch ausgiebig die Padoptimierungen von Fab3000 für das Pastenblech.

Außerdem ergibt sich noch ein anderer Vorteil aus der Möglichkeit, 
Gerber direkt zu bearbeiten:
Wir lassen Durchkontaktierungen eigentlich immer frei, also ohne LSL; da 
unser Fertiger meint, man könne nie ausschließen, dass in den DKs noch 
Reste aus der Galvanik verbleiben und die DKs diese daher nicht 
einschließen sollten. In der unmittelbaren Nähe von Pads, an denen 
später Kabel angelötet werden, möchten wir die DKs aber durch LSL 
abgedeckt haben, damit dort beim manuellen Löten nichts passiert. Nur, 
kann man das bei unserer Layout-Software nur pauschal -je Bohrung- 
festlegen - also entweder auf BEIDEN Seiten frei oder bedeckt. Bei 
Gerber-Rohdaten ist es anschließend jedoch kein Problem, dass 
nachzuarbeiten ;)

von Karl-Heinz K. (karl-heinz_k)


Lesenswert?

Hallo,

dieser Thread ist zwar schon etwas älter, aber vielleicht hilft mein 
Hinweis trotzdem noch jemandem.

Ich habe mir vor Kurzem die Mühe gemacht, in einem eigenen Fork von 
Gerbmerge Support für Geber Files und Excellon Bohrdateien zu ergänzen, 
die mit Kicad in metrischen Einheiten erstellt wurden. Diese Version 
kann man von github downloaden: https://github.com/kkunzelm/gerbmerge

Ergänzt wurde auch der Patch von 
http://www.instructables.com/id/Panelizing-PCBs-for-Seeed-Using-Eagle-Free-Light/?ALLSTEPS. 
Damit kann man um die einzelnen Platinen eine Gesamtrahmen erstellen, 
was den Vorteil hat, dass man bei Seeed Studio wesentlich 
kostengünstiger bestellen kann, falls man die Platinen selbst trennen 
kann.

Gerbmerge hat einen automatischen Modus, der für meine Projekte bisher 
sehr gut funktioniert hat. Angepasst werden muss nur das layout.cfg 
File. Man nimmt am besten eines der Files aus den Beispielprojekten und 
ändert es nach seinen Wünschen.

Kicad ist eine gute Alternative zu Eagle. Und open source.

Viele Grüße

Karl-Heinz

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.