| | |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX | | | |  | SIEMENS PLM CONNECTION 2026 | 22. - 24. Juni 2026 Lufthansa Konferenzzentrum Seeheim, eine Veranstaltung am 22.06.2026
|
|
Autor
|
Thema: file2points.vb Anpassen (1758 mal gelesen)
|
julian.offermans Mitglied Student
 Beiträge: 7 Registriert: 11.06.2015 Windows 7 NX 8
|
erstellt am: 14. Jun. 2015 15:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo Community, ich möchte mit Geogebra Koordinaten in NX 8.0 einlesen. In einem anderen Thread habe ich den Hinweis auf file2points.vb bekommen und auch schon nach Abhilfe gefragt. Ich denke allerdings, dass die Frage hier besser hinpasst. Geogebra gibt mir die Punkte in folgendem Format aus: (-7.16755689345996, 30.3481771081727, 0.00000000000000) NX liest mir die Punkte aber mit den Klammern und den vielen Nachkommastellen nicht ein. Ich würde gerne die file2points.vb so modifizieren, dass die "(" und ")" ignoriert werden und die Nachkommastellen auf 5 Stellen kürzen. Ich habe leider keinerlei Erfahrung Visual Basic. Könnt ihr mir bitte helfen ? Hier der Quellcode Imports System Imports System.IO Imports System.Windows.Forms Imports NXOpen 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() While Not line is Nothing Dim pt As Point3d Dim delim As Char () = { ","C } Dim strings As String () = line.Split(delim) pt.x = Double.Parse(strings(0)) pt.y = Double.Parse(strings(1)) pt.z = Double.Parse(strings(2)) Dim p As Point p = session.Parts.Work.Points.CreatePoint(pt) p.SetVisibility(SmartObject.VisibilityOption.Visible) 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 Vielen Dank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
    
 Beiträge: 1577 Registriert: 03.06.2004
|
erstellt am: 15. Jun. 2015 09:39 <-- editieren / zitieren --> Unities abgeben:          Nur für julian.offermans
Die Klammern: Du könntest das "(" und ")" mit "split" abtrennen. In Deinem Fall, ist evtl. das Kürzen des ersten und des letzten Zeichen wohl besser. (evtl. mit TrimEnd, TrimStart) Evtl. brauchst Du das „split“ um aus einer Zeile die 3 Koordinaten beim Komma zu trennen, runden, dann wieder zusammenbauen… Runden: Dim A As Decimal = "123.912" System.Windows.Forms.MessageBox.Show(A) A = Math.Round(A, 1) System.Windows.Forms.MessageBox.Show(A)
------------------ gruss urs  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JoachimR Mitglied
 
 Beiträge: 343 Registriert: 25.03.2007 WIN7 Geomagic Design 64 Bit - aktuelle freigegebene Version NX 9
|
erstellt am: 15. Jun. 2015 11:46 <-- editieren / zitieren --> Unities abgeben:          Nur für julian.offermans
Hallo, du kannst mit replace die ( und ) ersetzen. Nach dieser Zeile Dim strings As String () = line.Split(delim) schreibst Du strings(0) = replace(strings(0),"(","") strings(2) = replace(strings(2),")","") pt.x = Math.Round(Double.Parse(strings(0)), 5) pt.y = Math.Round(Double.Parse(strings(1)), 5) pt.z = Math.Round(Double.Parse(strings(2)), 5) [Diese Nachricht wurde von JoachimR am 15. Jun. 2015 editiert.] 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. Aug. 2018 07:35 <-- editieren / zitieren --> Unities abgeben:          Nur für julian.offermans
Hallo zusammen, ich habe ein VB Programm geschrieben, in welchem ich Punkte aus NX in eine Textdatei auslesen kann. In dieser wird die Punktbenennung und X,Y,Z Koordinaten gespeichert: BASIS;0,000;0,000;0,000 Wenn ich nun die Textdatei bearbeite (z.B. eine Y Koordinate anpasse), ist es möglich diese wieder zu importieren, damit sich die Position des Punktes an die Liste anpasst? --> Dabei soll also kein neues Punkt erstellt, sondern ein bereits existierender Punkt ersetzt oder lediglich die Eigenschaft geändert werden. Hat hier jemand mit so etwas schon Erfahrung? Ggf. Schon ein Code geschrieben? Es wäre super, wenn mir jemand helfen könnte  Vielen Dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| | Projektleiter Elektrotechnik TGA (m/w/d) | Klein aber fein. Bei uns bleibt man gerne. Wir sind die Spezialisten der Elektro- und Informationstechnik der besonderen Art. Wir, das Christian Hofmann Ingenieurbüro für Elektrotechnik, sind besondere Spezialisten in Sachen Stark- und Schwachstromanlagen in der Elektro- und Informationstechnik. Als kleiner, aber leistungsfähiger Hidden Champion realisieren wir Modernisierungen, Sanierungen und Umbauten vor allem im öffentlichen Raum.... | | Anzeige ansehen | Feste Anstellung |
|
surogate73 Mitglied
 Beiträge: 1 Registriert: 28.11.2018
|
erstellt am: 28. Nov. 2018 13:59 <-- editieren / zitieren --> Unities abgeben:          Nur für julian.offermans
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |