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

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

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

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

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

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


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


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


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


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


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


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

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


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


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


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


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


 
Регистрация: 07.12.2010
Уфа
Сообщений: 425
<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