Відповідь

Warning: this topic has not been posted in for at least 150 days.
Unless you're sure you want to reply, please consider starting a new topic.
Ім'я:
   
Email:
Тема:
Іконка повідомлення:
Вкладення:
(Вкладення)
Restrictions: 4 per post, maximum total size 5120KB, maximum individual size 5120KB

підказка: натисніть alt+s для відправлення або alt+p для перегляду повідомлення


Повідомлення в цій темі

Автор: 3oloS
« : 09 Липень 2010, 10:49:25  »

Цитата: camomile
Подскажите, пожалуйста, как установить приложение lsp в автокад?
меню: сервис --- приложение - выбираешь лисп(файл с лиспом) жмете на кнопку "загрузить".
Чтоб посмотреть какой командой вызвать лисп (если неизвестно) - надо открыть файл в блокноте и посмотреть что за слово стоит после (defun C:команда вызова лиспа)
Автор: NeON2K
« : 09 Липень 2010, 10:44:01  »

camomile, не понятно о чем речь, если о функциях Автокада реализованных с помощью LISP :
Файл ACAD.LSP

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

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

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

Значение системной переменной ACADLSPASDOC игнорируется при работе в однодокументном режиме SDI (single document interface). Если системная переменная SDI имеет значение 1, системная переменная LISPINIT управляет повторной инициализацией AutoLISP при открытии нового чертежа. Если LISPINIT равна 1, функции и переменные AutoLISP действуют только для текущего чертежа; при открытии нового чертежа все они выгружаются из памяти, после чего выполняется повторная загрузка файла acad.lsp. В случае, когда системная переменная SDI равна 0, изменение значения LISPINIT не оказывает никакого действия.

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

(load "mysessionappl") (load "databasesynch") (load "drawingmanager")

ПРЕДУПРЕЖДЕНИЕ lsp, содержащий функции на языке AutoLISP, которые необходимы для нормальной работы AutoCAD. Данный файл загружается в память непосредственно перед загрузкой файла acad.lsp.

Файл ACADDOC.LSP

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

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

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

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

(load "mydocumentappl")

(load "build")

(load "counter")

ПРЕДУПРЕЖДЕНИЕ lsp. lsp, содержащий функции на языке AutoLISP, которые необходимы для нормальной работы AutoCAD. Данный файл загружается в память непосредственно перед загрузкой файла acaddoc.lsp.


MNL-файл и AutoLISP-функции для меню

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

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

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

В данном примере для выдачи сообщения использована функция princ. Первый вызов функции princ приводит к появлению в командной строке следующего сообщения:

Утилиты "Newmenu"... загружены.

Второй вызов princ используется для завершения функции AutoLISP. Без второго вызова princ сообщение в командной строке появится дважды. Как уже упоминалось ранее, можно использовать аргумент при ошибке при вызове функции load для повышения надежности процедур.

Предотвращение ошибок AutoLISP при выполнении файлов автозагрузки

Если в процессе выполнения AutoLISP-файла автозагрузки происходит ошибка, то оставшаяся часть файла игнорируется и не загружается.

Если файлы, указанные в файле загрузки, не существуют или отсутствуют по библиотечному пути AutoCAD, это обычно вызывает ошибки. Для предотвращения прерывания выполнения файла автозагрузки при возникновении ошибки можно использовать аргумент при ошибке функции load. В следующем примере иллюстрируется использование данного аргумента:

(princ (load"mydocappl" "ХпФбйл MYDOCAPP1.LSP не загружен."))

(princ (load"build" "Файл BUILD.LSP не загружен."))

(princ (load"counter" "Файл COUNTER.LSP не загружен."))

(princ)
Автор: camomile
« : 09 Липень 2010, 10:32:03  »

Подскажите, пожалуйста, как установить приложение lsp в автокад?
Автор: ухо
« : 03 Червень 2010, 21:05:29  »

как получить каталог длин одного замкнутого контура???


Автор: Irina
« : 06 Квітень 2009, 21:11:31  »

К сожалению да...
Автор: andery
« : 06 Квітень 2009, 07:40:02  »

Вроде как AutoCAD LT не поддержиает лиспы или я ошибаюсь?
Автор: Виктор
« : 04 Квітень 2009, 00:40:08  »

Irina, у Вас AutoCAD LT, возможно в нем по умолчанию нет в меню "Сервис" "приложения". Попробуйте через настройку (сервис-настройка) найти "приложения" и поместить в "Сервис".
Автор: Irina
« : 03 Квітень 2009, 19:37:49  »

hi_tech, спасибо, но у меня автокад не отображает "приложения"
Автор: hi_tech
« : 02 Квітень 2009, 21:25:44  »

Irina, вот для классического вида автокада и для стандартного вида 2009 автокада
Автор: Irina
« : 02 Квітень 2009, 20:53:12  »

в 2009 автокаде не могу найти в меню севис "приложения"...
Автор: hi_tech
« : 01 Квітень 2009, 22:07:20  »

Irina,
1. скопируйте файл lsum.lsp в папку с установленным автокадом, например C:\Program Files\AutoCAD 2009
2. в автокаде выбере в меню сервис - приложения. в раскрывшемся окне найдите скопированный файл и нажмите загрузить
3. для автозагрузки лиспа, добавьте его в автозагрузку. Для этого в этом же окне нажмите на кнопку Приложения... как указано на рисунке.
Автор: Irina
« : 01 Квітень 2009, 20:59:31  »

Як загрузити лісп Lsum в 2009 автокад?
Автор: nikaraguasasham
« : 01 Квітень 2009, 17:27:05  »

http://eom.com.ua/index.php?action=downloads;sa=downfile;id=473
на DWG нашел ,-примечателен наличием вордовского файла по установке и созданию пользовательской кнопки,в 2008 работает,результат в командной строке (бегунок или расширить окно ),для многих наверное ничего нового,но для начинающих,думаю,пригодится
Автор: 3oloS
« : 30 Травень 2008, 14:44:57  »

http://eom.com.ua/index.php?action=downloads;sa=view;id=84
Программа (лисп) предназначена для защиты .dwg файла от редактирования (например,- для предоставления заказчику). В результате работы программы все объекты чертежа преобразовываются в мультивставки анонимных блоков (в каждом пространстве по одному блоку) -один большой блок - который невозможно  расчленить командой  Explode и отредактировать командой Refedit, однако в чертеже  остается возможным создание новых примитивов, включение\выключение,  замораживание\размораживание слоев, печать файла.
Следует учитывать тот факт, что данный лисп не является "панацеей от всех зол", и сломать данную защиту не так и тяжело человеку знакомому с программированием для Autocad или опытному пользователю, знающему структуру DXF файлов.
Для запуска программы необходимо:
1. Выполнить загрузку файла в рисунок при помощи команды Appload
2. Запуск программы производится набором в командной строке команды - ESConvert.
Внимание после завершения работы программы (до сохранения текущего файла).
желательно сохранить обработанный файл под другим именем.
Автор: andery
« : 30 Травень 2008, 13:44:41  »

меню: сервис --- приложение - выбираешь лисп(файл с лиспом) жмете на кнопку "загрузить".
Чтоб посмотреть какой командой вызвать лисп (если неизвестно) - надо открыть файл в блокноте и посмотреть что за слово стоит после (defun C:команда вызова лиспа)
вот после С: стоит команда вызва программы лиспа.
Например (defun C:BLCOUNT
если зщагрузили этот лисп - то, чтоб вызвать его надо набрать BLCOUNT.