| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Komponententransformation absolut festlegen (1094 mal gelesen)
|
romanoir2005 Mitglied
Beiträge: 62 Registriert: 22.02.2005
|
erstellt am: 11. Dez. 2013 12:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Gemeinde, ich möchte die Orientierung einer Komponente innerhalb ihrer Elternkomponente festlegen. Dazu habe ich mir den Translationsvektor und die Rotationsmatrix errechnet. Ich möchte jetzt keine umständlichen Constraints verwenden, sondern eigentlich nur noch der Komponete mitteilen daß sie eben diese Werte einfach nehmen soll. Hier hänge ich gerade, denn die mir bekannten Möglichkeiten zur Positionierung via ComponentAssembly.MoveComponent, sowie der Ansatz über positioning.network.dragbytransform gehen alle von der aktuellen Position aus (die bereits gedreht worden sein kann) und führen nur eine zusätzliche Transformation durch. Was ich suche ist eine Möglichkeit die endgültige Position/Orientierung festzulegen. Ich habe noch ein Component.GetPostion gefunden, leider gibt es kein Component.SetPosition dazu, das wäre vielleicht das was ich brauche. Bin für jede Hilfe dankbar. Viele Grüße, r. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 07. Jan. 2014 12:19 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
Hallo romanoir2005, Du wirst m.E. nicht drumrum kommen, die Matrix der Komponente zu ermitteln, zu invertieren und damit die Komponente zu positionieren. Einerseits gibt NX die Funktion auch interaktiv nicht her, andererseits ist auch in NXOpen nichts zu finden, was ein direktes Positionieren ermöglicht. Gruß, Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
romanoir2005 Mitglied
Beiträge: 62 Registriert: 22.02.2005
|
erstellt am: 08. Jan. 2014 17:35 <-- editieren / zitieren --> Unities abgeben:
|
romanoir2005 Mitglied
Beiträge: 62 Registriert: 22.02.2005
|
erstellt am: 09. Jan. 2014 12:01 <-- editieren / zitieren --> Unities abgeben:
Leider für mich zu spät, aber eben ist mir doch noch eine andere Möglichkeit eingefallen: Wenn ich die Komponente rausschmeisse und dann wieder mittels ComponentAssembly.AddComponent einfüge, dann kann ich hier eine Rotationsmatrix und einen Ursprung mitgeben. Müsste eigentlich funktionnieren. Viele Grüße, r. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 09. Jan. 2014 13:27 <-- editieren / zitieren --> Unities abgeben: Nur für romanoir2005
Das wird funktionieren, keine Sorge. Neu einsetzen ist aber was anderes als eine vorhandene Komponente zu bearbeiten. Falls es z.B. irgendwelche Assoziativitäten gegeben hat, die erhalten werden sollen, hast Du zwar ein Problem gelöst, Dir dafür ein anderes eingehandelt. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |