| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
| Solid Edge: Erste Schritte, ein Webinar am 29.11.2024
|
Autor
|
Thema: Schnittstellenproblem? (926 mal gelesen)
|
CAXStudent Mitglied Feinwerktechnik Diplomandin
Beiträge: 4 Registriert: 27.02.2009
|
erstellt am: 31. Mrz. 2009 10:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute! Ich bin ja noch Anfänger.... versuche gerade die Koordinaten eines simplen Punktes aus NX4 auszulesen. Benutze VS2008. Das hinzufügen der Verweise und der Verbindungsaufbau hat soweit geklappt. Nun habe ich folgenden Quellcode erstellt um zu überprüfen ob das Programm ein Part aus dem laufenden NX lädt. Bei NX habe ich ein Part geöffnet mit dem einzig enthaltenen Punkt. Beim Debuggen sagt VS mir, dass eine PartCollection geladen wird, aber die Eigenschaft Parts ist Nothing, d.h. die Referenzen "test" und "currentWorkPart" bleiben immer Nothing. Imports NXOpen Imports NXOpenUI Imports NXOpen.UF
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim TheSession As Session = Session.GetSession() Dim theUI As UI = UI.GetUI() Dim ufs As UFSession = UFSession.GetUFSession Dim test As PartCollection Dim CurrentWorkPart As Part
test = TheSession.Parts
CurrentWorkPart = TheSession.Parts.BaseDisplay() CurrentWorkPart = TheSession.Parts.Work End Sub End Class Wer hat einen Rat?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2704 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 31. Mrz. 2009 16:41 <-- editieren / zitieren --> Unities abgeben: Nur für CAXStudent
Hallo Ina, mein Rat: Fang klein an und geh' schrittweise vor, mit einer Journal Vorlage wie z.B. hier: http://ww3.cad.de/foren/ubb/Forum442/HTML/000435.shtml Laß diese Vorlage als Journal laufen, versuch' den Ablauf zu verstehen und bau' dann Schritt für Schritt die benötigten Funktionen, wie das Auslesen von Punktkoordinaten ein. Dazu muß der Punkt entweder zur Laufzeit selektiert (Beispiele dazu findest Du hier im Forum über die Suchfunktion) oder aus der sog. PointCollection (WorkPart.Points) ermittelt werden. Das kann etwa so aussehen (nicht getestet, nur hin geschrieben) : For each p as NXOpen.Point in WorkPart.Points Console.Writeline("X " & p.X & " Y " & p.Y & " Z " & p.Z) Next Mach' zur Kontrolle häufig Ausgaben ins ListingWindow oder in die Console von VS. So kannst Du sehen, ob und welche Werte in den Variablen stehen. Auf Deinem eingeschlagenen Weg, mit WinForm, Debugger, der dazu notwendigen Lizenz (vorhanden?) und dem Zusammenspiel zur Laufzeit zwischen NX4 und VS2008 sind viele Hürden auf ein Mal zu bewältigen, da fällt man zu Anfang gerne mal auf die Nase. Gruß und gutes Gelingen, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2704 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 01. Apr. 2009 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für CAXStudent
Hallo Ina, im Anhang findest Du ein Journal, das die Koordinaten aller Punkte im WorkPart ins Listingwindow ausgibt. Verrätst Du mir im Gegenzug, wie Du Mit NX4 und VS2008 den Debugger ans Laufen kriegst ? Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Trudel Mitglied
Beiträge: 24 Registriert: 03.02.2009
|
erstellt am: 03. Apr. 2009 09:15 <-- editieren / zitieren --> Unities abgeben: Nur für CAXStudent
Zitat: Original erstellt von mseufert: Hallo Ina,im Anhang findest Du ein Journal, das die Koordinaten aller Punkte im WorkPart ins Listingwindow ausgibt. Verrätst Du mir im Gegenzug, wie Du Mit NX4 und VS2008 den Debugger ans Laufen kriegst ? Gruß, Michael
ich glaub mit dem debugger kann ich dir helfen. Startest NX und VS als admin. Und dann in VS über Debuggen --> an den Prozess anhängen . Öffnet sich ein Pop-up,wo du Anfügen an "Verwaltet Code " einstellen musst und dann ugraf.exe auswählst. Auf jeden Fall kannst du so debuggen, wenn du eine DLL danach in NX startest. Axo nicht vergessen breakpoints zu setzen ^^. Gruß Trudel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2704 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 03. Apr. 2009 16:25 <-- editieren / zitieren --> Unities abgeben: Nur für CAXStudent
Hallo Trudel, danke für den Tip, der Weg ist eine gute Alternative zum "normalen" Debuggen mit Start Action. So muß nicht so oft NX neu gestartet werden. Das eigentliche Problem, den Versionskonflikt zwischen VS2008 (min. DotNet-FW 2.0) und NX4 (die 32Bit Version braucht DotNet-FW 1.1) löst das leider auch nicht. Beim Versuch, die, mit VS2008 kompilierte dll in NX3/4 aufzurufen, gibt's eine InvalidFormatException. Mit NX5 (DotNet-FW 2.0)funktioniert's dagegen wie gewünscht. Ideal wäre, wenn man in den Projekteigenschaften unter Compiler/Advanced compile Options als TargetFramework die 1.1 einstellen könnte. Ist aber wohl nicht drin. Trotzdem nochmals besten Dank. Gruß, Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAXStudent Mitglied Feinwerktechnik Diplomandin
Beiträge: 4 Registriert: 27.02.2009
|
erstellt am: 09. Apr. 2009 10:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, ich habe die Dateipfade, die bei den Verweisen vom Visual Studio 2008-Projekt angegeben werden müssen, um die NXOpen Klassenbibliothek einzubinden, in die Umgebungsvariablen von Windows eingetragen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Ausbildungsleiter CNC / Lehrmeister Zerspanung (m/w/d) | HAPEKO ist die erste Adresse für Fach- und Führungskräfte in Deutschland. Schwerpunkt der Tätigkeit ist das Schaffen von Verbindungen zwischen Spezialisten und Führungskräften mit einem beruflichen Veränderungswunsch und passenden Unternehmen. HAPEKO ist deutschlandweit mit mehr als 20 Standorten vertreten. Unser Mandant ist ein sehr erfolgreicher Hersteller in der metallverarbeitenden Industrie, mit mehr als 500 Mitarbeitenden.... | Anzeige ansehen | Abteilungsleitung, Bereichsleitung |
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2704 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 09. Apr. 2009 11:55 <-- editieren / zitieren --> Unities abgeben: Nur für CAXStudent
Hallo Ina, in welchen Variablen hast Du diese Einträge vorgenommen ? Die müssen ja in VS bekannt sein, damit die Inhalte gelesen werden. %Path%, %Include%, %Lib% etc. hab' ich schon mal versucht, aber VS interessiert das offensichtlich nicht. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |