| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Supportpfade aus den Autocad-Einstellungen entfernen (768 / mal gelesen)
|
OlgaG Mitglied IT-Ingenieurin
Beiträge: 9 Registriert: 26.06.2021
|
erstellt am: 29. Jun. 2021 18:57 <-- editieren / zitieren --> Unities abgeben:
Hallo, könnten Sie mir bitte sagen, wie ich den Code unten ändern kann, um die Serverpfade ("\\\\server\\CAD\\Plotters" und "\\\\server\\CAD\\Plotters\\PMP Files") vorher zu entfernen? (setq printerconfig "\\\\server\\CAD\\Plotters") (if (not (vl-string-search (strcase printerconfig) (strcase (getenv "PrinterConfigDir")))) (setenv "PrinterConfigDir" (strcat printerconfig ";" (getenv "PrinterConfigDir"))) ) (setq printerconfig nil) (setq printerdesc "\\\\server\\CAD\\Plotters\\PMP Files") (if (not (vl-string-search (strcase printerdesc) (strcase (getenv "PrinterDescDir")))) (setenv "PrinterDescDir" (strcat printerdesc ";" (getenv "PrinterDescDir"))) ) (setq printerdesc nil) Vielen Dank im Voraus! Mit freundlichen Grüßen Olga Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 29. Jun. 2021 19:32 <-- editieren / zitieren --> Unities abgeben: Nur für OlgaG
Hi, darf ich mla fragen warum? Das macht bei dem Code doch überhaupt keinen Sinn die Pfade vorher zu entfernen Wenn der Pfad schon enthalten ist in PrinterConfigDir bzw. in PrinterDescDir, dann wird er nicht ein weiteres Mal hinzugefügt. Das erscheint mir doch ganz sinnig? Unsinn wäre es aber doch die Pfade, falls vorhanden, zu entfernen um dann anschließend erneut zu setzen. Falls das doch einen Sinn ergibt (zB. wenn man die Suchreihenfolge damit bestimmen möchte), dann erkläre es mir bitte - ich lerne gerne dazu. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
OlgaG Mitglied IT-Ingenieurin
Beiträge: 9 Registriert: 26.06.2021
|
erstellt am: 29. Jun. 2021 19:46 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 29. Jun. 2021 20:51 <-- editieren / zitieren --> Unities abgeben: Nur für OlgaG
Danke, da bin ich ja glücklich auf diesen einzig(?) sinnigen Grund gekommen zu sein :-) Zu der Antwort: vl-string-search gibt dir bereits die Position des erste Zeichen des Pfades an, wie lang deine Pfadangabe ist - ist dir auch bekannt, also könntest du den neuem Pfad zusammensetzen mit strcat. Bedenke aber: Der Pfad könnte am Anfang stehen, dann muss das ";" rechts davon mit weg, ebenso wenn der Pfad in der Mitte steht, am Ende stehend sollte das ";" links davon weg. - Wenn dir GROSSKleinSchreibung egal ist, dann könntest du auch VL-STRING-SUBST nutzen! mit STRCASE zum umwandeln in klein oder GROSSschreibung. Aber auch hier die drei Varianten, Anfang-Mitte-Ende, bzgl. des ";" beachten, also insgesamt 4 Varianten, die 4. ist nur der eine Pfad ohne weitere ";" - Am 5" Endgerät schreibe ich den Code hier jetzt nicht, aber voelleicht reicht dir der Schibs schon? Ansonsten: Kurze Rückmeldung von dir und dann abwarten, spätestens morgen wirst du hier weitere Hilfe bekommen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 29. Jun. 2021 21:01 <-- editieren / zitieren --> Unities abgeben: Nur für OlgaG
EDIT Da mir dein Kenntnisstand ja nicht bekannt ist vl-string-search gibt dir bereits die Position des erste Zeichen des Pfades an, wie lang deine Pfadangabe ist - ist dir auch bekannt, also könntest du den neuem Pfad zusammensetzen mit SUBSTR und mit STRCAT - - - Meld dich, am besten mit Erfolgsmeldung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
OlgaG Mitglied IT-Ingenieurin
Beiträge: 9 Registriert: 26.06.2021
|
erstellt am: 29. Jun. 2021 21:13 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 30. Jun. 2021 06:58 <-- editieren / zitieren --> Unities abgeben: Nur für OlgaG
Als Hilfe : (defun DT:PATH:ADD(PATH PATHSTR / POS LISTE) (if(or(=(type PATHSTR)'STR)(setq PATHSTR "")) (progn (while(or(setq POS (vl-string-search ";" PATHSTR))(>(setq POS(strlen PATHSTR))0)) (setq LISTE (cons(substr PATHSTR 1 POS)LISTE)PATHSTR(substr PATHSTR(+ POS 2))) ) (if(and(=(type PATH) 'STR)(setq PATH(strcase(vl-string-translate "/" "\\" PATH))) (setq PATH(vl-string-right-trim "\\" PATH))(vl-file-directory-p PATH) ) (progn (if(member PATH(setq LISTE(mapcar'strcase(reverse LISTE)))) (setq LISTE(vl-remove PATH LISTE)) ) (setq LISTE(cons PATH LISTE)) ) ) (setq PATHSTR (apply 'strcat (mapcar '(lambda(x) (strcat X ";")) LISTE))) (list PATHSTR LISTE) ) ) ) Aufruf z.B. (setenv "ACAD" (DT:PATH:ADD "C:\\WINDOWS" (getenv "ACAD"))) oder (setenv "PrinterDescDir" (DT:PATH:ADD "\\\\server\\CAD\\Plotters" "PrinterDescDir")))
------------------ Also ich finde Unities gut ... und andere sicher auch --------------------------------------- - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
OlgaG Mitglied IT-Ingenieurin
Beiträge: 9 Registriert: 26.06.2021
|
erstellt am: 30. Jun. 2021 08:57 <-- editieren / zitieren --> Unities abgeben:
|
OlgaG Mitglied IT-Ingenieurin
Beiträge: 9 Registriert: 26.06.2021
|
erstellt am: 30. Jun. 2021 12:08 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADmium: Als Hilfe : (defun DT:PATH:ADD(PATH PATHSTR / POS LISTE) (if(or(=(type PATHSTR)'STR)(setq PATHSTR "")) (progn (while(or(setq POS (vl-string-search ";" PATHSTR))(>(setq POS(strlen PATHSTR))0)) (setq LISTE (cons(substr PATHSTR 1 POS)LISTE)PATHSTR(substr PATHSTR(+ POS 2))) ) (if(and(=(type PATH) 'STR)(setq PATH(strcase(vl-string-translate "/" "\\" PATH))) (setq PATH(vl-string-right-trim "\\" PATH))(vl-file-directory-p PATH) ) (progn (if(member PATH(setq LISTE(mapcar'strcase(reverse LISTE)))) (setq LISTE(vl-remove PATH LISTE)) ) (setq LISTE(cons PATH LISTE)) ) ) (setq PATHSTR (apply 'strcat (mapcar '(lambda(x) (strcat X ";")) LISTE))) (list PATHSTR LISTE) ) ) ) Aufruf z.B. (setenv "ACAD" (DT:PATH:ADD "C:\\WINDOWS" (getenv "ACAD"))) oder (setenv "PrinterDescDir" (DT:PATH:ADD "\\\\server\\CAD\\Plotters" "PrinterDescDir")))
Dieser Code funktioniert bei mir nicht.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 30. Jun. 2021 16:22 <-- editieren / zitieren --> Unities abgeben: Nur für OlgaG
|
OlgaG Mitglied IT-Ingenieurin
Beiträge: 9 Registriert: 26.06.2021
|
erstellt am: 30. Jun. 2021 16:34 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 30. Jun. 2021 17:35 <-- editieren / zitieren --> Unities abgeben: Nur für OlgaG
Zitat: Original erstellt von OlgaG: Dieser Code funktioniert bei mir nicht.
Vermutlich nur weil du genau diesen Aufruf genommen hast und der ist nicht ganz richtig, der Code selbst sollte dann funktionieren. Ich zeige nur einen anderen Aufruf, so kann der Code so bleiben (sonst müßte man nachfolgende Stelle im Code ggf. ändern) (list PATHSTR LISTE)
(setenv "PrinterDescDir" (DT:PATH:ADD "\\\\server\\CAD\\Plotters" "PrinterDescDir"))) geändert in (setenv "PrinterDescDir" (DT:PATH:ADD "\\\\server\\CAD\\Plotters" (getenv "PrinterDescDir"))), würde leider noch immer nicht funktionieren, denn (list PATHSTR LISTE) gibt eine Liste zurück von der wir nur das erste Element benötigen.
So sollte es klappen: (setenv "PrinterDescDir" (car(DT:PATH:ADD "\\\\server\\CAD\\Plotters" (getenv "PrinterDescDir"))))
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
OlgaG Mitglied IT-Ingenieurin
Beiträge: 9 Registriert: 26.06.2021
|
erstellt am: 30. Jun. 2021 17:47 <-- editieren / zitieren --> Unities abgeben:
|