ADN Club > Inventor API

Включение видимости осей координат вида чертежа

(1/2) > >>

niksasa:
Добрый день. Появилась необходимость автоматизировать процесс включения осей координат на видах чертежа с помощью API. Я так понимаю нужно идти в этом направлении: DetailDrawingView.GetIncludeStatus Method. Кто-нибудь решал данную задачу? В справке примера кода не нашел.

Алексей Романов:

--- Цитата: niksasa от 16-10-2013, 14:41:18 ---В справке примера кода не нашел.

--- Конец цитаты ---
Не на все случаи есть примеры, разбейте задачу на этапы, в данном случае: работа с видами, получение ссылки на модель, получение объекта для отображения...
Вот рабочий пример, на виде "ВИД3" отобразим рабочую ось Y модели:
--- Код: ---Public Sub IncludeObject()

    If ThisApplication.ActiveDocumentType <> kDrawingDocumentObject Then
        MsgBox "Работаем только с чертежами!"
        Exit Sub
    End If
   
    ' Set a reference to the drawing document.
    ' This assumes a drawing document is active.
    Dim oDrawDoc As DrawingDocument
    Set oDrawDoc = ThisApplication.ActiveDocument

    ' Set a reference to the active sheet.
    Dim oActiveSheet As Sheet
    Set oActiveSheet = oDrawDoc.ActiveSheet

    ' Set a reference to the drawing view on the active sheet.
    Dim oDrawView As DrawingView
    For Each oDrawView In oActiveSheet.DrawingViews
        If oDrawView.Name = "ВИД3" Then Exit For
    Next
   
   'Получаем документ модели
    Dim oRefDoc As Object
    Set oRefDoc = oDrawView.ReferencedDocumentDescriptor.ReferencedDocument
   
    'Получаем объект для отображения на виде
    Dim oY As WorkAxis
    Set oY = oRefDoc.ComponentDefinition.WorkAxes(2)
   
    'Отображаем объект на виде
    Call oDrawView.SetIncludeStatus(oY, True)

End Sub

--- Конец кода ---
Это рабочий пример на VBA, в реальном коде (при необходимости) нужны дополнительные проверки...)

niksasa:
Алексей, приветствую Вас. Спасибо огромное за помощь. Попробую адаптировать код под ilogic.
PS: хочу к Вам на курсы программирования записаться. :)

Алексей Романов:

--- Цитата: niksasa от 17-10-2013, 09:21:24 ---Попробую адаптировать код под ilogic.
--- Конец цитаты ---
Приветствую Вас, Александр! Как упехи? В простейшем случае у меня вот что получилось:
--- Код: ---oY = ActiveSheet.View("ВИД3").ModelDocument.ComponentDefinition.WorkAxes(2)
ActiveSheet.View("ВИД3").View.SetIncludeStatus(oY, True)
--- Конец кода ---

niksasa:
Добрый день, Алексей. Пока никак, не было времени. Впринципе и код VBA работает в ilogic, если убрать Sub и Set.
Но в данном случае вообще всё просто. Спасибо за помощь.
У меня другой вопрос возник, возможно бредовый: могу ли я указывать нужный мне вид чертежа для отображения осей?

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии