Как добавить перенумератор в автокад lsp
Автор:
Проблема
Необходимо узнать, как обеспечить автоматическую загрузку процедур AutoLISP при запуске AutoCAD. Каждый раз при запуске программы файлы приходится повторно загружать вручную.Решение
Чтобы процедуры AutoLISP загружались автоматически, добавьте их в список автозагрузки AutoCAD или используйте файл acad.lsp.Добавление в список автозагрузки
Загрузка с помощью команды НПИ
- Запустите команду НПИ.
- Выберите файл acad.cuix (или файл частичной адаптации CUIX).
- Выберите файлы LISP и щелкните правой кнопкой мыши.
- В контекстном меню выберите Загрузка LISP.
- Перейдите к папке LISP, чтобы выбрать и добавить файл.
- Нажмите кнопки «Применить» и «Закрыть» для выхода из редактора АПИ.
Используйте файл 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. Для этого добавьте следующий код:
Последний раз редактировалось shartal, 15.11.2011 в 15:41 .
это на каком-то другом форуме не работает, а на этом все работает как надо
__________________
Как использовать код на Лиспе читаем здесь
В AsmiTools_Renum не получается обнулить ранее введенное значение суффикса или префикса. Нажатие пробела, как указано в описании не помогает. Системную переменную CMDECHO менял - безрезультатно.
В чем может быть дело?
Поправка: при вводе пробела в командной строке значение обнуляется, при вводе в окошке динамического ввода - нет.
Последний раз редактировалось Garand, 02.04.2013 в 15:21 .
Допилил в AsmiTools_Renum возможность изменять инкремент:
А кто-нибудь знает как отключить игнорирование пробелов в окне динамического ввода?
__________________ --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
Хелп ми.
Помогите разрешить наболевшее. Мы рисуем выноски. Очень конкретные. Линия, на конце блок из круга и номера внутри. Все. Чертеж состоит из набора деталей, мы их помечаем каждую. Эти выноски можно «тягать» за центр круга, что собственно нам и нужно. Таких выносок бывает на чертеже до 100 шт. Но! В какой-то момент (прозевал детальку) возникает необходимость изменить числа в кружке. Очень хотелось бы автоматизировать вот это изменение значений в блоке в выноске. Выбрать сколько-то выносок, и всем числам прибавить какое-то значение. Например, выбрали выноски 3, 4, 5 и превратили их в 6, 7, 8 Может, есть уже что-то готовое или кто может помочь? Спасибо.
Да, AutoCAD 2010.
А на чем затык? Где свой код?
А если "вообще не хочу программировать самостоятельно" - то это в раздел "Поиск исполнителей"
--- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
Offtop: у вас жесткое разделение труда - одни рисуют детали, другие выноски к ним?
прощелкать заново нумератором 100 выносок на чертеже - 2..3 минуты
Offtop: у вас жесткое разделение труда - одни рисуют детали, другие выноски к ним?
Offtop: Сергей812, смех-смехом, а я такое частенько встречал: умный инженер выдает проектное решение за пару минут со словами: "Я все сделал, осталось только оформить", - а потом не такие умные или не такие уж и инженеры тратят не один день на оформление - и не то, чтобы они медленно работали.
Olga_выноски, была на форуме тема "Увеличение отметок на определенную величину". Там Кулик Алексей aka kpblc предложил код, который по-моему, должен подойти с небольшими доработками. Он кажется, для текстов, но под выноски доработать несложно. Найдите поиском эту тему, проверьте код (только с текстами), и, если почти то, сообщите тут - может, кто-нибудь подправит.
Например, выбрали выноски 3, 4, 5 и превратили их в 6, 7, 8 Может, есть уже что-то готовое или кто может помочь?
__________________
Как использовать код на Лиспе читаем здесь
Offtop: у вас жесткое разделение труда - одни рисуют детали, другие выноски к ним?
прощелкать заново нумератором 100 выносок на чертеже - 2..3 минуты
100 х на 3 вида х на несколько чертежей в день ))) да, в общем-то и недолго, но и так работа рутинная, хотелось бы изменить.
Я написала небольшую программку (вернее взяла на форуме готовую и подкорректировала под свою задачу), которая увеличивает номер в выноске на 1. (файл прилагаю). Хотелось бы еще и корректировку.
Перелопатила много готовых лиспов для работы с числами, перенумераторы. Но у нас аннотативная мультивыноска, с ней "никто не дружит".
Я уже пробовала создавать динамический блок - линия, кружок на конце и цифра внутри, но линия должна доходить до центра окружности, и остается видимой внутри круга.
Короче, может быть решение где-то совсем рядом, но мне не встречается (((
Моя программка очень короткая, но свою узкую задачу она решает
Offtop: Сергей812, смех-смехом, а я такое частенько встречал: умный инженер выдает проектное решение за пару минут со словами: "Я все сделал, осталось только оформить", - а потом не такие умные или не такие уж и инженеры тратят не один день на оформление - и не то, чтобы они медленно работали.
Olga_выноски, была на форуме тема "Увеличение отметок на определенную величину". Там Кулик Алексей aka kpblc предложил код, который по-моему, должен подойти с небольшими доработками. Он кажется, для текстов, но под выноски доработать несложно. Найдите поиском эту тему, проверьте код (только с текстами), и, если почти то, сообщите тут - может, кто-нибудь подправит.
Я прежде всего поискала по форумам, эту программу проверяла самой первой )). Не работает она с нашей мультивыноской с блоком.
Может как-то по-другому наши выноски рисовать, попроще?
А на чем затык? Где свой код?
А если "вообще не хочу программировать самостоятельно" - то это в раздел "Поиск исполнителей"
Да, уточняю свой вопрос. Прилагаю наш чертеж. И программку, которая вставляет мультивыноски с номерами, возрастающими на 1 (программка конечно очень урезанная, но свою задачу выполняет).
Имею большое желание изменять числа в мультивыносках.
А может быть есть возможность простановки и редактирования наших выносок и не средствами мультивыноски, а как-то иначе.
Вы дольше общаетесь на форуме, м.б. что-нить подскажете.
Буду благодарна любой помощи
Мы рассматривали 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.
Если вы используете сторонние приложения lisp и скрипты, то стоит задуматься о создании кнопки в AutoCAD. Не всегда удобно обращаться к инструменту через командную строку. Если вы часто пользуетесь каким-то инструментом, то лучше его вынести в виде кнопки. Это ускорит работу в программе.
Мы рассматривали LISP-приложения для Автокада и как загружать дополнительные скрипты. Теперь разберём, как создать кнопку в Автокаде с новой командой и разместить её на ленте для быстрого доступа.
Создание кнопки доп. скрипта имеет некоторые нюансы. Разберём их на примере.
Создаем новые кнопки в Автокаде для запуска LISP
Чтобы добавить кнопку в Автокад для новой команды, нужно:
1. Прописать путь к файлу, который содержит загружаемое приложение. Такие файлы могут иметь расширение *.arx, *.crx, *.lsp, *.dvb, *.dbx, *.vlx, *.fas.
Вызовите диалоговое окно «Настройки» (можно через командную строку «_options»). Перейдите во вкладку «Файлы», выберите папку «Доверенные местоположения». Затем нажмите кнопку «Добавить». Появится дополнительное поле, в котором необходимо прописать путь.
Далее нажмите "Обзор". Найдите на компьютере папку, в которой хранятся ваши файлы-lisp. После того как путь пропишется в этом диалоговом окне, нажмите "ОK".
2. Вызвать окно адаптации пользовательского интерфейса Автокад (можно через командную строку «_СUI»). Создать новую команду.
Задать название и макрос. Код макроса следует искать в самом файле приложения. Открыть его можно через обычный блокнот.
Выберите иконку для кнопки. Можно создать новую или отредактировать уже имеющуюся картинку. Подробнее - в видеоуроке «Создание макрос в AutoCAD».
3. Заключительный этап создания новой кнопки для AutoCAD – это размещение в ленте программы. Для этого нужно воспользоваться поиском: найти вновь созданную кнопку, захватить её левой кнопкой мыши и переместить в подходящую панель. В этом примере: ACAD → Лента → Панели → Главная 2D Рисование → Строка 3.
Как видите, добавить кнопку в Автокад для LISP-приложения не так уж и сложно. Если вы часто используете тот или иной скрипт – обязательно примите это к сведению.
Читайте также: