ADN Club > Inventor API
Из ilogic в inventor addin
Александр Ривилис:
Думаю, что Владимир имел в виду следующее. После того как вы уже знаете имя вид (т.е. oView.Name) вы перебираете все виды (ActiveSheet.DrawingViews) и находите под каким номером oView.Name у вас в ActiveSheet.DrawingViews. После этого этот номер вы уже можете использовать в следующих вычислениях в виде:
--- Код - Visual Basic [Выбрать] ---oX = ActiveSheet.DrawingViews(iView).ModelDocument.ComponentDefinition.WorkAxes(1)где iView это номер вида в массиве видов.
Могу ошибаться, так как Inventor видел издалека. ;)
Александр Ривилис:
--- Цитата: niksasa от 13-01-2014, 21:59:09 ---Что то на подобие этого:
Код:
For Each oDrawView In oActiveSheet.DrawingViews
If oView.Name = "ВИД3" Then Exit For
Next
--- Конец цитаты ---
Почти. Номер нужно подсчитать, т.е. должно быть что-то типа:
--- Код - Visual Basic [Выбрать] ---iView = 0For Each oDrawView In oActiveSheet.DrawingViews iView = iView + 1 If oView.Name = oDrawView.Name Then Exit ForNextТолько нужно проверить нумерация видов с 0 или с 1.
Алексей Романов:
Не знаю, правильно или нет, я иногда так делаю:
--- Код: ---Dim i As Integer
For i = 1 To oActiveSheet.DrawingViews.Count
If oView.Name = oActiveSheet.DrawingViews(i).Name Then Exit For
Next
--- Конец кода ---
В i порядковый номер вида...
Алексей Романов:
--- Цитата: niksasa от 18-12-2013, 10:34:21 ---Хочу это правило переделать на VB.net
Пишу код:
--- Конец цитаты ---
Александр, у тебя уже есть нужный вид! Должно быть типа этого:
--- Код: ---oRefDoc = oView.ReferencedDocumentDescriptor.ReferencedDocument
Dim oX As WorkAxis
Dim oY As WorkAxis
Dim oZ As WorkAxis
oX = oRefDoc.ComponentDefinition.WorkAxes(1)
oY = oRefDoc.ComponentDefinition.WorkAxes(2)
oZ = oRefDoc.ComponentDefinition.WorkAxes(3)
oView.SetIncludeStatus(oX, True)
oView.SetIncludeStatus(oY, True)
oView.SetIncludeStatus(oZ, True)
--- Конец кода ---
niksasa:
--- Цитата: Алексей Романов от 14-01-2014, 11:02:37 ---Dim i As Integer
For i = 1 To oActiveSheet.DrawingViews.Count
If oView.Name = oActiveSheet.DrawingViews(i).Name Then Exit For
Next
--- Конец цитаты ---
Спасибо, Алексей, именно то, что нужно было.
Навигация
Перейти к полной версии