Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Partname an externes Programm übergeben

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:  Partname an externes Programm übergeben (1876 mal gelesen)
kometler
Mitglied
NC-Programmierer


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

Beiträge: 23
Registriert: 05.06.2007

erstellt am: 05. Jun. 2007 07:34    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,

Kann mir vielleicht von euch einer helfen.
Habe von UG in zusammenhang mit Programmierung leider keine erfahrung.

Ist es möglich in UG einen Butten einzubauen der ein Externes Programm Startet (z.B. "abc.exe -s Partname").

Es soll einfach nur der Name des Aktuellen Parts übergeben werden.

mfg
Michael Wüst

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

Walter Hogger
Moderator
Maschinenbauingenieur


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

Beiträge: 3886
Registriert: 06.10.2000

UG V2 bis UG V18
NX1 bis NX2206 ("NX20")

erstellt am: 05. Jun. 2007 09: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 Nur für kometler 10 Unities + Antwort hilfreich


UG-Start_mit_Macro.pdf

 
Hallo Michael,

in GRIP ist die Aufgabe mit einem 3-Zeiler zu erschlagen.

Tipps:
&PNAME liefert den Namen des aktuellen Parts ohne Pfad
&PSPEC ... mit Pfad
XSPAWN kann andere Programme oder Betriebssystemkommandos absetzen

UG/NX selbst kann man starten und die Information von einem Part mitgeben (das geöffnet werden soll) oder man kann auch ein Macro mitgeben (siehe Anhang).

Gruß

------------------
Walter Hogger

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



Technischer Produktdesigner (m/w/d)
T...
Anzeige ansehenProduktdesign, Industriedesign
SMario
Mitglied
Konstrukteur/Designer


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

Beiträge: 114
Registriert: 31.03.2005

FSC Celsius Workstation
CPU: Pentium 4 3.20GHz
Speicher: 2.00GB RAM
Grafik: Quadro FX 1400
Monitor: FSC P20-2
OS: Windows XP SP2
UG: NX4.0.2.2

erstellt am: 05. Jun. 2007 19: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 kometler 10 Unities + Antwort hilfreich

Hallo Michael,

mit einem Journal (VB.NET) würde das ungefähr so aussehen:

Code:
Try
'declare filename for Process()
convertcmd.StartInfo.FileName = <MyExternalCommand.exe>
'declare arguments for Process()
convertcmd.StartInfo.Arguments = <MyArguments>
'declare windowstyles for Process()
convertcmd.StartInfo.WindowStyle = ProcessWindowStyle.Normal
'start Process()
convertcmd.Start()
'if error occurs, check for reasons...
Catch e As Win32Exception
'...if executable file is not found...
If e.NativeErrorCode = ERROR_FILE_NOT_FOUND Then
'...throw error-messagebox
System.Windows.Forms.MessageBox.Show((e.Message + ". Check the path."))
Else
'...permissions to execute the translator...
If e.NativeErrorCode = ERROR_ACCESS_DENIED Then
'...throw error-messagebox
System.Windows.Forms.MessageBox.Show((e.Message + ". You do not have permission to save the destination file."))
End If
End If
End Try

'wait for exit of Process()
convertcmd.WaitForExit()


Das ist kein lauffähiges Beispiel NX-Journal! Es dient nur zu Veranschaulichung wie man ein beliegiges Programm (ersetze <MyExternalCommand.exe> mit der .EXE-Datei mit vollständigem Pfad) mit Parametern (ersetze <MyArguments> mit den nötigen Argumenten) starten kann.

Das vollständige Journal (für NX3 und NX4) zum Exportieren von DWG-Dateien ist HIER zu finden.

Beim Angeben der EXE-Datei und den Parametern muss darauf geachtet werden, dass wenn Leerstellen im Pfad zur EXE-Datei oder den Parametern enthalten sind diese in doppelten Anführuzngszeichen zu setzen.

Hier nun das Wichige:

Partname ohne Pfad und ohne Erweiterung: Parts.Work.Leaf
Partname mit vollständigem Pfad ohne Erweiterung: Parts.Work.FullPath

Das funktioniert nur mit einer Objektinstanz! Also Zuerst eine Instanz auf die aktuelle NX-Session (Dim theSession As Session = Session.GetSession()) von dieser muss man wiederum eine auf das aktuelle WorkPart machen (Dim workPart As Part = theSession.Parts.Work) dann kann man direkt auf Leaf und FullPath zugreifen. Siehe auch das im Link angegebene Beispiel.

Zum Starten von externen Programmen habe ich oben das Code-Beispiel gepostet. Ist eigentlich fast selbsterkärend. "convertcmd" ist eine Instanz auf die .NET-Process Klasse (Dim convertcmd As New Process()).

Ich weiss, ist ein bischen viel geworden....


Ciao
Mario

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