| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Spline Punkte auslesen (1887 mal gelesen)
|
Maikx Mitglied
Beiträge: 43 Registriert: 28.08.2008 UG NX4
|
erstellt am: 28. Aug. 2008 09:49 <-- editieren / zitieren --> Unities abgeben:
Hallo ich will die Punkte eines Splines auslesen und sie z.B. in einer Text Datei auflisten habe schon etwas gesucht, habe aber bis jetzt noch nichts gefunden, brauche sowas aber als vb.datei hoffe mir kann jemand weiterhelfen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maikx Mitglied
Beiträge: 43 Registriert: 28.08.2008 UG NX4
|
erstellt am: 28. Aug. 2008 12:07 <-- editieren / zitieren --> Unities abgeben:
Habe soeben mal aus UGSolutions points2file ausprobiert, aber ich habe einen Fehler in Line35: Name 'My' is not declared ' This journal should write the XYZ values of all points in the ' work part to a new .dat file. ' ' It will drop the ".prt" from the file name and append "_points.dat". ' ' As written, it separates the fields with a comma and a space, ' but you can easily change that. ' ' Also, note that the "F6" specifies that 6 digits will be shown to the ' right of the decimal, even if they are all zeroes. ' You can change that too, of course. '
Option Strict Off Imports System Imports NXOpen Module Points2File Public s As Session = Session.GetSession() Sub Main() 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 = wpName.Replace(".prt", "_points.dat") Dim outFile As IO.StreamWriter outFile = My.Computer.FileSystem.OpenTextFileWriter(textFileName, _ False) outFile.AutoFlush = True For Each thisPoint As Point In thePoints outFile.WriteLine(thisPoint.Coordinates.X.ToString("F6") & ", " & _ thisPoint.Coordinates.Y.ToString("F6") & ", " & _ thisPoint.Coordinates.Z.ToString("F6")) 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 |
stefan.f Mitglied
Beiträge: 126 Registriert: 03.09.2002
|
erstellt am: 28. Aug. 2008 15:09 <-- editieren / zitieren --> Unities abgeben: Nur für Maikx
|
Maikx Mitglied
Beiträge: 43 Registriert: 28.08.2008 UG NX4
|
erstellt am: 28. Aug. 2008 15:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Stefan, besten Dank es hat geklappt jetzt muß ich mir nur noch was überlegen wie ich "nur" die Punkte die auf dem Spline liegen auswerte, die habe ich mit *Points on Curve* erstellt.. sonst habe ich ja über 1000 stück 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: 28. Aug. 2008 16:45 <-- editieren / zitieren --> Unities abgeben: Nur für Maikx
|
Maikx Mitglied
Beiträge: 43 Registriert: 28.08.2008 UG NX4
|
erstellt am: 29. Aug. 2008 14:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, habe mal die datei pnt2file.vb ausprobiert und hatte auch nen fehler drin gehabt nun habe ich wie ich in nem andere post gelsen hab die folgenden werte geändert mask_triples(0).object_subtype = -1 mask_triples(1).object_subtype = -1 mask_triples(2).object_subtype = -1 mask_triples(3).object_subtype = -1 er sagt nun zwar das kein fehler mehr vorliegt.. aber nen pnt2file.dat erzeugt er nicht.. mach ich was falsch? 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: 29. Aug. 2008 17:20 <-- editieren / zitieren --> Unities abgeben: Nur für Maikx
Hallo maikx, mit den Änderungen hast Du nur Einfluß auf die Selektion einer Kurve genommen, der Rest des Programms sollte damit klarkommen. Vorausgesetzt, es wird tatsächlich nach den Punkten auch eine Kurve selektiert. Falls nicht, wird das Programm beendet, bevor die Ausgabe geschrieben wird. Das geschieht in den ff. Zeilen der Sub Main: sel_resp = sel_points(pnt_tags) If Not sel_resp = UFConstants.UF_UI_OK Or pnt_tags.Length = 0 Then Return sel_resp = sel_crv(crv_tag) If sel_resp < 7 Then Return Hier kannst Du zur Kontrolle mal eine Ausgabe auf's Listingwindow machen, z.B. mit: lw.writeline("sel_resp " & sel_resp) So kannst Du erkennen, ob alle Eingaben richtig gemacht wurden. Denkbar wäre auch, daß in deiner Umgebung UFConstants.UF_UI_OK nicht bekannt ist oder einen anderen Wert hat. Prüfung wie oben über eine Ausgabe mit lw.writeline(). Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maikx Mitglied
Beiträge: 43 Registriert: 28.08.2008 UG NX4
|
erstellt am: 02. Sep. 2008 09:23 <-- editieren / zitieren --> Unities abgeben:
Juhuu hat geklappt Werde gleich erstmal Visul Studio installieren... das macht die Sache sicher etwas leichter.. Sucht ihr euch Befehle z.B. aus der Dokumentation von NX 4.0 oder gibts irgendwo noch ne andere Hilfe?
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: 02. Sep. 2008 10:58 <-- editieren / zitieren --> Unities abgeben: Nur für Maikx
Zitat: Juhuu hat geklappt
Woran hat's denn gelegen ? Zitat: Werde gleich erstmal Visul Studio installieren... das macht die Sache sicher etwas leichter..
Das macht es deutlich leichter ... Zitat: Sucht ihr euch Befehle z.B. aus der Dokumentation von NX 4.0 oder gibts irgendwo noch ne andere Hilfe?
NXOpen .NET API Reference Beispiele, z.B. in $UGII_BASE_DIR/UGOpen oder auf support.ugs.com Journal aufzeichnen Hilfe und Object- Browser in VS Hier ... Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Technischer Zeichner (m/w/d) | Die besten Köpfe für die unterschiedlichsten Aufgaben zu finden sowie Menschen und Technologien zu verbinden, und zwar täglich aufs Neue - dafür schätzen unsere Kunden FERCHAU. Unterstütze uns: als ambitionierte:r Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Kunden in allen Technologiebereichen und für alle Branchen und übernehmen Verantwortung für komplexe Entwicklungsprojekte.... | Anzeige ansehen | Technischer Zeichner, Bauzeichner |
|
Maikx Mitglied
Beiträge: 43 Registriert: 28.08.2008 UG NX4
|
erstellt am: 04. Sep. 2008 11:02 <-- editieren / zitieren --> Unities abgeben:
|