Сведения о совместимости AutoLISP

В программы на языке AutoLISP® часто требуется внести небольшие изменения, чтобы они могли выполняться в новой версии.

Однако программа AutoLISP может работать неправильно в последней версии, так как функция AutoLISP либо команда программы или системная переменная на основе AutoCAD была изменена или устарела.

Прим.: Начиная с программных продуктов на основе AutoCAD 2014, пользовательские приложения должны работать в безопасном режиме, когда для системной переменной SECURELOAD установлено значение 1 или 2. При работе в режиме безопасности программа на основе AutoCAD ограничивается загрузкой и выполнением файлов, содержащих код из доверенных местоположений; доверенные местоположения определяются системной переменной TRUSTEDPATHS. Для получения дополнительной информации см. раздел «Безопасность и антивирусная защита».

Общая информация

Устаревшие команды и системные переменные

Проверьте свои пользовательские программы, чтобы выявить команды и системные переменные, которые могли устареть. В некоторых случаях устаревшие команды и системные переменные могут использоваться в таких программах, даже если их нельзя ввести непосредственно в командную строку или запустить через пользовательский интерфейс.

Прим.: Несмотря на то, что устаревшие команды и системные переменные могут работать в пользовательских программах, нельзя гарантировать, что они продолжат работать в последующих версиях продукта. Рекомендуется переделать пользовательские программы, так чтобы устаревшие команды и системные переменные в них не использовались.

При необходимости использовать устаревшую команду или системную переменную в пользовательской программе можно обратиться к следующим методам.

  • Поставьте точку перед командой. Например, чтобы воспользоваться командой BLIPMODE, введите .BLIPMODE.
  • Не используйте устаревшие системные переменные в рамках функции COMMAND, так как это может привести к появлению ошибки «Неизвестная команда». Вместо этого рекомендуется использовать функции GETVAR или SETVAR. Например, выражение (getvar "BLIPMODE") возвращает текущее значение системной переменной BLIPMODE.
Прим.: Команды и системные переменные, которые были удалены из продукта, не могут быть восстановлены с помощью описанного выше способа.

AutoCAD 2017 и более поздние версии

CDATE, DATE и другие связанные с датой и временем системные переменные

В продуктах на базе AutoCAD, начиная с версии AutoCAD 2017, значения системных переменных CDATE и DATE больше не будут отражать текущую дату и время с точностью до тысячной или сотой доли секунды. Теперь наименьшей единицей времени для выражения значений этих переменных являются секунды. Если необходимо отследить промежутки времени с точностью до долей секунды, используйте значение системной переменной MILLISECS, которое отражает разницу во времени с момента запуска компьютера в миллисекундах.

В следующих системных переменных, связанных с датой и временем, также больше не используются миллисекунды:

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

AutoCAD 2016 и более поздние версии

Файлы с цифровой подписью

В продуктах на базе AutoCAD 2016 к файлам AutoLISP можно добавлять цифровые подписи. Если добавить к файлу AutoLISP цифровую подпись, то при его загрузке в среду чертежа AutoCAD не будет отображаться предупреждение о том, что файл получен из ненадежного источника. Файлы VLX с цифровой подписью нельзя загружать в продукты на базе AutoCAD 2015 или более ранних версий.

функция объектной привязки

Начиная с программных продуктов на базе AutoCAD 2016 функция объектной привязки больше не поддерживает режим быстрой объектной привязки (QUI). Удалите режим QUI из инструкций, которые используют функции объектной привязки в программах AutoLISP. Если режим не удаляется, функция объектной привязки возвращает NIL, а не значение координат для допустимой точки в области чертежа.