Announcements

Announcement: We’re aware of an issue affecting starting a new topic from category pages and creating new blog posts. New topics can still be started directly from the relevant board. Learn more here.

Wie in EAGLE Bauteile über Boardgrenze verschieben?

Wie in EAGLE Bauteile über Boardgrenze verschieben?

stematon
Advocate Advocate
5,816 Views
21 Replies
Message 1 of 22

Wie in EAGLE Bauteile über Boardgrenze verschieben?

stematon
Advocate
Advocate

Das Verschieben von Bauteilen in negative Teile des Koordinatensystems geht nicht. Es gibt eine Fehlermeldung, dass die Boardgrenzen überschritten wurden. Was eigentlich Schwachsinn ist, die Boardfläche ist kleiner als die Default-Fläche, die Eagle vorschlägt. Nur liegt die Fläche eben so, dass zum Beispiel die Null in der Mitte ist.

Offenbar ist irgendwo definiert, dass die Boardgrenzen im positiven Quadranten des Koordinatensystems zu liegen haben. Mir ist nicht klar, wieso ich den Nullpunkt auf meiner Platine nicht dort definieren kann, wo ich das will und nun alle Koordinaten umrechnen muss. 

 

Ich fände eine zeitgemäße Lösung wertet eben wirklich die tatsächliche Boardfläche aus und nicht irgendwelche Koordinaten. Das ist eine Beschränkung, die ich beobachte, seit ich Eagle nutze. 

 

Sie schränkt auch dann ein, wenn die Bauelemente vom Schaltplan auf dem Board platziert werden. Mit jedem Bauteil muss ich weiter raus zoomen um dieses Bauteil und die Platine in einer gemeinsamen Ansicht zu haben. Wieso kann ich nicht einfach die Bauteile vorübergehend neben das Board schieben, damit ich das Bauteil vor dem Platzieren identifizieren kann. Scrollen funktioniert zwar super aber das kann doch keine Lösung sein...

 

Wieso gibt es nicht einfach einen (ignorierbaren) Hinweis, der Nutzer darf aber tun, was er möchte und erst beim Erzeugen der CAM Daten könnte EAGLE Konsequenzen ergreifen wie diese Fehlermeldung zu erzeugen?  

 

Ich fasse zusammen: 

- kein Bauteil darf in negativen Koordinaten liegen

- Beim Platzieren der Bauteile exzessives Scrollen notwendig da die Bauteile entlang einer virtuellen Linie immer weiter weg vom Board platziert werden

 

 

 

 

 

@stematon Der Beitragstitel wurde von @michele.mk zur besseren Auffindbarkeit bearbeitet. Originaltitel: Verschieben von Bauteilen und Boardgrenze

Reply
Reply
Accepted solutions (1)
5,817 Views
21 Replies
Replies (21)
Message 2 of 22

RichardHammerl
Community Manager
Community Manager
Accepted solution

Guten Morgen @stematon,

 

die einfachste Lösung diese Limitierung zu umgehen ist die Professional Edition...  😉  Die Einschränkungen sollten auch als solche bemerkt werden und auf das Umsteigen auf die unbeschränkte Edition animieren... Smiley Wink

Die Einschränkung in den kleinen Versionen (Standard und Free) liegt in der Boardfläche, die allerdings vollständig im positiven Koordinatenbereich liegen muss (und auch in der Anzahl der Signallayer).

Ich weiß nicht mehr genau, warum unsere Entwickler damals (1996) mit der Version 3.50 den positiven Quadraten für das Layout gefordert haben, aber die Idee war, dass man in den eingeschränkten Editionen die Bauteile aus dem Schaltplan zunächst links vom Board platziert bekommt und diese dann in das Layout reinschiebt. Das ist im Prinzip heute auch noch so, bis auf die jetzt flexiblen Boardmaße bei begrenzter Boardfläche. 

 

Ich werde mich mal mit unseren Entwicklern unterhalten, ob man die Einschränkungen anders definieren könnte/möchte/sollte.....

 

Zum Koordinatenproblem: Sie können zum Arbeiten mit MARK einen relativen Nullpunkt stzen. Dann kann man auch mit relativen oder auch polaren Koordinaten arbeiten. 

 

Grüße,

Richard Hammerl

Autodesk
Reply
Reply
Message 3 of 22

jjm17XBGQ
Advocate
Advocate

Kurze Off topic Bemerkung (möchte dafür keinen Thread aufmachen).

Die Koordinatenanzeige hat leider den Nachteil das Sie immer nur mit der aktiven Einheite (in, mm mil .. ) angezeigt wird. Häufig wird aber (zumindest bei mir) mit 2 Rastern gearbeitet (imperial für Layout und metric für Mechanik wir board dimension Schalter und Stecker etc).

Hilfreich wären beide zu sehen (auch bei den Eigenschaften von Elementen).

Reply
Reply
Message 4 of 22

RichardHammerl
Community Manager
Community Manager

Hallo @jjm17XBGQ,

 

ich werde diesen Vorschlag mal an unsere Entwickler weitergeben. Vielleicht könnte man eine Option in den Einstellungen einführen, die imperiale und metrische Werte gleichzeitig anzeigt. 

 

Danke für den Vorschlag und Grüße,

Richard Hammerl

Autodesk
Reply
Reply
0 Likes
Message 5 of 22

StefanMetz
Collaborator
Collaborator
Ja das wäre toll, ich habe das schon vor Monaten angeregt...
11=3
Reply
Reply
0 Likes
Message 6 of 22

stematon
Advocate
Advocate

@RichardHammerl Und was ist mit dem Placement? Kann man vielleicht auch eine Lösung finden, dass ich die Bauteile irgendwo näher am Board platziert bekomme anstatt mit jedem Bauteil eine weitere Stufe zoomen zu müssen? Oder dass ich mir die Bauteile in einem von mir aus negativen Quadranten, der ja eh zu nichts gut ist in meinem Lizenzmodell frei anordnen kann, um eben einen Kompromiss zu finden zwischen Bauteil angeln (=Name lesen) und dem Raster, wo ich das Bauteil präzise positionieren möchte. 

Reply
Reply
Message 7 of 22

jjm17XBGQ
Advocate
Advocate

Mein Vorschlag wäre  (wenn die Lizenz nicht reicht) Bauelemente erst auf der Unterseite zu platzieren und zu gruppieren.

Reply
Reply
0 Likes
Message 8 of 22

jjm17XBGQ
Advocate
Advocate

Ein X/Y Label wäre imo auch nicht verkehrt, so stehen da nur Zahlen und man muss sich selbst vorstellen welche wohl was sei. 

 

Auch die dem Nullpunkt nähere Koordinate immer als erstes anzuzeigen ist nicht verboten. Wäre hilfreich, gerade wenn man mehrere hintereinander abfragt. 

Reply
Reply
0 Likes
Message 9 of 22

watnoch
Advocate
Advocate

Hallo,

 

Für mich ist die Beschränkung auf den positiven Quadranten schlicht abschreckend.

 

Soweit ich bisher sehe, kann man nicht einfach einen eigenen Nullpunkt festlegen (die Funktion von MARK muß ich noch testen), kann man nicht Bauelemente auf den "Schreibtisch" legen und dann zuordnen, kann man keine Hilfslinien definieren, kann keine eigenen Bezugspunkte für die BE definieren, kann keinen Bezugspunkte für eine Gruppe von BE festlegen ---

Das einfache Definieren von Positionen ist besonders im Zusammenhang mit Gehäusen oder anderen Baugruppen interessant.

Gut, ich bin erst Anfänger, vielleicht habe ich Möglichkeiten übersehen.

Doch so, wie ich EAGLE gerade erlebe, ist die Bedienung wohl noch vor 1996 stehengeblieben.

 

Beispiel: Ich möchte eine alte EAGLE-Datei ändern.

Da ich angenommen hatte, daß nur die freie Version so extrem beschränkt sei, habe ich nun die Standard-Version. 

Für klitzekleine Leiterplatten von weniger als 5cm Kantenlänge und mit nur 2 Layern sollte die doch völlig ausreichen.

Denkste - oder gibt es doch eine unkomplizierte Lösung?

Für BE, deren Position z.B. vom Gehäuse abhängt, die Koordinaten umrechnen zu müssen, wird zeitfressend sein. Es wird nicht einmal angezeigt, welche Fläche nutzbar ist.

Da bin ich ja mit rein manuellem Layout in CorelDraw schneller.

 

Die geöffnete, alte EAGLE-Datei kann ich so nicht bearbeiten.

Dabei sollte es fix gehen, einen anderen Stecker zu plazieren.

Die BE kann ich nur im Sonstwo plazieren, nichtmal auf dem Board selbst.

Wenigstens habe ich hier nun gesehen, daß das wohl der Normalfall bei EAGLE ist.

Beispiel = Positionieren testen:

Demo_EAGLE9_AreaProblem.jpgDemo_EAGLE9_AreaProblem.jpg

 

 

 

Reply
Reply
0 Likes
Message 10 of 22

jjm17XBGQ
Advocate
Advocate

Die geöffnete, alte EAGLE-Datei kann ich so nicht bearbeiten.

 

Alle Layer einschalten

Alles Mit GRoup (Gruppe) markieren

Alle Elemente unlocken

Raster auf z.B. 25,4mm stellen (damit sowohl metrische als auch imperiale Koordinaten erhalten bleiben)

Alles mit MOve und ctrl rechte Maustaste in den positiven Bereich schieben.

 

Es ist allerdings unschön das mit der Standard Version nur positive Koordinaten bearbeitet werden können.

 

Gußgehäuse werden z.B. wg. Formschrägen zentral bemaßt. Da ist das schon sehr hinderlich.

Reply
Reply
Message 11 of 22

StefanMetz
Collaborator
Collaborator

Hi@all,

 

Ich habe da ein ULP gefunden, das da hilfreich sein kann:

autoplace_v3.ulp Das wird in der Schematik aufgerufen und platziert die Bauteile nach der Anordnung in der Schematik und rechts oben außerhalb des Boards. Hier ein Beispiel:

nach autoplace und ratsnestnach autoplace und ratsnest

/* Simple autoplace ulp based upon component position in schematic
* this ULp was origianlly written by one of the CADSOFT team I believe
* apologies for lack of full reference and acknoledgement
* run the ULP in the sch window and run place.scr in BRD
* changing the scale parameter will produce tighter/looser grouping
* Ideally stick in a pop-up window to select scale and x/y offset at some time
*/
string c,cmd;
real scale = 0.50;
int HasPins,
    IsSupplySymbol,
    Px, Py, xoffset, yoffset,
    ix,                    
    GridDist = 50,
    ShOffset = 0,            
    y_ShOffset = 3000,
    x_ShOffset = 1500;

                   output("place.scr") {
			
                    if (schematic) schematic(SCH) {
			cmd+= "board; \n";
                       sprintf(c, "Grid mil 50;\n");
			cmd+= c;
                       SCH.sheets(S) {
                         S.parts(P) {
                           ix = 0;
                           P.instances(I) {
                             if (ix==0) {
                                Px = round(scale*(u2mil(I.x)) / GridDist) * GridDist;
                                Py = round(scale*(u2mil(I.y)) / GridDist) * GridDist;
                                } 
                             HasPins = 0;
                             IsSupplySymbol = 0;
                             I.gate.symbol.pins(PIN) { 
                               if ((PIN.direction == PIN_DIRECTION_SUP)) 
                                  IsSupplySymbol = 1;
                               HasPins = 1;
                               }
                             ix++;
                             }
                           if (HasPins && !IsSupplySymbol) {
				xoffset = x_ShOffset*trunc(0.5*(S.number-1));
				yoffset = y_ShOffset*2*frac(0.5*(S.number-1));
                              sprintf(c, "Move %s (%d %d);\n", P.name, Px+xoffset, Py+yoffset);                           
				cmd+= c;
                              }
                           } // end parts
                         }   // end sheets 
    			printf("GRID LAST;\n");
    			printf("RATSNEST;\n");
    	              }

                    }
exit(cmd);
11=3
Reply
Reply
0 Likes
Message 12 of 22

watnoch
Advocate
Advocate

Wenn ich das richtig verstehe käme das dem Prinzip mit den 5 Augen eines Würfels nahe, an denen sich z.B. in Indesign der Bezugspunkt für x und y für numerische Eingaben festlegen läßt. In Corel Draw kann man Objektpunkte als Bezugspunkte verwenden.

Eindeutige Angaben, welche Werte für welche Koordinaten und welches stehen wären das Minimum. 

 

Reply
Reply
0 Likes
Message 13 of 22

watnoch
Advocate
Advocate

@jjm17XBGQ  schrieb:

Die geöffnete, alte EAGLE-Datei kann ich so nicht bearbeiten.

 

Alle Layer einschalten

Alles Mit GRoup (Gruppe) markieren

Alle Elemente unlocken

Raster auf z.B. 25,4mm stellen (damit sowohl metrische als auch imperiale Koordinaten erhalten bleiben)

Alles mit MOve und ctrl rechte Maustaste in den positiven Bereich schieben.


danke - das ist zwar nicht so elegant, wie das einfache Zuweisen der neuen Koordinaten - z.B. mit dem Bezugspunkt "Mitte" - hat aber erst mal funktioniert.

 

Die DXF-Konturen, die ich von der Konstruktion erhalte, sind auch am Zentrum orientiert.

Ich werde das Zentrum der Objekte dann z.B. auf x=100mm; y=100mm verschieben.

Mal sehen, wie weit ich mich da einfummeln kann.

Da wir schon recht hohe Anforderungen an das Einhalten von Positionen und Winkeln von BE haben, hoffe ich, bald präzise Lösungen zu finden.

Reply
Reply
0 Likes
Message 14 of 22

jjm17XBGQ
Advocate
Advocate

Das wird 100% genau und ist einfach wenn man weiß wie es geht:

 

Einen bekannten Referenzpunkt vom dxf nehmen (rechte Maustaste zeigt die Koordinaten z.B X -132 Y 110)

Den X Versatz (Offset) zum gewünschten Punkt bestimmen (+100).

Das Raster  auf den Versatz einstellen ( hier auf 232mm).

Alles als Gruppe markieren und ein Raster in X Richtung verschieben (durch das grobe Raster die Maus weit schieben)

 

Das ganze mit Y wiederholen.

 

Evtl an 2 Punkten Kontrollmaße nehmen.

 

Das war's

Reply
Reply
Message 15 of 22

StefanMetz
Collaborator
Collaborator

Hi,

 

ja den "Trick" mit dem Raster anpassen mache ich bei neuen Footprints auch immer. Nebenbei den Windows Taschenrechner zur Sicherheit, weil mein Zentrum meist in der Mitte des Bauteils liegt. Und vieles kann man dann auch mit Kopieren erledigen.

Auch Platinenvorgaben zu Gehäusen mit den passenden Löchern mache ich so, falls es keine DXF davon gibt.

Und zum Überprüfen vorhandener Footprints geht es damit auch rasch.

 

UND Nicht zu vergessen (die wenigsten wissen das):

 

Koordinatenangaben

Das Zeichen • bedeutet normalerweise, dass an dieser Stelle im Befehl mit der linken Maustaste ein Objekt anzuklicken ist. Beispiel:

 

Syntax:

 

MOVE • •..

Input:

 

MOVE

   

Mausklick auf erstes zu bewegendes Element

   

Mausklick auf das Ziel

   

Mausklick auf zweites zu bewegendes Element

   

etc.

An diesem Beispiel sehen Sie auch, wie die Wiederholungspunkte bei Befehlen mit Mausklicks zu verstehen sind.

Koordinateneingabe

Jeder Mausklick stellt eine Koordinatenangabe dar. Will man den Befehl textuell eingeben, dann kann man anstelle des Mausklicks die Koordinaten über die Tastatur in folgender Form eingeben:

(x y)

Dabei sind x und y Zahlen in der mit dem GRID-Befehl gewählten Einheit. Die textuelle Eingabemöglichkeit ist insbesondere für Script-Dateien erforderlich.
Soll eine andere als die im GRID-Befehl gewählte Einheit verwendet werden, so kann diese an die angegebenen Koordinaten angefügt werden, wie in

(100mil 200mil)

Erlaubte Einheiten sind mm, mic, mil und in. Es können auch unterschiedliche Einheiten für x und y verwendet werden.
Die spezielle Koordinate

(@)

kann dazu benutzt werden, die aktuelle Position des Mauszeigers im Zeichenfenster zu referenzieren. So würde zum Beispiel die Eingabe

MOVE R1 (@)

das Bauteil mit dem Namen R1 an die Position verschieben, auf der der Mauszeiger im Moment steht.

