Тема: Как добавить слой к групповому фильтру?
Создаю групповые фильтры, необходимо к ним программно добавить уже существующие слои. Буду рад любому совету.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Как добавить слой к групповому фильтру?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Создаю групповые фильтры, необходимо к ним программно добавить уже существующие слои. Буду рад любому совету.
Нашел что, фильтры хранятся в словаре прикрепленном к таблице слоев - ACLYDICTIONARY
Можно попробовать вручную поковырять. Но это опасно :D
Как добраться до LayerManager из VBA не знаю.
На NET или ARX есть такой класс - LayerManager.
А на vb AcadLayerStateManager енто ни то?
Создавать фильтр получается след-им кодом:
Dim objDict As AcadDictionary
Dim objFilter As AcadXRecord
Dim intXRDType(6) As Integer
Dim varXRDValue(6) As Variant
Set objDict = ThisDrawing.Layers.GetExtensionDictionary.AddObject("ACAD_LAYERFILTERS", "AcDbDictionary")
Set objFilter = objDict.AddXRecord("TEXT")
intXRDType(0) = 1: varXRDValue(0) = "TEXT"
intXRDType(1) = 1: varXRDValue(1) = "T-*"
intXRDType(2) = 1: varXRDValue(2) = "*"
intXRDType(3) = 1: varXRDValue(3) = "*"
intXRDType(4) = 70: varXRDValue(4) = 0
intXRDType(5) = 1: varXRDValue(5) = "*"
intXRDType(6) = 1: varXRDValue(6) = "*"
objFilter.SetXRecordData intXRDType, varXRDValue
А как к созданному фильтру добавить слой непонятно...
AcadLayerStateManager для управления конфигурациями слоев. Команда _LayerState.
А как к созданному фильтру добавить слой непонятно...
Ты наверное путаешь Фильтр по свойствам и Групповой фильтр. :D
Добавить слой можно только в Групповой фильтр.
А ну да, в данном примере создаётся фильтр по свойствам, будем разбираться
Спасибо, попробую под Net написать
Александр Пекшев aka Modis, А чем тут может помочь Mod Plus?
Спасибо, попробую под Net написать
Хорошая идея! Уже известный факт, что в автокаде скоро исчезнет VBA...
P.S. А подпись моя может вам быть примером возможностей писания под NET :)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Как добавить слой к групповому фильтру?
Форум работает на PunBB, при поддержке Informer Technologies, Inc