Автозагрузка файлов Lisp в Автокаде
В предыдущей статье мы разобрались как загрузить lisp файл в Автокад и организовать свою библиотеку lisp файлов, но возникают ситуации когда есть необходимость загружать свои lisp файлы при открытии чертежа.
Добавить лисп в автозагрузку
Это возникает например когда вы ходите, чтоб при открытии чертежа, загружался лисп который создал бы определенный набор слоев. то нужно добавить необходимые файлы в список автозагрузки.
Запускаем Автокад и выбираем Сервис → AutoLISP → Приложения. ( Tools → AutoLISP → Load ) или набираем в командной строке _appload.
В открывшемся диалоговом окне жмем на кнопку Приложения рядом с изображение портфеля.
В следующем диалоговом окне жмем на кнопку Добавить и указываем на необходимые файлы.

Они должны появиться в списке приложений.
Теперь перечисленные файлы будут загружаться каждый раз при открытии чертежа.
Важно понимать, что (по крайней мере в полной версии AutoCAD) загрузка приложений, помещенных в Автозагрузку (Startup Suite), как правило, выполняется во все профили и сессии AutoCAD’a.
Кроме того, есть еще один момент. Если существует 2 или более файлов, в которых описаны функции с одинаковыми именами, выполняться будет та, которая загрузилась последней. Поскольку предсказать, в какой последовательности будет выполняться загрузка приложений, невозможно, подобных ситуаций следует избегать.
Интересно. Как печатать чертежи в AutoCAD читайте тут.
Как установить Лисп для Автокада
Вы нашли полезный для себя код на Лиспе который делает различные штуки и хотите его использовать. Как заставить его работать? Можно выделить 3 шага.
1. Сохранение программного кода на своем компьютере.
2. Загрузка файла в AutoCAD.
3. Запуск приложения (Лиспа).
Примечание: AutoLISP программы могут быть запущены только на полной версии Автокада, они не работают под AutoCAD LT. (исключая случаи загрузки дополнительных приложений типа LT Extender и ему подобных, которые специально разработаны для запуска lisp и (или) arx приложений в среде AutoCAD LT.)
Сохранение программного кода lisp на своем компьютере
Если код выложен на сайте, а не отдельным файлом, делаем так, с помощью курсора выделяем этот код и копируем его, нажав правую кнопку мыши и выбрав пункт Копировать (или Ctrl+C).
Запускаем «Блокнот» и вставляем наш код с помощью меню Правка → Вставить (или Ctrl+V). Получим примерно такое:

И сохраняем файл. Файл можно назвать, как вам нравится, но расширение у него должно быть .LSP. Правильнее (но не обязательно) будет назвать файл так же, как названа команда в найденном Вами коде. Команде всегда предшествует префикс C: после слова defun. В примере выше видно, что команду назвали OFF2, соответственно файл называем off2.lsp. Таким образом, мы можем избежать беспорядка, т.к. будем знать, что в файле off2.lsp находится команда OFF2.
Иногда в коде представлено несколько функций. Необходимо найти «главную». Такая функция либо имеет префикс С: либо сам автор кода уточняет как использовать. В случае нескольких «главных» имя файла не имеет никакой разницы.
Загрузка lisp файла в Автокад
Файл сохранили или скачали уже готовый и запускаем Автокад. Выбираем Сервис → AutoLISP → Приложения. ( Tools → AutoLISP → Load ) или набираем в командной строке _appload.
Мы должны увидеть диалоговое окно как представлено ниже:

