Здравствуйте.
Вопрос касается программирования на VB (с использованием Automation API). Сначала предоставлю описание ситуации с тем, чтобы посетители форума могли воспроизвести проблему или узнать для себя что-то новое.
При редактировании эксизов (в модуле Sketcher) имеется возможность создания ограничений (Constraints) с помощью соответствующих команд. Для того, чтобы запрограммировать этот процесс можно воспользоваться объектом класса Constraints, который имеется у каждого объекта класса Sketch. Добавление новых ограничений происходит с помощью трёх методов: AddBiEltCst, AddMonoEltCst, AddTriEltCst - каждому из которых передаются объекты класса CATIAReference. Эти объекты можно получить, используя соответствующие методы объектов классов Part и Product.
Такая же возможность создания ограничений доступна пользователю при редактировании чертежных документов (CATDrawing). Однако, в этом случае при программировании возникают проблемы. Во-первых, объект Constraints напрямую никак не привязан ни к объектам класса DrawingView, ни к DrawingSheet. Кроме того, совершенно непонятно, как же получать объекты класса CATIAReference для объектов чертежа, если методы из Part'а и Product'а по понятным причинам недоступны, а обращение к свойству Reference при выделении геометрического объекта с чертежа вызывает ошибку:
Dim MyRef as Reference
Set MyRef = CATIA.ActiveDocument.Selection.Item(1).Reference ' Method Reference failed
Set MyRef = CATIA.ActiveDocument.Selection.Item2(1).Reference ' Method Reference failed
Вопрос: как на VB создавать ограничения в чертёжных документах?