Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  
  NXOpen VB.net: Stückliste von Drawing nach Excel exportieren

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
[an error occurred while processing this directive]
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  NXOpen VB.net: Stückliste von Drawing nach Excel exportieren (487 / mal gelesen)
BM-Konstrukteur
Mitglied


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

Beiträge: 2
Registriert: 12.01.2024

Siemens NX2212 - Windows 10

erstellt am: 12. Jan. 2024 12:09    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


Screenshot2024-01-12075349.png

 
Hallo miteinander,

ich möchte eine parts list im drafting via vb.net in eine Excel-Liste übertragen. Im Anhang habe ich dargestellt was passieren sollte.
Ich möchte einen Button über "Customize-Commands-My Items-My User Commands" erstellen der einen VB.net code ausführt. Dieser soll die Werte der parts list im drafting aufnehmen (im Idealfall ohne die einzelnen Überschriften) und dann eine bereits bestehende Excel-Vorlage ab Zeile 2 befüllen.
Ist es möglich NX und Excel via VB.net so kommunizieren zu lassen?
Das i-Tüpfelchen wäre noch, wenn die Spalten - wie im Screenshot gezeigt - von NX nach Excel auch getauscht werden könnten.

Ich wäre wirklich dankbar für Denkanstöße, da ich nirgends etwas passendes dazu finde und ich selber hier auch nicht mehr weiter komme.

Meine NX-Version ist die 2212 und läuft auf Windows10

Wenn irgendwelche Infos fehlen, bitte einfach kurz melden. Das ist mein erster Forumsbeitrag.

Freundliche Grüße
BM

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: 2675
Registriert: 18.10.2005

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

erstellt am: 12. Jan. 2024 14:40    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 BM-Konstrukteur 10 Unities + Antwort hilfreich

Hallo BM,

zunächst mal willkommen hier im Forum. Darf ich davon ausgehen, daß du mit NXOpen noch nicht viel Erfahrung hast ?
Oder hast du schon damit angefangen, ein Journal oder eine dll/exe zu erstellen ?

Für den Anfang wäre das schon eine recht ambitionierte Aufgabe, aber du kannst sie ja in einzelne Schritte aufteilen, was ohnehin notwendig ist.

Starten würde ich damit, die Partslist auszulesen. Das geht / ging mal über die UFSession (In <ufs>.plist gibt's die Methoden dazu), evtl. gibt's mitterweile in der 2212 was Neues. Das lässt sich über das Aufzeichnen eines Journals herausfinden, dazu die Aufzeichnung starten und z.B. die Partslist editieren. Dann stoppen und nachsehen, was in der Aufzeichung ankommt. Was die "alte" Lösung betrifft, findet sich mit einiger Sicherheit ein Beispiel hier oder auf GTAC.

Jedenfalls sollte dieser Teil den Inhalt der Tabelle in irgendwelchen (String-) Variablen speichern, um später darauf zuzugreifen.

Die Ausgabe geht einerseits direkt nach Excel, dazu müssen allerdings Excel-Libraries eingebunden werden, was nur bei kompilierten Anwendungen funktioniert. Das erfordert zum einen eine Autorenlizenz für DotNet, zum anderen schon etwas Erfahrung.

Einfacher ist es, zunächst ein .csv auszugeben, das kann von Excel gelesen, evtl. auch in eine Vorlage importiert werden. Es bleibt aber ein Rest Handarbeit, dafür ist es einfacher und geht auch ohne separate Lizenz, per Journal.

Das ist mal ein grober Fahrplan, der dich hoffentlich auf den richtigen Weg bringt.

Gruß, Michael


------------------
Ein Mensch wird laut, wenn er was will;
wenn er's erst hat, dann wird er still;
Das "Danke" ist, nach alter Sitte,
Weit selt'ner als das "Bitte, Bitte".

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

geraldb
Mitglied



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

Beiträge: 40
Registriert: 13.09.2008

erstellt am: 13. Jan. 2024 10:41    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 BM-Konstrukteur 10 Unities + Antwort hilfreich

Ergänzung: bei Erstellung der CSV in der ersten Zeile das Trennzeichen angeben und in enthaltenen Zeichenketten (Benennung) entsprechend ersetzen. Das vermeidet Fehler bei der Weiterverarbeitung.
Beispielergebnis:
Code:
sep=;
Sachnummer;Position;Stk;Benennung
xxxxx.yyyyy;10;1:loremipsum1
yyyyy.wwwww;20;1;loremipsum2
usw

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

BM-Konstrukteur
Mitglied


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

Beiträge: 2
Registriert: 12.01.2024

Siemens NX2212 - Windows 10

erstellt am: 15. Jan. 2024 08: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

Hallo mseufert udn geraldb,

danke erst einmal für eure Antworten.
Das mit der csv und den Trennzeichen ist schon mal ein guter Hinweis. Ich würde ohnehin gerne so wenig wie möglich im NX programmieren.
Ab der Übergabe an die Excel-Vorlage kann ich mit vba arbeiten und das bekomme ich eigentlich relativ gut hin.
In vb.net in Kombination mit NX bin ich tatsächlich relativ unerfahren, auch wenn ich hin und wieder minimale "Erfolge" hatte wie zB "Lese ein Attribut aus und gib es mir im Information Window wieder". Ich finde aber partout keine Befehle wie ich auf die Stückliste zugreifen kann bzw auf eine Zelle.
Im Journal-recording kann ich die Markierung der Zellen auch nicht aufnehmen bzw. die Markierung wird nicht aufgezeichnet.
Wie kann ich mir die Methoden zu ufs.plist anzeigen lassen? Entschuldige bitte diese Anfängerfrage.
In der Suche oder auf GTAC finde ich leider keine passende Codes.

Wüsstet oder könntet ihr mir eine Beispielzeile schreiben wie ich eine Zelle in der parts list markiere?
Das mit dem durchloopen für alle Zellen würde ich wahrscheinlich hinbekommen.

Mein erster Gedanke war ziemlich pragmatisch, das Programm sollte die Stückliste nur komplett markieren dann programmiere ich einen ButtonClick "STRG+C" damit die Liste in die Zwischenablage kopiert wird und ab da geht es dann weiter mit xls oder csv.

Danke und Gruß
BM

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



Konstrukteur (m/w/d) Bordnetzentwicklung
W...
Anzeige ansehenKonstruktion, Visualisierung
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: 2675
Registriert: 18.10.2005

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

erstellt am: 15. Jan. 2024 13:37    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 BM-Konstrukteur 10 Unities + Antwort hilfreich

Hallo BM,

Kenntnisse in vba sind schon mal eine gute Basis. 
Beispiele finden sich hier, such' mal nach Stückliste oder plist, das ergibt einige Treffer.
Um die Member einer Klasse aufzulisten, brauchst du eine Entwicklerumgebung, i.d.R. eine Visual Studio Version. Dort werden die NXOpen Libraries referenziert, danach kann darauf zugegriffen und Member List, Parameter Info und Word Completion abgerufen werden.

Gruß, Michael

------------------
Ein Mensch wird laut, wenn er was will;
wenn er's erst hat, dann wird er still;
Das "Danke" ist, nach alter Sitte,
Weit selt'ner als das "Bitte, Bitte".

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)2024 CAD.de | Impressum | Datenschutz