Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Automatischer PDF-Export - Muster wird nicht geladen

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:  Automatischer PDF-Export - Muster wird nicht geladen (1495 mal gelesen)
pleudel
Mitglied
Projektleiterin


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

Beiträge: 156
Registriert: 28.11.2011

Windows 7
UG NX 10 (auch Daimler)
Visual Basic 2013 Express
Programmierung in NX und ProE/Creo

erstellt am: 30. Jul. 2012 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 zusammen,

ich habe folgendes Problem:
Wir haben auf unseren Zeichnungsblättern Muster für die Zeichnungsrahmen verwendet. Wenn man nun ein PDF von der Zeichnung erstellt, funktioniert das prima.

Wenn ich allerdings versuche, den PDF-Export automatisch durchzuführen (das entsprechende Journal wird extern gestartet, d.h. das Part wird in UG nicht geladen), dann taucht das Muster  nicht in dem PDF auf!

Ich habe ja die Vermutung, dass es daran liegt, dass das Journal keinerlei Hinweis auf ein Muster oder ähnliches enthält und bei "Laden" nur die Ansichten, Beschriftung usw lädt, die in dem Zeichnungspart auch wirklich vorhanden sind.

Mir ist bekannt, dass man beim Benutzen der Muster nur einen Verweis auf die entsprechende Muster-Datei einfügt.
Ist es irgendwie möglich, dass mein VB-Code diesen Verweis auslesen kann und das entsprechende Muster lädt?

Hoffentlich kann mir jemand helfen...
Die Forumsuche und auch uganswer.com hat mir bisher nicht weitergeholfen.

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

little_ug
Mitglied
CAX/PDM Admin / PM


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

Beiträge: 389
Registriert: 20.03.2003

erstellt am: 30. Jul. 2012 08:16    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 pleudel 10 Unities + Antwort hilfreich

Hi Pleudel,

ich vermute dass dein Journal die UGII_PATDIR nicht hat.
Also entweder im Batch vorher setzen oder über das Journal holen.. z.B.:

Dim ru As RemoteUtilities = RemoteUtilities.GetRemoteUtilities
Dim myenv as String = ""
myenv = ru.GetEnvironmentVariable("UGII_PATDIR")
...

------------------
Gruß

Michael

have you tried turning it off and on again

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

pleudel
Mitglied
Projektleiterin


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

Beiträge: 156
Registriert: 28.11.2011

Windows 7
UG NX 10 (auch Daimler)
Visual Basic 2013 Express
Programmierung in NX und ProE/Creo

erstellt am: 30. Jul. 2012 09:16    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,

danke für die schnelle Antwort!

Was genau ist denn die UGII_PATDIR und was tut sie?
Schaut aus wie eine Umgebungsvariable, aber in dem Thema bin ich nicht wirklich drin...

Danke trotzdem schonmal!!!

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

little_ug
Mitglied
CAX/PDM Admin / PM


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

Beiträge: 389
Registriert: 20.03.2003

erstellt am: 30. Jul. 2012 09:57    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 pleudel 10 Unities + Antwort hilfreich

Hi,
das ist die Variable die auf das Verzeichniss zeigt in welchen die Muster liegen.

------------------
Gruß

Michael

have you tried turning it off and on again

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

pleudel
Mitglied
Projektleiterin


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

Beiträge: 156
Registriert: 28.11.2011

Windows 7
UG NX 10 (auch Daimler)
Visual Basic 2013 Express
Programmierung in NX und ProE/Creo

erstellt am: 30. Jul. 2012 10:04    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,

leider bringt der von dir gepostete Code nicht ed gewünschten Erfolg.

folgendens habe ich ergänzt:
             
              Dim ru As RemoteUtilities = RemoteUtilities.GetRemoteUtilities
              Dim myenv As String = ""
              myenv = ru.GetEnvironmentVariable("UGII_PATDIR")

bringt leider nichts. Was daran liegen könnte, dass die Muster in einem selbst definierten Ordner liegen...
Also folgender Versuch:


              Dim ru As RemoteUtilities = RemoteUtilities.GetRemoteUtilities
              Dim myenv As String = ""
              myenv = ru.GetEnvironmentVariable("D:\LOKALER_ORDNER\Muster")


bringt leider auch nichts.
Habe ich irgendwas vergessen oder falsch eingesetzt?

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: 30. Jul. 2012 10:12    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 pleudel 10 Unities + Antwort hilfreich

Ich würde die Umgebungsvariable nicht im Journal setzen ( geht natürlich ).

Vielmehr würde ich dafür sorgen, dass die Umgebung aus der das Journal aufgerufen wird gleich gesetzt ist wie im interaktiven NX.

Üblicherweise sollte es reichen, UGII_BASE_DIR, UGII_ROOT_DIR und UGII_ENV_FILE richtig zu setzen.
(UGII_PATDIR wird in UGII_ENV_FILE definiert ). Hängt aber natürlich von den Gegebenheit vorort ab ...

Das ganze in ein Batchscript packen:
- Umgebung initialisieren
- dann Journal aufrufen

Fertig.

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

pleudel
Mitglied
Projektleiterin


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

Beiträge: 156
Registriert: 28.11.2011

Windows 7
UG NX 10 (auch Daimler)
Visual Basic 2013 Express
Programmierung in NX und ProE/Creo

erstellt am: 30. Jul. 2012 11:15    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

so, jetzt bin ich schon weiter:

der Fehler lag hier:
    ru.GetEnvironmentVariable("UGII_PATDIR")

ich will ja die Umgebungsvariable nicht auslesen, sondern neu setzen.
Hinzu kommt noch, dass wir UG nicht über die herkömmliche .exe starten, sondern über eine .bat-Datei, in der vorher die benötigten Umgebungsvariablen gesetzt werden (d.h. diese sind im System nicht vorhanden, um ausgelesen oder geändert zu werden).
Wenn ich jetzt hergehe und die Variable manuell für meinen PC erstelle, haben ja andere User nichts davon.

ich habe also einfach in den Code folgenden Schnipsel eingefügt:


            Dim objShell As Object = CreateObject("WScript.Shell")
            objShell.Environment("system")("UGII_PATDIR") = "D:\LOKALER_ORDNER\Muster"

damit wird dann die Variable erstellt, bevor ich in meinem Journal die "run_journal.exe" starte.
bis hier funktioniert auch alles.

Wenn ich jetzt allerdings aus meinem Journal heraus ein anderes aufrufe, scheint es so zu sein, dass das zweite Journal noch keinen Zugriff auf die Umgebungsvariable hat. Denn das jetzt erstellte PDF hat wieder keinen Rahmen.
Die Variable ist aber (richtig) gesetzt, das habe ich überprüft.

Kann es sein, dass das zweite Journal erst den Zugriff auf die Umgebungsvariable erhält, wenn ich das ganze Programm ein zweites mal starte und die Variable auch beim ersten Journal bereits von anfang an vorhanden ist?

Eigentlich scheint mir das komisch, denn wenn ich das erste Journal starte, wird die Variable direkt erstllt, und das zweite Journal starte ich ja erst, wenn ich alle Einstellungen usw. in der Programmoberfläche eingestellt hab...

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: 30. Jul. 2012 16:56    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 pleudel 10 Unities + Antwort hilfreich

Hallo Pleudel,

wenn Du aus Journal_1 ein zweites über run_journal startest, läuft das in einem separaten Prozess. Die Folge: Journal_2 kriegt sehr wahrscheinlich nichts von den Umgebungsvariablen in Journal_1 mit.

Entweder Du setzt die Variable in jedem Journal oder Du machst es "richtig", so wie es Thomas schon beschrieben hat.

Gruß, Michael

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

pleudel
Mitglied
Projektleiterin


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

Beiträge: 156
Registriert: 28.11.2011

Windows 7
UG NX 10 (auch Daimler)
Visual Basic 2013 Express
Programmierung in NX und ProE/Creo

erstellt am: 31. Jul. 2012 07:33    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,

ich habe es jetzt so gemacht, dass ich an den Rechnern, an denen das Programm zum Einsatz kommt, die Umgebungsvariable manuell gesetzt habe.

Trotzdem interessiert mich, warum das so nicht geht.

Im 1. Journal wähle ich Dateien aus, die dann in eine Textdatei geschrieben werden, um sie als Variablen an das 2. Journal zu übergeben.
Außerdem wird im 1. Journal der Befehl erteilt, das 2. Journal mit der "run_journal.exe" zu starten. Das heißt, wenn ich die Umgebungsvariable im 2. Journal setze, bringt das ja nichts mehr, denn NX ist ja dann bereits "gestartet" (wenn auch im Hintergrund?!).
Ich habe das auch versucht, funktioniert leider nicht.
Das 2. Journal ist außerdem eine Klasse, das 1. eine Windows Form, falls das wichtig ist. Ich gebe ja im 2. gar keine Anweisung mehr, NX zu starten.

Oder habe ich einen ganz falschen Ansatz um mein Journal zu starten?
Ich tue das mit folgendem Code:

    Public Sub openVB(ByVal journal)
        Dim rj_exe As String = "D:\UGNX75\UGII\run_journal.exe"
        Dim j2run As String = journal
        Dim dq As String = Chr(34)
        Dim bl As String = Chr(32)
        Dim proc_id As Integer = -1
        Dim sh_str As String = dq & rj_exe & dq & bl & dq & j2run & dq
        proc_id = Shell(sh_str, AppWinStyle.NormalFocus, True, 100)
    End Sub

Als "journal" gebe ich den Pfad zu dem 2. Journal mit.

Vielleicht weiß jemand von euch, wie ich anstatt mit der .exe auch mit einer .bat-Datei starten könnte? Dann hätte sich das mit den Umgebungsvariablen eh erledigt...


Vielen Dank schonmal

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



Elektroniker / Mechatroniker (w/m/d)

European XFEL is an international non-profit company located in the Hamburg area in Germany. It operates a 3.4 km-long X-ray laser, which produces X-rays of unique quality for studies in physics, chemistry, the life sciences, materials research and other disciplines. The diverse scientific facilities at European XFEL enable scientists from across the globe to carry out a wide range of experimental techniques....

Anzeige ansehenMechatronik
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: 31. Jul. 2012 13:32    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 pleudel 10 Unities + Antwort hilfreich

Meister, mein Motor stottert. Schau' mal bitte in 'n Kofferraum, und sach mir, wat dat is  

Pleudel,

hellsehen kann hier, soweit ich das einschätzen kann, niemand. Der wesentliche Punkt ist der Start der NXSession. Entscheidend sind die UVar's, die zu diesem Zeitpunkt in diesem Prozess gültig sind. An den paar Zeilen kann das kein Mensch erkennen. 

NX schreibt, auch wenn's ohne User Interface gestartet wird, ein Logfile. Darin sollte zu erkennen sein, wie die Variablen gesetzt sind.

Gruß, Michael

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