| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Part.Work ist immer leer (1318 mal gelesen)
|
JuPaV Mitglied Software-Entwickler
Beiträge: 39 Registriert: 11.11.2010
|
erstellt am: 15. Dez. 2010 12:00 <-- editieren / zitieren --> Unities abgeben:
Hallo, beginne gerade mit .NET- Programmierung in NX5 (über NXOpen). Ich würde gerne von Visual Studio auf das aktive Dokument in NX 5 zugreifen. Wenn ich Visual Studio (2010 professional) starte, dann erscheint das aktive Part aber immmer als leer. Code: Dim workPart As Part = theSession.Parts.Work Woran kann das liegen bzw. was mache ich falsch? ------------------ Mit freundlichen Grüßen, JuPaV Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 15. Dez. 2010 13:18 <-- editieren / zitieren --> Unities abgeben: Nur für JuPaV
Hallo JuPaV, in VS Pro kannst du eine Start Application angeben, in dem Fall muß da die ugraf.exe drin stehen. Dann wird beim Debuggen, wofür Du allerdings eine Autoren - Lizenz brauchst, NX gestartet. Ab diesem Moment weiß VS über NX und die Parts Bescheid. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JuPaV Mitglied Software-Entwickler
Beiträge: 39 Registriert: 11.11.2010
|
erstellt am: 15. Dez. 2010 13:56 <-- editieren / zitieren --> Unities abgeben:
|
JuPaV Mitglied Software-Entwickler
Beiträge: 39 Registriert: 11.11.2010 CATIA V5R20SP364 CATScript, CATVba, VB6, .NET, C++, NXOpen,C#
|
erstellt am: 15. Dez. 2010 16:08 <-- editieren / zitieren --> Unities abgeben:
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 16. Dez. 2010 09:46 <-- editieren / zitieren --> Unities abgeben: Nur für JuPaV
|
JuPaV Mitglied Software-Entwickler
Beiträge: 39 Registriert: 11.11.2010
|
erstellt am: 16. Dez. 2010 10:57 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, vielen Dank für Deine Geduld. Ich versuche es mal zu beschreiben. 1.Ich habe ein aktives "NX5-Part" mit einfacher Geometrie 2. Ich würde gerne mit einem kleinen Programm auf das Teil zugreifen. 3. Problem: In VS ist keine Information über das aktive Part vorhanden (siehe Screenshot) Meine Vorgehensweise: 1. Starten von VS aus der NX-Eingabeaufforderung 2. Schreiben eines kleinen Testprogramms in VS 3. In VS: Unter Einstellungen -> Debug trage ich den Pfad von ugraf.exe ein 4. In VS: Starten von Debug -> NX wird gestartet 5. In NX: Unter File -> Execute -> die erstellte .exe starten 6. => Das Programm wird ohne Fehler ausgeführt 7. => Meldung vom Programm: "Part is Nothing" obwohl Geometrie vorhanden ist
------------------ Mit freundlichen Grüßen, JuPaV Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Maschinenbauingenieur (m/w/d) Konstruktion | Du möchtest deine Karriereentwicklung nicht dem Zufall überlassen? Dann gehe mit uns gezielt den nächsten Schritt. Dazu bringen wir bei FERCHAU als eine der führenden europäischen Plattformen für Technologie-Dienstleistungen die smartesten und innovativsten Köpfe mit Unternehmen verschiedenster Branchen zusammen. Wir suchen dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte.... | Anzeige ansehen | Maschinenbau |
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 16. Dez. 2010 16:13 <-- editieren / zitieren --> Unities abgeben: Nur für JuPaV
Hallo JuPaV, viel kann's nicht sein, da Dein VS NX startet und Du mit dem Debugger arbeiten kannst. Lediglich bei der Vorgehensweise fehlt eine Kleinigkeit: Zwischen Schritt 4 und 5 muß das Part geöffnet werden. Erst danach ist es verfügbar. Zur Probe kannst Du mal die ganze PartCollection untersuchen. Dim allparts() as Part = TheSession.Parts.ToArray Anschließend im Array nachsehen, was los ist. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |