Форум проєктувальників електричних та слабострумних мереж
Проєктування => Програми, САПР та ін. => AutoCAD => Тема розпочата: юга від 30 Травень 2008, 13:38:43
-
Ребят не судите строго, но как лиспы в кад засунуть, и чтоб работало?
-
меню: сервис --- приложение - выбираешь лисп(файл с лиспом) жмете на кнопку "загрузить".
Чтоб посмотреть какой командой вызвать лисп (если неизвестно) - надо открыть файл в блокноте и посмотреть что за слово стоит после (defun C:команда вызова лиспа)
вот после С: стоит команда вызва программы лиспа.
Например (defun C:BLCOUNT
если зщагрузили этот лисп - то, чтоб вызвать его надо набрать BLCOUNT.
-
http://eom.com.ua/index.php?action=downloads;sa=view;id=84
Программа (лисп) предназначена для защиты .dwg файла от редактирования (например,- для предоставления заказчику). В результате работы программы все объекты чертежа преобразовываются в мультивставки анонимных блоков (в каждом пространстве по одному блоку) -один большой блок - который невозможно расчленить командой Explode и отредактировать командой Refedit, однако в чертеже остается возможным создание новых примитивов, включение\выключение, замораживание\размораживание слоев, печать файла.
Следует учитывать тот факт, что данный лисп не является "панацеей от всех зол", и сломать данную защиту не так и тяжело человеку знакомому с программированием для Autocad или опытному пользователю, знающему структуру DXF файлов.
Для запуска программы необходимо:
1. Выполнить загрузку файла в рисунок при помощи команды Appload
2. Запуск программы производится набором в командной строке команды - ESConvert.
Внимание после завершения работы программы (до сохранения текущего файла).
желательно сохранить обработанный файл под другим именем.
-
http://eom.com.ua/index.php?action=downloads;sa=downfile;id=473
на DWG нашел ,-примечателен наличием вордовского файла по установке и созданию пользовательской кнопки,в 2008 работает,результат в командной строке (бегунок или расширить окно ),для многих наверное ничего нового,но для начинающих,думаю,пригодится
-
Як загрузити лісп Lsum в 2009 автокад?
-
Irina,
1. скопируйте файл lsum.lsp в папку с установленным автокадом, например C:\Program Files\AutoCAD 2009
2. в автокаде выбере в меню сервис - приложения. в раскрывшемся окне найдите скопированный файл и нажмите загрузить
3. для автозагрузки лиспа, добавьте его в автозагрузку. Для этого в этом же окне нажмите на кнопку Приложения... как указано на рисунке.
-
в 2009 автокаде не могу найти в меню севис "приложения"...
-
Irina, вот для классического вида автокада и для стандартного вида 2009 автокада
-
hi_tech, спасибо, но у меня автокад не отображает "приложения"
-
Irina, у Вас AutoCAD LT, возможно в нем по умолчанию нет в меню "Сервис" "приложения". Попробуйте через настройку (сервис-настройка) найти "приложения" и поместить в "Сервис".
-
Вроде как AutoCAD LT не поддержиает лиспы или я ошибаюсь?
-
К сожалению да...
-
как получить каталог длин одного замкнутого контура???
-
Подскажите, пожалуйста, как установить приложение lsp в автокад?
-
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)
-
Подскажите, пожалуйста, как установить приложение lsp в автокад?
меню: сервис --- приложение - выбираешь лисп(файл с лиспом) жмете на кнопку "загрузить".
Чтоб посмотреть какой командой вызвать лисп (если неизвестно) - надо открыть файл в блокноте и посмотреть что за слово стоит после (defun C:команда вызова лиспа)