| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Koordinaten aus Punkt auslesen (4506 mal gelesen)
|
Lila95 Mitglied Dipl.-Ing.
Beiträge: 31 Registriert: 19.08.2008
|
erstellt am: 17. Sep. 2008 14:50 <-- editieren / zitieren --> Unities abgeben:
Hallo mal wieder! Kann mir jemand verraten, wie ich einzelne Koordinaten aus einem Punkt auslesen kann? Möchte einen neuen Punkt erzeugen, der bis auf die z-Koordinate die gleichen Koordinaten hat wie die eines ermittelten Punkts. Merci im voraus! Alina Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 18. Sep. 2008 08:01 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
|
Overcast Mitglied
Beiträge: 111 Registriert: 21.12.2005 .
|
erstellt am: 24. Sep. 2008 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Da ich aus dem Fred nicht erkennen kann, welche API hier gefragt ist, poste ich einfach mal ein VB Beispiel UG/Answer: report_selected_point_relative_to_absolute_and_wcs.vb Code:
Option Strict OffImports System Imports System.Environment Imports NXOpen Imports NXOpen.UF Imports NXOpen.UI Imports NXOpen.Utilities Module MyPointConstruct Sub Main() Dim theSession As Session = Session.GetSession() Dim UFS As NXOpen.UF.UFSession Dim point_tag As NXOpen.Tag Dim AbsPt(2) As Double Dim WcsPt(2) As Double Dim response As Integer UFS = NXOpen.UF.UFSession.GetUFSession() UFS.Ui.LockUgAccess(NXOpen.UF.UFConstants.UF_UI_FROM_CUSTOM) UFS.Ui.PointConstruct("Select a Point", UFS.Ui.PointBaseMethod.PointNoMethod, point_tag, AbsPt, response) UFS.Ui.UnlockUgAccess(NXOpen.UF.UFConstants.UF_UI_FROM_CUSTOM) UFS.Csys.MapPoint(UFConstants.UF_CSYS_ROOT_COORDS, AbsPt, UFConstants.UF_CSYS_ROOT_WCS_COORDS, WcsPt) MsgBox("ABS X : " & AbsPt(0) & " Y : " & AbsPt(1) & " Z : " & AbsPt(2)) MsgBox("WCS X : " & WcsPt(0) & " Y : " & WcsPt(1) & " Z : " & WcsPt(2)) End Sub Public Function GetUnloadOption() As Integer Return Session.LibraryUnloadOption.Immediately End Function End Module
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Overcast Mitglied
Beiträge: 111 Registriert: 21.12.2005 .
|
erstellt am: 24. Sep. 2008 13:04 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Und hier eine einfache KF Variante, welche die genannten Methoden von älg benutzt: Code:
#! NX/KF 6.0DefClass: New_Class_Name (ug_base_part); (Point Modifiable) p: Point( 20, 30, 40 ); (Number Modifiable [mm]) px: LocalX( p:, "world?", FALSE, "inFrame", localFrame: ); (Number Modifiable [mm]) py: LocalY( p:, "world?", FALSE, "inFrame", localFrame: ); (Number Modifiable [mm]) pz: LocalZ( p:, "world?", FALSE, "inFrame", localFrame: );
Gruss, Frank. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lila95 Mitglied Dipl.-Ing.
Beiträge: 31 Registriert: 19.08.2008
|
erstellt am: 24. Sep. 2008 16:38 <-- editieren / zitieren --> Unities abgeben:
|
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 25. Sep. 2008 07:17 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
|
AnniR Mitglied MaschinenbauIngenierin
Beiträge: 9 Registriert: 30.01.2018 Siemens NX Catia V5
|
erstellt am: 04. Jul. 2018 12:00 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo Frank, Ich habe hier deinen Eintrag gesehen. Hast du vielleicht auch eine Lösung dafür, wenn man Punktkoordinaten verschiedener Punkte aus einem Part in eine Excel-Datei konvertieren möchte? Ich wäre über Hilfe sehr froh. Liebe Grüße Anni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 04. Jul. 2018 18:27 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo Anni, nimm' mal die Suchfunktion zu Hilfe und schau' nach points2file. Das ist ein kleines Journal, das hier schon mehrfach in verschiedenen Varianten besprochen wurde. Damit lassen sich Punkte tabellarisch in eine Textdatei schreiben. Von da aus ist es dann nur noch ein kleiner Schritt, und die Punkte sind in Excel. Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meinolf Droste Ehrenmitglied V.I.P. h.c. Dipl.Ing
Beiträge: 5175 Registriert: 14.12.2000 NTSI Workstation Core i7-9700K 4.90 GHz 32 GB RAM NVIDIA Quadro P2000 TC 11.5 NX 12.0.2 MP7 NX 1888 testing NX 1899 Beta
|
erstellt am: 05. Jul. 2018 07:50 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Moin Anni da braucht es keine Programmierung zu, das kann NX mit Bordmitteln. Gebe den Punkten einen eindeutigen Namen, dabei darauf achten das du die Punkte und nicht die Features benennst. Du kannst das z.bsp. im Teilenavigator im "None-timpstamp-Modus" prüfen, oder du lässt dir die Elementnamen anzeigen. Dann gehst du im NX Menü auf Werkzeuge, Tabellenkalkulation. Excel wird gestartet, in der gewünschten Zelle gibst du den Namen des Punktes ein, dann markierst du 3 benachbarte Zellen, und fügst in der Formeleingabe "=Point(Zellennumer mit dem Punkt)" ein. Anschließend "STRG + Shift + Enter", das wars. Die Werte sind assoziativ, allerdings haben wir festgestellt das Excel 2010 bei Berechnungen teilweise falsche Ergebnisse liefert. In Excel 2013 passiert das nicht. ------------------ Grüße Meinolf Ich steh auf flotte Dreier I know I was born and I know that I'll die but the in between is mine - Pearl Jam Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meinolf Droste Ehrenmitglied V.I.P. h.c. Dipl.Ing
Beiträge: 5175 Registriert: 14.12.2000 NTSI Workstation Core i7-9700K 4.90 GHz 32 GB RAM NVIDIA Quadro P2000 TC 11.5 NX 12.0.2 MP7 NX 1888 testing NX 1899 Beta
|
erstellt am: 05. Jul. 2018 07:53 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
|
AnniR Mitglied MaschinenbauIngenierin
Beiträge: 9 Registriert: 30.01.2018 Siemens NX Catia V5
|
erstellt am: 05. Jul. 2018 08:28 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo Michael, hallo Meinolf, danke erst mal für eure schnelle Rückmeldung. @Michael: Danke für deinen Tipp. Hier habe ich auch bereits schon etwas gefunden, jedoch ist die Konvertierung nach Excel mit einem Klick nicht getan (Siehe unten mein Anliegen) @Meinolf: Dieses Vorgehen habe ich auch schon kennengelernt. Nun würde ich jedoch gerne ein Programm/ Makro haben, in dem ich mit einem Klick das Vorgehen starten kann und lediglich die gewünschten Punkte auswählen muss, welche ich in der Excel-Datei haben möchte. Zusammengefasst: 1/2 Klicks = ausgefüllte Excel-Tabelle Ich habe bereits versucht ein Makro über NX aufzunehmen und dieses danach erneut abspielen zu lassen. Hier kommt jedoch immer eine Fehlermeldung, da es ja zu einem Programmwechsel von NX zu Excel kommt. (Das Makro kann dann nicht mehr ausgeführt werden) Ist es denn überhaupt möglich eine Automatisierung über NX ablaufen zu lassen, in der direkt auch in der Excel-Datei automatisiert wird? Oder muss ich ein Makro für NX (Punkte benennen, auswählen der Tabellenkalkulation) und ein weiteres für Excel (Zeilenbenennung, Funktionsbenennung, Ausfüllen) erstellen? Ich hoffe Ihr versteht meine Problematik/ Wunschvorstellung Viele Grüße Anni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 05. Jul. 2018 11:31 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Zitat: Original erstellt von AnniR: Nun würde ich jedoch gerne ein Programm/ Makro haben,
Haben oder selbst schreiben ? Machbar ist vieles, auch das Schreiben eines Excel-Files. Als Journal geht das allerdings nicht mehr, dazu wird eine kompilierte Anwendung benötigt. Die kann auf alles zugreifen, was die Excel- bzw. Office-Libraries hergeben. Die wesentliche Frage ist, wie oft das gebraucht wird und ob sich der Aufwand für die Programmierung lohnt. Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AnniR Mitglied MaschinenbauIngenierin
Beiträge: 9 Registriert: 30.01.2018 Siemens NX Catia V5
|
erstellt am: 05. Jul. 2018 12:12 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Naja so wies aussieht müsste ich selbst eines schreiben. Aber du hast recht: für einen solch großen Aufwand, wird es zu selten genutzt. Habe mich aber nun dafür entschieden, deinen Tipp mit points2file anzunehmen und die Koordinaten in eine Textdatei zu exportieren. Diese importiere ich schließlich einfach in Excel (Für die Darstellung habe ich ein kleines Makro geschrieben) Danke für die Ratschläge
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 05. Jul. 2018 18:35 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
... wenn eine Textdatei sauber in Spalten geschrieben ist, geht das Öffnen in Excel problemlos. Hab' das schon - zigmal so gemacht. es sind halt ein paar mehr als 1-2 Klicks. Jedenfalls aber deutlich weniger, als man beim programmieren bräuchte. Evtl. musst Du auf Punkt/Komma und die Dateiendung achten. *.csv wäre die Alternative zu .txt. Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AnniR Mitglied MaschinenbauIngenierin
Beiträge: 9 Registriert: 30.01.2018 Siemens NX Catia V5
|
erstellt am: 09. Jul. 2018 15:42 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo Michael, ich habe nun etwas hinbekommen was teilweise funktioniert Irgendwie habe ich Probleme beim abspeichern. Das "save as"-Fenster öffnet sich, ich wähle einen Ordner aus und benenne die Datei, jedoch wird diese stumpf mit einer 1 als Dateiname auf meinen Desktop gespeichert. Die gewünschten Daten sind zwar enthalten, jedoch muss ich die Datei erst umbenennen in eine .csv bevor ich diese öffnen kann. Wo liegt denn nun mein Fehler? Warum speichert die Datei nicht direkt in dem definierten Ordner mit der ausgewählten Benennung? Ich habe einiges ausprobiert, bin aber noch nicht auf eine Lösung gekommen...
'Dieses Programm speichert die XYZ-Koordinaten aller Punkte des Spann- und Fixierkonzepts in eine .csv-Datei. 'Part muss bei Start bereits aktiviert sein. Option Explicit Off 'Importieren von Namespace Imports System Imports NXOpen Imports System.Windows.Forms Imports Excel = Microsoft.Office.Interop.Excel 'Auswahl der Klasse Module Points2File Public s As Session = Session.GetSession() 'Start der Hauptmethode "Main" Sub Main() 'Variabledekleration Dim openFileDialog1 As New saveFileDialog() 'Exportieren der Daten in eine .csv-Datei openFileDialog1.Filter = "txt files All files (*.csv*)|*.csv*" openFileDialog1.FilterIndex = 1 openFileDialog1.RestoreDirectory = True Dim workPart As Part = s.Parts.Work Dim thePoints As PointCollection = workPart.Points Dim wpName As String = workPart.FullPath.ToString() Dim textFileName As String = Nothing
textFileName = openFileDialog1.showdialog if textFileName = "" then exit sub
Dim outFile As IO.StreamWriter outFile = new IO.Streamwriter(textFileName,False) outFile.AutoFlush = True For Each thisPoint As Point In thePoints 'Gespeichert werden CYZ-Koordinaten des Punktes '"F6" gibt 6 Stellen vom Dezimalpunkt an (acuh wenn alle 0 sind) 'Die Koordinaten werden mit einem Punktkomma und einem Leerzeichen getrennt outFile.WriteLine(thisPoint.Coordinates.X.ToString("F6") & ";" & _ thisPoint.Coordinates.Y.ToString("F6") & ";" & _ thisPoint.Coordinates.Z.ToString("F6")) 'Schleife wiederholt den Vorgang für alle Punkte Next outFile.Close() MsgBox("Text File Name: " & textFileName, MsgBoxStyle.Information) End Sub Public Function GetUnloadOption(ByVal dummy As String) As Integer Return Session.LibraryUnloadOption.Immediately End Function End Module Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 09. Jul. 2018 16:44 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo Anni, das sieht doch schon ganz gut aus Das Problem liegt hier: Code: textFileName = openFileDialog1.showdialog
Die Rückgabe von .showdialog ist nicht der gewählte Dateiname, sondern ein sog. DialogResult. Den Dateinamen erhältst Du nach dem Öffnen des Dialogs mit Code: textFileName = openFileDialog1.Filename
Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Poseida Mitglied Maschinebautechniker, Konstrukteur
Beiträge: 94 Registriert: 15.12.2010 Moldex 3D R13 NX 10 TC 11
|
erstellt am: 10. Jul. 2018 06:33 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo, man kann auch im Journal auf Excel zugreifen, habe ich auch schon gemacht.
Code: Dim oExcel As Object Dim oBook As Object Dim oSheet As Object Dim I As Integer = 2 oExcel = CreateObject("Excel.Application") oBook = oExcel.Workbooks.Add oSheet = oBook.Worksheets(1) oSheet.Range("A1").Value = "Größe" oSheet.Range("B1").Value = "Hauptmaß" oSheet.Range("C1").Value = "Nebenmaß" oSheet.Range("D1").Value = "Untere Tol" oSheet.Range("E1").Value = "Obere Tol" oSheet.Range("F1").Value = "Typ" oSheet.Range("A1:F1").Font.Bold = True oBook.SaveAs("c:\temp\" & "Book1.xls") oSheet = Nothing oBook = Nothing oExcel.Quit() oExcel = Nothing
Für die Syntax kann man im Excel VBA nachschauen. ------------------ Benjamin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 10. Jul. 2018 12:56 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo Benjamin, besten Dank für den Hinweis. Ich war bis heute davon ausgegangen, daß das Einbinden von Office-Libraries nur bei kompilierten Anwendungen möglich ist. Schon wieder was gelernt Was auffällt ist, daß alle Variablen als Object deklariert sind. Ist das schon alles oder muss sonst noch etwas beachtet werden ? Wie sehen denn z.B.die Imports aus ? Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Poseida Mitglied Maschinebautechniker, Konstrukteur
Beiträge: 94 Registriert: 15.12.2010 Moldex 3D R13 NX 10 TC 11
|
erstellt am: 10. Jul. 2018 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo Michael, Dass ist schon alles.
Code:
Imports NXOpen Imports NXOpen.UF Imports NXOpenUI Imports NXOpen.Utilities Imports System.IO
Wie gesagt hier gibt es dann kein IntelliSense, da muss man sich die Syntax vom VBA(EXCEL) holen . ------------------ Benjamin [Diese Nachricht wurde von Poseida am 10. Jul. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 10. Jul. 2018 19:28 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
|
AnniR Mitglied MaschinenbauIngenierin
Beiträge: 9 Registriert: 30.01.2018 Siemens NX Catia V5
|
erstellt am: 16. Jul. 2018 12:28 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo Michael, Damit klappt es super! Vielen Dank. Hier muss ich jedoch den Dateityp am Ende des Dateinamens mit manuell angeben (.csv), obwohl ich nach einem Dateityp gefiltert habe. Wie kann ich das hier direkt definieren ? Code: textFileName = openFileDialog1.Filename ( "_point.csv) Hier kommt eine Fehlermeldung auf. Hast du mir hierbei auch nochmal einen Rat? Gruß Annika Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 16. Jul. 2018 20:10 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo Annika, lass' die Klammer oder zumindest ihren Inhalt weg. Diese und die vorherige sind übrigens Fragen, die eine Entwicklerumgebung beantwortet. Damit können dann auch sämtliche Eigenschaften des Dialogs, u.a. die Extension angegeben werden. Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JanKansi Mitglied Ing.
Beiträge: 2 Registriert: 20.07.2018
|
erstellt am: 20. Jul. 2018 11:39 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo zusammen, Ich würde gerne wissen, wie ich Punkte aus einer Excel-Datei in ein Part importieren kann. In dieser Datei befinden sich die Koordinaten der Punkte mit weiteren Informationen. Gibt es in NX eine Funktion die das ermöglicht? Oder hat hier jemand in diesem Zusammenhang schon ein Code geschrieben? Ist es dabei auch möglich in der Excel Punkte (Zeilen) auszuwählen, welche importiert werden sollen? Ich kann die Daten auch in eine .txt-Datei speichern, falls das mehrere Möglichkeiten öffnet. Hat da jemand Informationen in die Richtung?
------------------ Danke für eure Hilfe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| CNC-Fräser (m/w/d) | Wir sind ein zertifiziertes und innovatives Familienunternehmen mit 50-jähriger Erfahrung! Als Spezialist für Drehen, Fräsen, Bohren, Flachschleifen und Erodieren fertigen wir anspruchsvolle Bauteile und Komponenten mit den neusten Techniken. Wir arbeiten für die Bereiche Windkraft, Kraftwerksbau, Luft- und Raumfahrt, 3D-Druckertechnik, Medizin- und Sensortechnik.
| Anzeige ansehen | Metallhandwerk |
|
AnniR Mitglied MaschinenbauIngenierin
Beiträge: 9 Registriert: 30.01.2018 Siemens NX Catia V5
|
erstellt am: 22. Aug. 2018 10:38 <-- editieren / zitieren --> Unities abgeben: Nur für Lila95
Hallo Jan, ich habe mich selbst schon mit dem Thema auseinandergesetzt. (Punktkoordinaten mit Namen exportiert, Koordinaten geändert und dann wieder importieren (unten stehender Quellcode) --> Koordinaten sollen sich anpassen) Habe aber selbst auch noch ein Problem. Die Koordinaten des Punktes ändern sich zwar - die Position des Punktes wird dabei aber nicht direkt angepasst. (ich muss den Punkt aktivieren und das Dialogfenster "Point" öffnen, in welchem ich die Koordinaten sehe. Erst dann verschiebt sich der Punkt auf die gewünschte Position. Ich denke die Situation muss abschließend aktualisiert werden, finde in diesem Zusammenhang aber keine Funktion die ich ausführen kann. Vielleicht hat hier jemand einen Lösungsvorschlag? Mein aktueller Code lautet wie folgt: Option Strict Off Imports System Imports NXOpen Imports NXOpen.UF Imports NXOpenUI Imports NXOpen.Utilities Imports System.IO Imports System.Windows.Forms Module Test Sub Main Try 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 session As Session = Session.GetSession() Dim sr As StreamReader = new StreamReader(openFileDialog1.FileName) Dim line As String Try line = sr.ReadLine() dim Zeile as double zeile = 1 While Not line is Nothing if zeile > 2 then Dim pt As Point3d Dim delim As Char () = { ";"C } Dim strings As String () = line.Split(delim) pt.x = Double.Parse(strings(1)) pt.y = Double.Parse(strings(2)) pt.z = Double.Parse(strings(3)) Dim p As Point dim found as boolean found = false for each p in session.Parts.Work.Points if lcase(p.name) = lcase(strings(0)) then p.SetCoordinates (pt) 'p.SetVisibility(SmartObject.VisibilityOption.Visible) found = true exit for end if next if not found then p = session.Parts.Work.Points.CreatePoint(pt) p.SetVisibility(SmartObject.VisibilityOption.Visible) p.setname ( strings(0)) end if end if zeile = zeile + 1 line = sr.ReadLine() End While Finally sr.Close() End Try End If Catch E As Exception MessageBox.Show(E.Message) End Try End Sub End Module
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |