| | |
 | Additiv Herbsttagung | 22. Oktober 2026 | KSB SE & Co. KG, Pegnitz Termin: in 4 Wochen |
| | |
 | NX CAM Basis Training , ein Seminar am 12.10.2026
|
|
Autor
|
Thema: Punkte relativ zum WCS erzeugen (1214 mal gelesen)
|
uger Mitglied CADler & Kinematiker
   
 Beiträge: 1135 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: 1135 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: 1135 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
|

| | Meister/Techniker in der Sekundärtechnik Eplan und Dokumentation (m/w/d) | | Die Regionetz GmbH ist der Netzbetreiber der Stadt Aachen, der Städteregion Aachen sowie in Teilen der Kreise Düren und Heinsberg. Als Tochtergesellschaft der STAWAG, Stadtwerke Aachen Aktiengesellschaft, und der EWV Energie- und Wasser-Versorgung GmbH bündeln wir alle Aufgaben rund um den Bau und Betrieb von Netzen und Anlagen und sorgen so für eine zuverlässige Infrastruktur in einem Großraum mit weit über 700.... | | Anzeige ansehen | Feste Anstellung |
|
uger Mitglied CADler & Kinematiker
   
 Beiträge: 1135 Registriert: 25.02.2003 NX10 WIN7 64Bit
|
erstellt am: 24. Mrz. 2014 11:49 <-- editieren / zitieren --> Unities abgeben:         
|