Для эффективной работы в AutoCAD я рекомендую освоить работу с консолью и научится загружать дополнительные программы, и скрипты Lisp.
В своей работе я активно использую скрипты для разного рода автоматизации задач на выполнение которых мне бы понадобилось очень много времени. Приведу примеры:
- Подсчёт суммарной длины линий;
- Подсчёт суммарной площади помещений;
- Сумма числовых значений в текстовых полях;
- Перевод однострочного текста в многосторчный;
- Перенумерация;
- Создание оксонометрических схем для раздела ОВИК;
- Перевод чертежа из 3D в 2D;
И многое другое.
Все приводимые скрипты можно скачать в разделе Загрузки
1. Загрузка скрипта в оболочку AutoCAD.
Загрузка скрипта происходит по команде _APPLOAD либо редактированием автоматически загружаемого файла находящегося по пути
C:\Program Files\Autodesk\AutoCAD 2013\Support\acad2013.lsp
Загруженный скрипт либо приложение будет доступно только в том чертеже где был загружен скрипт. Для того чтобы скрипт загружался постоянно при загрузке AutoCAD-а
Теперь файлы которые содержатся в списке будут автоматически загружаться в AutoCAD при загрузке.
2. Пример скрипта на языке Lisp
Скриптом является обычный текстовый файл с расширением *.lsp
;;;функция для нумерации.
;;;вводите начальное число
;;;выбираете предварительно подготовленный текст по порядку
;;;программа увеличивает выбранное число на 1 от предыдущего
(defun c:plus1(/ s n g a name string1 string2) - "команда запуска скрипта"
(setq Name 0)
(setq i 1)
(setq s (getint "\nВведите первый номер:"))
(setq i (getint "\nВведите Шаг:"))
(setq string1 (getstring T "\nВведите начало текста..."))
(setq string2 (getstring T "\nВведите окончание текста..."))
; (if (i=nil) (setq i 1))
;(princ (strcat "\nСу " (rtos i 2 2)))
(while Name
(setq Name (car (entsel "\nУкажите текст или [Enter]:")))
(if Name
(if (= (cdr (assoc '0 (entget Name))) "TEXT")
(progn
(setq n (entget name))
(print n)
(setq str (strcat string1 (rtos s 2 0) string2 ) )
(setq g (cons 1 str ) )
(entmod (subst g (assoc '1 n) n))
(setq s (+ i s))
);progn
);if
);if
);while
);defun
Для того что бы узнать какая команда используется для запуска скрипта необходимо найти строчку "defun c:plus1" , plus1 - команда запуска скрипта.
3. Суммарная длина линий
Скрипт суммарной длины линий. Команда: dlina
4. Перенумерация однострочного текста.
Скрипт перенумерации. Команда: plus1
5. Использование скрипта для измерения площади
В своей работе я активно использую скрипты для разного рода автоматизации задач на выполнение которых мне бы понадобилось очень много времени. Приведу примеры:
- Подсчёт суммарной длины линий;
- Подсчёт суммарной площади помещений;
- Сумма числовых значений в текстовых полях;
- Перевод однострочного текста в многосторчный;
- Перенумерация;
- Создание оксонометрических схем для раздела ОВИК;
- Перевод чертежа из 3D в 2D;
И многое другое.
Все приводимые скрипты можно скачать в разделе Загрузки
1. Загрузка скрипта в оболочку AutoCAD.
Загрузка скрипта происходит по команде _APPLOAD либо редактированием автоматически загружаемого файла находящегося по пути
C:\Program Files\Autodesk\AutoCAD 2013\Support\acad2013.lsp
Рис.1 _APPLOAD |
Рис. 2 Добавление скрипта в список постоянно загружаемых |
2. Пример скрипта на языке Lisp
Скриптом является обычный текстовый файл с расширением *.lsp
;;;функция для нумерации.
;;;вводите начальное число
;;;выбираете предварительно подготовленный текст по порядку
;;;программа увеличивает выбранное число на 1 от предыдущего
(defun c:plus1(/ s n g a name string1 string2) - "команда запуска скрипта"
(setq Name 0)
(setq i 1)
(setq s (getint "\nВведите первый номер:"))
(setq i (getint "\nВведите Шаг:"))
(setq string1 (getstring T "\nВведите начало текста..."))
(setq string2 (getstring T "\nВведите окончание текста..."))
; (if (i=nil) (setq i 1))
;(princ (strcat "\nСу " (rtos i 2 2)))
(while Name
(setq Name (car (entsel "\nУкажите текст или [Enter]:")))
(if Name
(if (= (cdr (assoc '0 (entget Name))) "TEXT")
(progn
(setq n (entget name))
(print n)
(setq str (strcat string1 (rtos s 2 0) string2 ) )
(setq g (cons 1 str ) )
(entmod (subst g (assoc '1 n) n))
(setq s (+ i s))
);progn
);if
);if
);while
);defun
Для того что бы узнать какая команда используется для запуска скрипта необходимо найти строчку "defun c:plus1" , plus1 - команда запуска скрипта.
3. Суммарная длина линий
Скрипт суммарной длины линий. Команда: dlina
Рис.3 Функция DLINA |
4. Перенумерация однострочного текста.
Скрипт перенумерации. Команда: plus1
Рис.4 Функция перенумерации однострочного текста |
Для измерения геометрических параметров объектов AutoCAD я использую утилиту GeomProps
После первой загрузки данной утилиты она будет автоматически загружаться вместе с AutoCAD при последующих запусках.
Для измерения нескольких площадей необходимо создать замкнутые полилинии.
Комментариев нет:
Отправить комментарий