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

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

Как узнать атрибуты динамического блока?

Ответ
Поиск в этой теме
Непрочитано 21.06.2012, 21:21 #1
Как узнать атрибуты динамического блока?
Mozgunov
 
Начинающий проектировщик
 
Санкт-Петербург
Регистрация: 07.02.2008
Сообщений: 443

Ребят, подскажите можно ли вытащить через из dxf атрибуты динамического блока. Если не через dxf то как?
Спасибо, вопрос решился. Нашёл функцию _kpblc-get-dyn-block-list-prop-and-values. Алексея. Спасибо!

Последний раз редактировалось Mozgunov, 21.06.2012 в 22:35.
Просмотров: 3250
 
Непрочитано 22.06.2012, 00:08
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431


Стоп. Функция _kpblc-get-dyn-block-list-prop-and-values предназначена для получения свойств динамического блока, а не его атрибутов (насколько я помню). Атрибуты я обычно получаю функцией наподобие
Код:
[Выделить все]
 (defun _kpblc-block-attr-get-pointer-mask (blk mask / res)
                                          ;|
*    Получение списка атрибутов блока по маске. Учитываются также постоянные атрибуты.
*    Параметры вызова:
*	blk	указатель на вставку блока
*	mask	строка с маской тэга атрибута
|;
  (if (not mask)
    (setq mask "*")
    ) ;_ end ofif
  (if (or (_kpblc-is-ent-block-with-attr blk)
          (_kpblc-is-ent-block-with-constant-attr blk)
          ) ;_ end ofor
    (progn
      (setq blk (_kpblc-conv-ent-to-vla blk))
      (vl-remove-if-not
        (function
          (lambda (x)
            (wcmatch (strcase (_kpblc-property-get x 'tagstring))
                     (strcase mask)
                     ) ;_ end of wcmatch
            ) ;_ end of lambda
          ) ;_ end of function
        (apply (function append)
               (mapcar (function _kpblc-conv-vla-to-list)
                       (list
                         (vla-getattributes blk)
                         (vla-getconstantattributes blk)
                         ) ;_ end of list
                       ) ;_ end of mapcar
               ) ;_ end of apply
        ) ;_ end of vl-remove-if-not
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of defun
Служебные функции не показываю, но, если надо - можно найти.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 22.06.2012, 09:57
#3
Mozgunov

Начинающий проектировщик
 
Регистрация: 07.02.2008
Санкт-Петербург
Сообщений: 443
<phrase 1=


Кулик Алексей aka kpblc, Упс... Неправильно вопрос задал. Свойства я хотел получить. Спасибо ещё раз за функции!

Последний раз редактировалось Mozgunov, 23.06.2012 в 04:08.
Mozgunov вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как узнать атрибуты динамического блока?

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение атрибутов динамического блока сразу на нескольких листах в файле чертежа Builder_Drew Динамические блоки 39 06.07.2024 12:31
Почему Автокад не показывает атрибуты, созданные в редакторе блоков, а не непосредственно на чертеже, при вставке блока на чертёж? cancercat AutoCAD 30 06.02.2023 10:20
C# .net переопределение динамического блока из внешнего файла bargool .NET 35 18.10.2011 16:03
Странное поведение динамического блока высотной отметки hwd Динамические блоки 12 08.09.2011 11:15
Как программно узнать точку пересеч. линии с подприм. блока? kp+ AutoCAD 3 21.10.2005 10:46