Nach der öffnenden Klammer darf eine beliebige Kombination der folgenden Steuerzeichen folgen um einen bestimmten Tastendruck zusammen mit dem "Mausklick" zu simulieren oder die Art der Koordinaten zu modifizieren:

>

 

rechte Maustaste

A

 

Alt-Taste

C

 

Ctrl-Taste

P

 

Polar-Koordinaten (relativ zur Marke, x = Radius, y = Winkel in Grad, gegen den Uhrzeigersinn)

R

 

Relative Koordinaten (relativ zur Marke)

S

 

Shift-Taste

Die Eingabe

(CR> 1 2)

würde zum Beispiel einem "Mausklick" mit der rechten Maustaste an den Koordinaten (1 2) relativ zur Marke, mit gedrückter Ctrl-Taste entsprechen (natürlich würde es vom konkreten Befehl abhängen was genau mit dieser Art von Eingabe geschehen würde). Falls momentan keine Marke gesetzt ist, beziehen sich Koordinaten mit R oder P auf den Ursprung der Zeichnung. Die Steuerzeichen sind unabhängig von Groß-/Kleinschreibung, ihre Reihenfolge spielt keine Rolle und es muss auch kein Leerzeichen zwischen ihnen und der ersten Ziffer der Koordinaten stehen. Das obige Beispiel könnte also ebenso als (r>c1 2) geschrieben werden. Als "Polar-Koordinaten" eingegebene Werte werden intern als die entsprechenden (x y) Koordinaten abgespeichert.

Als Beispiel für die Koordinateneingabe in Textform soll die Eingabe der Platinenumrisse mit exakten Maßen dienen:

GRID 1 MM;
CHANGE LAYER DIMENSION;
LINE 0 (0 0) (160 0) (160 100) (0 100) (0 0);
GRID LAST;

 

11=3
Reply
Reply
Message 16 of 22

StefanMetz
Collaborator
Collaborator

Fortsetzung:

Nicht zu Vergessen den Marker.

 

Im Board ist der ohne Symbol aber mit dem Wort Mark zu setzen oder im Menü unter Ansicht zu finden. Auch den Marker kann man mit (X Y) setzen.

Danach kann man mit (R 10 10) alles mögliche genau auf den Punkt setzen.

Koordinanten.jpgKoordinanten.jpgKoordinanten2.jpgKoordinanten2.jpg

 

 

11=3
Reply
Reply
Message 17 of 22

watnoch
Advocate
Advocate

-  so viele Informationen - danke.

Doch aktuell habe ich wieder das Problem, daß ich eine DXF-Datei erhalten habe, die ich in EAGLE Standard nicht importieren kann, weil sie ihr Zentrum im Nullpunkt hat. 

Fläche ca. 30mm x 30mm. 

Gibt es einen Lichtblick? 

Gibt es einen sinnvollen Umweg, wenn man kein CAD-Programm als Konverter zur Verfügung hat?

 

 

 

 

Reply
Reply
0 Likes
Message 18 of 22

jjm17XBGQ
Advocate
Advocate

Einfach auf einen eigenen Layer legen (z.B. 101 DxfIn), verschieben und dann z.b. Layer 20

 

Gibt es einen sinnvollen Umweg, wenn man kein CAD-Programm als Konverter zur Verfügung hat?

 Ein freeware Programm installieren das dxf im- und export kann. 

Reply
Reply
Message 19 of 22

StefanMetz
Collaborator
Collaborator

Hi,

 

 

dxfimp.jpgdxfimp.jpgaber du kannst doch beim DXF Import den Nullpunkt angeben.

Und innerhalb der Grenzen funktioniert es ja auch im negativen Bereich problemlos.

Habs grad probiert. Dann habe ich eine Linie genommen, die am Nullpunkt sein soll und deren inversen Koordinaten als neue Koordinaten im Import eingetragen und schon ist die DXF Platine exakt platziert.

 

Wenn das nicht geht, bitte das DXF-File anhängen, dann schau ich es mir an.

11=3
Reply
Reply
Message 20 of 22

watnoch
Advocate
Advocate

Danke.

Das Xorg und Yorg habe ich glatt ignoriert.

Ich werde es ausprobieren.

 

Reply
Reply