Как загрузить приложение в автокад
На этой странице будут выкладываться примеры LISP программ. По многим из них есть уроки с подробным описанием кода.
Если Вы знаете как запускать LISP программы в AutoCAD, то можете сразу перейти к списку программ .
Как использовать программы.
Все программы написаны для использования их в полной версии программы AutoCAD. Они не будут работать в AutoCAD LT.
Если Вам понравилась какая-либо программа на этом сайте и Вы хотите ее установить на свой компьютер. Для этого Вам нужно сделать следующее:
2. Все программы заархивированы. Поэтому после того, как вы скачали архив, его нужно разархивировать. Разархивировав архив, Вы получите файлы программы, которые можете хранить в любом месте на вашем компьютере (Я для этого использую папку D:\MyLisp);
3. Файлы программы нужно загрузить в AutoCAD;
4. Запускаем новые команды, которые хранятся в загруженных файлах.
Я думаю, что с первыми двумя пунктами справятся все. Поэтому сразу поговорим о загрузке LISP файлов в Автокад.
Загрузка LISP файлов в Автокад.
Загрузить в Автокад LISP программу можно несколькими способами. Опишу некоторые из них.
Загрузка файлов с помощью окна «Загрузка / Выгрузка приложений».
Откройте Автокад. На ленте перейдите на вкладку « Управление » и щелкните по кнопке « Приложение ». См. Рис. 1.
Если вы работаете в режиме Классический AutoCAD:
В главном меню выберите « Сервис », далее щелкните по строчке « Приложения… ». См. Рис. 2.
Откроется окно «Загрузка / Выгрузка приложений».
Найти папку , в которой лежит файл, выделите его и нажмите на кнопку « Загрузить ». См. Рис. 3.
Таким способом загружают программы для их временного использования. После того, как Вы закроете Автокад, а потом откроете его снова, их не будет в Автокаде, и для их использования их нужно загрузить снова.
Для того, чтобы нужные Вам LISP файлы загружались в Автокад автоматически, их нужно добавить в список автоматической загрузки. Для этого щелкаем на портфельчик « Автозагрузка » (или на кнопку « Приложения » под ним). Откроется окно «Автозагрузка», в котором нажимаем на кнопку « Добавить ». См. Рис. 4.
Рис. 4. Автозагрузка
Откроется окно «Добавление файла в список автоматической автозагрузки». Находим нужную папку , выделяем файл и нажимаем на кнопку « Открыть ». См. Рис. 5.
Рис. 5. Добавление файла в список автоматической автозагрузки
В окне «Автозагрузка» появится строка с файлом , который будет автоматически загружаться при каждом запуске Автокад.
После того, как Вы добавите все необходимые файлы, нажмите на кнопку « Закрыть ». Затем на кнопку « Закрыть » в окне «Загрузка / Выгрузка приложений». См. Рис. 6.
Рис. 6. Файл добавлен
Имейте в виду, что файлы загрузятся автоматически, только при следующем запуске Автокад. Если Вы хотите использовать их в текущей сессии, их нужно загрузить способом, описанным выше (либо каким другим способом).
Загрузка файлов с помощью Редактора Visual LISP.
Откройте Редактор Visual LISP:
Наберите в командной строке VLIDE (или VLISP) и нажмите <Enter>.
Или на ленте перейдите на вкладку « Управление » и нажмите на кнопку « Редактор Visual LISP ». См. Рис. 7.
Рис. 7. Редактор Visual LISP
Откроется Редактор Visual LISP. Нажмите на кнопку « Открыть файл ». Появится окно «Открытие файла для редактирования / просмотра».
Найдите нужную папку ;
Выделите файл и нажмите на кнопку « Открыть ». См. Рис. 8.
Рис. 9. Открытие файла в Редакторе Visual LISP
Файл загрузится в активное окно редактора. Чтобы загрузить его в Автокад, нужно нажать на кнопку « Загрузить активное окно редактора ».
Такой способ имеет свои плюсы, связанные с тем, что Вы видите программный код файла:
1. Вы можете посмотреть, сколько команд в этом LISP файле (их может быть несколько).
2. Найти имена этих команд: находим строку с функцией defun; Имя команды стоит сразу после с: (в нашем случаи это: 3d_tro и roY );
3. Кроме всего прочего Вы имеете возможность отредактировать код программы.
Рис. 9. Имена новых команд.
Чтобы определить границы команды в программном коде, поставьте курсор мыши перед открывающейся скобкой функции defun и дважды щелкните левой кнопкой мыши. Функция defun, которая описывает одну команду – выделиться. См. Рис. 10.
Рис. 10. Программный код одной команды
Запуск новых команд.
После того, как файлы загружены, мы может запускать в Автокад новые команды, которые хранятся в этих файлах. Для этого достаточно набрать ИМЯ КОМАНДЫ в командной строке и нажать < Enter >.
Кроме этого для любой команды можно создать кнопку.
Поместить ее на панель инструментов, а панель вынести на ленту.
После этого запускать команду, нажимая на эту кнопку.
Также для этих команд можно создать горячие клавиши и запускать их нажатием определенных клавиш на клавиатуре.
Как это сделать читайте в уроке: « Горячие клавиши Автокад ».
Конечно, мы разобрали далеко не все способы загрузки файлов и запуска команд, но этого в полнее достаточно для того, чтобы комфортно использовать LISP программы размещенные ниже.
Список LISP программ.
LISP программа «mp_kub.lsp»
Программа, которая рисует в Автокад куб со сторонами 200.
Для запуска в Автокад используется имя MP_KUB
После запуска выдает запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит куб со сторонами 200 .
Подробное описание программного кода смотрите в уроке: « Пример простой программы на LISP ».
LISP программа «mp_paral.lsp»
Программа рисует параллелограмм, со сторонами указанными в диалоговом окне. Программа работает только вместе с файлом диалогового окна « mp_paral.dcl ». Поэтому скачать надо два файла.
Чтобы Автокад определил местонахождение файла диалогового окна, его нужно поместить в папку вспомогательных файлов Автокад.
Либо в коде программы, в строке
Например, если файл находиться в папке « D:\MyLisp » строка должна выглядеть так:
Для запуска в Автокад используется имя MP_PARAL
После запуска на экране появится диалоговое окно.
Нужно указать размеры сторон параллелограмма и нажать на кнопку ОК .
Далее появится запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит параллелограмм со сторонами указанными в диалоговом окне.
Подробное описание программного кода смотрите в уроке: « Пример программы LISP с диалоговым окном ».
Подробное описание программного кода создания диалогового окна смотрите в уроке: « Диалоговое окно ».
LISP программа «Sum_dl.lsp»
Программа считает сумму длин выбираемых отрезков. В процессе выбора отрезков Автокад выдает количество выбранных отрезков и сумму их длины.
Для запуска в Автокад используется имя SumDl
После запуска выдает запрос: « Выберите отрезок »:
Укажите любой отрезок.
Ниже снова появиться запрос: « Выберите отрезок »:
Укажите следующий отрезок.
Ниже снова появиться запрос: « Выберите отрезок »:
Количество выбранных отрезков и их общая длина.
И так до бесконечности. Чтобы завершить выполнения программы нажмите клавишу < Esc >.
Подробное описание программного кода смотрите в уроке: « Пример AutoLISP программы: Сумма длин отрезков ».
LISP программа «Sum_dls.lsp»
Программа суммы длин со свободным выбором отрезков.
Программа считает сумму длин выбираемых отрезков.
Выбор отрезков можно делать и по одному и группой при помощи рамки (или при помощи секущей рамки). В общем, любым стандартным способом AutoCAD.
Для запуска в Автокад используется имя: SumDls
После запуска программа выдает запрос: « Выберите объекты »:
Выбирать отрезки можно любым стандартным способом Автокад. Если случайно выбран не тот отрезок, его выбор можно отменить. Для этого удерживая клавишу < Shift >, щелкните по нему. Этот отрезок будет исключен из выбора.
Процесс выбора и отмены выбора отрезков отражается в командной строке.
Отмена выбора объекта.
После того как вы выбрали все необходимые объекты, нажмите < Enter >, чтобы завершить выбор.
Результат выполнения программы.
Подробное описание программного кода смотрите в уроке: « Примеры LISP программ: Сумма длин отрезков ».
LISP программа «Sum_dlv.lsp»
Программа считает сумму длин отрезков на всем чертеже.
Для запуска в Автокад используется имя: SumDlv
После запуска программа выделить на чертеже все отрезки
Результат выполнения программы.
Подробное описание программного кода смотрите в уроке: «Примеры LISP программ: Сумма длин отрезков».
LISP программа «Sum_sl.lsp»
Программа считает сумму длин отрезков на выбранном слое.
Для запуска в Автокад используется имя: SumSl
После запуска программа выдает запрос: « Выберите объект для определения слоя: “
Укажите любой объект. Программа выделит и сосчитает длину все отрезков на слое, на котором расположен указанный объект.
Результат при выборе синего слоя.
Подробное описание программного кода смотрите в уроке: «Примеры LISP программ: Сумма длин отрезков».
LISP программа «Scom.lsp»
Программа показывает, как в программном коде AutoLISP можно использовать стандартные команды Автокад.
- Построения отрезка.
- Построения дуги.
- Использования команды редактирования: Зеркало
- Перевода чертежа ЮЗ изометрию.
- Построения Полуконуса.
Для запуска в Автокад используется имя: SCOM
После запуска программа выдает запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит два отрезка и дугу. Затем отзеркалит их. Потом переведет чертеж ЮЗ изометрию и построит Полуконус.
Подробное описание программного кода смотрите в уроке: « AutoLISP. Стандартные команды Автокад ».
LISP программа «mp_kub2.lsp»
Программа создает блок куба, стороны которого предварительно задаются.
Для запуска в Автокад используется имя MP_KUB2
После запуска выдает запрос: « Задайте длину стороны куба : »
Введите числовое значение стороны куба и нажмите < Enter >
Появиться запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит блок в виде куба со сторонами, значение которых мы задали при первом запросе.
Подробное описание программного кода смотрите в уроке: « AutoLISP. Создание блока ».
LISP программа «mp_kub3.lsp»
Программа создает блок куба при помощи функций расширения языка AutoLISP, стороны которого предварительно задаются. В программе вычисляется объем куба, и координаты центра верхней грани. Объем и координаты сохраняются, как дополнительные данные, которые в любой момент можно извлечь.
Для запуска в Автокад используется имя: MP_KUB3
После запуска программа выдает запрос: « Задайте длину стороны куба : »
Введите числовое значение стороны куба и нажмите < Enter >
Появиться запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит блок в виде куба со сторонами, значение которых мы задали при первом запросе. Так же программа сосчитает объем, и координаты центра верхней грани и сохранить их в блоке в качестве дополнительных данных.
Подробное описание программного кода смотрите в уроке: « LISP. Создание блока ».
LISP программа «Udim.lsp»
Программа считывает дополнительные данные из блока, созданного в уроке: «LISP. Создание блока». Вставляет динамический блок, созданный в уроке: « Создание динамического блока ».
Для того, чтобы посмотреть как работает программа предварительно нужно:
Для запуска в Автокад используется имя: UDIM
После запуска программа выдает запрос: « Выберите блок :»
Укажите предварительно построенный блок (созданный программой mp_kub3.lsp ).
Команда вставит выноску. Выноска будет начинаться из центра верхней грани. Сверху полки будет стоять имя указанного блока, снизу – его объем.
Далее программа снова выдает запрос: « Выберите блок: »
Укажите следующий блок.
Что завершит программу нажмите < Esc >.
Подробное описание программного кода смотрите в уроке: «Вставка динамического блока из LISP-программы».
LISP программа «Udim2.lsp»
Программа считывает дополнительные данные из блока, созданного в уроке: « LISP. Создание блока ». Вставляет динамический блок, созданный в уроке: «Создание динамического блока». Меняет длину и положение выносной линии и длину и положение полки.
Для того, чтобы посмотреть как работает программа предварительно нужно:
Для запуска в Автокад используется имя: UDIM2
После запуска программа выдает запрос: « Выберите блок: »
Укажите предварительно построенный блок (созданный программой mp_kub3.lsp ).
Появится начало выносной линии
Далее программа выдает запрос: « Укажите выносную линию: »
Нужно указать вторую точку выносной линии. Команда вставит выноску. Сверху полки будет стоять имя указанного блока, снизу – его объем.
Затем программа снова выдает запрос: « Выберите блок: »
Снова укажите блок куба.
На запрос « Укажите выносную линию: »
Укажите вторую точку линии в другом месте.
На следующий запрос « Выберите блок : » – нажмите < Esc >.
Программа нарисует две выноски к одному блоку.
Подробное описание программного кода смотрите в уроке: «Изменение динамического блока из LISP-программы».
LISP программа «3d_tro.lsp»
Программа содержит в себе две команды
Первая команда рисует в Автокад 3D тройник.
Для запуска в Автокад используется имя: 3D_TRO
После запуска выдает запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит 3D тройник.
Вторая команда поворачивает 3D тройник на 90 градусов вокруг оси параллельной оси Y.
Для запуска в Автокад используется имя: ROY
Предварительно выделите 3D тройник
Введите в командной строке ROY и нажмите < Enter >.
Повернутый 3D тройник.
Подробное описание программного кода смотрите в уроке: «3D моделирование в AutoCAD».
LISP программа « 3d_bolt.lsp»
Программа рисует в Автокад 3D болт.
Для запуска в Автокад используется имя: 3D_BOLT
После запуска выдает запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит 3D болт.
Подробное описание программного кода смотрите в уроке: «3D моделирование. Болт с резьбой.».
38 комментарии на “ LISP Программы. ”
Здравствуйте. как можно к вам обратиться для написания программы для автокада?
Неважно каким образом Вы выделите 3Д-тела. После того как они выделены, запускаем функцию (ssget). Получаем набор выделенных 3Д-тел. Сохраняем его в переменную set_obj
Загружаем функции расширения LISP
Организуем цикл, в котором перебираем по порядку все выбранные 3Д-тела.
Внутри цикла:
Переводим 3Д-тела в vla-объекты:
Мы рассматривали LISP-приложения для AutoCAD. Теперь давайте разберёмся, как внедрить LISP в работу.
Для Автокада доступны приложения со следующим расширением файла: *.arx, *.crx, *.lsp, *.dvb, *.dbx, *.vlx, *.fas. Рассмотрим на примере ЛИСПа, который позволяет выравнивать текст относительно указанной точки по оси X или Y (скачать файл «Выравнивание текста .lsp»).
Как установить файл *.lsp в Автокад?
1. Перейдите во вкладку «Управление». На панели «Приложения» выберите команду «Загрузить приложение». Воспользуйтесь командной строй в Автокаде и введите «_appload».
2. Откроется диалоговое окно «Загрузка/выгрузка приложений». Найдите подходящий файл с расширением *.lsp или др.
3. После проделанных действий нажмите кнопку «Загрузить».
Как запустить команду приложения lisp?
В AutoCAD lisp-команды посмотреть нельзя. Следует отталкиваться от исходного файла, который был загружен в программу.
Файл скрипта можно открыть через обычный «Блокнот». В верхней части этого текстового документа разработчики оставляют необходимую информацию для работы. В том числе название команды, которая будет запускать ЛИСП. В данном примере это «z-text-align», поэтому в командную строку нужно вводить именно такой запрос для вызова инструмента.
Далее следуйте указаниям командной строки и пошагово выполняйте запросы установленного скрипта.
Как подгрузить lisp в Автокад LT?
Как установить лисп в Автокад - понятно. Но как его загрузить в схожие программы, например, Автокад Electrical/Mechanical?
К сожалению, приложения, написанные на AutoLISP, работают только на полной версии программы AutoCAD. Поэтому такие скрипты нельзя внедрить в AutoCAD LT или др. версии.
Исключением могут являться специализированные приложения типа LT Extender и подобные ему, которые были разработаны с целью запуска файлов *.lsp или *.arx непосредственно в среде Автокад LT.
Окно служит для загрузки и выгрузки приложений, а также для задания набора приложений для автозагрузки.
Параметры в верхней части этого диалогового окна извлекаются из стандартного диалогового окна выбора файлов . Ниже описываются дополнительные элементы, присущие только окну "Загрузка/выгрузка приложений".
Загрузка или обновление приложений, выделенных в списке файлов на вкладках "Загруженные приложения" или "Журнал". Кнопка недоступна до тех пор, пока не будет выбрано хотя бы одно приложение. Приложения ObjectARX, VBA и DBX загружаются немедленно; приложения LSP, VLX и FAS ставятся в очередь и загружаются после закрытия диалогового окна "Загрузка/выгрузка приложений".
Если выбранный файл уже загружен, нажатие кнопки ведет к его обновлению в памяти. Для приложений ObjectARX, однако, такое обновление не разрешено. Их нужно выгружать из памяти, и затем загружать заново. Опция "Загрузить" имеется также в контекстном меню, которое вызывается щелчком правой кнопки мыши на вкладке "Журнал".
Вкладка содержит список загруженных приложений. Список упорядочен по алфавиту (по именам файлов). LISP-программы присутствуют в списке, только если они были загружены с помощью диалогового окна "Загрузка/выгрузка приложений". Пользователь может перетаскивать файлы в этот список из списка файлов или из какого-либо приложения, где можно применить перетаскивание, например, Microsoft ® Windows ® Explorer.
Если приложение было загружено с помощью Web-браузера AutoCAD, оно вначале попадает в папку для временных файлов на локальном диске. AutoCAD запускает приложение именно из этой папки, и именно эта папка будет указана в списке загрузки.
Некоторые приложения из списка на данной вкладке могут быть выгружены пользователем. Подробнее см. описание кнопки "Выгрузить". Имена файлов, которые не могут быть выгружены, отображаются тусклым шрифтом и не могут быть выделены.
Данная вкладка содержит список приложений, которые загружались при установленном флажке "Добавить в журнал". Разрешается перетаскивать в список файлы из верхней части окна, а также из любых программ, поддерживающих такую технологию (например, из Проводника Windows). Если в момент перетаскивания флажок "Добавить в журнал" опущен, файлы загружаются в память, но в журнале не появляются.
Приложения могут добавляться в список журнала и исключаться из него, но их выгрузка осуществляется только на вкладке "Загруженные приложения". Подробнее см. описание пунктов "Загрузить", "Выгрузить" и "Исключить".
Если флажок установлен, записи обо всех загружаемых приложениях добавляются в журнал.
Пользователь может предпочесть очистить эту опцию при загрузке приложений с помощью Web-браузера AutoCAD, так как эти приложения становятся недоступны после очистки кэша временного местоположения приложения.
Выгружает выбранные приложения или исключает их из списка журнала. Кнопка "Выгрузить" становится доступной, только если на вкладке "Загруженные приложения" выделен какой-либо файл. Кнопка "Исключить" становится доступной, только если на вкладке "Журнал" выделен какой-либо файл.
Следует помнить, что при нажатии кнопки "Исключить" выбранное приложение не выгружается из памяти. Опция "Исключить" имеется также в контекстном меню вкладки "Журнал".
Набор приложений, загружаемых каждый раз при запуске AutoCAD. В группу "Автозагрузка" разрешается перетаскивать файлы из верхней части окна, а также из любых программ, поддерживающих такую технологию (например, из Проводника Windows).
В список автозагрузки не могут быть добавлены приложения, загружаемые с помощью Web-браузера AutoCAD.
Отображает диалоговое окно Автозагрузка . Можно также добавить файл в список автозагрузки, нажав на значок автозагрузки, или нажав правой кнопкой мыши имя приложения на вкладке "Журнал" и выбрав в контекстном меню "Добавить в список автозагрузки".
Автор:
Загрузка и выгрузка приложений; задание набора приложений для автозагрузки.
ЗАГПРИЛ (команда) найти
Окно служит для загрузки и выгрузки приложений, а также для задания набора приложений для автозагрузки.
Список параметров
Параметры в верхней части этого диалогового окна извлекаются из стандартного диалогового окна выбора файлов. Ниже приведены описания параметров, которые можно найти только в диалоговом окне "Загрузка/выгрузка приложений".
Загрузка или обновление приложений, выделенных в списке файлов на вкладках "Загруженные приложения" или "Журнал". Кнопка недоступна до тех пор, пока не будет выбрано хотя бы одно приложение. Приложения ObjectARX, VBA и DBX загружаются немедленно; приложения LSP, VLX и FAS ставятся в очередь и загружаются после закрытия диалогового окна "Загрузка/выгрузка приложений".
Если выбранный файл уже загружен, нажатие кнопки ведет к его обновлению в памяти. Для приложений ObjectARX, однако, такое обновление не разрешено. Их нужно выгружать из памяти, и затем загружать заново. Параметр "Загрузить" имеется также в контекстном меню, которое вызывается щелчком правой кнопки мыши на вкладке "Журнал".
Вкладка содержит список загруженных приложений. Список упорядочен по алфавиту (по именам файлов). LISP-программы присутствуют в списке, только если они были загружены с помощью диалогового окна "Загрузка/выгрузка приложений".
Файлы можно перетаскивать в этот список из списка файлов или из какого-либо приложения, поддерживающего перетаскивание, например из Проводника Microsoft ® Windows ® или из Проводника.
Если приложение было загружено с помощью используемого в AutoCAD обозревателя Интернета, оно вначале попадает в папку для временных файлов на локальном диске. AutoCAD запускает приложение именно из этой папки, и именно эта папка будет указана в списке загрузки.
Некоторые приложения из списка на данной вкладке могут быть выгружены пользователем. Подробности см. в описание кнопки "Выгрузить". Имена файлов, которые не могут быть выгружены, отображаются тусклым шрифтом и не могут быть выделены.
Данная вкладка содержит список приложений, которые загружались при установленном флажке "Добавить в журнал". Если в момент перетаскивания флажок "Добавить в журнал" опущен, файлы загружаются в память, но в журнале не появляются.
Чтобы добавить файлы, из можно перетащить из списка файлов или из другого приложения. Приложения могут добавляться в список журнала и исключаться из него, но их выгрузка осуществляется только на вкладке "Загруженные приложения".
Добавить в журнал
Если флажок установлен, записи обо всех загружаемых приложениях добавляются в журнал.
Пользователь может предпочесть очистить этот параметр при загрузке приложений с помощью веб-браузера, так как эти приложения становятся недоступны после очистки кэша временного местоположения приложения.
Выгружает выбранные приложения или исключает их из списка журнала. Кнопка "Выгрузить" становится доступной, только если на вкладке "Загруженные приложения" выделен какой-либо файл. Кнопка "Исключить" становится доступной, только если на вкладке "Журнал" выделен какой-либо файл.
Прим.: Команда "Исключить" не выгружает выбранное приложение. Опция "Исключить" имеется также в контекстном меню вкладки "Журнал".Указание пользовательских приложений, загружаемых при каждом запуске программы.
Прим.: Начиная с программных продуктов на основе AutoCAD 2014, пользовательские приложения, добавленные в список автозагрузки, должны находиться в доверенном расположении. Доверенные расположения определяются системной переменной TRUSTEDPATHS.Отображает диалоговое окно "Автозагрузка".
Чтобы добавить файлы в список автозагрузки, можно также щелкнуть правой кнопкой мыши имя приложения на вкладке "Журнал" и выбрать в контекстном меню пункт "Добавить в список автозагрузки". Кроме того, можно воспользоваться функцией перетаскивания файла из списка файлов на изображение в списке автозагрузки.
Последовательность загрузки приложений в AutoCAD с учетом SECURELOAD
В продолжение темы "Последовательность загрузки приложений в AutoCAD" хотелось бы осветить вопрос о безопасности и о шагах, предпринятых Autodesk в этом отношении.
- acad.lsp/fas/vlx
- acaddoc.lsp/fas/vlx
- acad.dvb
Иногда также можно было встретить файлы acad20XX.lsp или acad20XXdoc.lsp (XX означают последние 2 цифры версии AutoCAD). Эти файлы "зарезервированы" для использования самим AutoCAD.
Если в одном каталоге обнаруживается одновременно acad.vlx, acad.fas и acad.lsp, то загружается только acad.vlx; остальные файлы игнорируются.
Если AutoCAD обнаруживает сразу все 7 файлов (т.е. acad.lsp; acad.fas; acad.vlx; acaddoc.lsp; acaddoc.fas; acaddoc.vlx; acad.dvb), то загружаются только первые обнаруженные *.vlx-файлы и acad.dvb.
Тем не менее, следует отдавать себе отчет в такой тонкости: последовательность загрузки определяется тем, где и когда AutoCAD обнаруживает эти файлы. Очевидно, что AutoCAD ищет эти файлы по каталогам, определенным как пути поддержки. Но на самом деле AutoCAD перед ними опрашивает еще и рабочий каталог приложения (определяется в свойствах ярлыка вызова). Рабочий каталог опрашивается только в том случае, если сначала запускается AutoCAD, и открытие файла dwg выполняется из-под AutoCAD'a. Следом идет каталог, в котором находится открываемый файл, и только после этого опрашиваются пути поддержки AutoCAD'a
Сначала загружается обнаруженный acad*.* - файл, а поиск остальных вариантов прекращается. Что это значит?
Например, в каталоге с открываемым dwg-файлом есть файл acad.lsp, а в каталогах поддержки хранятся acad.fas и acad.vlx. AutoCAD при открытии dwg обнаружит acad.lsp, загрузит его и уже не будет опрашивать каталоги поддержки
Файлы acad.lsp, acad.fas, acad.vlx, acad.dvb не поставляются вместе с AutoCAD и разрабатываются самостоятельно пользователями.
Зарезервированные файлы acad20XX.lsp и acad20XXdoc.lsp устанавливаются вместе с AutoCAD и размещаются в каталоге \Support. В 2013 и 2014 версиях эти файлы размещаются в каталогах локализации (например, для AutoCAD 2014 Eng путь будет наподобие \Support\en-us; для русской версии - \Support\ru-ru). acad20XX.lsp и acad20XXdoc.lsp предназначены только для служебных целей внутри AutoCAD, поэтому не следует изменять или создавать такие файлы самостоятельно (о чем, кстати, в документации достаточно четко написано).
Полезные ссылки
Дополнительная информация, которую можно найти в справке
Вы можете создать файл acad.lsp, если Вы постоянно используете какие-либо специфические скрипты или макросы. При старте AutoCAD ищет этот файл по всем путям (рабочий каталог приложения, каталог текущего документа, пути поддержки). Если файл найден, он загружается в AutoCAD
Важно! Не вносите изменения в файл acad200XX.lsp. В этом файле хранятся функции, которые разрабатывала Autodesk и которые используются внутри AutoCAD'a. Этот файл загружается в AutoCAD до acad.lsp
Большинству пользователей достаточно иметь всего один файл acaddoc.lsp для всех lisp-приложений, загружаемых внутрь документа. Поиск файла acaddoc.lsp выполняется точно так же, как и поиск acad.lsp. И точно так же загружается только первый найденный файл, остальные игнорируются. Таким образом, в разных каталогах с dwg-файлами могут лежать разные файлы acaddoc.lsp, загружающие разный код.
Важно! Не вносите изменения в файл acad20XXdoc.lsp. Причины такие же, как и для acad.lsp. Файл acad20XX.lsp загружается в документ перед acaddoc.lsp
Файл acad.dvb может использоваться, если Вам необходимы какие-либо VBA-макросы внутри каждого документа.
AutoCAD 2013 SP 1
- Новые ключи командной строки acad.exe
- Новые системные переменные
- Изменение правил загрузки acad20XX.lsp и acad20XXdoc.lsp
Новые ключи командной строки acad.exe
Введен новый ключ командной строки - "/nolisp" (естественно, без кавычек). Этот ключ полностью блокирует lisp в AutoCAD (включая lsp, fas и vlx). Не самое удачное решение, поскольку использование этого ключа может блокировать работу некоторых элементов меню (в частности, многие команды из ExpressTools могут отказаться работать). Тем не менее этот ключ может оказаться полезным, если есть подозрения на факт заражения компьютера AutoCAD'овскими вирусами.
Важно! Этот ключ запуска все же предоставляет пользователю возможность поменять порядок загрузки приложений в StartupSuite и новую системную переменную AUTOLOADPATH. Ключ "/nolisp" работает только в текущей сессии AutoCAD'a.
Использование этого ключа автоматически устанавливает новую системную переменную LISPENABLED в 0
Новые системные переменные
Пользователи могут загружать другие lisp-файлы. AutoCAD 2013 SP1 все еще загружает acad20XX.lsp и acad20XXdoc.lsp (подробнее см.ниже, раздел "Изменение правил загрузки").
Изменение системной переменной AUTOLOAD можно отследить по доступности опции "Load acad.lsp with every drawing" (_.options - System):
Установленный / снятый флажок точно так же регулирует значение системной переменной ACADLSPASDOC.
Изменение правил загрузки acad20XX.lsp и acad20XXdoc.lsp
Раньше файлы acad20XX.lsp и acad20XXdoc.lsp рассматривались и загружались как аналоги acad.lsp и acaddoc.lsp (т.е. выполнялась загрузка первого найденного файла с таким именем; поиск осуществлялсь по описанному выше алгоритму). Теперь эти файлы загружаются только из подкаталога установки \Support (например, для AutoCAD 2013 этот путь может быть наподобие %ProgramFiles%\Autodesk\AutoCAD 2013\Support. Еще раз напоминаю - эти файлы предназначены для корректной работы самого AutoCAD и вносить изменения в них не следует.
Вертикальные решения на базе AutoCAD : функциональность, последовательность загрузки и вопросы безопасности - все полностью повторяет уже описанное
AutoCAD для Mac : практически повторяет описанный функционал. Вся разница состоит в том, что AutoCAD для Mac не поддерживает vlx - только lsp и fas (Прим.переводчика: проверить, к сожалению, не могу).
AutoCAD LT / AutoCAD OEM : затронутые вопросы не касаются AutoCAD LT, поскольку в AutoCAD LT не поддерживаются ни эти системные переменные, ни программирование (кроме, пожалуй, минимально доступного функционала на DIESEL)
AutoCAD 2014
SECURELOAD и отслеживаемые типы файлов
В AutoCAD 2013 системная переменная AUTOLOAD могла иметь только два значения - 0 (отключено) либо 1 (включено). Для AutoCAD 2014 имя системной переменной стало SECURELOAD и она изменила диапазон допустимых значений (см.ниже). AUTOLOAD теперь поддерживать нет особого смысла, т.к. использование ключа "/safemode" выполняет такие же действия, как и перевод AUTOLOAD в 0.
acad.rx не является исполняемым файлом, это обычный текстовый файл, определяющий загрузку arx и / или dbx файлов. acad.rx - это еще одно место, которое просматривает AutoCAD для определения, какие файлы надо загружать (наряду с реестром, StartupSuite, автозагрузка и т.п.)
TRUSTEDPATHS
Системная переменная AUTOLOAD, появившаяся в AutoCAD 2013, теперь переименована в TRUSTEDPATHS. В качестве доверенных путей гарантированно выступают каталог-владелец файла acad.exe и каталог ApplicationPlugins (используется магазином приложений, или ExchangeApps) и все их подкаталоги
Расположение ExpressTools не требуется указывать в TRUSTEDPATHS. То же самое касается и каталогов расположения установленных приложений из ExchangeApps.
TRUSTEDDOMAINS
Это новая системная переменная, введена в AutoCAD 2014, определяет обработку автоматически загружаемых файлов JavaScript
Изменения в диалоге настроек (_.options)
В раздел "Файлы" окна настроек добавлена новая ветка - Trusted Locations (Доверенные местоположения). Она соответствует текущему значению системной переменной TRUSTEDPATHS.
Примечание: Trusted Domain Locations не внесена в окно настроек (считается, что системная переменная TRUSTEDDOMAINS будет использоваться только разработчиками).
Эти каталоги назначаются как "надежные" (или "доверенные") для исполняемых файлов. Файлы, находящиеся в этих каталогах, загружаются без запроса разрешения. Именно по этой причине рекомендуется назначать доверенными каталогами пути, куда пользователь не имеет права на запись.
Примечание: при попытке вручную назначить в качестве доверенного каталог, куда пользователь имеет право на запись, будет выдано соответствующее предупреждение. Если TRUSTEDPATHS назначается программно, то запрос не появляется.
Trusted Locations (Доверенные местоположения). Диалог параметров AutoCAD
Пользователь может назначить несколько каталогов в качестве "доверенных". Следует помнить, что доверенными автоматически считаются путь установки AutoCAD и все его подкаталоги, и пути приложений, загруженных из ExchangeApps.
При попытке указать в качестве доверенного каталога несуществующий путь, AutoCAD выдаст соответствующее предупреждение.
Примечание. Важно! При указании в качестве доверенного каталога все его подкаталоги автоматически не становятся доверенными. Для обработки всех подкаталогов достаточно указать в конце имени каталога символы "\. " (три точки).
Если пользователь указывает в качестве доверенного каталога доступную для записи папку, то AutoCAD выводит соответствующее предупреждение:Три верхние переключателя соответствуют значениям системной переменной SECURELOAD. Нижние два - ACADLSPASDOC.
Если установить SAFEMODE равным 1, то все эти настройки становятся недоступными.
Изменения в установке
CUIx и MNL файлы в версии 2012 и 2013 устанавливались в каталог %AppData%\Autodesk\AutoCAD 20XX - <Полное название языка>\RXX.X\<enu / rus>\Support\
Теперь MNL файлы при установке помещаются в каталог %ProgramFiles%\Autodesk\AutoCAD 2014\Support\<en-us / ru-ru>. CUIx после преобразования помещаются в %AppData%\Autodesk\AutoCAD 2014\R19.1\<enu / rus>\Support. Туда же копируются MNL-файлы.
Параметр вызова AutoCAD "/safemode"
Ключ "/nolisp", появившийся в AutoCAD 2013, переименован в "/safemode" и теперь обрабатывает не только lsp / fas / vlx, но и вообще все исполняемые файлы, которые можно загрузить в AutoCAD. Использование этого ключа запустит AutoCAD в минимально возможной функциональности и позволит изменить AUTOLOADPATH в параметрах AutoCAD'a. Если AutoCAD запущен с этим ключом, то никакое выполнение кода невозможно.
Примечание: некоторое количество исполняемого кода все равно приходится загружать внутрь AutoCAD для обеспечения его функционирования даже в таком "обрезанном" виде. Перечень таких приложений можно узнать, посмотрев значение скрытой нередактируемой системной переменной SAFEMODEAPPS.
SAFEMODE
Системная переменная LISPENABLED, появившаяся в AutoCAD 2013, переименована в SAFEMODE. Системная переменная предназначена только для чтения и может быть изменена только через ключи запуска AutoCAD.
SAFEMODEAPPS
Только для чтения, определяет перечень доверенных приложений, загружаемых в AutoCAD несмотря ни на что
Новый диалог предупреждения о попытке загрузки недоверенного приложения
Вернемся к описанию системной переменной SECURELOAD: значение по умолчанию - 1. То есть, если AutoCAD пытается загрузить код, находящийся не в доверенных каталогах, будет выводиться окно предупреждения:Если SECURELOAD равно 0 или 2, диалог не выводится (загружается или нет при этом код - подробнее описано выше).
Предположим, что SECURELOAD равна 1. В таком случае диалог будет появляться при попытке загрузки любого исполняемого кода, не распознанного как "доверенный". Неважно, как выполняется загрузка - вручную или программно.
Если выполняется загрузка сразу нескольких "недоверенных" файлов, то окно будет выводиться для каждого из них.
Если пользователь выберет [Do not load] (Не загружать), то AutoCAD не только не загрузит указанный файл, но и не будет выполнять его поиск по другим каталогам.
Если пользователь хотя бы раз во время одной сесии выберет для какого-то приложения [Load] (Загрузить), то больше диалог с запросом именно этого приложения появляться не будет.
Изменения в загрузке CUIx / MNL
acad.mnl (mnl - это фактически lisp-файл с измененным расширением). Вплоть до AutoCAD 2014 mnl-файлы загружались в AutoCAD сразу за соответствующим файлом меню (mnu / mns / cui / cuix). Например, acad.mnl загружался сразу после того, как был загружен acad.cuix. Множество вирусописателей использовали эту особенность, внося изменения в mnl-файлы.
Очевидно, что такой стиль загрузки приложений больше нельзя назвать приемлемым. AutoCAD 2014 будет загружать mnl файл только в том случае, если mnl файл находится в "доверенном" каталоге. Если mnl не лежит в "доверенном" каталоге, при SECURELOAD = 1 AutoCAD выдаст запрос на загрузку приложения (см.предыдущий раздел). Если SECURELOAD = 2, то диалог не выводится, но и mnl не загружается.
Изменения в мастере создания развертываний
Мастер создания сетевых развертываний был переработан с целью предоставления CAD-менеджерам возможности управлять настройками безопасности прямо в процессе развертывания AutoCAD. В мастер были добавлены новые настройки, аналогичные диалогу Executable Code Settings (для вызова этого диалога в AutoCAD вызовите _.options; закладка System / Система, кнопка Executable Code Settings / Параметры исполняемых файлов).
Новый раздел называется "Executable Code Settings" (Параметры исполняемых файлов).
В мастер также добавлены ветки Trusted Locations и Trusted Domain Locations.
Новые функции LISP
В AutoLISP/VisualLISP добавлена новая функция (findtrustedfile). Она полностью аналогична старой (findfile), но выполняет поиск только по "доверенным" каталогам (TRUSTEDPATHS).
Вертикальные решения на основе AutoCAD
Все, описанное в статье, работает и в вертикальных решениях.
AutoCAD OEM 2014
- существующее значение ACADLSPASDOC и соответствующие настройки в диалоге Параметры недоступны
- мастер развертываний не менялся
AutoCAD для Mac
AutoCAD для Mac поддерживает описанные возможности практически целиком. Единственное "но": не был изменен графический интерфейс.
Новые системные переменные SECURELOAD, TRUSTEDPATHS, TRUSTEDDOMAINS и ключ "/safemode" - это единственный способ контролировать настройки безопасности в AutoCAD для Mac.
В AutoCAD для Mac не вносились изменения в диалог параметров, поэтому значения системным переменным придется задавать вручную.
AutoCAD LT 2014
Описанные возможности недоступны в AutoCAD LT. В AutoCAD LT нет подобных трудностей, связанных с безопасностью, т.к. AutoCAD LT не поддерживает пользовательское программирование.
В AutoCAD LT 2014 системная переменная SECURELOAD имеет жестко прошитое значение 1, и нет никаких настроек, могущих изменить значение этой системной переменной.
AutoCAD 2014 JavaScript API
Если пользователь пытается загрузить JavaScript, располагающийся не в доверенном домене, AutoCAD выдаст предупреждение и потребует подтверждения загрузки кода (см. выше, "Диалог о загрузке недоверенного приложения).
Читайте также: