Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Assembly-Struktur eines nicht geladenen Teils

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:  Assembly-Struktur eines nicht geladenen Teils (1086 mal gelesen)
Seidelbast
Mitglied
Konstrukteur/Programmierer

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

Beiträge: 6
Registriert: 07.07.2005

NX4(32/64)
WinXP Pr. 64bit
MS VisualStudio2005

erstellt am: 03. Sep. 2009 10: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

Hallo Forum!

Ich versuche, unter NX4(64bit) und MS Visual Studio 2005 per .NET eine Versionsverwaltung für unsere Bauteile zu schreiben - wir arbeiten nämlich native... Nach schlimmen Startschwierigkeiten wird's immer besser, eine Sache bremst ich aber gewaltig:

Kann ich die Assembly-Struktur eines Teils auslesen (Teil ist Assembly kann ich schon erkennen), OHNE DAS TEIL ZU LADEN? Ich suche wahrscheinlich etwas wie die .NET-Variante des wunderschonen Kommandozeilen-Tools ugpc.exe.

Kann mir einer helfen?

------------------
SSt

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: 03. Sep. 2009 11:30    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 Seidelbast 10 Unities + Antwort hilfreich

Hallo Seidelbast,

um die Struktur rekursiv über die NXOpen API auszulesen, muß zumindest die Root Komponente geladen sein. Damit können die Komponenten ermittelt werden. Für Informationen über das jeweilige Part, z.B. den vollständigen Pfadnamen, muß dann auch dieses geladen sein.

Eine Alternative ohne NXOpen API besteht darin, ugpc in Deinem Programm als separaten Prozess zu starten und die Ausgabe zu verwerten.


Gruß, Michael

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

Seidelbast
Mitglied
Konstrukteur/Programmierer

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

Beiträge: 6
Registriert: 07.07.2005

NX4(32/64)
WinXP Pr. 64bit
MS VisualStudio2005

erstellt am: 03. Sep. 2009 12:02    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 Martin,

vor einer solchen Antwort hatte ich Angst 
So richtig fit bin ich nicht in .NET, und mit der Shell-Methode hab' ich schon rumprobiert. Die hat mich fürchterlich geärgert, weil's nicht so geht, wie ich mir das vorstelle. Das führte dann unweigerlich zur Hoffnung auf den einzeiligen NX-Weg...

Danke für die schnelle Antwort!

Grüße,
Sebastian

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: 03. Sep. 2009 17:25    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 Seidelbast 10 Unities + Antwort hilfreich

Hallo Sebastian,

welchen Martin meinst Du ? 

Die nächste Verwechslung liegt m.E. beim Unterschied zwischen Shell und Process. Einen Prozeß kannst Du wie folgt definieren:

dim proc as new process

Dann Info's beistellen, z.B.

proc.StartInfo...
-> welches Programm soll laufen, welche Argumente werden übergeben etc.

proc.StandardOutput...
-> Ausgabe des externen Programms abfangen, die wird als StreamReader geliefert.

Das sind die wesentlichen Angaben für den Prozeß, der letztlich mit:
proc.start()
gestarted wird.

Nachdem's durchgelaufen ist, kannst Du den StreamReader zeilenweise durchgehen und so feststellen, was Dir ugpc zu sagen hat.

Das ist zwar nicht ganz in eine Zeile zu kriegen  , aber Angst machen (lassen) gilt nicht.

Gruß, Michael

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

Seidelbast
Mitglied
Konstrukteur/Programmierer

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

Beiträge: 6
Registriert: 07.07.2005

NX4(32/64)
WinXP Pr. 64bit
MS VisualStudio2005

erstellt am: 03. Sep. 2009 22:30    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

Bitte vielmals um Entschuldigung,
hallo Michael

Auf die Idee, direkt den Output des ugpc in mein Programm umzuleiten bin ich gar nicht gekommen - und wenn hätt' ich nicht gewusst, wie ich's machen soll. Was ich jetzt nach langem Gemurkse geschafft habe, ist per Shell-Methode eine cmd zu starten, im gleichen Zug ugpc mit dem gewünschten PRT auszuführen und dessen Ausgabe per Pipe in eine temporäre Datei umzuleiten. Die lese ich dann wieder ein, werte die Einträge nach ein paar Kriterien aus und lösche schließlich die Temp-Datei.

Morgen setz' ich vor den ganzen Kram lauter kleine Striche und versuche es mit Deinen Tips.

Nochmals Danke für Deine Antwort,
Grüße,
Sebastian

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: 04. Sep. 2009 09:38    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 Seidelbast 10 Unities + Antwort hilfreich

Hallo Sebastian,

wenn Du es mit einer Shell bereits geschafft hast, ugpc zu verwenden, klappt das mit einem Prozeß sicher auch. Für jemanden, der nach eigenem Bekunden "nicht ganz fit in .NET" ist, schon eine ansehliche Leistung. Und mach' Dir wegen "Martin" keine Sorgen, das kann ja mal vorkommen.

Gruß, Michael

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

ThomasZwatz
Ehrenmitglied V.I.P. h.c.
cadadmin



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

Beiträge: 5397
Registriert: 19.05.2000

erstellt am: 04. Sep. 2009 20: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 Nur für Seidelbast 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Seidelbast:
...Ich versuche, unter NX4(64bit) und MS Visual Studio 2005 per .NET eine Versionsverwaltung für unsere Bauteile zu schreiben - wir arbeiten nämlich native...

Nur so aus Neugier    :
Wie / was machst du da genau ?

Thomas

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



Technischer Zeichner (m/w/d) CAD Gebäudetechnik

Die MB Group ist Ingenieurbüro für Elektroan­lagen, Förder­tech­nik, sowie Lichtplanung mit über 30-jähriger Erfolgsge­schichte. Unser Ziel ist der ökologisch und ökonomisch optimale Gebäude­betrieb. Unser Planungs­horizont umfasst den komplet­ten Gebäude­zyklus ? von der Konzeption über die Projektierung bis hin zur Inbe­trieb­nahme. Wir freuen uns auf die Zusammen­arbeit mit Ihnen!


    ...
Anzeige ansehenTechnischer Zeichner, Bauzeichner
Seidelbast
Mitglied
Konstrukteur/Programmierer

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

Beiträge: 6
Registriert: 07.07.2005

NX4(32/64)
WinXP Pr. 64bit
MS VisualStudio2005

erstellt am: 07. Sep. 2009 10:55    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

Moin Thomas!

Wir versuchen mit allerlei Zusatzprogrammen (wie einem Tool für "überwachtes" Concurrent Engineering, nicht selbst geschrieben) die aus 1001 Diskussionen bekannten Nachteile des Native-UG in den Griff zu bekommen. Teamcenter & Co. wollten wir nicht, Begründungen stehen in den gleichen 1001 Diskussionen 
Die Versionsverwaltung wird ein Teil des "in-den-Griff-bekommens", das Konzept dafür ist bisher um die zwei Seiten lang und enthält einen Haufen firmenspezifischer Vorgaben. Außerdem verändert es sich alle paar Tage, weil ich ein neues Loch finde, an das ich zuvor nicht gedacht hatte.
Kurz gesagt: Versions-Suffix im Dateinamen, Rechte-Steuerung in der Windows-Domain und per Explorer-Schreibschutz (u.a. dafür brauchte ich die Kenntnis über den Assembly-Inhalt BEVOR ich das Assy ins NX lade). Dem ganzen "übergestülpt" eine SQL-Datenbank, die aber nur auf die PRTs "verlinkt" und einige Zusatzinfos speichert.

Und dann träum' ich noch ein bißchen davon, daß wir das auch bei NX6 noch benutzen können, ohne wieder alles umbauen zu müssen 

Ist das ein stückweit 'ne Antwort auf Deine Frage?

Schönen Arbeitstach,
Sebastian

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