Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Transformation Matrix

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Transformation Matrix (2685 mal gelesen)
MarkusK
Mitglied



Sehen Sie sich das Profil von MarkusK an!   Senden Sie eine Private Message an MarkusK  Schreiben Sie einen Gästebucheintrag für MarkusK

Beiträge: 130
Registriert: 09.08.2002

Dell Precision T5500
Intel Xenon X5560 4x 2,8 GHz
12 GB Ram
NVIDIA Quadro FX 3800
Win XP
Catia V5R19 SP3

erstellt am: 18. Jan. 2013 23:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Achsen.jpg

 
Hallo,

ich bin gerade dabei ein Makro zu erstellen, wo ich ein Part an einer bestimmten stelle plazieren möchte.
Ich habe ein Part (Schweißzange mit Achse) und möchte diese an ein Punkt (auch als Achse) setzen.
Dazu habe ich hier auch einige Beispiele und Erklärungen durchgelesen und mir auch das Beispiel von
Dassault "DMUPstCopyPasteKeepAbsolutePosition" als Vorlage genommen.

Die 1. Stufe geht auch schon ich schaffe es zu ermitteln in welchem Produkt die Zange liegt, und
ermittel mir dazu die absolute Lage dieses Produkts.(Transformationsmatrix der Zange/Quelle)
Dann ermittel ich die Lage der PunktAchse im Part, und die Absolute Lage dieses Parts.(Transformationsmatrix der Punkt/Ziel)
Wenn ich nun die Transformationsmatrix der Zange invertiere, also "rückwerts" gehen, und mit der
Matrix vom Punkt das Matrixprodukt erzeuge, kann ich das Zangenpart an den Punkt setzen.

Mein Problem ist nun dass die Achse der Zange nicht unbedingt im Nullpunkt des ZangenParts liegt.
Die Lage der Achse im Part ist kein Problem.
Im Makro aber versetze ich das Part an die stelle, also den Nullpunkt des Parts.
Ich schaffe es irgendwie nicht die Verschiebung mit der Achse.

Im Anhang habe ich mal ein Bild/Grafik was ich derzeit hinbekommt.
Die "rote" Aches soll die Zangenachse sein, welch sich nacher mit der Punktachse decken soll.
hinbekommen tu ich nur die Partachse auf die Punktachse

hier die Matrizzen-Umrechnungen welche.

                MatrixProduct PunktPosition, PunktKomponenteAbsolutPosition, PunktAbsolutPosition
                MatrixInverse ZangenParentAbsolutPosition, InverseZangenParentAbsolutPosition
                MatrixProduct PunktAbsolutPosition, InverseZangenParentAbsolutPosition, ZangenPosition
               
                Pos1.SetComponents ZangenPosition


Ich hoffe jemand kann mir helfen den Knoten den ich derzeit habe zu lösen.
Wie schaffe ich es das Zangenpart so zu verschieben, dass nicht der Nullpunkt auf dem Punkt liegt,
sondern die Achse der Zange.


------------------
Gruss Markus

[Diese Nachricht wurde von MarkusK am 18. Jan. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MarkusK
Mitglied



Sehen Sie sich das Profil von MarkusK an!   Senden Sie eine Private Message an MarkusK  Schreiben Sie einen Gästebucheintrag für MarkusK

Beiträge: 130
Registriert: 09.08.2002

Dell Precision T5500
Intel Xenon X5560 4x 2,8 GHz
12 GB Ram
NVIDIA Quadro FX 3800
Win XP
Catia V5R19 SP3

erstellt am: 19. Jan. 2013 09:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Achsen.jpg

 
Juhu,

mein Knoten hat sich gelöst,wie es oft so über Nacht.

Da die Achse in der Zange ja verschoben ist, darf ich die Zange ja nicht direkt auf den Punkt setzen,
sondern muss mir einen verschobenen Punkt (PunktStrich) ermitteln.
Dies mache ich in dem ich aus der inversen Tranformationsmatrix der ZangenAchse und der Transformationsmatrix
des Punktes das Produkt bilde.
Im Bild habe ich die Inverse der ZangenAchse am Punkt eingzeichnet und der neue (rote) Vektor zeigt vom
ZangenUrsprung auf den verschobenen PunktStrich.

hier die (Matrizzen) Berechnungen.

                MatrixInverse ZangenAchse, InverseZangenAchse
                MatrixProduct InverseZangenAchse, PunktPosition, PunktPositionStrich
               
                MatrixProduct PunktPositionStrich, PunktKomponenteAbsolutPosition, PunktAbsolutPosition
                MatrixInverse ZangenParentAbsolutPosition, InverseZangenParentAbsolutPosition
                MatrixProduct PunktAbsolutPosition, InverseZangenParentAbsolutPosition, ZangenPosition
               
                Pos1.SetComponents ZangenPosition

Trotzdem schon mal Danke an alle, und vielleicht hilft
das ja irgendwann mal jemand weiter.


------------------
Gruss Markus

[Diese Nachricht wurde von MarkusK am 19. Jan. 2013 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz