Как загрузить лисп в автокад

Обновлено: 05.07.2024

Искала долго ответ на этот вопрос. Как загрузить полно всего, а вот как выгрузить. я лично ничего не нашла. Вот и создала новую тему. Если где уже есть ответ - отправляйте меня туда!

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

Так вот хочу удалить последнюю установленную, но как если она горит серым цветом?

Удали (перенеси в другое место файл, сотри) последний лисп и перезагрузи AutoCAD.
Вообще-то, не мешало бы уточнить, каким образом загружаются лиспы. Привет землякам!
_appload в командной строке
Заходим в автозагрузку (кнопка под портфельчиком) - выбираем лисп - Remove(удалить)
Вообще-то, не мешало бы уточнить, каким образом загружаются лиспы.
да, кстати. Если прописывала где-нибудь в mnl - меняй там __________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)

Проектирование в среде AutoCAD+СПДС GraphiCS

wetr , привет, земляк.
Лисп был не через автозагрузки, а через простую загрузку. Когда горит серым действия никакие не возможны - он не выбирается.

В mnl нигде не прописывала (сама ничего не делала, так как не знаю даже о чем речь).

Profan , сделала как посоветовали, все удалилось! Спасибо.

Сама тоже думала так сделать, но побоялась того, что может быть так просто.

Лисп был не через автозагрузки, а через простую загрузку.

тогда м.б. это был *.arx?

Когда горит серым действия никакие не возможны - он не выбирается. Если посмотришь мой скрин, то увидишь что выбранный лисп "серый" но удалить его из автозагрузки можно __________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)

Проектирование в среде AutoCAD+СПДС GraphiCS

Файл был загружен через обычную загрузку (на твоем скрине показала).

В автозагрузке его не было изначально. Тогда может если его загрузив так, а потом оять, но через портфель, может и можно удалить. (я сделала так, он отобразился, и удалив отттуда файл из загрузок не удалился) И как я думаю это не имеет значения, есть ли лисп в портфеле автозагрузок или нет. Наверное главное как загружался.

Формат VLX. - или это не лисп, но при скачивании сказано было про лисп. Я в этом еще не разбираюсь совершенно.

Автор:

AutoLISP основан на языке программирования LISP, который является простым и в то же время достаточно мощным. Интерпретатор LISP, встроенный в AutoCAD, позволяет вводить код AutoLISP в командной строке и загружать код AutoLISP из внешних файлов. Интегрированная среда разработки Visual LISP (VLISP) предназначена для ускорения процесса создания программ на AutoLISP.

AutoLISP представляет собой интерфейс приложения AutoCAD для автоматизации задач проектирования. После загрузки приложения или процедуры AutoLISP они функционируют в собственных пространствах имен для каждого открытого чертежа. Пространство имен каждого чертежа является изолированным, что позволяет избегать конфликтов имен переменных и процедур AutoLISP в одновременно открытых чертежах. Например, следующее выражение по-разному устанавливает значение переменной а для различных документов.

В Visual LISP имеется механизм загрузки обозначений и переменных из одного пространства имен в другое.

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

AutoLISP предоставляет три формата файлов для приложений:

  • LSP-файлы (с расширением .lsp)—Текстовый файл ASCII, содержащий код программы AutoLISP.
  • FAS-файлы (с расширением .fas)—двоичная скомпилированная версия одного файла программы LSP.
  • VLX-файлы (с расширением .vlx)—скомпилированный набор одного или нескольких файлов LSP или DCL-файлов.
Примечание Если существует несколько приложений AutoLISP с одинаковыми именами, загружается то из них, которое имеет наиболее поздний штемпель даты и времени. То же самое происходит при загрузке файлов с расширениями LSP, FAS или VLX, если не указано полное имя файла, включая его расширение.

Хотя Visual LISP представляет собой интегрированную среду разработки, AutoCAD может читать код AutoLISP непосредственно, и его компиляция не требуется. Можно использовать командную строку, вводя в ней выражения, чтобы сразу же видеть результаты их выполнения. Это делает AutoLISP удобным языком для экспериментирования как для новичков, так и для опытных программистов.

Пользователи, не имеющие намерений писать собственные приложения на AutoLISP, тем не менее, могут найти много полезных процедур, входящих в комплект поставки AutoCAD. Имеется также большое число условно-бесплатных процедур и приложений, поставляемых сторонними разработчиками. Умение загружать и использовать такие приложения позволяет значительно повысить производительность работы.

Примечание Если вызов команды производится с помощью функции command языка AutoLISP, подразумевается, что системные переменные PICKADD и PICKAUTO имеют значения 1 и 0 соответственно. Это обеспечивает совместимость с предыдущими версиями AutoCAD и упрощает адаптацию, так как пропадает необходимость проверки параметров этих переменных.

Работа с приложениями AutoLISP

AutoLISP-приложения хранятся в текстовых ASCII-файлах с расширением lsp. В таких файлах обычно имеется раздел заголовка, в котором описана программа, ее назначение и даются конкретные инструкции. Данный заголовок также может включать комментарии, в которых указан автор и правовая информация, касающаяся использования программы. Строки комментариев начинаются с символа точки с запятой (;). Для просмотра и редактирования таких файлов можно использовать любой текстовый редактор или текстовый процессор, который сохраняет тексты в формате ASCII.

Перед использованием AutoLISP-приложения его необходимо загрузить в память. Для этого можно использовать команду ЗАГПРИЛ или функцию load языка AutoLISP. При загрузке приложения AutoLISP выполняется загрузка AutoLISP-кода из LSP-файла в память системы.

Функция load имеет два аргумента: обязательный - имя_файла и необязательный - при_ошибке . При загрузке файла AutoLISP в командной строке, как правило, вводится значение только одного аргумента - имя_файла . В следующем примере иллюстрируется загрузка AutoLISP файла newfile.lsp.

Расширение имени файла .lsp не обязательно. Такой формат ввода можно использовать для любых LSP-файлов, хранящихся по текущему библиотечному пути.

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

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

AutoCAD автоматически загружает содержимое трех определяемых пользователем файлов, acad.lsp, acaddoc.lsp и файла MNL, связанных с текущим файлом адаптации.

По умолчанию загрузка файла acad.lsp производится один раз в начале нового сеанса AutoCAD, в то время как загрузка файла acaddoc.lsp производится для каждого документа (или чертежа). Это позволяет связать загрузку файла acad.lsp с запуском приложения, а загрузку файла acaddoc.lsp с открытием документа (или чертежа). Описанный способ загрузки можно изменить, модифицировав значение системной переменной ACADLSPASDOC.

Если в одном из этих файлов определена специальная функция S::STARTUP , она автоматически исполняется сразу же после инициализации чертежа. Кроме того, перечень приложений для автоматической загрузки можно выбрать с помощью параметра ЗАГПРИЛ. В последнем случае редактирование файлов не требуется.

Файлы автозагрузки acad.lsp и acaddoc.lsp не поставляются с AutoCAD. При необходимости пользователь должен создать их самостоятельно.

При загрузке файла AutoLISP определения команд в файле занимают определенный объем памяти даже в том случае, если команды не используются. Функция autoload языка AutoLISP позволяет сделать команду доступной без загрузки ее кода в память. Добавление следующих выражений в файл acaddoc.lsp вызывает автоматическую загрузку команд КОМАНДА1, КОМАНДА2 и КОМАНДА3 из файла cmds.lsp и команды НОВАЯКОМ из файла newcmd.lsp.

При первом вводе в командной строке имени автоматически загруженной команды AutoLISP загружает полное определение этой команды из соответствующего файла. В AutoLISP также имеется функция autoarxload для приложений ObjectARX. См. разделы autoload и autoarxload в AutoLISP Reference (Справочник по AutoLISP).

Примечание Если существует несколько файлов автозагрузки AutoLISP с одинаковыми именами, загружается тот из них, который имеет наиболее поздний штемпель даты и времени. То же самое происходит при загрузке файлов с расширениями LSP, если не указано полное имя файла (с расширением).

Пользователь может создать файл acad.lsp для регулярного использования программ на AutoLISP. При запуске AutoCAD производится поиск файла поддержки acad.lsp. Если файл acad.lsp найден, он загружается в память.

Это связано с тем, что файл acad.lsp предназначен для автозагрузки специальных приложений. Поэтому все переменные и функции, определенные в файле acad.lsp, доступны только для самого первого чертежа. Если требуется, чтобы некоторые процедуры были доступны для всех открываемых документов, их следует поместить в файл acaddoc.lsp.

Режимом загрузки файлов acad.lsp и acaddoc.lsp можно управлять с помощью системной переменной ACADLSPASDOC. Если для системной переменной ACADLSPASDOC задано значение 0 (значение по умолчанию), файл acad.lsp загружается только один раз: при запуске приложения. Если она равна 1, файл acad.lsp загружается при открытии или создании каждого чертежа.

В файле acad.lsp может размещаться код AutoLISP одной или нескольких процедур или только последовательность вызовов функции load . Последний способ более предпочтителен, так как при этом упрощается возможная модификация перечня загружаемых процедур и приложений. Если приведенный ниже код сохранить как файл acad.lsp, файлы mysessionapp1.lsp, databasesynch.lsp и drawingmanager.lsp будут загружаться при каждом запуске AutoCAD.

Предупреждение Не изменяйте зарезервированный файл acad2012.lsp. В комплект поставки программы входит файл acad2012.Файл lsp который содержит требуемые функции на языке AutoLISP. Данный файл загружается в память непосредственно перед загрузкой файла acad.lsp.

Файл acaddoc.lsp предназначен для выполнения инициализации каждого документа (чертежа). Этот файл удобно использовать для автоматической загрузки библиотек AutoLISP-процедур при создании нового чертежа или открытии имеющегося.

Каждый раз при открытии чертежа программа AutoCAD производит поиск файла acaddoc.lsp по библиотечному пути. При обнаружении такого файла производится его загрузка в память. Файл acaddoc.lsp всегда загружается вместе с каждым чертежом независимо от значения ACADLSPASDOC.

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

В файле acaddoc.lsp может храниться код для одной или нескольких процедур или серии запросов функции load . Последний способ более предпочтителен, так как при этом упрощается возможная модификация перечня загружаемых процедур и приложений. Если приведенную ниже программу сохранить в файле acaddoc.lsp, файлы mydocumentapp1.lsp, build.lsp и counter.lsp будут загружаться при каждом случае открытия нового документа.

Предупреждение Не изменяйте зарезервированный файл acad2012doc.lsp. В комплект поставки программы входит файл acad2012doc.Файл lsp который содержит требуемые функции на языке AutoLISP. Данный файл загружается в память непосредственно перед загрузкой файла acaddoc.lsp.

Адаптация файлов MNL и меню AutoLISP

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

Данный механизм позволяет обеспечить загрузку функций AutoLISP в программе AutoCAD, необходимых для работы меню. Например, файл адаптации по умолчанию acad.cui зависит от содержимого файла acad.mnl, который содержит определения функций AutoLISP, вызываемых в макросах меню. MNL-файл загружается после файла acaddoc.lsp.

Примечание Если файл адаптации загружается с помощью функции command на языке AutoLISP, которая имеет формат (command "меню" "новое меню") , то соответствующий файл MNL загружается только после запуска всей процедуры AutoLISP.

Утилиты "новое меню"… загружены.

Функция S::STARTUP: выполнение после завершения инициализации чертежа

Для выполнения операций по настройке после инициализации чертежа можно написать функцию S::STARTUP.

Все автоматически загружаемые файлы LISP (acad.lsp, acaddoc.lsp и MNL) размещаются в памяти до завершения полной инициализации чертежа. Обычно это не создает проблем, за исключением тех случаев, когда используется функция command ; надежная работоспособность данной функции возможна только после завершения инициализации чертежа.

Если пользовательская функция S::STARTUP содержится в файлах acad.lsp, acaddoc.lsp, или MNL, то она выполняется при каждом создании нового или открытии имеющегося чертежа. Таким образом, для выполнения операций по настройке можно создать функцию S::STARTUP и поместить ее в автоматически загружаемый файл AutoLISP.

Перед завершением инициализации чертежа с помощью функции defun задаются новые описания команд ШТРИХ и ВСТРШТРИХ. После завершения инициализации чертежа вызывается функция S::STARTUP , которая отключает стандартное описание команды ШТРИХ.

Примечание Для того чтобы функция S::STARTUP не переопределяла функции с таким же именем из других файлов, ее следует определить с помощью функции defun-q , а не defun .

Так как функция с именем S::STARTUP может быть определена в различных файлах (acad.lsp, acaddoc.lsp, файлах MNL или любых других файлах AutoLISP), то определенную ранее функцию S::STARTUP можно переопределить.

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

. автоматически выполняемая функция .

В результате такого определения код предыдущей загруженной функции S::STARTUP добавляется к коду новой функции S::STARTUP . Этот способ определения можно использовать независимо от ранее существовавшей функции S::STARTUP .

Автор:

Проблема

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

Решение

Чтобы процедуры AutoLISP загружались автоматически, добавьте их в список автозагрузки AutoCAD или используйте файл acad.lsp.

Добавление в список автозагрузки

Загрузка с помощью команды НПИ

  1. Запустите команду НПИ.
  2. Выберите файл acad.cuix (или файл частичной адаптации CUIX).
  3. Выберите файлы LISP и щелкните правой кнопкой мыши.
  4. В контекстном меню выберите Загрузка LISP.
  5. Перейдите к папке LISP, чтобы выбрать и добавить файл.
  6. Нажмите кнопки «Применить» и «Закрыть» для выхода из редактора АПИ.

Используйте файл acad.lsp.

Файл acad.lsp будет всегда загружаться при запуске AutoCAD. Если в файле acad.lsp определена специальная функция S::STARTUP, то она будет также исполняться.

Например, каждый раз при запуске AutoCAD необходимо загружать две процедуры AutoLISP с названиями stair.lsp и wall.lsp. Создайте файл acad.lsp, в котором содержатся следующие строки кода, и поместите его в пути к вспомогательным файлам AutoCAD.

(defun s::startup ()
(load "STAIR.LSP")
(load "WALL.LSP")
)

Если файлы wall.lsp и stair.lsp указаны в пути поиска AutoCAD, то они будут загружаться автоматически. Если процедур AutoLISP нет в путях к вспомогательным файлам AutoCAD, добавьте полный путь в файл acad.lsp. В качестве разделителей путей используйте символы «/» или «\\». В данном примере файл acad.lsp будет выглядеть следующим образом:

(defun s::startup ()
(load "C:/PROG/LISP/STAIR.LSP")
(load "C:\\PROG\\LISP\\WALL.LSP")
)

Если функция S::STARTUP определена таким образом, то могут возникать проблемы при использовании других приложений, которые также задействуют функцию S::STARTUP (например, стороннего подключаемого модуля). Чтобы обеспечить совместимость, вставьте код на случай наличия функции S::STARTUP. Для этого добавьте следующий код:

Читайте также: