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

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

SelectionSets. VBA. Выбор объектов по паре групп кодов

Ответ
Поиск в этой теме
Непрочитано 20.09.2020, 15:07 #1
SelectionSets. VBA. Выбор объектов по паре групп кодов
doctorraz
 
электрик
 
Волгоград
Регистрация: 19.02.2010
Сообщений: 2,267

Есть объект чертежа с кодами DXF

((-1 . #<Имя примитива: 00000066CA9B1E40>)
(0 . "SPDSUMARKER")
(5 . "AE8")
(330 . #<Имя примитива: 00000066C46A42B0>)
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "ЭС_ЭЛЕКТРООБОРУДОВАНИЕ")
(100 . "SPDSUMARKER")
(100 . "SPDSUMARKER")
(90 . 1)
(301 . "Name")
(300 . "Спецификация_V2.2")
(301 . "Info")
(300 . "Спецификация_V2.2\nНовый объект\t0\nНомер поз (форма)\t1\nпрефикс (форма)\tQF\nсуффикс (форма)\t\nаппарат (форма)\t1\nКоличество в части (форма)\t1\nСколько частей (форма)\t1\nВкл выкл номер позиции (форма)\t1\nНомер позиции (маркер 1 строка)\t1\nВкл выкл позицию аппарата (форма)\t1\nВне чертежа (форма)\t0\nПозиция аппарата (маркер 2 строка)\tQF1\n+Позиция для спецификации\tQF1\n+Наименование и техническая характеристика\tВыключатель автоматический‚ IC60L‚ 1P‚ Iн=1 А‚ характеристика вида B\n+Тип марка обозначение документа опросного листа\tIC60L‚ A9F93101\n+Код оборудования изделия материала\t\n+Завод изготовитель\tSchneider Electric\n+Единица измерения\tшт.\n+Всего количество\t1\n+Примечание\t\n-Раздел спец.\t%%Электроаппараты\n-Класс\tВыключатели автоматические SE\n-Подкласс\tIC60L\n-Параметр\t1 А\n-Наименование сокращенное (база)\tIC60L‚ 1P‚ Iн=1 А‚ характеристика вида B\n+Наименование ч1 (база)\tВыключатель автоматический‚ IC60L‚ 1P‚ Iн=1 А‚ характеристика вида B\n+Наименование ч2 (база)\t\n+texParametr0 (база)\t_\n+texParametr1 (база)\t\nТехнический параметры (форма)\t_ \nописание че такое (форма)\tВыключатель автоматический‚ IC60L‚ 1P‚ Iн=1 А‚ характеристика вида B -- 1 шт.\nРазмер шрифта (форма)\tMain\nИсполнение (форма)\tMain_S1\nФлаг включения в спец. (форма)\t1\nstrFlag\tflag1\nmcDefLayer\tЭС_ЭЛЕКТРООБОРУДОВАНИЕ\n")
(301 . "Scale")
(40 . 1.0)
(301 . "MarkerType")
(300 . "Спецификация_V2.2")
(301 . "bNew")
(300 . "0")
(301 . "nomerPoz")
(300 . "1")
(301 . "Pref")
(300 . "QF")
(301 . "suf")
(300 . "")
(301 . "num")
(300 . "1")
(301 . "kol")
(300 . "1")
(301 . "krat")
(300 . "1")
(301 . "chekPoz")
(300 . "1")
(301 . "poz")
(300 . "1")
(301 . "chekPOZIC")
(300 . "1")
(301 . "chekOpisanie")
(300 . "0")
(301 . "POZIC")
(300 . "QF1")
(301 . "POZS")
(300 . "QF1")
(301 . "naim")
(300 . "Выключатель автоматический‚ IC60L‚ 1P‚ Iн=1 А‚ характеристика вида B")
(301 . "tip")
(300 . "IC60L‚ A9F93101")
(301 . "kod")
(300 . "")
(301 . "zavod")
(300 . "Schneider Electric")
(301 . "ed")
(300 . "шт.")
(301 . "kolrez")
(300 . "1")
(301 . "prim")
(300 . "")
(301 . "razdel")
(300 . "%%Электроаппараты")
(301 . "tip_app")
(300 . "Выключатели автоматические SE")
(301 . "nominal")
(300 . "IC60L")
(301 . "parametr")
(300 . "1 А")
(301 . "naim2")
(300 . "IC60L‚ 1P‚ Iн=1 А‚ характеристика вида B")
(301 . "naim0")
(300 . "Выключатель автоматический‚ IC60L‚ 1P‚ Iн=1 А‚ характеристика вида B")
(301 . "naim1")
(300 . "")
(301 . "texParametr0")
(300 . "_")
(301 . "texParametr1")
(300 . "")
(301 . "texParametr")
(300 . "_ ")
(301 . "opisanie")
(300 . "Выключатель автоматический‚ IC60L‚ 1P‚ Iн=1 А‚ характеристика вида B -- 1 шт.")
(301 . "Size")
(300 . "Main")
(301 . "mcImplementation")
(300 . "Main_S1")
(301 . "flag")
(300 . "1")
(301 . "strFlag")
(300 . "flag1")
(301 . "Angle")
(40 . 0.0)
(301 . "Origin point X:")
(40 . 355.077)
(301 . "Origin point Y:")
(40 . 263.782)
(301 . "Text style")
(300 . "ГОСТ 2.304")
(301 . "MaskText")
(290 . 1))

коду 301 соответствует имя поля
коду 300 его значение
Возможно ли составить фильтр для SelectionSets, что бы он учитывал "парность" кодов
например типа так, но что бы работало((((:
Код:
[Выделить все]
    intType(0) = -4
    varDat(0) = "<AND"
    intType(1) = 301
    varDat(1) = "flag"
    intType(2) = 300
    varDat(2) = "1"
    intType(3) = -4
    varDat(3) = "AND>"
не работает, в выборку попадают все объекты с varDat(1) = "flag" и varDat(2) = "1"
в т.ч и те у которых varDat(2) != "1" этой пары, но есть удовлетворяющий условию с кодом 300
__________________
Мастерская СПДС
Просмотров: 3142
 
Непрочитано 20.09.2020, 16:50
1 | #2
Сергей812


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


а если так?
Код:
[Выделить все]
intType(0) = -4
varDat(0) = "="
intType(1) = 301
varDat(1) = "flag"
intType(2) = -4
varDat(2) = "="
intType(3) = 300
varDat(3) = "1"
Сергей812 вне форума  
 
Автор темы   Непрочитано 20.09.2020, 17:10
#3
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,267
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
а если так?
не работает,
собственно проблема в том, что этих
Код:
[Выделить все]
intType(3) = 300
varDat(3) = "1"
в каждом объекте может быть несколько... (см. выше под спойлер)
но они парами с 301 ми...
смысл в том, что бы разобрать какой 300 какому 301 му принадлежит... лисп это разруливает похоже на раз, но с VBA затык(((
пока объехал на костылике.. но хочется красиво)))
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 20.09.2020, 17:42
#4
Сергей812


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


Цитата:
300-309 Arbitrary text strings
имхо - если бы в качестве идентификатора поля была бы соответствующая группа DXF 300-309, то можно было корректно обрабатывать до 10 строковых полей. Эту структуру СПДС формирует, насколько понимаю?
Сергей812 вне форума  
 
Автор темы   Непрочитано 20.09.2020, 17:50
#5
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,267
Отправить сообщение для doctorraz с помощью Skype™


да эти коды формирует СПДС CS
на костылике объехал сформировав уникальный,но
интересует принципиальная возможность фильтра по паре кодов
__________________
Мастерская СПДС

Последний раз редактировалось doctorraz, 20.09.2020 в 18:09.
doctorraz вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > SelectionSets. VBA. Выбор объектов по паре групп кодов

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. 1. Выбор объектов "по расширенным данным". 2. Принадлежность точки замкнутому контуру. AlexZh LISP 8 09.06.2022 16:35
Выбор объектов SergU AutoCAD 20 16.03.2020 14:36
Выбор объектов на ВБА (и простос как объётов и как входящих в блок) ssn Программирование 4 27.02.2014 18:42
Выбор объектов под wipeout Cfytrr AutoCAD 7 04.07.2008 09:22
Слетел выбор объектов в автокаде DaiverCAD AutoCAD 8 26.03.2008 17:09