| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
 | Cyber-Security-Richtlinie NIS-2: Warum der Maschinenbau jetzt handeln muss, ein Webinar am 23.09.2025
|
Autor
|
Thema: Punkte relativ zum WCS erzeugen (1050 mal gelesen)
|
uger Mitglied CADler & Kinematiker
   
 Beiträge: 1133 Registriert: 25.02.2003 NX10 WIN7 64Bit
|
erstellt am: 19. Mrz. 2014 07:16 <-- editieren / zitieren --> Unities abgeben:         
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

 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 / zitieren --> Unities abgeben:          Nur für uger
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
   
 Beiträge: 1133 Registriert: 25.02.2003 NX10 WIN7 64Bit
|
erstellt am: 21. Mrz. 2014 15:38 <-- editieren / zitieren --> Unities abgeben:         
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

 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 / zitieren --> Unities abgeben:          Nur für uger
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
   
 Beiträge: 1133 Registriert: 25.02.2003 NX10 WIN7 64Bit
|
erstellt am: 24. Mrz. 2014 11:33 <-- editieren / zitieren --> Unities abgeben:         
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

 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 / zitieren --> Unities abgeben:          Nur für uger
|

| Helfer Formung (m/w/d) | OSI Europe ist ein führendes Unternehmen in der Nahrungsmittelindustrie, das sich auf die Herstellung hochwertiger Lebensmittelprodukte spezialisiert hat. Mit mehreren Produktionsstandorten in Europa und einem globalen Vertriebsnetzwerk, bieten wir erstklassige Lösungen für Kunden weltweit. Wir legen großen Wert auf Qualität, Sicherheit und Nachhaltigkeit in allen Produktionsprozessen, um die höchsten Standards zu gewährleisten.... | Anzeige ansehen | Feste Anstellung |
|
uger Mitglied CADler & Kinematiker
   
 Beiträge: 1133 Registriert: 25.02.2003 NX10 WIN7 64Bit
|
erstellt am: 24. Mrz. 2014 11:49 <-- editieren / zitieren --> Unities abgeben:         
|