| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: file2points.vb Anpassen (1506 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: 1571 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 |
| Senior Specialist Application Engineering Management (m/w/d) | - Entwicklung von (Teil-) Konzepten für PDM / CAD / IT Lösungen sowie die Integration in das Unternehmen
- Unterstützung bei der Konzeption, Umsetzung und Betrieb komplexer PDM / CAD / IT-Projekte
- Betriebsoptimierung und Automatisierung von Interfaces von und zu PDM Systemen
- Erweiterung und Überarbeitung von technischen Informationen und ...
| Anzeige ansehen | Prozessmanagement |
|
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 >>)
|