И по порядку делаем так:
1. Перейдите к папке, куда Вы сохранили lisp файл.
2. Выберите файл, который Вы хотите загрузить из списка.
3. Нажмите кнопку Загрузить. (Если все прошло удачно, Вы должны увидеть надпись «off2.lsp успешно загружено»)
4. Нажмите кнопку Закрыть для завершения команды.
Или еще проще загрузить lisp файл путем перетаскивания (drag-and-drop) иконки файла в графическое окно открытого документа Автокада.
Немного теории об установке лисп
В описании практически любого кода есть такая строка где написано (defun … и потом после нее чего-то там еще. Так вот то, что там написано и есть имя функции.
Если первыми символами являются C: то функция готова к вызову из командной строки. Если такого нет, то вызывать функцию надо, заключая ее имя в круглые скобки.
Т.е. если написано (defun c:test то в командной строке набираем test , а если (defun test то пишем все тоже самое в скобочках (test) все просто!
Запуск lisp программы
Как только lisp файл загружен, вызываем команду из командной строки. Команда вызывается по ее имени. В нашем примере необходимо набрать в командной строке OFF2.
Организация библиотеки лисп файлов
Каждый раз набирать _appload для загрузки того или иного приложения не дело, да и файлов этих со временем накопится, проще будет организация свою библиотеку. Для начала условимся, что все наши файлы будем складывать в одну папку. Например, D:\MyLisp. Пропишем эту папку в путях доступа Автокада. Для этого выбираем Сервис → Настройка ( Tools → Options ) или набираем в командной строке _options. Переходим на закладку Файлы (Files) и раскрываем список Путь доступа к вспомогательным файлам (Support File Search Path).
Мы должны увидеть диалоговое окно, как представлено ниже:

Используйте следующую последовательность, чтобы прописать папку в путях доступа:
1. Нажмите кнопку Добавить.
2. Нажмите кнопку Обзор и выберите целевую папку (в нашем случае, D:\MyLisp).
3. Путь к папке должен появиться в диалоговом окне.
4. Нажмите кнопку OK для завершения команды.
Теперь наша папка прописана в путях доступа Автокада. Что это нам дает? Мы можем загружать наши файлы не указывая конкретного пути, а только имя файла.
Мы можем набрать в командной строке (load «») для загрузки необходимого кода, например (load «off2»). Заметьте, что добавлять расширение .lsp не обязательно, хотя и не запрещается.
А самое главное — это позволит нам создать панели с кнопками для загрузки той или иной программы. Кнопка будет иметь следующее содержание:
В нашем случае: ^C^C(if (null C:OFF2)(load «off2»));OFF2;
Вместо текста мы должны будем подставлять имя нужной нам команды, а вместо текста имя того файла, в котором эта команда сохранена. Помните, что файл должен иметь расширение .lsp.
Полезно. Как создать свою кнопку и вывести на свою панель команд читаем здесь.
Добавление файлов Lisp в AutoCAD
Lisp-файлы представляют собой программы, написанные на языке AutoLISP и могут запускаться в AutoCAD. Расширение программ .lsp.
Загрузка программы.

Ввести в командной строке «appload». Откроется окно «Загрузка/выгрузка приложений». Далее порядок действий следующий:
1. Выбрать в окне навигации папку, в которой лежит файл.
2. Выбрать искомый файл.
3. Нажать кнопку «Загрузить».
4. Нажать кнопку «Закрыть».
Автозагрузка программы.
Если программа требуется постоянно, логично добавить её в автозагрузку AutoCAD. Для этого:
1. Ввести в командной строке «appload». Откроется окно «Загрузка/выгрузка приложений».
2. Нажать кнопку «Приложения». Откроется окно «Автозагрузка».
3. Нажать кнопку «Добавить…».
Далее необходимо выбрать искомый файл. После добавления всех фалов нажать «Закрыть».
Теперь программы будут автоматически подгружаться в каждой сессии.
При первой загрузке будет показано окно выбора загрузки. Следует выбрать вариант «Загружать автоматически» для быстрой автозагрузки без дополнительных окон выбора.
Послесловие.
Иногда бывает что у Вас оказывается программа, механизм работы которой Вам известен, но как запустить её Вы не знаете.
Команда запуска прописаны в теле кода программы. Откройте файл с расширение .lsp любым текстовым редактором и найдите строку (defun c: .
Именно это имя и нужно вводить в командную строку AutoCAD после загрузки программы для её запуска.
2 комментария к “Добавление файлов Lisp в AutoCAD”
- Уведомление: Как сделать чертёж AutoCAD плоским (Z=0) | autoprodor.ru
- Уведомление: Объединение штриховок а AutoCAD | autoprodor.ru
LISP Программы.
На этой странице будут выкладываться примеры LISP программ. По многим из них есть уроки с подробным описанием кода.
Если Вы знаете как запускать LISP программы в AutoCAD, то можете сразу перейти к списку программ .
Как использовать программы.
Все программы написаны для использования их в полной версии программы AutoCAD. Они не будут работать в AutoCAD LT.
Если Вам понравилась какая-либо программа на этом сайте и Вы хотите ее установить на свой компьютер. Для этого Вам нужно сделать следующее:
1. Скачать программу на свой компьютер;
2. Все программы заархивированы. Поэтому после того, как вы скачали архив, его нужно разархивировать. Разархивировав архив, Вы получите файлы программы, которые можете хранить в любом месте на вашем компьютере (Я для этого использую папку D:\MyLisp);
3. Файлы программы нужно загрузить в AutoCAD;
4. Запускаем новые команды, которые хранятся в загруженных файлах.
Я думаю, что с первыми двумя пунктами справятся все. Поэтому сразу поговорим о загрузке LISP файлов в Автокад.
Загрузка LISP файлов в Автокад.
Загрузить в Автокад LISP программу можно несколькими способами. Опишу некоторые из них.
Загрузка файлов с помощью окна «Загрузка / Выгрузка приложений».
Откройте Автокад. На ленте перейдите на вкладку « Управление » и щелкните по кнопке « Приложение ». См. Рис. 1.

Рис. 1 Кнопка «Приложение»
Если вы работаете в режиме Классический AutoCAD:
В главном меню выберите « Сервис », далее щелкните по строчке « Приложения… ». См. Рис. 2.

Рис. 2. Строка «Приложение
Откроется окно «Загрузка / Выгрузка приложений».
Найти папку , в которой лежит файл, выделите его и нажмите на кнопку « Загрузить ». См. Рис. 3.

Рис. 3. «Загрузка / Выгрузка приложений»
Внизу окна появится сообщение о том, что выбранный файл загружен. Обратите внимания, что данным способом можно загружать не только LISP файлы (*.lsp), но и другие приложения поддерживаемые программой AutoCAD ( *.arx; *.crx; *.dvd; *.dbx; *.vlx; *.fas ).
Таким способом загружают программы для их временного использования. После того, как Вы закроете Автокад, а потом откроете его снова, их не будет в Автокаде, и для их использования их нужно загрузить снова.
Для того, чтобы нужные Вам LISP файлы загружались в Автокад автоматически, их нужно добавить в список автоматической загрузки. Для этого щелкаем на портфельчик « Автозагрузка » (или на кнопку « Приложения » под ним). Откроется окно «Автозагрузка», в котором нажимаем на кнопку « Добавить ». См. Рис. 4.

Рис. 4. Автозагрузка
Откроется окно «Добавление файла в список автоматической автозагрузки». Находим нужную папку , выделяем файл и нажимаем на кнопку « Открыть ». См. Рис. 5.

Рис. 5. Добавление файла в список автоматической автозагрузки
В окне «Автозагрузка» появится строка с файлом , который будет автоматически загружаться при каждом запуске Автокад.
После того, как Вы добавите все необходимые файлы, нажмите на кнопку « Закрыть ». Затем на кнопку « Закрыть » в окне «Загрузка / Выгрузка приложений». См. Рис. 6.

Рис. 6. Файл добавлен
Имейте в виду, что файлы загрузятся автоматически, только при следующем запуске Автокад. Если Вы хотите использовать их в текущей сессии, их нужно загрузить способом, описанным выше (либо каким другим способом).
Загрузка файлов с помощью Редактора Visual LISP.
Откройте Редактор Visual LISP:
Наберите в командной строке VLIDE (или VLISP) и нажмите .
Или на ленте перейдите на вкладку « Управление » и нажмите на кнопку « Редактор 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 ».

Скачать программу Mp_kub.lsp (Размер файла: 449 bytes)
LISP программа «mp_paral.lsp»
Программа рисует параллелограмм, со сторонами указанными в диалоговом окне. Программа работает только вместе с файлом диалогового окна « mp_paral.dcl ». Поэтому скачать надо два файла.
Чтобы Автокад определил местонахождение файла диалогового окна, его нужно поместить в папку вспомогательных файлов Автокад.
Либо в коде программы, в строке
( setq dcl_id ( load_dialog «mp_paral.dcl» )) нужно указать полный путь к файлу диалогового окна.
Например, если файл находиться в папке « D:\MyLisp » строка должна выглядеть так:
( setq dcl_id ( load_dialog «D:\\MyLisp\\mp_paral.dcl» ))
Для запуска в Автокад используется имя MP_PARAL
После запуска на экране появится диалоговое окно.

Нужно указать размеры сторон параллелограмма и нажать на кнопку ОК .
Далее появится запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит параллелограмм со сторонами указанными в диалоговом окне.

Подробное описание программного кода смотрите в уроке: « Пример программы LISP с диалоговым окном ».
Подробное описание программного кода создания диалогового окна смотрите в уроке: « Диалоговое окно ».

Скачать диалоговое окно Mp_paral.dcl (Размер файла: 392 bytes)

Скачать программу Mp_paral.lsp (Размер файла: 781 bytes)
LISP программа «Sum_dl.lsp»
Программа считает сумму длин выбираемых отрезков. В процессе выбора отрезков Автокад выдает количество выбранных отрезков и сумму их длины.
Для запуска в Автокад используется имя SumDl
После запуска выдает запрос: « Выберите отрезок »:
Укажите любой отрезок.
Он выделится. В командной строке появиться сообщение, что выбран один отрезок и его длина.
Ниже снова появиться запрос: « Выберите отрезок »:
Укажите следующий отрезок.
Он выделится. В командной строке появиться сообщение о количестве выбранных отрезков и их общей длины.
Ниже снова появиться запрос: « Выберите отрезок »:

Количество выбранных отрезков и их общая длина.
И так до бесконечности. Чтобы завершить выполнения программы нажмите клавишу < Esc >.
Подробное описание программного кода смотрите в уроке: « Пример AutoLISP программы: Сумма длин отрезков ».

Скачать программу Sum_dl.lsp (Размер файла: 464 bytes)
LISP программа «Sum_dls.lsp»
Программа суммы длин со свободным выбором отрезков.
Программа считает сумму длин выбираемых отрезков.
Выбор отрезков можно делать и по одному и группой при помощи рамки (или при помощи секущей рамки). В общем, любым стандартным способом AutoCAD.
Для запуска в Автокад используется имя: SumDls
После запуска программа выдает запрос: « Выберите объекты »:
Выбирать отрезки можно любым стандартным способом Автокад. Если случайно выбран не тот отрезок, его выбор можно отменить. Для этого удерживая клавишу < Shift >, щелкните по нему. Этот отрезок будет исключен из выбора.
Процесс выбора и отмены выбора отрезков отражается в командной строке.

Отмена выбора объекта.
После того как вы выбрали все необходимые объекты, нажмите < Enter >, чтобы завершить выбор.
В командной строке появиться сообщение о количестве выбранных отрезков и их общей длины.

Результат выполнения программы.
Подробное описание программного кода смотрите в уроке: « Примеры LISP программ: Сумма длин отрезков ».

Скачать программу Sum_dls.lsp (Размер файла: 487 bytes)
LISP программа «Sum_dlv.lsp»
Программа считает сумму длин отрезков на всем чертеже.
Для запуска в Автокад используется имя: SumDlv
После запуска программа выделить на чертеже все отрезки
В командной строке появиться сообщение о количестве отрезков на все чертеже и их общей длины.

Результат выполнения программы.
Подробное описание программного кода смотрите в уроке: «Примеры LISP программ: Сумма длин отрезков».

Скачать программу Sum_dlv.lsp (Размер файла: 440 bytes)
LISP программа «Sum_sl.lsp»
Программа считает сумму длин отрезков на выбранном слое.
Для запуска в Автокад используется имя: SumSl
После запуска программа выдает запрос: « Выберите объект для определения слоя: “
Укажите любой объект. Программа выделит и сосчитает длину все отрезков на слое, на котором расположен указанный объект.
В командной строке появиться сообщение о количестве отрезков на данном слое и их общей длины.

Результат при выборе синего слоя.
Подробное описание программного кода смотрите в уроке: «Примеры LISP программ: Сумма длин отрезков».

Скачать программу Sum_sl.lsp (Размер файла: 563 bytes)
LISP программа «Scom.lsp»
Программа показывает, как в программном коде AutoLISP можно использовать стандартные команды Автокад.
- Построения отрезка.
- Построения дуги.
- Использования команды редактирования: Зеркало
- Перевода чертежа ЮЗ изометрию.
- Построения Полуконуса.
Для запуска в Автокад используется имя: SCOM
После запуска программа выдает запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит два отрезка и дугу. Затем отзеркалит их. Потом переведет чертеж ЮЗ изометрию и построит Полуконус.

Подробное описание программного кода смотрите в уроке: « AutoLISP. Стандартные команды Автокад ».

Скачать программу Scom.lsp (Размер файла: 535 bytes)
LISP программа «mp_kub2.lsp»
Программа создает блок куба, стороны которого предварительно задаются.
Для запуска в Автокад используется имя MP_KUB2
После запуска выдает запрос: « Задайте длину стороны куба : »
Введите числовое значение стороны куба и нажмите
Появиться запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит блок в виде куба со сторонами, значение которых мы задали при первом запросе.

Подробное описание программного кода смотрите в уроке: « AutoLISP. Создание блока ».

Скачать программу Mp_kub2.lsp (Размер файла: 802 bytes)
LISP программа «mp_kub3.lsp»
Программа создает блок куба при помощи функций расширения языка AutoLISP, стороны которого предварительно задаются. В программе вычисляется объем куба, и координаты центра верхней грани. Объем и координаты сохраняются, как дополнительные данные, которые в любой момент можно извлечь.
Для запуска в Автокад используется имя: MP_KUB3
После запуска программа выдает запрос: « Задайте длину стороны куба : »
Введите числовое значение стороны куба и нажмите
Появиться запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит блок в виде куба со сторонами, значение которых мы задали при первом запросе. Так же программа сосчитает объем, и координаты центра верхней грани и сохранить их в блоке в качестве дополнительных данных.

Подробное описание программного кода смотрите в уроке: « LISP. Создание блока ».

Скачать программу Mp_kub3.lsp (Размер файла: 993 bytes)
LISP программа «Udim.lsp»
Программа считывает дополнительные данные из блока, созданного в уроке: «LISP. Создание блока». Вставляет динамический блок, созданный в уроке: « Создание динамического блока ».
Для того, чтобы посмотреть как работает программа предварительно нужно:
- Скачать программу « mp_kub3.lsp », и создать при помощи ее блок (или несколько блоков).
- Скачать динамический блок « Vyn.dwg ».
- Поместить « Vyn.dwg » в папку вспомогательных файлов Автокад.
Как это сделать смотрите в уроке: «Пример программы LISP с диалоговым окном» (или в программе lsp вместо имени файла «Vyn» нужно будет указать полный путь к нему. Например: если файл лежит в папке «D:\MyLisp» нужно поставить «D:\\MyLisp\\ Vyn.dwg « )
Для запуска в Автокад используется имя: UDIM
После запуска программа выдает запрос: « Выберите блок :»
Укажите предварительно построенный блок (созданный программой mp_kub3.lsp ).
Команда вставит выноску. Выноска будет начинаться из центра верхней грани. Сверху полки будет стоять имя указанного блока, снизу – его объем.
Далее программа снова выдает запрос: « Выберите блок: »
Укажите следующий блок.

Что завершит программу нажмите < Esc >.
Подробное описание программного кода смотрите в уроке: «Вставка динамического блока из LISP-программы».

Скачать программу Mp_kub3.lsp (Размер файла: 993 bytes)

Скачать динамический блок (Размер файла: 30 kB)

Скачать программу Udim.lsp (Размер файла: 538 bytes)
LISP программа «Udim2.lsp»
Программа считывает дополнительные данные из блока, созданного в уроке: « LISP. Создание блока ». Вставляет динамический блок, созданный в уроке: «Создание динамического блока». Меняет длину и положение выносной линии и длину и положение полки.
Для того, чтобы посмотреть как работает программа предварительно нужно:
- Скачать программу « mp_kub3.lsp », и создать при помощи ее блок (или несколько блоков).
- Скачать динамический блок « Vyn.dwg ».
- Поместить « Vyn.dwg » в папку вспомогательных файлов Автокад.
Как это сделать смотрите в уроке: « Пример программы LISP с диалоговым окном » (или в программе lsp вместо имени файла «Vyn» нужно будет указать полный путь к нему. Например: если файл лежит в папке « D:\MyLisp » нужно поставить «D:\\MyLisp\\ Vyn.dwg « )
Для запуска в Автокад используется имя: UDIM2
После запуска программа выдает запрос: « Выберите блок: »
Укажите предварительно построенный блок (созданный программой mp_kub3.lsp ).
Появится начало выносной линии
Далее программа выдает запрос: « Укажите выносную линию: »
Нужно указать вторую точку выносной линии. Команда вставит выноску. Сверху полки будет стоять имя указанного блока, снизу – его объем.
Затем программа снова выдает запрос: « Выберите блок: »
Снова укажите блок куба.
На запрос « Укажите выносную линию: »
Укажите вторую точку линии в другом месте.
На следующий запрос « Выберите блок : » – нажмите < Esc >.

Программа нарисует две выноски к одному блоку.
Подробное описание программного кода смотрите в уроке: «Изменение динамического блока из LISP-программы».

Скачать программу Mp_kub3.lsp (Размер файла: 993 bytes)

Скачать динамический блок (Размер файла: 30 kB)

Скачать программу Udim2.lsp (Размер файла: 856 bytes)
LISP программа «3d_tro.lsp»
Программа содержит в себе две команды
Первая команда рисует в Автокад 3D тройник.
Для запуска в Автокад используется имя: 3D_TRO
После запуска выдает запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит 3D тройник.

Вторая команда поворачивает 3D тройник на 90 градусов вокруг оси параллельной оси Y.
Для запуска в Автокад используется имя: ROY
Предварительно выделите 3D тройник
Введите в командной строке ROY и нажмите < Enter >.

Повернутый 3D тройник.
Подробное описание программного кода смотрите в уроке: «3D моделирование в AutoCAD».

Скачать программу 3d_tro.lsp (Размер файла: 927 bytes)
LISP программа « 3d_bolt.lsp»
Программа рисует в Автокад 3D болт.
Для запуска в Автокад используется имя: 3D_BOLT
После запуска выдает запрос: “ Укажите базовую точку ».
Указываем любую точку в рабочем окне Автокад. Команда построит 3D болт.

Подробное описание программного кода смотрите в уроке: «3D моделирование. Болт с резьбой.».

Скачать программу 3d_bolt.lsp (Размер файла: 1.02 kB)
38 комментарии на “ LISP Программы. ”
daiman444 28.10.2016 11:04
Здравствуйте. как можно к вам обратиться для написания программы для автокада?
Михаил Орлов 28.10.2016 17:46
Пишите мне на почту: acadprog@gmail.com
Роман 17.01.2017 07:06
Здравствуйте! Как можно посчитать суммарно объемы всех выделенных тел? Выборка сделана через быстрый выбор по цвету.
И где можно взять информацию по аргументам функций автокада, например как забрать через Лисп аргумент объем из «Измеритьгеом». Хотя бы методологию поиска, можно?
Спасибо!
Михаил Орлов 19.01.2017 08:47
Неважно каким образом Вы выделите 3Д-тела. После того как они выделены, запускаем функцию (ssget). Получаем набор выделенных 3Д-тел. Сохраняем его в переменную set_obj
(setq set_obj (ssget))
Загружаем функции расширения LISP
(vl-load-com)
Организуем цикл, в котором перебираем по порядку все выбранные 3Д-тела.
Внутри цикла:
Переводим 3Д-тела в vla-объекты:
(setq vla_obj (vlax-ename->vla-object name_obj))
Извлекаем объем тела:
(setq V_obj (vla-get-Volume vla_obj))
Суммируем объемы:
(setq Sum_V_obj (+ Sum_V_obj V_obj ))
Роман 23.01.2017 20:55
Ох! Огромное спасибо! Буду пробовать.
Роман 03.02.2017 10:30
Все получилось! Теперь знаю длины всех труб каждого диаметра! Еще раз спасибо! Но подскажите, это нормально, что функция «princ» сначала выводит строки результатов, каждый с новой строки, а в самом низу еще раз, но все результаты в одной строке с символами «\n» между ними?
Михаил Орлов 03.02.2017 12:31
В конце программа выкидывает в командную строку значение последней переменной. Что бы этого не происходило, в конце нужно добавить еще строку:
(princ)
Это действие называется — «Тихий выход»
Андрей 28.03.2017 16:32
Добрый вечер. У меня такая проблема: есть одно приложение, которое загружается в автокад, но не работает. Очень давно я уже сталкивался с этой проблемой и решением ее было в реестре автокада изменить с «0» на «1» для подгрузки и наоборот. Но беда, что не помню где это находится. Не подскажите пожалуйста где?
Михаил Орлов 29.03.2017 10:46
Пришлите программу на acadprog@gmail.com. Если можно будет добраться до кода, я посмотрю что требуется для ее запуска.
Прокопий 02.04.2017 07:59
Добрый день, у меня такой вопрос как подсчитать объемы траншеи в автокаде, если приложения какие либо?
Михаил Орлов 27.04.2017 11:22
Мне приложения для расчета траншеи не известны. Но если знать принцип расчета, программу можно написать самому.
Виталий 03.06.2017 20:59
Добрый день! Существуют приложения или команда в автокад которая преобразуют, линии, полилинии,отрезки,сплайны в дуги с точностью 0,1 мм, т.е граница линии после преобразования практически или не меняется, при этом можно задать количиство-размер дуги на определённую длину?
Михаил Орлов 05.06.2017 10:40
Мне такие программы или команды не известны.
Роман 05.09.2017 06:25
Огромное спасибо за статью, вы прям вселили в меня надежды. Подскажите а возможно ли вывести список 3д объектов с их габаритами?
Михаил Орлов 21.09.2017 15:29
Список 3д объектов — можно. Габариты сложных 3д объектов не так просто определить.
Фанус 29.10.2017 16:23
Здравствуйте. Помогите пожалуйста решить проблему. Имеется набор точек (100 шт) из них от каждого надо провести линию до определенной другой точки. Есть ли какой то способ или лисп, чтобы сделать это быстро?
Михаил Орлов 02.11.2017 11:11
Да, это можно сделать при помощи LISP-программы
Мигран 29.11.2017 20:34
Здравствуйте подскажите пожалуйста как при создание dxf-кода размера текст разместить не над линией а под ней в текущем стиле черчения. Очень сложно
Спасибо вам огромное.
Александр 27.01.2018 05:49
Здравствуйте. Объясните, пожалуйста, существует ли в природе возможность изменения вида значков команд: раньше работал в автокаде 2007, теперь в 2014. Например значки команд «дизайнцентр» и «быстрый калькулятор» довольно невзрачные по сравнению с 2007.
Михаил Орлов 14.04.2018 15:17
Посмотрите здесь: https://acad-prog.ru/buttom/#coman
Алексей 11.02.2018 20:36
Здравствуйте. возможно ли связать содержимое мультивыносок с содержимым из excel?
Михаил Орлов 14.04.2018 15:09
Да. Но это сделать не просто.
Алексей 10.04.2018 08:01
У меня AutoCad 2006, там нет команды пружина (helix). Что Вы можете мне предложить?
Михаил Орлов 14.04.2018 14:28
Точной замены этой команды не существует, но в зависимости от того, что должно получиться в результате. Я думаю можно найти другие пути решения
Алексей 16.04.2018 15:39
Я использую AutoCad 2006 для создания моделей 3D-печати. Как сделать резьбу в моих деталях?
Евгений 22.08.2018 13:10
У меня AutoCad 2018 LT. В строке меню «Сервис» есть, но в нём нет «Приложения». Как добавить эту команду?
Михаил Орлов 11.03.2020 09:17
В AutoCad LT Lisp-программы не работают.
Маринка 21.05.2019 06:19
Здравствуйте, можно ли чертить призму (для расчета объемов котлованов)?
Михаил Орлов 01.07.2019 20:51
Да, конечно можно.
Мигран 23.03.2020 17:04
(defun c:31ФАКТ (/ obj p_t prm ugl) (while (= 3 3) (setq h «м2» ) ; как сделать что бы 2 была наверху м (setq q1 (entget (car (entsel)))) ( setq t (cons 1 h ) ) (setq q1 (subst t (assoc 1 q1) q1 )) (entmod q1 ) ) )
Мигран 27.03.2020 09:23
Нашел подсказали
«\\A1;текст» (vlax-dump-object (vlax-ename->vla-object (car (entsel)))) ; чтобы посмотреть свойства vla-объект
Александр 29.03.2020 12:46
СПАСИБО! СПАСИБО!! ОГРОМНОЕ СПАСИБО.
Евгений 30.08.2020 08:36
День добрый, подскажите как выгрузить неправильно работающий .lsp файл? в списке он неактивен, повторная загрузка не помогает правильной работе
Михаил Орлов 19.05.2021 14:21
Если .lsp файл загружается в Автокад автоматически, нужно найти какой способ автоматической загрузки используется, и удалить его от туда. Далее просто перегрузить Автокад.
Александр 18.01.2021 23:41
Есть ли у вас видеоурок как добавить текст на чертежь?
Михаил Орлов 10.02.2021 14:29
(command «_.text» «_none» pt 200 0 «myText»)
pt — координаты точки вставки текста;
200 — высота текста;
0 — угол поворота текста;
«myText» — ваш текст.
Ира 25.04.2021 07:23
Уважаемый Михаил. Очень благодарна вам за такой сайт! Всегда спасает.
Но сейчас столкнулась с трудностями. Не могли бы вы подсказать что-то для решения моей задачи? Дано:
Папка с файлом Text.dxf, в котором внутри содержится прямоугольник с текстом: Text. Требуется: получить в этой же папке набор файлов от 300×300.dxf до 3000×3000.dxf с шагом 50, с соответствующим текстом внутри, то есть: 300×300.dxf (с текстом внутри: 300×300) и т.д.
350×300.dxf
400×300.dxf
450×300.dxf
…
2900×3000.dxf
2950×3000.dxf
3000×3000.dxf Алгоритм работы макроса LISP я вижу примерно так: 1. Открыть файл Text.dxf
2. Найти и заменить текст Text на 300×300.
3. Сохранить файл как 300×300.dxf
4. Начать сначала.
Понятно, что шаги выше нужно выполнять в цикле (For скорее всего) с шагом 50.
Можно реализовать все без шаблона, но тогда придется создавать файл с прямоугольником и нужним мне текстом с шрифтом/виравниванием — для меня такой вариант еще труднее. Поскольку я новичок в изучении lisp, то буду очень благодарна если бы вы подсказать, как должен выглядеть данный lisp макрос, чтобы реализовать данную задачу?
Михаил Орлов 19.05.2021 14:07
(vl-load-com)
(setq thisdrawing (vla-get-activedocument (vlax-get-acad-object))) (setq w 300)
(setq h 250) (setq set_txt (ssget «_x» (list ‘(0 . «text»))))
(setq ent_txt (ssname set_txt 0))
(setq vla_txt (vlax-ename->vla-object ent_txt)) (while ( = w h)
(progn
(setq txt (strcat (itoa w) «x» (itoa h)))
(vla-put-TextString vla_txt txt) (setq file_name (strcat(getvar «dwgprefix») txt «.dxf»))
(vla-SaveAs thisdrawing file_name acR15_DXF)
); end progn
); end if ); end while
(setq h 250)
); end while
Оставить комментарий Отменить Ответить
Бесплатный плагин для AutoCAD

O maDWG — плагин для AutoCAD
• Перенос спецификации из Excel в AutoCAD
• Быстрая печать в PDF из пространства модели
Кухонные вентиляторы Русич

Рубрики
- Видео по программированию
- Программирование в AutoCAD.
- Уроки AutoCAD
Свежие записи
- Программа расчета профиля
- Как нарисовать прямоугольник в Автокаде.
- Как нарисовать дугу в Автокаде.
- Как нарисовать круг в Автокаде.
- Автоматизация проектирования. Отвод.
- Автоматизация проектирования.
- Пример LISP программы управления диалоговым окном в Автокад
Свежие комментарии
- Михаил Орлов к записи Что делать если диалоговое окно DCL не отображается?
- Михаил Орлов к записи Урок 13. Вставка динамического блока из LISP-программы.
- Михаил Орлов к записи LISP Программы.
- Михаил Орлов к записи Урок 8. Пример AutoLISP программы: Сумма длин отрезков.
- Михаил Орлов к записи LISP Программы.
