Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Punkte relativ zum WCS erzeugen

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:  Punkte relativ zum WCS erzeugen (977 mal gelesen)
uger
Mitglied
CADler & Kinematiker


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

Beiträge: 1115
Registriert: 25.02.2003

NX10
WIN7 64Bit

erstellt am: 19. Mrz. 2014 07:16    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 zusammen!
Ich habe eine Datei in der sich Punktkoordinaten befinden. Diese will ich in NX einlesen und im WCS erzeugen lassen. Ich habe das VB-Beispiel, welches sich in ...\NX75\UGOPEN\SampleNXOpenApplications\.NET\File2Points befindet, angepasst.

Ergebnis: Punkte werden eingelesen und erzeugt.
ABER leider relativ zum absoluten Koordinatensystem. Ich möchte sie im WCS (welches relativ zum absoluten Koordinatensystem verdreht und verschoben wurde) erzeugen.

Frage: Wie muss ich das Script verändern damit die Punkte relativ zum WCS erzeugt werden?

Auschnitt Quellcode:

Code:

Dim pt As Point3d
Dim delim As Char () = { ","C }
Dim strings As String () = line.Split(delim)
pt.x = Double.Parse(strings(0),provider)
pt.y = Double.Parse(strings(1),provider)
pt.z = Double.Parse(strings(2),provider)

Dim p As Point
p = session.Parts.Work.Points.CreatePoint(pt)


------------------

Deine Wahrnehmung bestimmt deine Realität!

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

wipc3d59
Mitglied
CAD Administrator


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

Beiträge: 66
Registriert: 24.06.2008

NX11.0.2.7 MP13
NX1899 Test
ECTR 4.6 DSC Software AG
Windows 10
HP Workstation z4
Intel Xeon W-2135 3,7GHz
32 GB Ram, Nvidia Quadro P4000

erstellt am: 19. Mrz. 2014 14:49    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 uger 10 Unities + Antwort hilfreich

Hallo uger,

ich hatte mal das gleiche Problem. Bei mir funktionierts so:

Dim pt As Point3d
Dim delim As Char () = { ","C }
Dim strings As String () = line.Split(delim)
pt.x = Double.Parse(strings(0),provider)
pt.y = Double.Parse(strings(1),provider)
pt.z = Double.Parse(strings(2),provider)

Dim ptwcs As Point3d = WCS2Abs(pt)

Dim p As Point
p = session.Parts.Work.Points.CreatePoint(ptwcs)

-------

Function WCS2Abs(ByVal inPt As Point3d) As Point3d
        Dim pt1(2), pt2(2) As Double

        pt1(0) = inPt.X
        pt1(1) = inPt.Y
        pt1(2) = inPt.Z

        ufs.Csys.MapPoint(UFConstants.UF_CSYS_ROOT_WCS_COORDS, pt1, _
            UFConstants.UF_CSYS_ROOT_COORDS, pt2)

        WCS2Abs.X = pt2(0)
        WCS2Abs.Y = pt2(1)
        WCS2Abs.Z = pt2(2)

    End Function

Gruß Thorsten

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

uger
Mitglied
CADler & Kinematiker


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

Beiträge: 1115
Registriert: 25.02.2003

NX10
WIN7 64Bit

erstellt am: 21. Mrz. 2014 15:38    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

Vielen Dank schon einmal. ABER....

Die Zeile mit

  ufs.Csys.MapPoint(UFConstants.UF_CSYS_ROOT_WCS_COORDS, pt1, _
            UFConstants.UF_CSYS_ROOT_COORDS, pt2)

wird angemeckert. Muss ich da noch irgendwelche Namespaces einbinden? Welche? Ich blick noch nicht durch und weiss nicht wie ich die Info in der NXOpen-Doku finden kann.


(ratloser) uger

------------------

Deine Wahrnehmung bestimmt deine Realität!

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

wipc3d59
Mitglied
CAD Administrator


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

Beiträge: 66
Registriert: 24.06.2008

NX11.0.2.7 MP13
NX1899 Test
ECTR 4.6 DSC Software AG
Windows 10
HP Workstation z4
Intel Xeon W-2135 3,7GHz
32 GB Ram, Nvidia Quadro P4000

erstellt am: 24. Mrz. 2014 08:21    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 uger 10 Unities + Antwort hilfreich

Hallo uger,

versuchs mal mit:

Imports NXOpen.UF

und

Function WCS2Abs(ByVal inPt As Point3d) As Point3d
        Dim pt1(2), pt2(2) As Double

        Dim ufs As UFSession = UFSession.GetUFSession()

        pt1(0) = inPt.X
        pt1(1) = inPt.Y
        pt1(2) = inPt.Z

        ufs.Csys.MapPoint(UFConstants.UF_CSYS_ROOT_WCS_COORDS, pt1, _
            UFConstants.UF_CSYS_ROOT_COORDS, pt2)

        WCS2Abs.X = pt2(0)
        WCS2Abs.Y = pt2(1)
        WCS2Abs.Z = pt2(2)

    End Function


Gruß Thorsten

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

uger
Mitglied
CADler & Kinematiker


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

Beiträge: 1115
Registriert: 25.02.2003

NX10
WIN7 64Bit

erstellt am: 24. Mrz. 2014 11:33    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

Ahhh, jetzt hab ich es gesehen
Code:
Dim ufs As UFSession = UFSession.GetUFSession()

Jetzt klappts auch, Danke


uger


------------------
 
Deine Wahrnehmung bestimmt deine Realität!

[Diese Nachricht wurde von uger am 24. Mrz. 2014 editiert.]

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

wipc3d59
Mitglied
CAD Administrator


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

Beiträge: 66
Registriert: 24.06.2008

NX11.0.2.7 MP13
NX1899 Test
ECTR 4.6 DSC Software AG
Windows 10
HP Workstation z4
Intel Xeon W-2135 3,7GHz
32 GB Ram, Nvidia Quadro P4000

erstellt am: 24. Mrz. 2014 11:37    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 uger 10 Unities + Antwort hilfreich

Hallo uger,

schau noch mal in die letzte Antwort.

In der Function habe ich noch etwas ergänzt:

Dim ufs As UFSession = UFSession.GetUFSession()

Gruß Thorsten

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



Entwicklungsingenieur im Anlagenbau (m/w/d)
Sich etwas Neues trauen, über sich hinauswachsen und dabei die Grenzen des Machbaren neu de?nieren. Genau das ist es, was unsere Mitarbeitenden täglich leben dürfen und sollen. Um mit unseren Innovationen das Tempo vorzugeben und Großartiges zu ermöglichen. Denn hinter jedem erfolgreichen Unternehmen stehen eine ganze Menge faszinierender Menschen.
Die Mitarbeitenden von ZEISS arbeiten in einem offenen und modernen Umfeld mit zahlreichen Entwicklungs- und Weiterbildungsmöglichkeiten....
Anzeige ansehenEntwicklung
uger
Mitglied
CADler & Kinematiker


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

Beiträge: 1115
Registriert: 25.02.2003

NX10
WIN7 64Bit

erstellt am: 24. Mrz. 2014 11:49    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

Ja, hab ich zu spät gesehen, meinen Beitrag dann editiert und dann hast Du mich überholt.

  Klappt aber super, vielen Dank.

uger

------------------

Deine Wahrnehmung bestimmt deine Realität!

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