Я решил реализовать нанесение осевых линий на вид чертежа с использованием AutomatedCenterlineSettings.
Повесил код на кнопку и все сработало как надо:
Dim oDoc As DrawingDocument
oDoc = m_inventorApplication.ActiveDocument
Dim oView As DrawingView
Dim oViews As DrawingViews
Dim oSheet As Sheet
oSheet = oDoc.ActiveSheet
oViews = oSheet.DrawingViews
Dim oCenterline As AutomatedCenterlineSettings
For Each oView In oViews
If oView.ReferencedDocumentDescriptor.ReferencedDocumentType = DocumentTypeEnum.kPartDocumentObject Then
'MsgBox(oView.Name)
Call oView.GetAutomatedCenterlineSettings(oCenterline)
oCenterline.ApplyToBends = True
oCenterline.ApplyToCircularPatterns = True
oCenterline.ApplyToCylinders = True
oCenterline.ApplyToFillets = True
oCenterline.ApplyToHoles = True
oCenterline.ApplyToPunches = True
oCenterline.ApplyToRectangularPatterns = True
oCenterline.ApplyToRevolutions = True
oCenterline.ApplyToSketches = True
oCenterline.ApplyToWorkFeatures = True
oCenterline.ProjectionNormalAxis = True
oCenterline.ProjectionParallelAxis = True
Call oView.SetAutomatedCenterlineSettings(oCenterline)
End If
Next
Для большей автоматизации захотел повесить его на событие после нажатия кнопки "Создание нового вида":
Private Sub m_UserInputEvents_OnTerminateCommand(ByVal CommandName As String, ByVal Context As Inventor.NameValueMap) Handles m_UserInputEvents.OnTerminateCommand
If CommandName = "DrawingBaseViewCmd" Then ' Команда создания нового вида на чертеже
...
И вот тут незадача - отслеживание кода, показывает, что создаваемые виды проходят через код, но результатов его работы не появляется на чертеже - с чем это может быть связано?