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

Штриховка элемента программно в MS 08.05 под VBA

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



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

СообщениеДобавлено: Пт Май 16, 2008 10:50 am    Заголовок сообщения: Штриховка элемента программно в MS 08.05 под VBA Ответить с цитатой

Здравствуйте!
Возникла такая задача - заштриховать замкнутый (isClosedElement) элемент обычной штриховкой, не трафаретом. По справочнику за это отвечает класс HatchPattern, который создается функцией Function CreateHatchPattern1(Space As Double, Angle As Double) As HatchPattern. Все бы хорошо, только в справочнике не написано главное - как эту штриховку повесить на объект?? Метод ClosedElement.SetPattern требует трафаретную штриховку, а для обычной не нашел методов....Помогите пожалуйста, заранее благодарен...
_________________
Руслан
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Leonid
давно здесь сидим


Зарегистрирован: 28.01.2006
Сообщения: 598
Откуда: С.-Петербург

СообщениеДобавлено: Пн Май 19, 2008 3:24 pm    Заголовок сообщения: Ответить с цитатой

5 минут лазанья в хелпе, и вот что имеем:
Код:

    Dim oEnumerator As ElementEnumerator
    Set oEnumerator = ActiveModelReference.GetSelectedElements
    Do While oEnumerator.MoveNext
        Dim oElement As Element
        Dim ptrn As CrossHatchPattern
        Set oElement = oEnumerator.Current
        If oElement.IsClosedElement Then
            Set ptrn = CreateCrossHatchPattern(200, 200, 45, 45)
            oElement.AsClosedElement.SetPattern ptrn, Matrix3dIdentity
            oElement.Redraw msdDrawingModeNormal
            oElement.Rewrite
        End If
    Loop
    ActiveModelReference.UnselectAllElements

Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Rus77



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

СообщениеДобавлено: Пн Май 19, 2008 4:02 pm    Заголовок сообщения: Ответить с цитатой

Ок, спасибо, заработало....по крайней мере на моей машине...Smile
Еще потестим....Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Конференция САПР Bentley MicroStation -> Прикладное Часовой пояс: GMT + 3
Страница 1 из 1

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


Powered by phpBB © 2001, 2005 phpBB Group