Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Werte auslesen im Journal und einfügen in externes Excel Spreadsheet

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  Werte auslesen im Journal und einfügen in externes Excel Spreadsheet (1613 mal gelesen)
cajamo
Mitglied
Maschinenbauer


Sehen Sie sich das Profil von cajamo an!   Senden Sie eine Private Message an cajamo  Schreiben Sie einen Gästebucheintrag für cajamo

Beiträge: 16
Registriert: 08.06.2010

erstellt am: 11. Jun. 2010 09:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Gemeinde,

kann mir jemand sagen, ob (und gegebenfalls wie) man ein Attribut im Journal ausliehst(okay das findet man hier schon im Forum), aber diesen dann in eine Zeile in ein externes Excelsheet schreibt.
Bin neu auf dem Gebiet. Falls dies nicht möglich ist wie würdet ihr das Problem in NX Lösen?

Vielen Dank im Voraus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Jan Boettcher
Mitglied



Sehen Sie sich das Profil von Jan Boettcher an!   Senden Sie eine Private Message an Jan Boettcher  Schreiben Sie einen Gästebucheintrag für Jan Boettcher

Beiträge: 183
Registriert: 22.06.2005

NX 7.5 - NX 2007
SolidWorks 2006 - 2021
Win 10

erstellt am: 11. Jun. 2010 11:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cajamo 10 Unities + Antwort hilfreich

Hallo Cajamo,

Das wird so ohne weiteres nicht funktionieren. So weit ich weiß gibt es keine direkte Möglichkeit aus einem uncompilierten Journal schreibend auf ein Excel-Sheet zuzugreifen. Die notwendigen Bibliotheken können nicht importiert werden. Mit ein bisschen tricksen und Umwegen kann man doch zu einer Lösung kommen (siehe z.B. hier), aber da muss man sich zunächst in die Materie einarbeiten.

Viele Grüße
Jan


------------------
Jan Böttcher
www.ib-boettcher.de

[Diese Nachricht wurde von Jan Boettcher am 11. Jun. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

little_ug
Mitglied
CAX/PDM Admin / PM


Sehen Sie sich das Profil von little_ug an!   Senden Sie eine Private Message an little_ug  Schreiben Sie einen Gästebucheintrag für little_ug

Beiträge: 389
Registriert: 20.03.2003

erstellt am: 11. Jun. 2010 17:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cajamo 10 Unities + Antwort hilfreich


ooconnect_nx5.txt

 
Hi,
ich habe da mal was mit OpenOffice Calc gemacht, aber nur so rumgespielt...
Ist allerdings auch ne dll und kein einfaches Journal mehr.
einfach datei in .dll umbenennen. In NX dann einfach ein Teil oeffnen und die DLL starten (am einfachsten mit STRG+U).

Vorrausgesetzt ihr habt NX und OpenOffice Calc installiert holt er jetzt alle Expressions und alle String Attribute in eine Calc Tabelle.

Falls jemand mehr dazu braucht einfach melden...

------------------
Gruß

Michael

have you tried turning it off and on again

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cajamo
Mitglied
Maschinenbauer


Sehen Sie sich das Profil von cajamo an!   Senden Sie eine Private Message an cajamo  Schreiben Sie einen Gästebucheintrag für cajamo

Beiträge: 16
Registriert: 08.06.2010

erstellt am: 14. Jun. 2010 07:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo little_ug,

erstmal danke für die Mühen. Wir benutzen leider Excel 2007 und da mir beim öffnen der Datei nur Vierecke und andere nette Zeichen angezeigt werden, kann ich mir die Datei auch leider nicht anschauen bzw. verändern. Wäre es möglich nochmal eine windowskompatible Textdatei zu schicken (obwohl txt dies ja sein sollte).

Gruss Cajamo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

little_ug
Mitglied
CAX/PDM Admin / PM


Sehen Sie sich das Profil von little_ug an!   Senden Sie eine Private Message an little_ug  Schreiben Sie einen Gästebucheintrag für little_ug

Beiträge: 389
Registriert: 20.03.2003

NX 7.5.4.4 mp1
Creo2 M020
TC UA 9.1.1.2

erstellt am: 14. Jun. 2010 08:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cajamo 10 Unities + Antwort hilfreich

Hallo Cajamo,

dies ist ein kompiliertes Programm. Wenn du den source Code haben willst So sind hier ein paar ausschnitte, vielleicht kommst du damit weiter:

'Connect to OO
    Sub ConnectOpenOffice()
        If IsOpenOfficeConnected() Then Exit Sub
        Try
            OpenOffice = CreateObject("com.sun.star.ServiceManager")
        Catch
            OpenOffice = Nothing
        End Try
        If isNullEmpty(OpenOffice) Then
            Err.Raise(vbObjectError + OOoErrorN, "OpenOffice", OOo_connectKO)
        Else
            StarDesktop = CreateUnoService("com.sun.star.frame.Desktop")
            OOoIntrospection = CreateUnoService("com.sun.star.beans.Introspection")
            OOoDisp = CreateUnoService("com.sun.star.frame.DispatchHelper")
        End If
    End Sub

Sub Expression_NX()

        Dim myDoc As Object, firstSheet As Object
        Dim n As Integer = 0

        myDoc = StarDesktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, dummyArray)
        firstSheet = myDoc.Sheets.getByIndex(0)
        firstSheet.getCellRangeByName("A1").String = "Expressions"
        firstSheet.getCellRangeByName("G1").String = "Attributes"
        firstSheet.getCellRangeByName("A2").String = "Number"
        firstSheet.getCellRangeByName("B2").String = "Name"
        firstSheet.getCellRangeByName("C2").String = "Type"
        firstSheet.getCellRangeByName("D2").String = "Value"
        firstSheet.getCellRangeByName("E2").String = "Equation"

        Dim s As Session = Session.GetSession()
        Dim lw As ListingWindow = s.ListingWindow
        Dim wP As Part = s.Parts.Work
        Dim cnt As Integer = 1
        Dim exprs As ExpressionCollection = wP.Expressions

        'lw.WriteLine("------ Expressions in Work Part ------")
        'lw.WriteLine("Number".PadLeft(6) & "Name".PadLeft(12) & "Type".PadLeft(8) & "Value".ToString.PadLeft(16) & "Equation".PadLeft(40))

        For Each nx_expr As Expression In exprs
            cnt += 1
            If nx_expr.Type = "Number" Then
                firstSheet.getCellByPosition(0, cnt).String = cnt.ToString
                firstSheet.getCellByPosition(1, cnt).String = nx_expr.Name
                firstSheet.getCellByPosition(2, cnt).String = nx_expr.Type
                firstSheet.getCellByPosition(3, cnt).String = nx_expr.Value.ToString
                firstSheet.getCellByPosition(4, cnt).String = nx_expr.Equation
                'lw.WriteLine(cnt.ToString.PadLeft(6) & nx_expr.Name.PadLeft(12) & nx_expr.Type.PadLeft(8) & nx_expr.Value.ToString.PadLeft(16) & nx_expr.Equation.PadLeft(40))
            Else
                firstSheet.getCellByPosition(0, cnt).String = cnt.ToString
                firstSheet.getCellByPosition(1, cnt).String = nx_expr.Name
                firstSheet.getCellByPosition(2, cnt).String = nx_expr.Type
                firstSheet.getCellByPosition(3, cnt).String = nx_expr.StringValue
                firstSheet.getCellByPosition(4, cnt).String = ""
                'lw.WriteLine(cnt.ToString.PadLeft(6) & nx_expr.Name.PadLeft(12) & nx_expr.Type.PadLeft(8) & nx_expr.StringValue.PadLeft(16))
            End If

        Next nx_expr

        cnt = 1

        For Each attr_info As NXObject.AttributeInformation In wP.GetAttributeTitlesByType(NXObject.AttributeType.String)
            cnt += 1
            's.ListingWindow.WriteLine(attr_info.Title & " = " & wP.GetStringAttribute(attr_info.Title))
            firstSheet.getCellByPosition(6, cnt).String = attr_info.Title
            firstSheet.getCellByPosition(7, cnt).String = wP.GetStringAttribute(attr_info.Title)
        Next


        ' Randomize()
        'For n = 1 To 15
        '    firstSheet.getCellByPosition(0, n).String = "Row" & (n + 1)
        '    firstSheet.getCellByPosition(1, n).Value = Rnd() * 1000.0
        'Next

        'myDoc.close(True)
    End Sub

------------------
Gruß

Michael

have you tried turning it off and on again

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cajamo
Mitglied
Maschinenbauer


Sehen Sie sich das Profil von cajamo an!   Senden Sie eine Private Message an cajamo  Schreiben Sie einen Gästebucheintrag für cajamo

Beiträge: 16
Registriert: 08.06.2010

erstellt am: 14. Jun. 2010 09:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

...klar, ist noch früh sorry. Ja den Sourcecode wollte ich. Mal sehen, ob ich es umschreiben kann...Vielen Dank!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


Sehen Sie sich das Profil von mseufert an!   Senden Sie eine Private Message an mseufert  Schreiben Sie einen Gästebucheintrag für mseufert

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 15. Jun. 2010 12:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cajamo 10 Unities + Antwort hilfreich


excel-write.zip

 
Hallo Allerseits,

mit einem kleinen CommandLine- Tool funktioniert das Schreiben eines Zell- Inhalts, zunächst komplett auf OS- Ebene (DOS-Shell). Und mit der Methode, die Jan schon angesprochen hat, läßt sich dieses Tool in ein Journal packen. Damit können alle Info's, die im Journal ermittelt werden (alles andere selbstverständlich auch), in ein vorhandenes Excel- Sheet geschrieben werden.
Tool und Beispiel- Journal findet Ihr anbei. Läuft bei mir mit uralt- Office 97 auf XP32 und damit [hoffentlich] auch mit neueren Versionen.

Gruß, Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Konstrukteur (m/w/d)
Die besten Köpfe für die unterschiedlichsten Aufgaben finden. Menschen und Technologien verbinden, und zwar täglich aufs Neue - dafür schätzen unsere Kunden FERCHAU. Wir realisieren spannende Projekte für namhafte Kunden in allen Technologien und für alle Branchen. Du weißt genau, was du technologisch auf dem Kasten hast? Du suchst einen Arbeitgeber, der das genau erkennt? Der dein Engagement wertschätzt ...
Anzeige ansehenKonstruktion, Visualisierung
cajamo
Mitglied
Maschinenbauer


Sehen Sie sich das Profil von cajamo an!   Senden Sie eine Private Message an cajamo  Schreiben Sie einen Gästebucheintrag für cajamo

Beiträge: 16
Registriert: 08.06.2010

erstellt am: 18. Jun. 2010 09:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für die zahlreichen Antworten. Haben es jetzt auch hinbekommen. Weg: Routine schreiben die Attribute ausliehst und dann Excel öffnen mit:           
xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
'Excel: Arbeitsmappe erstellen und Namen vergeben
xlBook = xlApp.Workbooks.Add
'Excel: Erstes Tabellenblatt auswählen
xlSheet = xlApp.Workbooks(1).Sheets(1)
'Zelle ausfüllen mit Variable       
xlSheet.Cells(1, 1).Value = var_xyz

Kann man sehr viel mit machen von diesem Punkt aus...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz