LISP. Получение списка из всех вложенных блоков
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Получение списка из всех вложенных блоков

LISP. Получение списка из всех вложенных блоков

Ответ
Поиск в этой теме
Непрочитано 09.04.2025, 13:02 #1
LISP. Получение списка из всех вложенных блоков
name02
 
Регистрация: 10.01.2020
Сообщений: 420

Добрый день!
Сделал функцию для получения списка всех вложенных блоков. Т.е. "скормив" ей список e-name-ов, набор или e-name блока, на выходе получается список из всех блоков которые входят в исходный набор (список) - т.е. исходные блоки и все вложенные в них блоки.
Такие свойства как слой, цвет, прозрачность, вес и тип линий наследуются в соответствии с параметрами блоков (ПоСлою/ПоБлоку/явное указание, слой 0/явное указание слоя и т.п.)
Результат выводится в списке виде:
(((-1 . <Имя объекта: 1ed79071d50>) (8 . "Слой1") (62 . 43) (420 . 13806189) (430 . "RAL CLASSIC$RAL 1002") (440 . 16777216) (370 . 53) (2 . "A$C5105b2f9") (6 . "Газопровод") (DEPTH . 0)) ... )

В списке:
головы пар - стандартные dxf-коды блока (можно получить через (entget) )
DEPTH - уровень вложенности блока в исходном наборе (списке)

Так же сделал функцию для упрощения списка - ряд dxf-кодов преобразуется в понятные названия и значения. Эту функцию можно применить к элементам списка предыдущей функции. Результат будет выглядеть уже так:
(((ENAME . <Имя объекта: 1ed79071d50>) (LAYER . "Слой1") (ACI) (RGB) (COLORBOOK . "RAL CLASSIC$RAL 1002") (TRANSPARENCY . "ByBlock") (LWEIGHT . 0.53) (NAME . "A$C5105b2f9") (LTYPE . "Газопровод") (DEPTH . 0)) ... )

Файлы:
ay_getListNestedBlocks.lsp
ay_simplify-entget.lsp


Последний раз редактировалось name02, 09.04.2025 в 13:16.
Просмотров: 472
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Получение списка из всех вложенных блоков

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложная автонумерация нескольких блоков в LISP DrBerD LISP 11 19.09.2014 10:39
DwgRuLispLib: получение списка файлов по маске с необязательной проверкой вложенных Кулик Алексей aka kpblc Библиотека функций 27 25.04.2012 20:52
Получение имен блоков в цикле Irina_T Программирование 4 12.08.2011 08:29
Помогите. Программа отображения каталогизированного списка блоков. --Илья-- Программирование 18 02.12.2009 11:25
Lisp: Обработка объектов и получение списка свойств (координаты точек) Nanotronic LISP 2 23.04.2009 23:07