| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Punkte aus Datei (1521 mal gelesen)
|
Teepo Mitglied Student
Beiträge: 26 Registriert: 07.07.2014 NX 10.0
|
erstellt am: 09. Sep. 2014 12:40 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum wie aus der Überschrift hervorgeht würde ich gerne Punkte aus einer Datei auslesen. Ich weiß, dass es diese Funktion in NX bereits gibt, allerdings möchte ich zusätzlich noch, dass bestimmte Punkte durch jeweils eine Linie verbunden werden. Ich habe immer mal wieder Codeschnipsel entdeckt, die mir aber leider nicht viel geholfen haben. Hat jemand so einen Beispiel-Code für die Punkteimport-Funktion? Java wäre super, aber ich bin für alle Tipps dankbar. Da ich Programmieranfänger bin, helfen mir auch die Infos über Session-Befehle. Die sehe ich auch immer aber weiß wenig damit anzufangen. freundliche Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias-p Moderator Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 09. Sep. 2014 13:22 <-- editieren / zitieren --> Unities abgeben: Nur für Teepo
Hallo Teepo, dafür müssten wir ja auch erstmal wissen, wie dein Dateiformat zum lesen aussieht... Um in das Ganze mal reinzukommen, kann man sich auch einfach mal ein Journal aufzeichnen und eine Linie zeichnen. So kann man dann einfach auf Basis des Journals das auslesen der Datei noch mit implementieren.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Teepo Mitglied Student
Beiträge: 26 Registriert: 07.07.2014 NX 10.0
|
erstellt am: 09. Sep. 2014 17:39 <-- editieren / zitieren --> Unities abgeben:
Mir würde schon das Beispiel irgendeines Datenformats reichen über mehrere Punkte und Kanten. Ich könnte ggf. dann meine Datei in diese umformen. Hänge mal aber trotzdem meine Datei an. Mit Journal komme ich nur bedingt weiter, da eine riesige Textmenge rauskommt. edit: wenn ich über "Insert->Curve->Spline->Through Points->points from file" gehe, dann steht im journal lediglich " Dialog Begin Spline Through Points" und nicht wie das importieren stattfindet. [Diese Nachricht wurde von Teepo am 10. Sep. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Klebe Mitglied
Beiträge: 21 Registriert: 26.08.2014
|
erstellt am: 10. Sep. 2014 15:18 <-- editieren / zitieren --> Unities abgeben: Nur für Teepo
Hallo, habe in einem anderen Forum ein Beispiel gefunden. Vielleicht hilft es Dir weiter. Grüsse Code: Option Strict Off Imports System Imports System.IO Imports System.Windows.Forms Imports NXOpen Imports NXOpen.UF Module Module1 Dim ufs As UFSession = UFSession.GetUFSession Sub Main() Dim openFileDialog1 As New OpenFileDialog() openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" openFileDialog1.FilterIndex = 1 openFileDialog1.RestoreDirectory = True If openFileDialog1.ShowDialog() = DialogResult.OK Then Dim theSession As Session = Session.GetSession() Dim workPart As Part = theSession.Parts.Work Dim line As String Dim startPoint As Point3d = nothing Dim endPoint As Point3d Dim i As Integer = 0 Dim firstPass as Boolean = True Dim delim As Char() = {","c} Dim USculture As system.globalization.CultureInfo = New System.Globalization.CultureInfo("en-US") Using sr As StreamReader = New StreamReader(openFileDialog1.FileName) Try line = sr.ReadLine() While Not line Is Nothing Dim strings As String() = line.Split(delim) endPoint.x = Double.Parse(strings(0), USculture) endPoint.y = Double.Parse(strings(1), USCulture) endPoint.z = Double.Parse(strings(2), USCulture) endPoint = Abs2WCS(endPoint) If firstPass Then firstPass = False Else 'create a line from startpoint to endpoint workPart.Curves.CreateLine(startPoint, endPoint) End If startPoint = endPoint line = sr.ReadLine() End While Catch E As Exception MessageBox.Show(E.Message) End Try End Using End If End Sub '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 'Date: 11/18/2010 'Subject: Sample NX Open .NET Visual Basic routine : map point from absolute to wcs ' 'Note: function taken from GTAC example code Function Abs2WCS(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_COORDS, pt1, _ UFConstants.UF_CSYS_ROOT_WCS_COORDS, pt2) Abs2WCS.X = pt2(0) Abs2WCS.Y = pt2(1) Abs2WCS.Z = pt2(2) End Function '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Public Function GetUnloadOption(ByVal dummy As String) As Integer 'Unloads the image when the NX session terminates GetUnloadOption = NXOpen.Session.LibraryUnloadOption.AtTermination End Function End Module
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| |
Teepo Mitglied Student
Beiträge: 26 Registriert: 07.07.2014 NX 10.0
|
erstellt am: 23. Sep. 2014 17:07 <-- editieren / zitieren --> Unities abgeben:
|