| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Assoziativen Punkt in Excel exportieren? (4398 mal gelesen)
|
Fersy Mitglied CAD-Konstrukteur
Beiträge: 255 Registriert: 20.06.2003 Core i7 | 16 GB RAM Unigraphics NX 8.5 Win 7 x64
|
erstellt am: 26. Mrz. 2009 13:40 <-- editieren / zitieren --> Unities abgeben:
|
little_ug Mitglied CAX/PDM Admin / PM
Beiträge: 389 Registriert: 20.03.2003
|
erstellt am: 27. Mrz. 2009 09:05 <-- editieren / zitieren --> Unities abgeben: Nur für Fersy
Hallo Fersy, anbei ein Journal von mir, kannst du ja beliebig erweitern: Imports System Imports System.IO Imports System.Windows.Forms Imports NXOpen Imports NXOpen.UF Imports NXOpen.Utilities Module NXJournal 'Dim session As Session = Session.GetSession() Dim ufSession As UFSession = UFSession.GetUFSession() Dim s As Session = Session.GetSession() Dim lw As ListingWindow = s.ListingWindow Function SelectInit(selection As IntPtr, userData As IntPtr) As Integer Dim mask(0) As UFUi.Mask mask(0).object_type = UFConstants.UF_point_type mask(0).object_subtype = 0 mask(0).solid_type = 0 ufSession.Ui.SetSelMask(selection, UFUi.SelMaskAction.SelMaskClearAndEnableSpecific, 1, mask) SelectInit = UFConstants.UF_UI_SEL_SUCCESS End Function Sub Main Try ' Ein Teil geladen? if s.Parts.Work is Nothing Then Windows.Forms.MessageBox.Show("Kein Teil geladen! - No Part Loaded!") Exit Sub End If ' Undo Mark setzten s.SetUndoMark( Session.MarkVisibility.Visible, "Point Export") Dim saveFileDialog As New SaveFileDialog() saveFileDialog.Filter = "csv files (*.csv)|*.csv|txt files (*.txt)|*.txt|All files (*.*)|*.*" saveFileDialog.FilterIndex = 1 saveFileDialog.RestoreDirectory = True saveFileDialog.FileName = "Punkte.csv" If saveFileDialog.ShowDialog() = DialogResult.OK Then Dim count As Integer Dim response As Integer Dim pointTags As Tag() Dim initFn As UFUi.SelInitFnT initFn = New UFUi.SelInitFnT(AddressOf SelectInit) ufSession.Ui.LockUgAccess(UFConstants.UF_UI_FROM_CUSTOM) Try ufSession.Ui.SelectWithClassDialog("Pick points", "", UFConstants.UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY, _ initFn, Nothing, response, count, pointTags) If response = UFConstants.UF_UI_OK Then Dim s As StreamWriter = new StreamWriter(saveFileDialog.FileName) lw.Open() LW.WriteLine("Start Programm " + CType(TimeOfDay(), String)) LW.WriteLine("") lw.WriteLine("Exportiere Punkte:") Dim count2 as Integer = 1 For Each pointTag As Tag In pointTags ufSession.Disp.SetHighlight(pointTag, 0) Dim p As Point = CType(NXObjectManager.Get(pointTag), Point) Dim pt As Point3D = p.Coordinates s.WriteLine("{0,12:#0.00000}; {1,12:#0.00000}; {2,12:#0.00000}", pt.X, pt.Y, pt.Z) lw.WriteLine(str(count2) + " X=" + str(pt.X) + " Y=" + str(pt.Y) + " Z=" + str(pt.Z)) count2 = count2 + 1 Next s.Close() LW.WriteLine("") LW.WriteLine("Ende Programm " + CType(TimeOfDay(), String)) End If Finally ' Restore UI state always including in case of error. ufSession.Ui.UnlockUgAccess(UFConstants.UF_UI_FROM_CUSTOM) End Try End If Catch E As Exception MessageBox.Show(E.Message) End Try End Sub End Module ------------------ Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tool Mitglied
Beiträge: 17 Registriert: 12.12.2005 NX 8.0.4.3 MP6 (64bit) Windows 7 (64bit)
|
erstellt am: 27. Mrz. 2009 11:09 <-- editieren / zitieren --> Unities abgeben: Nur für Fersy
Hallo Michael Super Journal Wir benötigen aber die Daten vom Arbeitskoordinatensystem und nicht vom Absolutenkoordinatensystem. Welchen befehl muss man ändern und wie? Vielen Dank für die Antwort Gruss Tool ------------------ Gruss Tool Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
little_ug Mitglied CAX/PDM Admin / PM
Beiträge: 389 Registriert: 20.03.2003
|
erstellt am: 27. Mrz. 2009 13:34 <-- editieren / zitieren --> Unities abgeben: Nur für Fersy
Hi Tool, du könntest ein z.b. KSYS anwählen (du brächtest also im Journal noch eine Selektion) und vom KSYS aus die Punkte zurückrechenen. Müsstest auch darauf achten ob die Achsen noch zusätzlich verdreht sind... ------------------ Gruß Michael 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: 30. Mrz. 2009 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für Fersy
Hallo zusammen, das Umrechnen von Koordinaten geht über die csys- Klasse der UFSession. Ein kleines Tool ohne Pointmapping, für die Ausgabe von Points (mit Feature bzw. Objektnamen) und Locations in ein csv-File gibt's im Anhang. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fersy Mitglied CAD-Konstrukteur
Beiträge: 255 Registriert: 20.06.2003
|
erstellt am: 31. Mrz. 2009 09:33 <-- editieren / zitieren --> Unities abgeben:
|
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: 31. Mrz. 2009 10:33 <-- editieren / zitieren --> Unities abgeben: Nur für Fersy
|
Fuzo Mitglied Technical Design Engineer
Beiträge: 61 Registriert: 01.04.2005
|
erstellt am: 11. Mai. 2009 15:07 <-- editieren / zitieren --> Unities abgeben: Nur für Fersy
Zitat: Original erstellt von mseufert: Hier noch eine Version mit der Erweiterung auf WCS- Koordinaten. Der Aufruf geht beim Journal über Tools->Journal->Play, bei UserFunction über File->Execute->NXOpen.Gruß, Michael
Ich kann im Journal keine *.dll - Datei laden. Benutze NX 4 ------------------ mfg 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: 12. Mai. 2009 10:18 <-- editieren / zitieren --> Unities abgeben: Nur für Fersy
Zitat: Original erstellt von Fuzo: Ich kann im Journal keine *.dll - Datei laden.
Dafür ist die dll auch nicht gemacht. Ein Tip wenn Du's trotzdem versuchen willst: Assembly-Klasse, Methode loadfromfile o.ä. . Ansonsten geht der Aufruf in NX wie schon beschrieben über File->Execute Zitat: Original erstellt von Fuzo: Benutze NX 4
Getestet unter NX5, wird mit NX4 wahrscheinlich nicht laufen. Gruß, Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Produktentwickler (m/w/d) | Produktentwickler (m/w/d) Als internationaler Automobilzulieferer versorgen wir nahezu alle namhaften Automobilhersteller. An unseren weltweit zehn Produktionsstandorten entwickeln und fertigen wir hochwertige Module und einbaufertige Systeme. Durch den Einsatz von modernsten Techniken und bestem Know-how, sind wir ein bedeutender Partner der globalen Automobilindustrie. ... | Anzeige ansehen | Feste Anstellung |
|
Riddy Mitglied Maschinenbautechniker
Beiträge: 4 Registriert: 02.05.2014
|
erstellt am: 09. Mai. 2015 02:14 <-- editieren / zitieren --> Unities abgeben: Nur für Fersy
Hallo zusammen, Da das Thema Punkte auslesen gerade wieder aktuell ist. Ist hier eine weitere Lösung. Einfach Punkte markieren in Featurebaum , rechte Maustaste, Information, dann den Text speichern und das Programm in Anhang drüberlaufen lassen. Funktioniert hier bei mir mit NX 9. Ach ja, die txt Datei ist natürlich eine exe. Beste Grüße karsten [Diese Nachricht wurde von Riddy am 09. Mai. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |