Problemi di java con i batch translator

Lorenzo77

Utente Junior
Professione: Progettista stampi
Software: NX 8.5.1.3
Regione: Lombardia
#1
Ciao a tutti, da ieri ho un problema con i batch translator di NX aggiornato alla 8.5.1, Java è la 7u13.
Praticamente con qualsiasi batch che faccio partire, che sia iges, step o quant'altro ho sempre lo stesso risultato:
errore nel batch.jpg

Il file ugii_env.DAT riporta:
#
# Copyright 1991 - 2009 Siemens Product Lifecycle Management Software Inc.
# All Rights Reserved.
#
###############################################################################
#
#
# This file should be used to override any standard NX environment variables.
# The values defined here will take precedence over the NX values, as long as
# they are defined before the #include of ugii_env_ug.dat. This file will not
# be overwritten by an MR installation.
#
# Override any variables here.

#
# Do not define any variables after the #include below. They must be defined
# before the #include in order to override the NX defaults.
#
#if FILE ${UGII_BASE_DIR}\ugii\ugii_env_ug.dat
#include ${UGII_BASE_DIR}\ugii\ugii_env_ug.dat
#endif
Mentre il file ugii_env_ug.DAT nella sezione interessata riporta:
#########################################################################
# Java NXOpen Environment Variables
#########################################################################
#
# As of NX 8.5, NX no longer provides a JRE in the installation.
# UGII_JAVA_HOME should point to the base directory of the JRE Installation.
# The value below is just an example that will be different on your system.
# Changing this variable will cause all NX java based applications to use the specified JRE.
# This is an example of how this value can be set.
#if x64wnt
#if FILE c:\apps\Java\jre7x64
UGII_JAVA_HOME=c:\apps\Java\jre7x64
#endif
#else
#if FILE c:\apps\JavaSoft\jre7
UGII_JAVA_HOME=c:\apps\JavaSoft\jre7
#endif
#endif
#
# This is the JVM that will be used for NXOpen Java applications.
# UGII_JVM_LIBRARY_DIR is set to the directory specified in UGII_JAVA_HOME.
# NOTE: changing this value only changes the JRE used by NX Open applications.
#
# On windows 64 only the server JVM library is in the JRE
#
#if x64wnt
UGII_JVM_LIBRARY_DIR=${UGII_JAVA_HOME}\bin\server
#else
UGII_JVM_LIBRARY_DIR=${UGII_JAVA_HOME}\bin\client
#endif
Ho provato senza risultato positivo a cambiare in:
#if x64wnt
#if FILE c:\Programmi\Java\jre7x64
UGII_JAVA_HOME=c:\Programmi\Java\jre7x64
#endif
#else
#if FILE c:\Program Files (x86)\JavaSoft\jre7
UGII_JAVA_HOME=c:\Program Files (x86)\JavaSoft\jre7
#endif
#endif
Non so il perchè sia iniziato questo errore, è un po' che non uso il batch e nel frattempo ho aggiornato java e NX dalla 8.5 alla 8.5.1, avete qualche soluzione?
 

ceschi1959

Utente Standard
Professione: progettista
Software: UG 11 - NX11 TC10
Regione: veneto
#3
Ciao Lorenzo,
devi mettere il path delle directory richieste nel file ugii_evn.dat sotto la riga overryde any variables here.
NX va a leggere l'ugii_env.dat e se trova delle nuove variabili le sovrascrive nell ugii_env_ug.dat.
Spero di essere stato chiaro e dimmi se ha funzionato.
Ciao
 

Lorenzo77

Utente Junior
Professione: Progettista stampi
Software: NX 8.5.1.3
Regione: Lombardia
#4
Grazie per il suggerimento Ceschi, comunque non ha funzionato, con i file DAT di NX ho perso. In compenso ho corretto i file CMD dei BATCH e ora funziona tutto, ho aggiunto le famose stringhe di set nei CMD e tutto ha iniziato a funzionare:

:JAVA_GUI
set PATH=%BASE_DIR%\UGII;%PATH%
set PATH=c:\Program Files\Java\jre7;%PATH%
set UGII_JAVA_HOME=c:\Program Files\Java\jre7
set UGII_JVM_LIBRARY_DIR=c:\Program Files\Java\jre7\bin\server


REM allow the user to use their own JRE or JAR
if "%UGII_DEX_JAR%" == "" set UGII_DEX_JAR=%STEP203UG_DIR%
if "%UGII_DEX_JRE%" == "" goto CHECKHOME

REM Check if the jave.exe exist at location defined by UGII_DEX_JRE
@if not exist "%UGII_DEX_JRE%\bin\java.exe" goto CHECKHOME
@goto CHECKJRE

REM UGII_DEX_JRE is not defined, check for UGII_JAVA_HOME
:CHECKHOME
@if "%UGII_JAVA_HOME%" == "" goto SETJRE
@if not exist "%UGII_JAVA_HOME%\bin\java.exe" goto SETJRE
@set UGII_DEX_JRE=%UGII_JAVA_HOME%
@goto CHECKJRE

REM UGII_JAVA_HOME is not defined, check if it is set by ugii env.
:SETJRE
@for /f "tokens=*" %%I in (' "%BASE_DIR%\ugii\env_print" UGII_JAVA_HOME') do set UGII_JAVA_HOME=%%I

REM check the JRE version
:CHECKJRE
if defined UGII_JAVA_HOME (
@if not exist "%UGII_JAVA_HOME%\bin\java.exe" goto JREERROR
"%UGII_JAVA_HOME%\bin\java" -jar "%BASE_DIR%\ugii\VerifyJava.jar" external "%UGII_JAVA_HOME%"
) else (
echo UGII_JAVA_HOME must be defined
goto JREERROR
)
if errorlevel 1 (
goto OK
) else (
set UGII_DEX_JRE=%UGII_JAVA_HOME%
)
@goto STARTUI



:JREERROR
@Echo The Java Runtime Enviroment (JRE) was not found.
@Echo Install your own JRE and set UGII_JAVA_HOME
@Echo in %UGII_BASE_DIR%\ugii\ugii_env.dat
@Echo to the directory containing the bin and
@Echo lib directories.
@pause
@goto OK


:STARTUI
@call "%UGII_DEX_JRE%\bin\java" -classpath "%UGII_DEX_JAR%\dex.jar" -DUGII_BASE_DIR="%BASE_DIR% " -DSTEP203UG_DIR="%STEP203UG_DIR% " com.dex.splash.STEP203SplashScreen
@IF not %ERRORLEVEL% == 0 pause
GOTO OK
Comunque mi piacerebbe sapere perchè non mi funzionano correttamente le variabili nel ugii_env_ug.dat...
 

ceschi1959

Utente Standard
Professione: progettista
Software: UG 11 - NX11 TC10
Regione: veneto
#5
Ciao Lorenzo,
credo di aver capito il perchè dell'errore. Non avevo letto attentamente il tuo post iniziale in cui dicevi del BATCH translator. Non funziona proprio perchè è come se 'saltassi' la configurazione di NX che viene attivata quando lo fai partire ma non quando fai partire un comando batch. Per avere la conferma prova a mettere le variabili nell'UGII_ENV.dat (e non nell'UGII_ENV_UG.DAT) nella posizione che ti ho suggerito, lanciare NX e poi vai a vedere il file di log (in Help) e vedrai che le variabili sono correttamente settate.
Ti consiglio, a questo punto di andare a mettere queste variabili direttamente come variabili di sistema.
Ciao a presto
 

Lorenzo77

Utente Junior
Professione: Progettista stampi
Software: NX 8.5.1.3
Regione: Lombardia
#6
Ho provato a metterle nel UGII_ENV.DAT come mi hai suggerito, ma le variabili nel log file nella sezione ugii_env.dat sono risultate col campo vuoto. Allora le ho messe nel sistema come mi hai suggerito, in questo modo i batch funzionano correttamente e le variabili compaiono correttamente assegnate nel log sezione variabili di sistema e compaiono doppie nella sezione ugii_env.dat.
Grazie. :biggrin:
 

ciciu

Utente Standard
Professione: Stampi Termoplastici
Software: Nx8.5 ; Nx10
Regione: Lombardia
#7
se nel path ci sono spazi , allora quando si mette la variabile nell'env.dat bisogna racchiuderlo tra i doppi apici : UGII_JAVA_HOME="C:\Program Files\Java\jre7"
 

Lorenzo77

Utente Junior
Professione: Progettista stampi
Software: NX 8.5.1.3
Regione: Lombardia
#8
Grazie ciciu, era proprio questo il problema, nel _ENV.DAT i path con spazi editati nelle variabili vanno racchiusi tra i doppi apici. Adesso ho tolto le variabili dal sistema, le ho inserite con i doppi apici nel UGII_ENV.DAT e ho pulito dalle precedenti modifiche i *.CMD dei batch. Tutto ordinato e funzionante. Grazie a tutti e speriamo non capiti più nulla per almeno un altro anno. :biggrin: