Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX
  getenv()

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:  getenv() (2030 mal gelesen)
hugokunz
Mitglied
Ing


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

Beiträge: 130
Registriert: 07.03.2012

WIN10
NX10
NX1876
NX1953

erstellt am: 23. Aug. 2017 13: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 CAD-Gemeinde,
mit "getenv()" kann man die Zeichenkette einer Umgebungsvariablen bekommen.
Ich habe noch nicht herausbekommen, wie man diese Umgebungsvariable anlegt.
Über Systemsteuerung * System * ... kann ich Benutzer- und System-Umgebungs-
variablen definieren - getenv() liefert mir aber nicht den String.

Wer kann mir weiterhelfen?

------------------
keine

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

Big King
Ehrenmitglied
NX/Tc Admin


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

Beiträge: 1887
Registriert: 06.12.2010

erstellt am: 23. Aug. 2017 13:41    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 hugokunz 10 Unities + Antwort hilfreich

du bist im flaschen Forum ?

NX Programmierung wäre glaube ich korrekt....
http://ww3.cad.de/cgi-bin/ubb/forumdisplay.cgi?action=topics&forum=NX+Programmierung&number=442

------------------
“Vision without action is a daydream. Action without vision is a nightmare.”

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

hugokunz
Mitglied
Ing


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

Beiträge: 130
Registriert: 07.03.2012

WIN10
NX10
NX1876
NX1953

erstellt am: 23. Aug. 2017 14:02    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 Big King,
danke f d nichtssagende Antwort. "getenv()" ist ein Funktionsaufruf bei den Ausdruck-Funktionen
in NX --- was hat das bitteschön mit Programmierung zu tun. Außerdem liefert mir die Suchfunktion
3 Beiträge in denen getenv() verwendet wird.

------------------
keine

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 NX2008 ("NX19")

erstellt am: 23. Aug. 2017 15:43    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 hugokunz 10 Unities + Antwort hilfreich

Hallo Jungs,

nachdem ich in der Ecke schon über 32 Jahre lang ausharre, kann ich mich da vielleicht vermittelnd einbringen.

Es gibt in der NX-Programmierung "getenv" (auch schon zu GRIP-Zeiten vor meiner Zeit!) und man kann diese Funktion innnerhalb der Parameter (Expressions) nutzen, was "normalsterbliche" NX-Anwender auch gelegentlich machen.

Oder anders gesagt: Programmierer kommen um "getenv" nicht herum, coole NX-Anwender können es auch nutzen, wenn sie die Syntax durchblicken.

Gruß

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

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

hugokunz
Mitglied
Ing


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

Beiträge: 130
Registriert: 07.03.2012

WIN10
NX10
NX1876
NX1953

erstellt am: 23. Aug. 2017 15:48    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 Walter,
kannst Du mir nicht verraten wie man die Umgebungsvariable setzen muß, damit
ich über die Fkt. getenv() bei den Ausdrücken den String übernehmen kann?

------------------
keine

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

mseufert
Ehrenmitglied V.I.P. h.c.
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: 23. Aug. 2017 16:08    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 hugokunz 10 Unities + Antwort hilfreich

Hallo hugokunz,

geh' im Expression-Dialog zu den Funktionen, dann kannst Du im ff. Dialog nach der Funktion suchen. F1 oder der Help-Button helfen weiter, wenn's dann noch nicht klappt. Der Ausdruckstyp sollte auf String stehen.

Gruß, Michael

p.s.: Das OS und NX haben eine andere Umgebung 

------------------
Ein Mensch wird laut, wenn er was will;
wenn er's erst hat, dann wird er still;
Das "Danke" ist, nach alter Sitte,
Weit seltner als das "Bitte, Bitte".

[Diese Nachricht wurde von mseufert am 23. Aug. 2017 editiert.]

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

hugokunz
Mitglied
Ing


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

Beiträge: 130
Registriert: 07.03.2012

WIN10
NX10
NX1876
NX1953

erstellt am: 23. Aug. 2017 16:17    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 mseufert,
die Parameterdef. ist kein Problem. W i e  kann ich die Umgebungsvariable setzen, N I C H T  den Parameter.

Test=getenv("ABC"), Test ist ein Parameter vom Typ Zeichenkette.
Alles klar. Keine Fehlermeldung, momentaner Wert ist "".

Wie lege ich die Umgebungsvariable mit dem Namen ABC fest?

>>>>>>>>>> das ist mein Problem.

Wenn NX eigene Umgebungsvariablen hat, dann muß ich halt fragen:
Wie definiere ich eine NX-Umgebungsvariable.

Ich hatte nicht gedacht das eine Problembeschreibung so schwer ist.
Und nochmal: Ich bin normalsterblicher NX-Anwender und will NICHT
programmieren.

Danke

------------------
keine

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 NX2008 ("NX19")

erstellt am: 23. Aug. 2017 17:35    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 hugokunz 10 Unities + Antwort hilfreich


Tabellen_mit_Systemangaben_Buchauszug_SysOp_NX10_NX11.pdf

 
Hallo hugokunz,

ich durchblicke diese Diskussion nicht mehr so recht. Vielleicht hilft dir der Buchauszug weiter.

Gruß

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

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

mseufert
Ehrenmitglied V.I.P. h.c.
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: 23. Aug. 2017 18:01    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 hugokunz 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von hugokunz:
Wie lege ich die Umgebungsvariable mit dem Namen ABC fest?

Dann drück' dich doch gleich deutlicher aus, anstatt mit denen zu maulen, die hier ihre Zeit opfern ...

Zitat:
Original erstellt von hugokunz:
Wenn NX eigene Umgebungsvariablen hat, dann muß ich halt fragen:
Wie definiere ich eine NX-Umgebungsvariable.

Das wär' eindeutig gewesen.

Zitat:
Original erstellt von hugokunz:
Ich hatte nicht gedacht das eine Problembeschreibung so schwer ist.

Eine genaue Beschreibung des Problems ist der halbe Weg zur Lösung  .

Michael

------------------
Ein Mensch wird laut, wenn er was will;
wenn er's erst hat, dann wird er still;
Das "Danke" ist, nach alter Sitte,
Weit seltner als das "Bitte, Bitte".

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

uger
Mitglied
CADler & Kinematiker


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

Beiträge: 1115
Registriert: 25.02.2003

NX2015
WIN10 64Bit

erstellt am: 24. Aug. 2017 08:23    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 hugokunz 10 Unities + Antwort hilfreich

Zitat:
Zitat aus dem ersten Post:
Ich habe noch nicht herausbekommen, wie man diese Umgebungsvariable anlegt.

Hallo hugokunz,
klappt es denn mit Umgebungsvariablen die auf jeden Fall existieren?
z.B. u=getenv("TMP")

Welche Umgebungsvariablen NX kennt kann man im Logfile (DATEI -- HILFE -- PROTOKOLLDATEI) sehen ab der Zeile mit
**************        System Environment Variables          **************

Selber Umgebungsvariablen in das NX einzuschleusen klappt meines Wissens nach am besten wenn man sie im Startscript von NX (meist eine Batch-Datei die das NX anstartet) setzt. Dort könnte man so etwas eintragen wie
set MY_VAR1="C:\temp\test"

uger


------------------

Deine Wahrnehmung bestimmt deine Realität!

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

hugokunz
Mitglied
Ing


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

Beiträge: 130
Registriert: 07.03.2012

WIN10
NX10
NX1876
NX1953

erstellt am: 25. Aug. 2017 13:27    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

@ Big King: sorry, dachte die Anfrage wäre eindeutig, da ich nicht wußte das GETENV() auch in der Programmierung verwendet wird.
@ Walter Hogger, 23. Aug: Danke für die Klarstellung, Walter. War mir so nicht bewußt. Da ich mit Programmierung nichts am Hut habe, war mir dieser Sachverhalt nicht klar.
@mseufert, 23. Aug.,2x: Sorry, dachte die Frage wäre eindeutig gestellt. Für mich ist "Ich habe noch nicht herausbekommen, wie man diese Umgebungsvariable anlegt" auch jetzt noch eine eindeutige, klare Frage. Werde mich in Zukunft um noch klarere Fragen bemühen.
Für mich gibt es nur die Benutzer-Umgebungsvariablen und die System-Umgebungsvariablen. Das NX eigene hat leuchtet mir einerseits ein, andererseits verstehe ich nicht weshalb im NX-Protokollfile dann die Variablen unter der Überschrift "System Environment Variables" aufgelistet sind.
@Walter Hogger, 23. Aug.: Sorry für die Verwirrung und Dank für den Buchauszug. Übrigens besitze ich dieses Buch und die Seiten sind mir bereits bekannt gewesen. Im Buch ist eine gute Beschreibung, wie man die vorhandenen Systemvariablen über GETENV() abfragt und in einer Tabelle verwendet. Das ist wahrscheinlich der Knackpunkt meiner Frage: Alle Anwender sehen die GETENV()-Funktion als "passive" Funktion um die vorhandenen Umgebungsvariablen abzufragen - keiner denkt daran evtl. selbst eine solche Variable festzulegen.
@uger,24. Aug.: Das kommt meiner Frage am nächsten. Selbstverständlich habe ich vorab getestet ob das mit den vorhandenen Umgebungsvariablen klappt. Und es hat geklappt. Im Abschluß zu meinen Kommentaren wird klar werden, weshalb meine Vorgehensweise nicht den Erfolg gebracht hat. Das Setzen der Variable in einer Start.bat kann ich nicht ausprobieren da ich kein Systemadmin bin.
Deshalb kann ich auch nicht angeben, ob das funktionieren würde.

