Список форумов Конференция САПР Bentley MicroStation Конференция САПР Bentley MicroStation
www.ustation.ru
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

VBA. Cells vs Levels.

 
Начать новую тему   Ответить на тему    Список форумов Конференция САПР Bentley MicroStation -> Прикладное
Предыдущая тема :: Следующая тема  
Автор Сообщение
Rus77



Зарегистрирован: 06.03.2006
Сообщения: 53

СообщениеДобавлено: Пт Янв 23, 2009 10:47 am    Заголовок сообщения: VBA. Cells vs Levels. Ответить с цитатой

Здравствуйте!
Задача банальная. Есть элемент (as Element). Необходимо узнать имя слоя на котором он располагается.
Вроде бы все просто, ставим
Set oLevel=oEle.Level
и должно работать......но не в случае фрагмента. Если oEle.IsCellElement=True (элемент является фрагментом), то его свойство Level==Nothing???
Пересмотрел документации по VBA и MDL - не нашел функции определения слоя из фрагмента. Поэтому у меня несколько вопросов:
1. Если реально, то как получить слой фрагмента?
2. Могут ли элементы в фрагменте находиться на разных слоях (как в AutoCAd) - пробовал на практике - все элементы при создании фрагмента и разделении прыгают в один слой, куда устанавливался фрагмент
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
vikk



Зарегистрирован: 13.09.2006
Сообщения: 88

СообщениеДобавлено: Пт Янв 23, 2009 1:20 pm    Заголовок сообщения: Ответить с цитатой

Фрагменты могут быть типа Point и Graphic
В первом случае, все элементы в одном слое, во втором нет.
У заголовка фрагмента слой неопределен, или 0.
Реально, можно поступить так: считать слоем фрагмента слой первого любого элемента, у которого удалось прочитать номер слоя. В формате DWG фрагменты могут содержать в себе другие фрагменты. Или слоем фрагмента считать тот, в котором находятся большая часть элементов. Это сложнее. В любом случае надо писать отдельную процедуру.
Изменить слой фрагмента - надо менять слой у каждого элемента внутри.
В общем случае, то-же относиться и к другим атрибутам, цвету, толщине...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Конференция САПР Bentley MicroStation -> Прикладное Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group