Этот макрос написан для управления функциями в CATIA.Мой макрос просит пользователя выбрать эскиз, чтобы затем его можно было скопировать в новый геометрический набор (первый этап гораздо более крупного проекта).Вот соответствующий бит кода:
Dim activeDoc As PartDocument
Set activeDoc = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = activeDoc.Part
Dim bodies1 As Bodies
Set bodies1 = part1.Bodies
Dim body1 As Body
Set body1 = bodies1.Item("PartBody")
Dim shapes1 As Shapes
Set shapes1 = body1.Shapes
Dim solid1 As Solid
Set solid1 = shapes1.Item("Combine.1")
Dim sketch1 As Sketch
Set sketch1 = solid1.GetItem(selectedSketch)
Dim selection1 As Selection
Set selection1 = activeDoc.Selection
selection1.clear
selection1.Add sketch1
etc...
Строка кода в горизонтальных линиях является предметом моей головоломки.selectedSketch
- это переменная типа string, содержащая имя эскиза, которое было установлено ранее в коде с помощью выбора пользователя.
Я получаю сообщение об ошибке:
«Объект не поддерживает это действие».
Исходя из программирования VBA в фоновом режиме Excel, передавая переменныекак параметры метода очень просто.V5automation.chm предлагает единственную помощь, которую метод GetItem
принимает в качестве параметра CATBSTR IDName
.Я предполагаю CATBSTR
обозначает строку.Есть идеи?