Programy AutoLISP zazwyczaj nie wymagają wielu zmian, aby mogły zostać uruchomione na najnowszej wersji.
Jednak program AutoLISP może już nie działać poprawnie w najnowszej wersji w związku ze zmianą lub wycofaniem funkcji AutoLIST albo polecenia lub zmiennej systemowej produktu opartego na programie AutoCAD.
Przejrzyj niestandardowe programy pod kątem poleceń i zmiennych systemowych, które zostały oznaczone jako wycofywane. W niektórych przypadkach wycofywane polecenie lub zmienna systemowa może być w dalszym ciągu używana przez programy niestandardowe, nawet jeśli nie można jej wprowadzić bezpośrednio w wierszu polecenia ani uzyskać do niej dostępu z poziomu interfejsu użytkownika.
W przypadku próby użycia wycofywanego polecenia lub zmiennej systemowej w programie niestandardowym przydatne mogą okazać się następujące techniki:
Polecenie WSTAW wyświetla teraz paletę Bloki, natomiast nowe polecenie WSTAWKLASYCZNIE wyświetla „klasyczne” okno dialogowe Wstaw. Jeśli używany program AutoLISP wymaga używania okna dialogowego Wstaw, konieczna będzie zmiana istniejącego programu. Wcześniej okno dialogowe Wstaw można było wyświetlać przy użyciu następujących instrukcji programu AutoLISP:
(initdia) (command "insert")
Aby kontynuować wyświetlanie okna dialogowego Wstaw w używanych programach AutoLISP, programy te należy zmienić tak, aby korzystać w nich z jednego z poniższych sposobów:
(initcommandversion 2) (initdia) (command "insert")
(command "classicinsert")
Wartości przechowywane w zmiennych systemowych CDATE i DATE nie reprezentują już bieżącej daty/godziny z dokładnością do milisekundy ani jednej setnej sekundy. Najmniejszą jednostką czasu są teraz sekundy i w nich wyrażane są wartości tych obu zmiennych. W razie potrzeby mierzenia przedziałów czasu z dokładnością większą niż jedna sekunda należy rozważyć użycie wartości zwracanej przez zmienną systemową MILLISECS, która reprezentuje czas w milisekundach od momentu ostatniego uruchomienia stacji roboczej.
Usunięcie milisekund miało także wpływ na następujące zmienne systemowe dotyczące daty\godziny:
Jeśli którykolwiek z istniejących programów wymaga podawania różnic czasu z dokładnością do najbliższej milisekundy, można pobierać dwie lub trzy ostatnie cyfry wartości przechowywanej w zmiennej systemowej MILLISECS i je dołączać do wartości zwracanej przez zmienną systemową CDATE. Powstawałaby wtedy wartość porównywalna z wartością zwracaną przez zmienną systemową CDATE w produktach opartych na programie AutoCAD w wersji 2016 i wcześniejszych. Poniższy przykładowy kod pokazuje, jak w wybranej wersji oprogramowania AutoCAD można uzyskiwać wartość daty i godziny zawierającą milisekundy:
; Returns a CDATE value that includes milliseconds based on release ; Usage: (CDate) ; Replaces (rtos (getvar "CDATE") 2 8) (defun CDate ( / ms) ; Check to see which AutoCAD release is being used (if (<= (atof (getvar "ACADVER")) 22.0) (rtos (getvar "CDATE") 2 8) (progn ; Get the current milliseconds and append it to the CDATE value (setq ms (itoa (getvar "MILLISECS"))) (strcat (rtos (getvar "CDATE") 2 6)(substr ms (- (strlen ms) 2))) ) ) )
Zmienna systemowa EPDFSHX wprowadzona w programie AutoCAD 2016 Update 1 ma nową nazwę PDFSHX. W związku ze zmianą nazwy należy odpowiednio zmodyfikować wszystkie instrukcje języka AutoLISP odwołujące się do zmiennej systemowej EPDFSHX. Zmiana dotyczy najprawdopodobniej następujących funkcji w programach niestandardowych:
Pliki AutoLISP można teraz podpisywać cyfrowo. Dodanie podpisu cyfrowego do pliku AutoLISP pozwala wczytać go do środowiska rysunku w programie AutoCAD bez ostrzeżenia, że plik nie jest zaufany. Podpisanych cyfrowo plików VLX nie można wczytywać do produktów opartych na programie AutoCAD 2015 ani wcześniejszych.
Funkcja obiekt nie obsługuje już trybu lokalizacji względem obiektów Szybki (qui). Odniesienia do trybu qui muszą być usunięte ze wszystkich wyrażeń, które używają funkcji obiekt w swoich programach AutoLISP. Jeśli tryb nie zostanie usunięty, funkcja osnap zwróci wartość nil zamiast wartości współrzędnych dla poprawnego punktu w obszarze rysunku.