ADN Club > Inventor API
Создание Автоматических осевых линий для вида на чертеже
(1/1)
filat:
В API есть инструменты для работы с AutomatedCenterline
Вот примененный код позволяет изменить активные настройки, но выполнить отображение этих линий на виде пока не получается:
--- Код - vb.net [Выбрать] ---Dim oDoc As DrawingDocumentoDoc = CType(m_inventorApplication.ActiveDocument, Inventor.DrawingDocument)Dim oView As DrawingViewDim oSheet As SheetoSheet = oDoc.ActiveSheetDim oCenterline As AutomatedCenterlineSettingsFor Each oView In oSheet.DrawingViews Call oView.GetAutomatedCenterlineSettings(oCenterline) oCenterline.ApplyToHoles = True oCenterline.ApplyToPunches = True oCenterline.ApplyToRectangularPatterns = True oCenterline.ApplyToRevolutions = True Call oView.SetAutomatedCenterlineSettings(oCenterline)Next
filat:
Я в ступоре! Почему макрос работает:
--- Код - Visual Basic [Выбрать] ---Public Sub CenterLineTest() Dim drawDoc As DrawingDocument Set drawDoc = ThisApplication.ActiveDocument Dim topView As DrawingView Dim sectionView As DrawingView Set topView = drawDoc.ActiveSheet.DrawingViews.Item(1) Set sectionView = drawDoc.ActiveSheet.DrawingViews.Item(2) Dim settings As AutomatedCenterlineSettings Set settings = drawDoc.DrawingSettings.AutomatedCenterlineSettings settings.ApplyToCylinders = True settings.ProjectionParallelAxis = True Call topView.SetAutomatedCenterlineSettings(settings) Call sectionView.SetAutomatedCenterlineSettings(settings)End Sub
mikazakov:
Попробуй Documnt.Update и Documnt.Update2 вызвать в конце кода на VB.NET
filat:
Все ка всегда - похоже, это были не правильные пчелы!...
Дело оказалось в точке вызова кода:
я хотел сделать AutomatedCenterline после создания вида и использовал для этого событие UserInputEvents.OnTerminateCommand.
В нем переменная вида вроде как уже существует(не пустая), но вид, видимо, еще не отрисован. Поэтому настройки вносятся в файл, но сами линии не добавляются на вид.
Придется искать другое событие...
Навигация
Перейти к полной версии