| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: Umrechnung Transformationsmatrix? (7411 mal gelesen)
|
Johann Heim Mitglied Dipl. Ing. Maschinenbau
Beiträge: 162 Registriert: 01.11.2000
|
erstellt am: 27. Nov. 2000 13:51 <-- editieren / zitieren --> Unities abgeben:
Hi, hat jemand eine Lösung für folgende Problematik: Ich benötige für ein Zusammenbauskeleton Koordinatensysteme, welche mittels Offset (Verschiebung und Verdrehung um mehrere Achsen) zu einem anderen Koordinatensystem, als ein Feature erzeugt werden. Die Position des Zielkoordinatensystems ist bekannt, indem man erstmals auf gewohnte Art zusammenbaut. Nun kann ich mittels TRANSFORM die Transformationsmatrix ermitteln. Wer kennt eine Methode oder ein Programm, mit der man aus dieser Matrix die Drehwinkel um die x- y- und z-Achsen ermitteln kann. Die Verschiebung steht bekannlich in der 4. Spalte. Das Koordinatensystem soll nicht auf Basis der Transformationsmatrix eigelesen werden. Bin für jede Hilfe dankbar Hans Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wonko Mitglied Dipl.-Ing. Maschinenbau (TU)
Beiträge: 19 Registriert: 22.11.2000 Windows 10 Pro; Intel Broadwell Extreme i7 6950X 10 -core; 64Gb DDR4-2133; Intel 1TB NVMe-SSD ; Quadro P5000, Water cooled Creo 3.0 M070
|
erstellt am: 28. Nov. 2000 13:38 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Johann, nicht einfacher als das! Du hast den richtigen Weg nämlich schon begonnen. Du misst die Transformation (von dem Partkoordinatensystem zu dem Baugruppenkoordinatensystem auf das du später einbauen willst), dann lässt du dir die INFO anzeigen. Im Informationsfenster DATEI/SPEICHERN. Nun liegt in deinem Arbeitsverzeichniss die Datei Info.trf. Dann gehst du in das Part in dem du das Transformationskoordinatensystem erzeugen willst. Dort sagst KE/erzeugen/Bezug/Koordinatensystem/Aus Datei/Fertig; gibst in Den Dateinamen info (ohne .trf !!) ein, und klickst das Koordinatensystem an von dem du in der Baugruppe begonnen hast zu messen. Et Voila!! da ist es. Gruß Wonko ;o) PS.: ich benenne dann diese Koordinatensysteme auf die ich dann alles zusammenbaue nach dem Schema Ger_Null_Main_Assy; Ger_Null_Druckfeder; Ger_Null_Chassis_UT; ... dann ist auch über Auswahl/Nach Menü die verschiedenen K.Sys. im Assy gut zu finden. Und zudem sind ruckzug vereinfachte Baugruppen erzeugt, auch durch Projektfremde. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
byps Mitglied Leiter Entwicklung&Konstruktion, CAD-Admin
Beiträge: 231 Registriert: 29.11.2000
|
erstellt am: 29. Nov. 2000 08:34 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Johann, ich weiß zwar nicht ob Dir mein Hinweis weiterhilft, aber besser ´nen Tip, als gar nichts. Auf der Pro/Help-CD zu Version 2000i ist unter dem Punkt "So erzeugen Sie Koordinatensysteme von Dateien" eine Beschreibung der Transformationsdatei angegeben. Gruß, Pierre Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pro/Steffen Mitglied Konstrukteur
Beiträge: 228 Registriert: 15.03.2002 ProE-WF M210
|
erstellt am: 25. Apr. 2003 11:59 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Zusammen, Das Thema sollte mal wieder aufgefrischt werden. Auch ich habe mal wieder das Problem - und das nervt mich. Die Positionierung über Koordinatensystem mit Datei (die auch auch Johann nicht mag)funzt zwar, aber ist für viele einfach nicht verständlich. Ich biete schon mal vorab 150 Unitis für eine Methode oder ein Programm, dass mir aus der Transformationsmatrix die drei Rotationswinkel (X-;Y-;Z- Achse) berechnet. Ansonsten werde ich mich das Wochenende selbst mal damit beschäftigen. Also wenn Ihr Ansätze habt ... Vielen Vielen Dank. Genügend Wissen über die Transformationsmatritzen für Rotation habe ich erstmal. Gruß Steffen ------------------ ***Pro/Steffen*** [Diese Nachricht wurde von Pro/Steffen am 25. April 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pro/Steffen Mitglied Konstrukteur
Beiträge: 228 Registriert: 15.03.2002 ProE-WF M210
|
erstellt am: 25. Apr. 2003 12:40 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
P.S.: Natürlich ist die Reihenfolge der Transformationen wesentlich für die Postitionierung. Ich bevorzuge es erst zu Rotieren (X;Y;Z) und dann zu Verschieben (X;Y;Z). Aber auch andere Möglichkeiten helfen weiter. Gruß Steffen
------------------ ***Pro/Steffen*** Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PRO-sbehr Mitglied Dipl.-Ing. Konstruktion
Beiträge: 1132 Registriert: 05.07.2002 Lenovo ThinkStation P500 Intel Xeon CPU E5-1620 v3 Grafik: Nvidia Quadro K2200 Windows 10 Enterprise 64-bit Creo Parametric 4.0 (M030) (NX 11)
|
erstellt am: 25. Apr. 2003 16:09 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Leute, die Lösung aller unserer Probleme (schön wärs und auch ohne Gewähr): Wenn die Matrix vereinfacht so aussieht: A B C D E F G H J Dann ergibt sich die Drehung um Y !! -arcsin(G)*180/PI = BETA Dann ergibt sich die Drehung um X arcsin(H/cos(BETA/180*PI))*180/PI = ALPHA Dann ergibt sich die Drehung um Z arcsin(D/cos(BETA/180*PI))*180/PI = GAMMA
Hinter der Matrix steht der Verschiebungsvektor. Grundsätzlich ist die Matrix so zu interpretieren, dass erst die Rotation dann die Translation stattfindet. Erfolgt erst die Translation und dann die Rotation so ergibt sich ein anderer Verschiebungsvektor bei gleicher Transformationsmatrix. In der Hoffnung keinen irritiert zu haben und das ganze auch einigermassen richtig rübergebracht zu haben Stefan
------------------ Pro/bleme sind endlich in der Unendlichkeit der Hoffnung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PRO-sbehr Mitglied Dipl.-Ing. Konstruktion
Beiträge: 1132 Registriert: 05.07.2002 Lenovo ThinkStation P500 Intel Xeon CPU E5-1620 v3 Grafik: Nvidia Quadro K2200 Windows 10 Enterprise 64-bit Creo Parametric 4.0 (M030) (NX 11)
|
erstellt am: 26. Apr. 2003 11:02 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Noch ein kleiner Zusatz für die, die nicht rechnen wollen oder keine Lust auf Formel tippen haben. Ich habe mir mal die Mühe gemacht eine kleine Exceldatei anzulegen in der aus den drei Verdrehwinkeln eine Transformationsmatrix berechnet werden kann (für die, die Spaß daran haben) bzw. aus der Transformationsmatrix die drei Verdrehwinkel berechnet werden. (ohne Gewähr, bei Fehlern bitte Meldung an mich) Gruß Stefan ------------------ Pro/bleme sind endlich in der Unendlichkeit der Hoffnung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
os Ehrenmitglied V.I.P. h.c. Konstruktionsingenieur
Beiträge: 2458 Registriert: 16.09.2002 2001,WF,WF2...
|
erstellt am: 26. Apr. 2003 15:59 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Prima, deine Excel Tabelle. Hab ich mir mal runtergezogen, wer weiß, wozu man sie mal brauchen kann. Nun zu der Frage an sich. Ich glaube Hans hat die ganze Sache etwas anders gemeint. Er meint, meiner Meinung nach folgendes: Du hast ein Koordinatensystem im Raum, und willst wissen, wie es da hingekommen ist, also nachvollziebar. Die Transformationsmatrix gibt nur den Endzustand, des Csys wieder, nicht aber seine Entstehung. Wir haben ein ähnliches Problem. Wir positionieren Koordinatensysteme im Raum, hängen dort Bauteile dran und steuern die Position dieser Bauteile oder KE's mit Hilfe dieser Koordinatensysteme, diese werden dann abwechseln gedreht und verschoben. Um nun aber die Materialschnitte die an diesen Koordinatensystemen hängen auch bearbeiten zu können, muss der entsprchenden Maschine mitgeteilt werden, welche Achsen, in welcher Reihenfolge gedreht werden müssen um auf die Endstellung zu kommen. Wir benutzen dafür ein externes Programm, das die Transformationsmatrix analysiert und rückrechnet. Dieses Programm läuft auf einem alten IBM VMS host, nichts desto Trotz kann und darf ich so was nicht weitergeben. Ich kann nur in groben Zügen erläutern, was das Programm macht. Zuerst wird an Hand verschiedener Faktoren, die Drehreihenfolge festgelegt. Ist diese festgelegt, dreht das Programm Achse für Achse zurück und merkt sich dabei die Drehwerte, bis alle Achsen, zum Ursprung auf Null stehen. Die Ausgabe ist dann die Transformation in x,y,z, die Drehreihenfolge, xy,zx,yz und die entsprechenden Drehwinkel, die dafür benötigt werden. Wie gesagt, die Transformationsmatrix gibt nur die Endstellung wieder, d.h. wenn man versucht ein Koodinatensystem auf die Werte x=20,y=30,z=40 zu stellen gelingt es einem nicht indem man einfach die Werte eingibt. Mein Vorschlag, ein kleines Programm. Ich will aber auch mal versuchen, das ganze interaktiv, mittels eines UDF's zu lösen, würde man in der Praxis so wahrscheinlich nicht machen, aber nur um mal ein Verständnis davon zu bekommen. Gruß und schönes Wochenende Olaf ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pro/Steffen Mitglied Konstrukteur
Beiträge: 228 Registriert: 15.03.2002 ProE-WF M210
|
erstellt am: 27. Apr. 2003 02:10 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Stefan, erstmal vielen vielen Dank, dass Du Dir dieses Thema antust. Ich habe mir gerade kurz Deine Excel-Tabelle angeguckt, und festgetellt, dass Deine Tranformationsmatrix exakt mit der heute Nachmittag von mir aufgestellten übereinstimmt, Du hast in der Reihenfolge Rotation-Z-Achse; Rotation-Y-Achse; Rotation-X-Achse miteinander multipliziert. Allerdings funzt die "Rückrechnung" noch nicht vollständig- und die macht mir übrigens auch kräftig Kopfzerbrechen... Insbesondere bei den 90°-Winkeln wird meistenteils eben nur der Y-Winkel richtig berechnet. z.B: 0 0 1 0 1 0 1 0 0 oder 0 0 0 0 0 -1 -1 0 0 oder 0 1 0 0 0 1 1 0 0 .... Also wie schon geschrieben Danke erstmal, ich werde weiter forschen. Schoenes Restwochenende Steffen ------------------ ***Pro/Steffen*** Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
philippe_hay Mitglied konstrukteur
Beiträge: 117 Registriert: 22.08.2002
|
erstellt am: 27. Apr. 2003 14:59 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo, Interessante thema. @Stefan, super job deine exell tabelle. Ich habe eine kleine programme geschreibt ( tcl Tk script ), es lauft unter Linux, für Windows muß man tcl tk installieren und der script ausruffen mit der Wish application. Der Programm ist sehr einfach im moment. Vielleicht könnte man in zukunft datei lesen und schreiben, sogar mapkey oder trail datei Schreiben für ProE Die datei matrix.txt ist das programm, einfach kopieren unter matrix.tcl Grüß
Philippe [Diese Nachricht wurde von philippe_hay am 27. April 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PRO-sbehr Mitglied Dipl.-Ing. Konstruktion
Beiträge: 1132 Registriert: 05.07.2002 Lenovo ThinkStation P500 Intel Xeon CPU E5-1620 v3 Grafik: Nvidia Quadro K2200 Windows 10 Enterprise 64-bit Creo Parametric 4.0 (M030) (NX 11)
|
erstellt am: 27. Apr. 2003 18:05 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Wie Steffen bereits geschrieben hat, gab es Probleme bei der Benutzung meiner Tabelle mit einigen Spezialfällen. Ich habe nochmal ein wenig weiter getestet und auch an anderen Stellen in der Tabelle Fehler gefunden. Daher hier nochmal eine korrigierte Tabelle. Diese Tabelle müßte für alle Drehungen korrekte Werte liefern, bis auf die vier Spezialfälle einer Drehung um 90°, -90°, 270° und -270° um die Y-Achse. Hierbei gäbe es nach den Formeln eine Division durch Null, daher das Problem. Leider habe ich für diese Fälle noch keine Lösung. Dafür bietet die neue Tabelle die Anzeige aller möglichen Verdrehwinkel um das gewünschte Ergebnis zu erhalten. Die verschiedenen Lösungen folgen aus dem Umstand das es jeweils für zwei Winkel den gleichen Sinus- bzw. Cosinus-Wert gibt. Zu den Spezialfällen: Es scheint bei einer rechtwinkligen Drehung um die Y-Achse (90°,-90°,270°,-270°) quasi unendlich viele Winkelkombinationen von alpha und gamma zu geben, welche die gleiche Matrix zur Folge haben. Beispiel 0,000000 -0,866025 0,500000 0,000000 0,500000 0,866025 -1,000000 0,000000 0,000000 Diese Matrix kann man erzeugen durch alpha = 1° , gamma = 61° alpha = 2° , gamma = 62° alpha = 3° , gamma = 63° usw.. Aber vielleicht gibt es ja auch hierfür eine Lösung. @Steffen: Danke für den Test und die Rückmeldung @Philippe: Auch Dir danke für die Umsetzung der Formeln in Dein Programm. Gruß Stefan ------------------ Pro/bleme sind endlich in der Unendlichkeit der Hoffnung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pro/Steffen Mitglied Konstrukteur
Beiträge: 228 Registriert: 15.03.2002 ProE-WF M210
|
erstellt am: 27. Apr. 2003 22:36 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Zusammen, Erstmal vielen vielen Dank - hab mal wieder 'ne Menge gelernt und bin überzeugt dass wir frueher oder später eine gute Lösung für das Problem finden werden! Vielen Dank an Stefan und Philippe, beide Lösungen finde ich echt schick !!! Naja, das ist dann wohl so eine Sache mit den Transformationen. Eine "eindeutige Gleichungslösung" gibt es nicht. Fuer einige Transformationsmatritzen gibt es mehr als eine Drehwinkellösung. So kann mann beispielsweise eine Transformation von: 0 0 1 0 1 0 -1 0 0 mit alpha=90°;beta=90°;gamma=90° oder auch mit alpha=0°;beta=90°;gamma=0° erreichen. Aber eine der Loesungen reicht mir ja schon ..., Erstmal behelfe ich mir mit Mathematica; Gleichungsloesen mit z.B.: X1 = 0 Y1 = 1 Z1 = 0 X2 = -1 Y2 = 0 Z2 = 0 X3 = 0 Y3 = 0 Z3 = 1 Solve[ {Cos[Beta] Cos[Gamma] == X1, Cos[Gamma] Sin[Alpha] Sin[Beta] - Cos[Alpha] Sin[Gamma] == X2, Cos[Alpha] Cos[Gamma] Sin[Beta] + Sin[Alpha] Sin[Gamma] == X3, Cos[Beta] Sin[Gamma] == Y1, Cos[Alpha] Cos[Gamma] + Sin[Alpha] Sin[Beta] Sin[Gamma] == Y2, -Cos[Gamma] Sin[Alpha] + Cos[Alpha] Sin[Beta] Sin[Gamma] == Y3, -Sin[Beta] == Z1, Cos[Beta] Sin[Alpha] == Z2, Cos[Alpha] Cos[Beta] == Z3}, {Alpha, Beta, Gamma}] Mathematica weißt darauf hin, dass durch die Nutzung der Inverse-Funktionen wahrscheinlich einige Lösungen nicht gefunden werden. Habe ich auch schon wenige Beispiele gefunden, wo dies zutrifft. Damit das ganze richtig laeuft muss dann wahrscheinlich eine Auswahllogik fuer die Gleichungssystemverkleinerung rein. ... aber erst naechstes Wochenende ... Gruß Steffen ------------------ ***Pro/Steffen*** Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PRO-sbehr Mitglied Dipl.-Ing. Konstruktion
Beiträge: 1132 Registriert: 05.07.2002 Lenovo ThinkStation P500 Intel Xeon CPU E5-1620 v3 Grafik: Nvidia Quadro K2200 Windows 10 Enterprise 64-bit Creo Parametric 4.0 (M030) (NX 11)
|
erstellt am: 01. Mai. 2003 07:23 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Zitat: Original erstellt von Pro/Steffen: Mathematica weißt darauf hin, dass durch die Nutzung der Inverse-Funktionen wahrscheinlich einige Lösungen nicht gefunden werden. Habe ich auch schon wenige Beispiele gefunden, wo dies zutrifft. Damit das ganze richtig laeuft muss dann wahrscheinlich eine Auswahllogik fuer die Gleichungssystemverkleinerung rein. ... aber erst naechstes Wochenende ...Gruß Steffen
@Steffen genau das oben beschriebene Problem habe ich in meiner letzten Exceltabelle abgefangen. Aufgrund dessen daß es für zwei unterschiedliche Winkel, den gleichen Sinus- bzw. Cosinuswert gibt kann es bis zu 8 unterschiedliche Lösungen geben. Jedoch erst mit einer Rückrechnung kann die korrekte Lösung gefunden werden. Hierfür bestimme ich aus den ausgerechneten Winkeln erneut die Transformationsmatrix und vergleiche diese mit der eingegebenen Matrix. Nur wenn beide übereinstimmen sind die richtigen Winkel gefunden. Auch das Problem mit den 90°-Drehungen um die Y-Achse habe ich inzwischen gelöst. Bei einer Drehung um 90° um die Y-Achse erzeugt Pro/E grundsätzlich folgendes Koordinatensystem: Drehung um X-Achse = 0 Drehung um Y-Achse = 90° Drehung um Z-Achse = (gamma-alpha) d.h. Drehung1 (0°,90°,80°) ist identisch mit Drehung2 (40°,90°,120°) und Drehung3 (50°,90°,130°) etc. (Dies könnte ich jetzt beliebig fortsetzen mit Winkel (gamma-alpha)=80° und für jede andere Kombination gilt das gleiche). Ich hoffe das war verständlich ;-) Dieses Phänomen habe ich übrigens in Pro/E ausgetestet und bestätigt gefunden. Im Anhang nun nochmals eine ergänzte Exceltabelle. Grundsätzlich ist zu sagen, daß in der Exceltabelle Rundungsprobleme auftreten können, da ja auch schon die eingegebene Matrix nur gerundete Werte aufweist. Gruß Stefan ------------------ Pro/bleme sind endlich in der Unendlichkeit der Hoffnung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
os Ehrenmitglied V.I.P. h.c. Konstruktionsingenieur
Beiträge: 2458 Registriert: 16.09.2002 2001,WF,WF2...
|
erstellt am: 01. Mai. 2003 14:44 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Klasse deine Tabelle!!! Ich hab's mal getestet. Habe mal ein wild erzeugtes Csys erstellt, davon die Transformationsmatrix ausgelesen und in deine Tabelle eingetippt. Anschließend habe ich ein neues Csys erstellt, mit Drehung x,y,z mit den errechneten Werten, und siehe da es ist deckungsgleich mit dem zuvor erzeugten. Nun meine Frage: Was müsste ich in der Tabelle ändern, um die Drehreihenfolge auf, z.B. yzx oder zxy...., wie du schon sagtest, acht Möglichkeiten um zum Ziel zu kommen, zu ändern. Hatte mir schon das alte Studienskript über Vektorrechnung zurechtgelegt, aber es ist erster Mai und das Wandern ist vorbei. Gruß Olaf ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PRO-sbehr Mitglied Dipl.-Ing. Konstruktion
Beiträge: 1132 Registriert: 05.07.2002 Lenovo ThinkStation P500 Intel Xeon CPU E5-1620 v3 Grafik: Nvidia Quadro K2200 Windows 10 Enterprise 64-bit Creo Parametric 4.0 (M030) (NX 11)
|
erstellt am: 02. Mai. 2003 18:10 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Olaf, die acht Möglichkeiten die ich erwähnt habe beziehen sich nur auf die mathematische Lösung des Problems für eine! Drehreihenfolge. Für die Drehreihenfolge gibt es insgesamt 6 Möglichkeiten: 1. x - y - z 2. y - z - x 3. z - x - y 4. z - y - x 5. y - x - z 6. x - z - y Ich habe die anderen Drehfolgen noch nicht ausgetestet bzw. mathematisch bestimmt. Wenn ich mich aber recht an mein kurzes Mathestudium zurückerinnere sind für die verschiedenen Drehreihenfolgen nur die Spalten der Transformationsmatrix zu vertauschen. Matrix 1 Spalte 1 Spalte 2 Spalte 3 x - y - z Matrix 2 Spalte 2 Spalte 3 Spalte 1 ? - ? - ? Matrix 3 Spalte 3 Spalte 1 Spalte 2 ? - ? - ? Matrix 4 Spalte 1 Spalte 3 Spalte 2 ? - ? - ? Matrix 5 Spalte 2 Spalte 1 Spalte 3 ? - ? - ? Matrix 6 Spalte 3 Spalte 2 Spalte 1 ? - ? - ? Im Ergebnis der Exceltabelle sind die Winkel noch entsprechend zu tauschen. Aber wie gesagt dies habe ich noch nicht weiter getestet. Vielleicht hilft es aber ja dem einen oder anderen weiter oder vielleicht testet dies mal einer in Pro/E und gibt mir die entsprechenden Ergebnisse durch. Die Tabelle werde ich dann noch entsprechend erweitern. Gruß Stefan ------------------ Pro/bleme sind endlich in der Unendlichkeit der Hoffnung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
os Ehrenmitglied V.I.P. h.c. Konstruktionsingenieur
Beiträge: 2458 Registriert: 16.09.2002 2001,WF,WF2...
|
erstellt am: 03. Mai. 2003 07:13 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
|
os Ehrenmitglied V.I.P. h.c. Konstruktionsingenieur
Beiträge: 2458 Registriert: 16.09.2002 2001,WF,WF2...
|
erstellt am: 04. Mai. 2003 13:32 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Jetzt mal von der rein praktischen Seite gesehen. Warum muß ich eigntlich alle drei Vektoren benutzen, um die Matrix auf "Null" zu stellen. Zwei mal drehen reicht voll und ganz. Einmal zurück in die Ebene, dann zurück um den Ebenenwinkel. Aber wie komm ich dahin. Ich habs interaktiv gelöst, über Analyse-KE's, d.h. ich hab einen Winkel gegenüber dem Ursprung gemessen, ein Csys erzeugt, erneut gemessen, ein weiteres Csys erzeugt, und zurückgedreht. Transform gemessen war konform. Gruß Olaf
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pro/Steffen Mitglied Konstrukteur
Beiträge: 228 Registriert: 15.03.2002 ProE-WF M210
|
erstellt am: 04. Mai. 2003 15:05 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Stephan, leider hat mich die böse Grippe erwischt, deshalb erst jetzt Antwort. Deine Idee mit "Rückrechnung überprüfen" finde ich echt genial - ein sehr praktischer Weg. Ich habe wohl zu sehr nach der "eindeutigen" Lösung gesucht. Werde Deine Excel-Tabelle nochmal auf "Herz-und-Nieren" prüfen und Dir dann berichten. Reichlich U's sind Dir jedenfalls sicher !! Ach so, das mit dem "Spalten vertauschen" scheint nicht so einfach zu funktionieren. Beim Multiplizieren entstehn zwar gleiche Therme, die sich jedoch in Reihe und Spalte verschieben. Hallo Olaf, wenn Du die Reihenfolge-Verschiebung näher beleuchten willst, noch einige Tips: Es gibt Transformationsmatritzen die für die 3 Drehungsarten: Rotation um X-Achse (Rx): 1 0 0 0 cos(alpha) -sin(alpha) 0 sin(alpha) cos(alpha) Rotation um Y-Achse (Ry): cos(beta) 0 sin(beta) 0 1 0 -sin(beta) 0 cos(beta) Rotation um Z-Achse (Rz): cos(gamma) -sin(gamma) 0 sin(gamma) cos(gamma) 0 0 0 1 Diese werden beim Drehen in umgekehrter Reihenfolge multipiziert; für unser Beispiel (x,y,z-Achse) also Rz*Ry*Rx.
Für andere Reihenfolgen entstehen also andere Transformationsmatritzen. Ich finde es günstig sich auf diese einheitliche Form der Drehungsreihenfolge zu einigen. Gruß Steffen ------------------ ***Pro/Steffen***
[Diese Nachricht wurde von Pro/Steffen am 04. Mai 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PRO-sbehr Mitglied Dipl.-Ing. Konstruktion
Beiträge: 1132 Registriert: 05.07.2002 Lenovo ThinkStation P500 Intel Xeon CPU E5-1620 v3 Grafik: Nvidia Quadro K2200 Windows 10 Enterprise 64-bit Creo Parametric 4.0 (M030) (NX 11)
|
erstellt am: 04. Mai. 2003 16:29 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo zusammen Hallo Olaf, zu Deiner Frage warum wir alle drei Vektoren verwenden. Das Ziel ist bei den Meisten nicht das KO-System auf Null zurückzudrehen. Das Problem ist normalerweise, daß ich ein Teil erhalte in dem das zweite Koordinatensystem über "from File" auf das erste KO-System referenziert wurde. Das "from File"-KO-System kann ich also nicht ohne weiteres ändern. Ich möchte dieses KO-System daher umändern in ein "offset"-KO-System mit Referenz auf das erste. Hierfür benötige ich aber alle drei Vektoren. Übrigens ein einfaches auf Null zurückdrehen kann ich auch dadurch erreichen, daß ich die Transformationsmatrix transponiere, also die erste Spalte zur ersten Zeile, zweite Spalte zur zweiten Zeile und dritte Spalte zur dritten Zeile umändere und dann auf das zweite KO-System referenziere. Hallo Steffen, die Spaltenvertauschung müßte aus folgendem Grund funktionieren (Beispiel zxy- statt xyz-Drehung): 1. Zunächst KO-System um y-Achse -90° und anschließend um z-Achse -90° 2. Danach Drehung um x-Achse (mit ursprünglichem gamma-Wert), danach Drehung um y-Achse (mit ursprünglichem alpha-Wert), danach Drehung um z-Achse (mit ursprünglichem beta-Wert). Dies hat mathematisch zur Folge: Matrix 2 x Matrix 1 = Matrix 3 a b c 0 1 0 c a b d e f x 0 0 1 = f d e g h i 1 0 0 i g h Matrix 2 (hiermit müssen wir rechnen) und Matrix 3 (dies ist unsere Matrix, die uns ProE gibt) sind also nur in der Spaltenreihenfolge verändert. Aus Matrix 2 erhalte ich dann mit unseren bisherigen Rechenmethoden die Winkel alpha, beta und gamma. Da ich die Drehreichenfolge geändert habe entspricht aber mein errechnetes alpha dem ursprünglichen gamma errechnetes beta dem ursprünglichen alpha errechnetes gamma dem ursprünglichen beta Gruß Stefan ------------------ Pro/bleme sind endlich in der Unendlichkeit der Hoffnung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pro/Steffen Mitglied Konstrukteur
Beiträge: 228 Registriert: 15.03.2002 ProE-WF M210
|
erstellt am: 04. Mai. 2003 19:37 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Stephan, wieder habe ich mich von der Theorie beeinflussen lassen: die Multiplikation von Rz*Ry*Rx im Gegensatz zu Ry*Rx*Rz ergibt nähmlich eine Spalten- wie auch Reihenverschiedene Anordung der Lösungstherme. Nimmt man allerdings wie Du hier die bereits berechntete Transformationsmatrix wird das ganze wahrscheinlich nach der "Spaltenregel" ablaufen. Krieg das bloß nicht in den falschen Hals- Deine Excel-Lösung ist SUPER ! Ich habe nur eine einzige Transformationsmatrix gefunden mit der keine Lösung gefunden wurde: 0 1 0 0 0 1 1 0 0 (z.B. alpha=0;beta=90°;gamma=90°) Hab mich mit dem Grund noch nicht näher beschäftigt. Also nochmal Vielen Vielen Dank !! Gruß Steffen ------------------ ***Pro/Steffen*** Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PRO-sbehr Mitglied Dipl.-Ing. Konstruktion
Beiträge: 1132 Registriert: 05.07.2002 Lenovo ThinkStation P500 Intel Xeon CPU E5-1620 v3 Grafik: Nvidia Quadro K2200 Windows 10 Enterprise 64-bit Creo Parametric 4.0 (M030) (NX 11)
|
erstellt am: 05. Mai. 2003 07:57 <-- editieren / zitieren --> Unities abgeben: Nur für Johann Heim
Hallo Steffen, keine Panik mit dem falschen Hals, ich habe doch um Hilfe gebeten und danke Dir deswegen auch ganz herzlich dafür, insbesondere da Pro/E tatsächlich nach Deiner Version vorgeht. Daher hier Lösung für z - x - y: Matrix entstanden aus Drehung z, x, y a b c d e f g h i 3. Spalte nach vorne setzen 3. Zeile nach vorne setzen i g h c a b f d e Diese Matrix ins Excelblatt eintragen Excel liefert Lösung: Winkel alpha Winkel beta Winkel gamma tatsächliche Lösung: Winkel gamma Winkel alpha Winkel beta Lösung für y - z - x: Matrix entstanden aus Drehung y, z, x a b c d e f g h i 1. Spalte nach hinten setzen 1. Zeile nach hinten setzen e f d h i g b c a Diese Matrix ins Excelblatt eintragen Excel liefert Lösung: Winkel alpha Winkel beta Winkel gamma tatsächliche Lösung: Winkel beta Winkel gamma Winkel alpha Das Problem mit Deiner Matrix
0 1 0 0 0 1 1 0 0 schaue ich mir nochmal an. Lösung folgt. Gruß Stefan ------------------ Pro/bleme sind endlich in der Unendlichkeit der Hoffnung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|