Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Koordinaten von Komponente in Baugruppe mappen

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  Koordinaten von Komponente in Baugruppe mappen (1454 mal gelesen)
MAhrens
Mitglied
Dipl.-Ing.


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

Beiträge: 528
Registriert: 17.11.2000

erstellt am: 18. Jun. 2013 11:20    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

Hallo UGOpen Spezis,

ich arbeite derzeit an einer automatischen PMI Beschriftungsfunktion für das NX Routing Logical im UGOpen VB .NET Journal. In diesem journal muss ich die Koordinaten eines Punktes, welcher in der Komponente vorhanden ist, in den 3D Raum des dargestellten Teils bzw. der Baugruppe mappen. Die Koordinaten des Punktes im Bezug auf das Koordinatensystem der Komponente habe ich schon ermittelt. Nun hänge ich gerade an der Umrechnung in das Koordinatensystem der Baugruppe. Hier habe ich bisher Versuche mit dem folgenden GTAC Beispiel durchgeführt:
...
Sample NX Open .NET Visual Basic routine : map point from csys to absolute
...
Sub mapCsys2Abs(ByVal csys As CartesianCoordinateSystem, ByRef vec() As Double)
Dim old_csys As CartesianCoordinateSystem = s.Parts.Work.WCS.SetCoordinateSystem(csys)
Dim newvec(2) As Double
ufs.Csys.MapPoint(UFConstants.UF_CSYS_ROOT_WCS_COORDS, vec, UFConstants.UF_CSYS_ROOT_COORDS, newvec)
s.Parts.Work.WCS.SetCoordinateSystem(old_csys)
End Sub

ich bekomme nun zwar die Koordinaten gemapped, jedoch bleibt am Ende ein CSYS stehen, welches ich immer manuell entfernen muss.

Gibt es keine anderen Möglichkeiten Koordinaten aus dem Arbeitsraum einer Komponente in den Arbeitsraum der Baugruppe zu transformieren? Mit der UFS Klasse Trns bzw. ufs.Trns.MapPosition bin ich bisher nicht weitergekommen.

Ich stehe derzeit völlig auf dem Schlauch.

Kann mir jemand einen Code Schnippsel zukommen lassen?

Gruß

Matthias

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

mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


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

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 18. Jun. 2013 12:39    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 Nur für MAhrens 10 Unities + Antwort hilfreich

Hallo Matthias,

unter UF_TRNS gibt's eine Mapping- Funktion, die mit einer Matrix arbeitet. Die kann unter UF_MTX4 aus zwei Positionen und den zugehörigen Vektoren berechnet werden. Das funktioniert ohne temporäre Koordinatensysteme.

Gruß, Michael

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



Ingenieur (m/w/d) Bauplanung

Mit einem 3.700 Kilometer langen Pipeline-Netz ist GASCADE einer der größten Betreiber von Ferngasleitungen in Deutschland. Unsere Infrastruktur dient als Drehscheibe im europäischen Gastransport und verbindet Lieferanten mit den Kunden aus dem In- und Ausland.

Wir suchen zum nächstmöglichen Termin für den Fachbereich Ingenieurtechnik einen engagierten Mitarbeiter (m/w/d) am Standort Kassel ...

Anzeige ansehenBauwesen
MAhrens
Mitglied
Dipl.-Ing.


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

Beiträge: 528
Registriert: 17.11.2000

erstellt am: 24. Jun. 2013 08:27    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

Hallo Michael,

danke für Deine Anregung. Manchmal sieht man den Wald vor lauter Bäumen nicht.

Ich habe das ganz nun wie folgt gelöst:
1. Ermittlung der Werte (zweidimensonales Double Array [3,3])der Transformationsmatrix (4x4) der Komponente mittels ufs.Assem.AskComponentData()
2. Erzeugung einer Transformationsmatrix (4x3) für das Punkte Mapping. Hierzu muss man die ersten drei Zeilen ([0,0]->[0,3] => [2,0]->[2,3]) der 4x4 Matrize in einen eindimensionales Double Array [11] kopieren. Vergleiche hierzu die notes für  UF_ASSEM_ask_component_data() in uf_assem.h.
3. Diese 4x3 Matrix kann man nun in der Funktion ufs.Trns.MapPosition() einsetzen um dreiachsige Punktkoordinaten aus dem Koordinatensystem der Komponente in das Koordinatensystem der Baugruppe überführen zu können.

Gruß

Matthias

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