Acerca de la compatibilidad de AutoLISP

Los programas de AutoLISP suelen requerir muy pocos cambios para poder ejecutarlos en la versión más reciente.

Sin embargo, es posible que un programa de AutoLISP ya no se ejecute correctamente en la versión más reciente debido a que una función de AutoLISP, o un comando o una variable de sistema de un producto basado en AutoCAD hayan cambiado o se hayan dejado de utilizar.

Nota: A partir de los productos basados en AutoCAD 2014, las aplicaciones personalizadas deben funcionar en modo seguro cuando la variable de sistema SECURELOAD se establece en 1 o 2. Al funcionar en modo seguro, el producto basado en AutoCAD queda restringido a la carga y ejecución de archivos que contengan código de ubicaciones de confianza; las ubicaciones de confianza se especifican mediante la variable de sistema TRUSTEDPATHS. Para obtener más información, consulte "Acerca de la seguridad y la protección contra virus".

Información general

Comandos y variables de sistema obsoletos

Revise los programas personalizados en busca de comandos y variables de sistema que se hayan designado como obsoletos. En algunos casos, un comando o una variable de sistema obsoletos se pueden seguir utilizando mediante los programas personalizados, incluso aunque no se puedan introducir directamente en la solicitud de comando o acceder a ellos desde la interfaz de usuario.

Nota: Aunque es posible que un comando o una variable de sistema obsoletos puedan funcionar en un programa, no se garantiza que sigan funcionando en una versión futura del producto. Se recomienda reescribir los programas personalizados para evitar el uso de comandos o variables de sistema obsoletos.

Las técnicas siguientes pueden ser útiles para utilizar un comando o una variable de sistema obsoletos en un programa:

  • Añada un punto delante del nombre de un comando. Por ejemplo, .MARCAAUX permite el uso del comando MARCAAUX.
  • Evite la ejecución de una variable de sistema obsoleta con la función COMMAND, lo que podría generar un mensaje de error de comando desconocido; en lugar de ello, utilice las funciones GETVAR y SETVAR. Por ejemplo, (getvar "BLIPMODE") devuelve la variable de sistema BLIPMODE.
Nota: Los comandos y las variables de sistema que se hayan eliminado del producto no se pueden restaurar mediante las técnicas mencionadas anteriormente.

AutoCAD 2017 y versiones posteriores

CDATE, DATE y otras variables de sistema relacionadas con la fecha/hora

A partir de los productos basados en AutoCAD 2017, los valores almacenados en las variables de sistema CDATE y DATE ya no representan la fecha y hora actuales al milisegundo o la centésima parte de segundo más próximos. Los segundos son ahora la unidad de tiempo más pequeña en la que se expresan los valores de estas dos variables de sistema. Si necesita realizar un seguimiento de intervalos inferiores a un segundo, considere la posibilidad de usar el valor devuelto por la variable de sistema MILLISECS, que almacena la diferencia de tiempo en milisegundos desde que se inició la estación de trabajo.

Las siguientes variables de sistema relacionadas con la fecha/hora también se han visto afectadas por la eliminación de los milisegundos:

  • TDCREATE
  • TDINDWG
  • TDUCREATE
  • TDUPDATE
  • TDUSRTIMER
  • TDUUPDATE

AutoCAD 2016 y versiones posteriores

Archivos con firma digital

A partir de la versión 2016 de los productos basados en AutoCAD, los archivos de AutoLISP se pueden firmar digitalmente. Al firmar digitalmente un archivo de AutoLISP, este se puede cargar en el entorno de dibujo de AutoCAD sin recibir una advertencia de que el archivo no es de confianza. Los archivos VLX con firma digital no se pueden cargar en la versión 2015 y anteriores de los productos basados en AutoCAD.

Función REFENT

A partir de los productos basados en AutoCAD 2016, la función REFENT ya no admite el modo de referencia rápida a objetos (qui). Elimine el modo qui de las sentencias que utilicen las funciones REFENT de los programas de AutoLISP. Si el modo no se elimina, la función REFENT devuelve nil en lugar de un valor de coordenadas de un punto válido en el área de dibujo.