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

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

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

Ответ
Поиск в этой теме
Непрочитано 13.07.2023, 09:04 #1
Как на Autocad VBA получить из динамического блока параметры определенного типа?
name02
 
Регистрация: 10.01.2020
Сообщений: 419

Мне нужно из динамического блока получить параметры определенного типа чтобы - их названия пойдут в экселевскую таблицу, в которой они будут сгруппированы по типам.
Наименования параметров могут быть любыми, типы данных в пользовательских параметров тоже.
Объекты полученные через GetDynamicBlockProperties никаких данных с указателями на тип параметра в явном виде не имеют.
Нажмите на изображение для увеличения
Название: Окно.png
Просмотров: 110
Размер:	35.0 Кб
ID:	257346
Но ведь они где-то хранятся - значит их можно достать:
Нажмите на изображение для увеличения
Название: Окно2.png
Просмотров: 108
Размер:	12.4 Кб
ID:	257347
Как-то можно в явном виде получить тип параметра или нужно аналитически определять - по наличию и значениям их AllowedValues, UnitsType?

Просмотров: 1775
 
Непрочитано 13.07.2023, 09:27
#2
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


самый простой способ - точку остановки в отладчике и пройтись в цикле по свойствам вставки динблока, смотря на их параметры. Метод GetDynamicBlockProperties возвращает коллекцию объектов DynamicBlockReferenceProperty, который имеют свойства PropertyName и Description.
Сергей812 вне форума  
 
Автор темы   Непрочитано 13.07.2023, 09:34
#3
name02


 
Регистрация: 10.01.2020
Сообщений: 419


Это я и сделал - только в PropertyName и Description нет информации о том что это за параметр - см. первую картинку в начале темы.
PropertyName может быть любым и не отражать сколь угодно отдаленно тип параметра.
Description - его кто-то заполняет?
AllowedValues - может быть и у видимостей и у линейных параметров.
name02 вне форума  
 
Непрочитано 13.07.2023, 10:24
#4
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


посмотрел в ObjectARX AcDbDynBlockReferenceProperty, там в явном виде тоже нет. Есть еще один параметр propertyType типа DwgDataType, но он в явном виде 100% не определяет тип динпараметра. Косвенно значение 5 - но оно же и для параметра выбора может быть.

Цитата:
Сообщение от name02 Посмотреть сообщение
Description - его кто-то заполняет?
Разработчик блока в редакторе блока ручками.
Сергей812 вне форума  
 
Непрочитано 01.11.2023, 14:05
#5
Alexeipost


 
Регистрация: 07.12.2010
Уфа
Сообщений: 427
<phrase 1=


Это был один из пунктов почему я отказался от использования динамических блоков (при необходимости извлечения данных).
Следующий пункт был "сброс блока"...
Что-то нормальное для подсчёта динамических блоков нашёл у Lee Mac. Но я искал последний раз ещё в 2017 году. Может сейчас что-то новое появилось...
Alexeipost вне форума  
 
Непрочитано 20.12.2023, 22:11
#6
posetitel


 
Регистрация: 16.10.2013
Сообщений: 395


В пользу чего отказался?
posetitel вне форума  
 
Непрочитано 21.12.2023, 00:46
1 | #7
Alexeipost


 
Регистрация: 07.12.2010
Уфа
Сообщений: 427
<phrase 1=


Цитата:
Сообщение от posetitel Посмотреть сообщение
В пользу чего отказался?
В пользу обычных блоков с атрибутами.
В пожарке в одном проекте обычно один или два типа дымовых извещателей. Поэтому в динамических блоках нет необходимости
Alexeipost вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как на Autocad VBA получить из динамического блока параметры определенного типа?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить точку привязки начала размера AutoCAD на VBA? МишаИнженер Программирование 22 02.09.2022 18:03
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
LISP. Помогите с лиспом по переименованию нескольких вхождений динамического блока в значение его атрибута. kirillwu LISP 43 09.07.2018 13:29
C# .net переопределение динамического блока из внешнего файла bargool .NET 35 18.10.2011 16:03
Странное поведение динамического блока высотной отметки hwd Динамические блоки 12 08.09.2011 11:15