Wen es interessiert: Die (unbrauchbare) Lösung: Ich wollte eine Umgebungsvariable setzen über die der Detaillierungsgrad von NX-Teilen und -Baugruppen gesteuert werden sollte. Meine Hoffnung war, dies mit der getenv()-Funktion zu realisieren um unnötige Parameterlinks zwischen den Partfiles zu vermeiden. Z.B. Umgebungsvariable mit dem Namen DoD (Degree of detail). Mit der Zuweisung von (z.B.) "A" erhält man den höchsten Detaillierungsgrad, mit "B" einen geringeren und mit "C" einen groben. Warum ich das nicht mit RefSets mache? 1. kann man sich mit solchen Schaltern das Ergebnis im Einzelteil ansehen und die Konstruktion entsprechend aufbauen, d.h. z.B. die unterschiedlichen Detaillierungsgrade in Formelementgruppen zus.fassen. Das ermöglicht eine einfachere Kontrolle als das Arbeiten mit RefSets. 2. Beabsichtige ich die RefSet-Technik für eine andere Funktion zu verwenden und ich will eine Überschneidung der Funktionen vermeiden.

Man kann die Systemumgebungsvariable über START * Systemsteuerung * System * Erweiterte Systemeinstellungen * Umgebungsvariablen * Systemvariablen definieren und mit einem Inhalt belegen.

Mein Fehler: Ich hatte NX gestartet und dann erst die Syst.Umgebungsvar. definiert. Beim Start von NX scheint sich NX eine eigene Liste der Umg.Var. anzulegen - eine während der NX-Session angelegte Umg.Var. wird von NX auch bei Aktualisierung nicht erkannt.

Wenn die Umg.var. bereits zum Zeitpunkt des NX-Starts existiert wird sie von NX in die Liste aufgenommen inkl. ihrem Wert zum
Zeitpunkt des NX-Starts. Eine nachträgliche Änderung vom "Wert" der Umg.var. wird von NX ignoriert, auch die Aktualisierung externer Ausdrücke hilft da nichts.

Wenn der Wert der Umg.var. geändert wird und NX wird gestartet, dann liefert getenv() nicht automatisch den aktuellen Wert der Umg.var. sondern den Wert der in der letzten NX-Sitzung eingelesen wurde. Erst mit der Aktualisierung externer Ausdrücke wird der Wert aktualisiert.

Fazit: getenv() ist eine passive Funktion mit der nicht flexibel die Konstruktion gesteuert werden kann. Zum Abruf bestimmter Umg.variablenwerte die standardmäßig von NX benutzt werden kann man sie verwenden.

Gruß und Dank in die Runde

P.S. Alles noch in NX85 ausprobiert, (noch) keine Ahnung wie es in NX10 läuft.

------------------
keine

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

mseufert
Ehrenmitglied V.I.P. h.c.
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: 25. Aug. 2017 15:09    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 hugokunz 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von hugokunz:
Ich habe noch nicht herausbekommen, wie man diese Umgebungsvariable anlegt.

Hallo hugokunz,

der Teil ist für sich allein eindeutig. Die Überschrift und

Zitat:
Original erstellt von hugokunz:
getenv() liefert mir aber nicht den String.

haben- zumindest bei mir - die Aufmerksamkeit auf getenv() konzentriert.

Bei 3 x "getenv()" im Beitrag geht die eigentliche Frag daher eeetwas unter 

Gruß und schönes Wochenende,

Michael

------------------
Ein Mensch wird laut, wenn er was will;
wenn er's erst hat, dann wird er still;
Das "Danke" ist, nach alter Sitte,
Weit seltner als das "Bitte, Bitte".

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