| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
07.07.2011, 12:40 | #1 | |
Извлечение атрибутов из блоков в список
Проектировщик ОВ
Минск
Регистрация: 15.10.2010
Сообщений: 42
|
||
Просмотров: 4571
|
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Цитата:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813
|
;http://www.menziengineering.ch/Downloads/Download.htm
Код HTML:
;------------------------------------------- ;VxGetAtts - Reads all attribute values from a block ;------------------------------------------- ; ; -- Function VxGetAtts ; Reads all attribute values from a block. ; Copyright: ; ©2000 MENZI ENGINEERING GmbH, Switzerland ; Arguments [Type]: ; Obj = Object [VLA-OBJECT] ; Return [Type]: ; > Dotted pair list '(("Tag1" . "Val1")...)[list] ; Notes: ; - None ; (defun VxGetAtts (Obj) (mapcar '(lambda (Att) (cons (vla-get-TagString Att) (vla-get-TextString Att) ) ) (vlax-invoke Obj 'GetAttributes) ) ) |
|||
|
||||
Ребята, а можно, то же самое (ну естественно без значения, только имена) атрибутов из описания блоков?
Я сам как-то делал, только муторно и по длинному: vla-get-blocks -> tblobjname -> entnext. Наверняка где-то есть более изящное решения.
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
Вырвано из библиотеки, но суть, думаю, понятна
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,846
|
А, тебе из описания (определения) блока... Тады ой. Тестируй (я код не проверял - извини, тупо некогда )
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Спасибо, Алексей, всё так.
Я не знал до конца не понимал функцию vlax-for. Раньше я умел только либо применять метод, либо читать\назначать свойства, а вот у определения блока не оказалось метода GetAttributes, теперь научили работать с коллекцией примитивов из объекта. Цитата:
Код:
Код:
__________________
Почему все вдруг становятся умными, когда уже не надо? Последний раз редактировалось Disney, 28.01.2012 в 07:10. |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Имена атрибутов можно достать из описания блока и из лиспа
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Корректировка атрибутов блоков в нескольких чертежах AutoCAD из Excel | superkot007 | Программирование | 14 | 20.10.2011 12:53 |
Извлечение значений атрибутов блоков AutoCAD Electrical с помощью AutoLisp | zaraki_kenpachi | LISP | 16 | 19.02.2011 15:30 |
Тормозит команда расчленения набора блоков | batmax | Программирование | 4 | 31.08.2010 17:37 |
Помощь по Лире | Серега М | Лира / Лира-САПР | 52 | 28.05.2007 02:47 |