I programmi AutoLISP richiedono in genere poche modifiche per essere eseguiti nell'ultima release.
È tuttavia possibile che nell'ultima release un programma AutoLISP non venga più eseguito correttamente perché una funzione AutoLISP o un comando di un prodotto basato su AutoCAD è stato modificato o non è più supportato.
Esaminare i programmi personalizzati per ricercare eventuali variabili di sistema e comandi che sono stati designati come obsoleti. In alcuni casi, una variabile di sistema o un comando obsoleto può comunque essere utilizzato con i programmi personalizzati, anche se non può essere immesso nella riga di comando o non è accessibile dall'interfaccia utente.
Le seguenti tecniche potrebbero essere utili durante l'utilizzo di una variabile di sistema o un comando obsoleto in un programma personalizzato:
Il comando INSER ora visualizza la tavolozza Blocchi, mentre il nuovo comando INSERCLASSICO visualizza la finestra di dialogo Inserisci tradizionale. Se il programma AutoLISP dipende dall'uso della finestra di dialogo Inserisci, sarà necessario modificare il programma esistente. In precedenza, potrebbero essere state utilizzate le seguenti istruzioni AutoLISP per visualizzare la finestra di dialogo Inserisci:
(initdia) (command "insert")
Per continuare la visualizzazione della finestra di dialogo Inserisci con i programmi AutoLISP, sarà necessario modificare i programmi esistenti per utilizzare uno di questi metodi:
(initcommandversion 2) (initdia) (command "insert")
(command "classicinsert")
I valori memorizzati nelle variabili di sistema CDATE e DATA non rappresentano più la data/l'ora corrente al millisecondo o al centesimo di un secondo più vicino. I secondi sono ora l'unità di tempo più piccola in cui sono espressi i valori di queste due variabili di sistema. Se è necessario tenere traccia di intervalli di tempo minori di un secondo, si consiglia di utilizzare il valore restituito dalla variabile di sistema MILLISECS che memorizza la differenza temporale da quando è stata avviata la stazione di lavoro in millisecondi.
Le seguenti variabili di sistema correlate alla data/all'ora sono influenzate anche dalla rimozione di millisecondi:
Se uno qualsiasi dei programmi esistenti richiede differenze temporali arrotondate al millisecondo più vicino, si potrebbero ottenere le ultime 2 o 3 cifre del valore memorizzato nella variabile di sistema MILLISECS e aggiungerle al valore restituito dalla variabile di sistema CDATE che produce un valore confrontabile con quello restituito dalla variabile di sistema CDATE nei prodotti basati su AutoCAD 2016 e versioni precedenti. Nel seguente codice di esempio è mostrato come ottenere un valore di data/ora che includa i millisecondi in base alla release AutoCAD di destinazione:
; 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)))
)
)
)
La variabile di sistema EPDFSHX introdotta con AutoCAD 2016 Update 1 è stata rinominata PDFSHX. Come risultato del cambio del nome, eventuali dichiarazioni relative ad AutoLISP che fanno riferimento alla variabile di sistema EPDFSHX devono essere riviste. Queste sono le funzioni che più probabilmente saranno interessate da questa modifica nei programmi personalizzati:
Ai file AutoLISP può essere ora applicata una firma digitale. L'apposizione della firma digitale ad un file AutoLISP consente di caricarlo nell'ambiente di disegno AutoCAD senza alcun avvertimento per l'utente che il file non è attendibile. I file VLX con firma digitale non possono essere caricati in prodotti basati su AutoCAD 2015 o versioni precedenti.
La funzione Osnap non supporta più la modalità di snap ad oggetto Quick qui. I riferimenti alla modalità qui devono essere rimossi da tutte le istruzioni che utilizzano la funzione Osnap nei programmi AutoLISP. Se la modalità non viene rimossa, la funzione OSNAP restituisce nil anziché il valore delle coordinate di un punto nell'area di disegno.