Структура папок программы, используемая по умолчанию, отражает организацию программных и вспомогательных файлов AutoCAD по логическим группам.
Если организация программных и вспомогательных файлов по умолчанию не устраивает, ее можно изменить. Однако следует учитывать, что для работы некоторых приложений требуется наличие файлов в определенных папках; поэтому изменения следует выполнять так, чтобы не возникало конфликтов. Если не указан полный путь, включающий диск и папку, программа обнаруживает только файлы, найденные по путям поиска библиотек.
Для размещения локальных и перемещаемых файлов адаптации программа использует папку профиля пользователя операционной системы. Местоположения локального и перемещаемого каталогов можно узнать с помощью указанных ниже системных переменных.
- LOCALROOTPREFIX: хранит полный путь к корневой папке, в которую были установлены файлы локальных настроек.
- ROAMABLEROOTPREFIX: хранит полный путь к корневой папке, в которую были установлены перемещаемые файлы адаптации.
В программах на основе AutoCAD 2013 с пакетом обновления 1 и более поздних версий для Windows и AutoCAD 2014 for Mac зарезервированные файлы acad<номер_выпуска>.lsp или acad<номер_выпуска>doc.lsp и acad<номер_выпуска>doc.lsp или acadlt<номер_выпуска>doc.lsp, а также следующие за ними загружаются только из папок установки программы по умолчанию. В зависимости от значения системной переменной SECURELOAD системная переменная TRUSTEDPATHS указывает папки, из которых программные продукты на базе AutoCAD могут загружать и выполнять внешние файлы, содержащие код. Кроме того, системная переменная LEGACYCODESEARCH определяет, будет ли выполняться поиск исполняемых файлов в начальной папке.
Прим.: Приложения AutoLISP не поддерживаются в AutoCAD LT в ОС macOS.
Следующий пример кода AutoLISP определяет команду CUSTFILES и открывает Проводник с переходом в папку, где установлены перемещаемые файлы адаптации.
Прим.: Команда ДОС доступна только в AutoCAD для Windows и недоступна в AutoCAD LT для Windows.
(defun c:custfiles ()
(command "shell"
(strcat "explorer \"" (getvar "roamablerootprefix") "\"")
)
(princ)
)
Путь поиска библиотек
Поиск вспомогательных файлов осуществляется в соответствии с установленным путем поиска библиотек, т.е. в следующем порядке:
- Начальная папка. Эта папка определяется либо папкой, в которой файл запускается двойным щелчком (в Windows или Mac OS), либо атрибутом «Начальная папка» значка ярлыка в Windows. (системная переменная STARTINFOLDER)
- Папка, в которой находится текущий файл чертежа. (системная переменная DWGPREFIX)
- Папка проекта для файлов внешних ссылок, например изображений, внешних ссылок или подложек. (системная переменная PROJECTNAME)
- Папки, перечисленные при задании путей поиска вспомогательных файлов программы. (системная переменная ACADPREFIX)
- Папка, в которой находятся установленные файлы программы.
В зависимости от установок среды имена двух или более папок из приведенной последовательности могут совпадать.
Важное замечание: В программах на основе AutoCAD 2016 и более поздних версий системная переменная LEGACYCODESEARCH определяет, будет ли выполняться поиск исполняемых файлов в начальной папке или папке чертежа. Поскольку атаки вредоносного ПО часто направлены на начальную папку и папку чертежа, для переменной LEGACYCODESEARCH рекомендуется оставить значение 0, откл.
Если файл не находится ни в одной из папок, просматриваемых при поиске, необходимо указать полный или относительный путь к файлу, чтобы программа могла найти его. Например, если требуется вставить файл part5.dwg в текущий чертеж, и он не находится в пути поиска библиотек, необходимо задать его полный путь или относительный путь относительно правильного пути поиска библиотек. Здесь отображается относительный путь.
Команда: -ВСТАВИТЬ
Ввести имя блока или [?]: /files2/olddwgs/part5
Структура папок
Программа использует древовидную иерархическую структуру папок. Рекомендуется хранить дополнительные файлы (например, приложения на языке AutoLISP (только не для AutoCAD в ОС macOS), файлы адаптации или приложения сторонних разработчиков) отдельно от программных и вспомогательных файлов установленной программы. Это упрощает разрешение возможных конфликтов и дает возможность обновлять версии приложений, не воздействуя на другие приложения.
По умолчанию программа находится в папке Program Files в Windows и Applications в Mac OS. Можно создать на том же уровне новую папку (например, /AcadApps), затем создать в ней вложенные папки для пользовательских программ, файлов адаптации и сторонних приложений. В случае когда на одном компьютере параллельно выполняется несколько проектов, можно создать отдельную папку для чертежей (например, /AcadJobs) и создать в ней группу вложенных папок для каждого проекта.
Последовательность поиска команд
При вводе команды приложение совершает ряд действий по оценке корректности ее имени. Командой может быть:
- Встроенная команда или системная переменная
- Внешняя команда или псевдоним, определенный в файле acad.pgp (acadlt.pgp для AutoCAD LT)
- Запись автоисправления команды в файле autoCorrectUserDB.pgp
- Запись синонима для команды acadSynonymsGlobalDB.pgp
- Пользовательская команда AutoLISP
- Команда, определенная пользователем с помощью приложения ObjectARX или управляемого приложения .NET
- Команда драйвера устройства
Прим.: Приложения, которые не поддерживаются программой или ОС
- Приложения AutoLISP не поддерживаются AutoCAD LT в Mac OS.
- Приложение ObjectARX и управляемые приложения .NET не поддерживаются AutoCAD LT.
- Управляемые приложения .NET не поддерживаются в Mac OS.
Можно ввести имя команды в командной строке или запустить ее из интерфейса пользователя. Команды могут вызываться из файла сценария, а также из приложений AutoLISP, ObjectARX или управляемых приложений .NET.
Ниже приведено описание последовательности поиска для проверки имени команды.
- При пустом вводе (нажатии клавиши ПРОБЕЛ или ENTER без ввода имени команды) программа повторно обращается к последней выполненной команде. По умолчанию вызывается команда СПРАВКА.
- Команда проверяется по списку встроенных команд. Если имя обнаружено и ему не предшествует точка (.), программа проверяет имя команды на соответствие неопределенным командам. Если это переопределенная команда, то поиск продолжается. В противном случае команда выполняется, пока этому не воспрепятствует иная причина. Выполнение ее в прозрачном режиме или в режиме "Перспектива" может оказаться невозможным.
- Сначала проверяется имя команды на соответствие командам, описанным в драйвере устройства, а затем командам, описанным в драйвере монитора.
- Команда проверяется на соответствие внешним командам, определенным в файле параметров программы. Если имя соответствует определению внешней команды, то эта команда выполняется и поиск прекращается.
- Выполняется сверка команды со списком команд, определенных приложениями AutoLISP, ObjectARX или управляемыми приложениями .NET. В этот момент происходит загрузка в память автоматически загружаемых команд. (Доступно с ограничениями в AutoCAD LT для Windows и недоступно в AutoCAD LT для Mac OS.)
- Программа проверяет имя команды на соответствие системным переменным. При обнаружении совпадения выполняется команду УСТПЕРЕМ с использованием в качестве имени переменной введенного имени.
- Если имя команды соответствует псевдониму команды, строке автоисправления или синониму, определенному в файле параметров программы, то используется полное имя команды и запускается процесс поиска по списку встроенных команд.
- Если поиск был безуспешным, выдается предупреждение о том, что команда неизвестна.