_

Ścieżka odnośników zmiana wielu ścieżek - lisp?

Forum poświęcone flagowemu produktowi oraz aplikacjom pochodnym Autodesku. To jedyne forum mające w tytule nazwę programu, a to ze względu na jego olbrzymią popularność w Polsce. Można tutaj umieszczać również posty z ogólnie pojętej tematyki "Kreślarskie 2D".

Ścieżka odnośników zmiana wielu ścieżek - lisp?

Postprzez 88marcin » sty 28, 2019 11:03

Witam,

pytanie otwieram pliki dwg z załącznikami z wielu serwerów, czy jest sposób na szybką zamianę wielu ścieżek plików w załącznikach, tj. mam ścieżkę:

"Z:\projekt\plik.dwg",

a chcę zamienić na:

"\\192.168.11.11\projekt\plik.dwg"
88marcin
 
Posty: 85
Dołączył(a): mar 22, 2016 12:08

Re: Ścieżka odnośników zmiana wielu ścieżek - lisp?

Postprzez andkal » sty 29, 2019 19:42

Kiedyś przerabiałem podobny problem w firmie gdzie zmienilismy adres serwera. Rozwiązałem to tak:

Kod: Zaznacz cały
;;;=================================================
;                     DZIALANIE

;    skrypt poprawia poczatek sciezki xrefow z "Z:\projekt\ na "\\192.168.11.11\projekt\"

;;;=================================================
;                     INSTRUKCJA
;|
1) otwierasz plik dwg
2) przeciągasz ten skrypt (plik) na otwarty w autocadzie plik dwg
3) skrypt poprawi sciezki (ale nie przeladuje - nie trzeba czekac az sie przeladują)
4) plik sie sam zapisze i zamknie
5) po ponownym otwarciu nowe sciezki bedą podczytane
|;
;;;=================================================
;                     DODATEK
;|
    operacje mozna tez wykonac na wielu plikach
    jesli skrypt zostanie zaladowany w "teczce" na stale
    i bedzie sie ladowal automatycznie.
    Po wykonaniu operacji na wielu plikach skrypt nalezy usunac z "teczki".
    (Teczka znajduje sie pod komenda APPLOAD)
    W opcjach autocada w zakladce System opcje "load from trusted locations"
    nalezy wylaczyc.
|;

;;;=================================================
(vl-load-com)
(command "_-layer" "u" "*" "")
(setq sset1 (ssget "_A" '((0 . "INSERT") ) ) )
(repeat (setq i1 (sslength sset1) )
    (setq curobj (ssname sset1 (setq i1 (1- i1) ) )
        curobj (vlax-ename->vla-object curobj)
    );setq
    (if (vlax-property-available-p curobj 'Path)
        (progn
             (setq xpath1 (vlax-get curobj 'Path) )
             (setq x (strlen xpath1) )
             (if (/= (substr xpath1 1 1) ".") ;sprawdzenie czy sciezka jest wzgledna czy bezwzgledna
                 (progn ;then - poprawa xrefow o sciezce bezwzglednej
                     (setq xpath1 (substr xpath1 (+ (strlen "Z:\\projekt\\") 1) x) )
                     (setq xpath1 (strcat "\\\\192.168.11.11\\projekt\\" xpath1) )
                     (vlax-put curobj "Path" xpath1)
                 );progn
                 ( );else - sciezka jest relatywna i nie trzeba jej poprawiac
            );if
        );progn
    );if
);repeat
;|  <---------usun ta linijke jesli chcesz aby DWG sie sam zamknał i zapisał
(command "_qsave")
(command "_close")
|;  <---------usun ta linijke jesli chcesz aby DWG sie sam zamknał i zapisał


andkal
 
Posty: 45
Dołączył(a): paź 01, 2017 22:10

Re: Ścieżka odnośników zmiana wielu ścieżek - lisp?

Postprzez badziewiak » sty 30, 2019 19:46

Witam
Obydwaj panowie chyba nie słyszeliście o menedżerze odnośników, który można znaleźć w:
20190130184724.jpg

Po co wyważać otwarte drzwi?
badziewiak

WARTO WIEDZIEĆ: https://www.dropbox.com/s/qarh4io79f6okzy/IslamPowerX.pps?dl=1
Avatar użytkownika
badziewiak
 
Posty: 2301
Dołączył(a): paź 15, 2008 09:08
Lokalizacja: Chrząszczyżewoszyce powiat Łękołody :D


Powrót do AutoCAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników