| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: getenv (1899 mal gelesen)
|
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 19. Mai. 2004 13:08 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe ein Problem mit der Lisp-Funktion getenv in Verbindung mit der Umgebungsvariable ACAD. Ich führe zunächst den AutoCAD-Befehl Optionen aus und trage bei "Suchpfad für Supportdatei" folgende Verzeichnisse ein: C:\Programme\AutoCAD 2002 Deu\drv C:\Programme\AutoCAD 2002 Deu\support C:\Programme\AutoCAD 2002 Deu\fonts C:\Programme\AutoCAD 2002 Deu\help C:\Programme\CAOS\CATS-Pro 3 W:\Anwendung W:\Block W:\Dcl W:\Funktionen W:\Funktionen_laden W:\Funktionen_anreiss W:\Funktionen_batch W:\Hilfe W:\Menue W:\Listen W:\Vorlage W:\Schriften N:\Zeichnungserstellung\Acadwe_Server_Dateien N:\Zeichnungserstellung\Knotennr N:\Zeichnungserstellung\Piktos N:\Zeichnungserstellung\StVO-VZ N:\Zeichnungserstellung\DB-Pikto N:\Zeichnungserstellung\Media-Park N:\Zeichnungserstellung\Mimaki-Drucker N:\Zeichnungserstellung\Schriftz Dann wähle ich Anwenden und OK zum Beenden des Befehls Optionen. Bis hierhin ist alles in Ordnung (geprüft durch nochmaligem Ausführen des Befehls). Beim Aufruf von (getenv "ACAD") in der Befehlszeile erhalte ich folgendes Ergebnis: "C:\\Programme\\AutoCAD 2002 Deu\\drv;C:\\Programme\\AutoCAD 2002 Deu\\support;C:\\Programme\\AutoCAD 2002 Deu\\fonts;C:\\Programme\\AutoCAD 2002 Deu\\help;C:\\Programme\\CAOS\\CATS-Pro 3;W:\\Anwendung;W:\\Block;W:\\Dcl;W:\\Funktionen;W:\\Funktionen_laden;W:\\Funkti onen_anreiss;W:\\Funktionen_batch;W:\\Hilfe;W:\\Menue;W:\\Listen;W:\\Vorlage;W:\ \Schriften;N:\\Zeichnungserstellung\\Acadwe_Server_Dateien;N:\\Zeichnungserstell ung\\Knotennr;N:\\Zeichnungserstellung\\Piktos;N:\\Zeichnungserstellung\\StVO-VZ ;N:\\Zeichnungserstellung\\DB-Pikto;N:\\Zeich\000\000\000\000serstellung\\Media- Park;N:\\Zeichnungserstellung\\Mimaki-Drucker;N:\\Zeichnungserstellung\\Schriftz" Wieso sind im o.g. Ergebnis der Funktion getenv die Zeichen "\000" enthalten? Wie kann ich das Problem lösen? Danke im Voraus und viele Grüße Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 19. Mai. 2004 13:30 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd10
|
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, ..., AutoCADs 200X, SWX 2kX
|
erstellt am: 19. Mai. 2004 13:30 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd10
Sind Sonderzeichen, Leerzeichen ... sonstige "Abarten" unter Windows bei Verzeichnissbenennung ? ------------------ "Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?" Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jan1 Mitglied CAD Consultant
Beiträge: 17 Registriert: 12.05.2004
|
erstellt am: 19. Mai. 2004 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd10
Hi Bernd, das Problem ist bekannt, sollte aber eigentlich in ACAD 2002 nicht mehr existieren. Es liegt daran, dass die Anzahl der Zeichen nicht größer als 512 sein darf. Scheinbar wird hier ein Variablentyp, bzw. ein Array o.ä. verwendet, dass nur max. 512 Zeichen zuläßt. Gibt doch mal folgendes ein: (substr "C:\\Programme\\AutoCAD 2002 Deu\\drv C:\\Programme\\AutoCAD 2002 Deu\\support C:\\Programme\\AutoCAD 2002 Deu\\fonts C:\\Programme\\AutoCAD 2002 Deu\\help C:\\Programme\\CAOS\\CATS-Pro 3 W:\\Anwendung W:\\Block W:\\Dcl W:\\Funktionen W:\\Funktionen_laden W:\\Funktionen_anreiss W:\\Funktionen_batch W:\\Hilfe W:\\Menue W:\\Listen W:\\Vorlage W:\\Schriften N:\\Zeichnungserstellung\\Acadwe_Server_Dateien N:\\Zeichnungserstellung\\Knotennr N:\\Zeichnungserstellung\\Piktos N:\\Zeichnungserstellung\\StVO-VZ N:\\Zeichnungserstellung\\DB-Pikto N:\\Zeichnungserstellung\\Media-Park N:\\Zeichnungserstellung\\Mimaki-Drucker N:\\Zeichnungserstellung\\Schriftz" 1 512) Ergebnis: ...N:\\Zeichnungserstellung\\DB-Pikto\nN:\\Zeich" Und ab dem nachfolgenden Zeichen erhälst Du dann die Werte aus dem (wahrscheinlich) nicht dafür vorgesehenen Speicherbereich. Da kann man wohl nix machen. Es sei denn ... Ich mache es meist so, dass ich pro Anwendung den Ordner, in dem die Programmdateien liegen in der Registry eintrage und mir dann aus diesem Eintrag die Dateien zusammensuche, die gerade benötige werden. (findfile (strcat (vl-registry-read "HKEY_CURRENT_USER\\SOFTWARE\\MyApp" "Directory") "\\SubFolder\\file.xy")) Gruß, Jan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 19. Mai. 2004 14:47 <-- editieren / zitieren --> Unities abgeben:
Hallo, @Thomas: Genial, funktioniert wie von mir gewünscht. Doch wo ist z.B. die Funktion vla-get-supportpath dokumentiert? Ich finde weder in der Benutzer- noch in der Entwickler-Hilfe etwas. Auf jeden Fall 10 Us für Dich. @Proxy: Leerzeicen sind schon enthalten, aber die habe ich bisher nicht als "Abarten" gewertet, da ein zusätzliches "-Zeichen am Anfang und Ende eines Verzeichnises in der Regel Probleme gelöst hat. @Jan: Eine max. Länge hatte ich zunächst auch im Verdacht. Aber laut Autodesk (http://usa.autodesk.com/adsk/servlet/ps/item?siteID=123112&id=2884947&linkID=2475323) soll die Genze bei 800 Zeichen liegen, meine Länge beträgt aber nur ca. 600 Zeichen. Danke an alle und viele Grüße Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 19. Mai. 2004 15:04 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd10
Betreffs Doku : in der Hilfe! ..mach mal den Autolisp-Editor auf.. dann F1 ... und dann unter ActivX suchen.... .. die vla-get-xxx sind eigentlich Abkürzungen für vlax-get-property... ------------------ - Thomas - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 19. Mai. 2004 15:10 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd10
Hallo Bernd gib mal im VLISP-Editor vla-get ein und drücke dann [Shift]+[Strg]+[Leer]. Damit werden dann im Apropos-Fenster alle zur Verfügung stehenden Befehle gezeigt. Das funktioniert mit allen Befehl-sanfängen) Für die Anwendung dieser Funktionen ist es ratsam die VBA-Hilfe zu nutzen. Ich selber nutze nur die VBA-Hilfe und die (vlax-invoke-method ..), (vlax-get-property ..) und (vlax-put-property ..) Funktionen. Mehr braucht man nicht. Die vla(x)-irgendwas- Funktionen sind vom Prinzip her vorgefertigte Funktionen, die auf diese oben genannten Funktionen zugreifen. Aber auch hier gilt: Ausnahmen bstätigen die Regel, denn z.B. die vlax-curve- Funktionalitäten sucht man in VBA vergebens. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Treffen Sie (defun auf dem Autodesk Anwendertreffen am 15.06. in Steyr/Österreich! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 19. Mai. 2004 16:02 <-- editieren / zitieren --> Unities abgeben:
Hallo, @CADmium: Zitat: Original erstellt von CADmium: Betreffs Doku : in der Hilfe! ..mach mal den Autolisp-Editor auf.. dann F1 ... und dann unter ActivX suchen....
Ich glaube für die Nutzung der Hilfe bin ich zu doof. Ich finde kein Thema zu ActivX (siehe Anlage). @Holger: Zitat: Original erstellt von Brischke: gib mal im VLISP-Editor vla-get ein und drücke dann [Shift]+[Strg]+[Leer]. Damit werden dann im Apropos-Fenster alle zur Verfügung stehenden Befehle gezeigt. Das funktioniert mit allen Befehl-sanfängen)Für die Anwendung dieser Funktionen ist es ratsam die VBA-Hilfe zu nutzen. Ich selber nutze nur die VBA-Hilfe und die (vlax-invoke-method ..), (vlax-get-property ..) und (vlax-put-property ..) Funktionen. Mehr braucht man nicht. Die vla(x)-irgendwas- Funktionen sind vom Prinzip her vorgefertigte Funktionen, die auf diese oben genannten Funktionen zugreifen. Aber auch hier gilt: Ausnahmen bstätigen die Regel, denn z.B. die vlax-curve- Funktionalitäten sucht man in VBA vergebens.
Die Liste der zur Verfügung stehenden Befehle im Apropos-Fenster bekomme ich noch angezeigt, aber den Rest verstehe ich nicht mehr. Wo z.B. finde ich die VBA-Hilfe? Entschuldigt, wenn ich etwas auf der Leitung sitze. Totzdem schönes Wochenende und viel Grüße Bernd PS: Bin erst wieder am Montag da, verlängertes Wochende Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 19. Mai. 2004 16:17 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd10
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 19. Mai. 2004 17:48 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd10
@Bernd, Geh mal in die Hilfe, und schau dir dort unter Active X(war vorhin nicht korrekt von mir) das Object Model an. Durch Anklicken der einzelnen Objekte werden die Eigenschaften, Methoden und Events des Objektes gezeigt. Auf die Methoden greifst du dann mit (vlax-invoke-method ..) auf die Eigenschaften mit (vlax-get/put-property ..) Mehr ist es nicht. (grundsätzlich meine ich) Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Treffen Sie (defun auf dem Autodesk Anwendertreffen am 15.06. in Steyr/Österreich! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 24. Mai. 2004 12:01 <-- editieren / zitieren --> Unities abgeben:
|