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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Как отфильтровать по DXF-кодам расширенные данные, находящиеся в списке?

VBA. Как отфильтровать по DXF-кодам расширенные данные, находящиеся в списке?

Ответ
Поиск в этой теме
Непрочитано 09.10.2019, 15:12
VBA. Как отфильтровать по DXF-кодам расширенные данные, находящиеся в списке?
Сидор Лютый
 
Инженер кадастровый
 
Москва
Регистрация: 27.04.2010
Сообщений: 28

Вношу в объекты простенькие расширенные данные в виде:

FType(0) = 1001: FData(0) = "AppName"
FType(1) = 1000: FData(1) = "Name1"

Некоторые объекты требуют уже нескольких строк с кодом "1000", т.е. в виде:

FType(0) = 1001: FData(0) = "AppName"
FType(1) = 1002: FData(1) = "{"
FType(2) = 1000: FData(2) = "Name1"
FType(3) = 1000: FData(3) = "Name2"
FType(4) = 1002: FData(4) = "}"

Теперь стоит задача выбора объектов по этим данным, например - выбрать объекты со строкой "Name1". Когда при выборе в .select вношу фильтр
FType(0) = 1000: FData(0) = "Name1"
в первом случае все работает, возвращаются объекты, содержащие "Name 1"
Во втором случае выбор возвращается пустым. Возможно потому, что строка "Name1" идет уже во вложенном списке, в отличие от первого варианта.
Как задавать фильтр для таких списков?
Просмотров: 5411
 
Автор темы   Непрочитано 10.10.2019, 09:44
#21
Сидор Лютый

Инженер кадастровый
 
Регистрация: 27.04.2010
Москва
Сообщений: 28


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Если не хочешь проблем - забудь про это. Это случайный побочный эффект.
Тогда подскажите пожалуйста другие удобные способы группировки объектов по присвоенным пользователем признакам Чтобы по любому из признаков можно было сделать выборку. Если честно, xdata - это первое и единственное, что приходит на ум.
Сидор Лютый вне форума  
 
Непрочитано 10.10.2019, 09:50
#22
Сергей812


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


Цитата:
Сообщение от Сидор Лютый Посмотреть сообщение
Тогда подскажите пожалуйста другие удобные способы группировки объектов по присвоенным пользователем признакам Чтобы по любому из признаков можно было сделать выборку. Если честно, xdata - это первое и единственное, что приходит на ум.
первое, что приходит на ум - БД) Меняется строка запроса и получаете списки объектов, удовлетворяющих заданным признакам.

----- добавлено через ~3 мин. -----
а XData неудобная вещь для выборки по значениям, ими только привязывать удобно к внешним данным.
Сергей812 вне форума  
 
Непрочитано 10.10.2019, 10:50
#23
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Сидор Лютый,
1. Забыть про VBA
2. Если цель только в группировке - использовать группы объектов или блоки.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 15.10.2019, 12:18
#24
Сидор Лютый

Инженер кадастровый
 
Регистрация: 27.04.2010
Москва
Сообщений: 28


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Сидор Лютый,
1. Забыть про VBA
2. Если цель только в группировке - использовать группы объектов или блоки.
Цель как раз не группировке самой по себе. Группы и блоки - все же неприемлемый способ, т.к. блокируют доступ к отдельным примитивам со стороны пользователя. При ежедневной работе с ними, извлекать из группы и собирать обратно - не вариант, набор примитивов должен быть свободный для обычного выбора и редактирования каждого из примитивов. А сортировка примитивов по нескольким пользовательским признакам - уже дополнительная задача, и вроде бы xdata так хорошо для этого подходят, ан нет! И тут перебором надо!

А забыть - уже не вариант. Я думаю это общая проблема инженеров, которые не являются программистами, а используют автоматизацию в какой-то отрасли. Когда, будучи инженером, в ущерб рабочему времени изучил VBA, за десяток лет написал мегабайты кода для упрощения работы (а ведь кроме автокада макросы в производственном угаре строчились под Exell, Word, IE, вплоть до PDF-принтеров с поддержкой COM), никому в голову не придет бросить. С lisp-ом та же история, я думаю..
Сидор Лютый вне форума  
 
Непрочитано 15.10.2019, 12:29
| 1 #25
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Если очень хочется, то никто не мешает в качестве имени приложения использовать составную строку.
Там есть свои грабли, но если очень хоца, то почему бы и нет.
Boxa вне форума  
 
Автор темы   Непрочитано 15.10.2019, 13:40
#26
Сидор Лютый

Инженер кадастровый
 
Регистрация: 27.04.2010
Москва
Сообщений: 28


Цитата:
Сообщение от Boxa Посмотреть сообщение
Если очень хочется, то никто не мешает в качестве имени приложения использовать составную строку.
Там есть свои грабли, но если очень хоца, то почему бы и нет.
Кстати, хорошая идея.
Если фильтры dxf-кодов поддерживают знаки шаблонов, это будет нормальным выходом из ситуации!
Сидор Лютый вне форума  
 
Непрочитано 15.10.2019, 14:34
#27
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Сидор Лютый Посмотреть сообщение
Если фильтры dxf-кодов поддерживают знаки шаблонов, это будет нормальным выходом из ситуации!
Поддерживают. Вот формат шаблонов: https://knowledge.autodesk.com/searc...A53AD-htm.html
Александр Ривилис вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Как отфильтровать по DXF-кодам расширенные данные, находящиеся в списке?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какие исходные данные необходимы для расчёта мелкозаглубленного фундамента? Двоечник Основания и фундаменты 2 19.01.2012 20:25
Можно ли суммировать данные атрибутов от одинаковых блоков? Максим_Александрович AutoCAD 5 14.10.2011 09:31
VIEWPORT и расширенные данные ===AAA=== Программирование 4 22.12.2005 12:17
Lisp и данные paha LISP 9 26.08.2004 14:49