Сообщество программистов Autodesk в СНГ

ADN Club => Inventor API => Тема начата: Vyacheslav от 03-03-2022, 13:18:03

Название: Имя объекта
Отправлено: Vyacheslav от 03-03-2022, 13:18:03
Ребята, подскажите как наити имя объекта что-бы изменить позицию на чертеже.

Заранее спасибо

(https://i.postimg.cc/F1gmPnBp/Screenshot-2022-03-03-111439.jpg) (https://postimg.cc/F1gmPnBp)
Название: Re: Имя объекта
Отправлено: mikazakov от 03-03-2022, 13:44:39
Судя по скриншоту, это не позиция на чертеже, а имя вида.
Дак что нужно изменить все таки имя вида на чертеже?
Название: Re: Имя объекта
Отправлено: Vyacheslav от 03-03-2022, 13:55:09
Да. Хочется изменить программно позицию чтобы избежать вот этого...
(https://i.postimg.cc/cr43dJr8/Screenshot-2022-03-03-115143.jpg) (https://postimg.cc/cr43dJr8)
Название: Re: Имя объекта
Отправлено: mikazakov от 04-03-2022, 07:52:48
Код - Visual Basic [Выбрать]
  1.  
  2. Sub ff()
  3. Dim doc As DrawingDocument: Set doc = ThisApplication.ActiveDocument
  4.  
  5. Dim p  As Point2d: Set p = ThisApplication.TransientGeometry.CreatePoint2d(0, 0)
  6. doc.Sheets(1).DrawingViews(1).Label.Position = p
  7.  
  8. End Sub
  9.  
  10.  
Название: Re: Имя объекта
Отправлено: Vyacheslav от 04-03-2022, 17:06:47
Спасибо Михаил.
С именем вида разобрались. Со стрелочкой направления вспогогательного вида пока безрезультатно...
Название: Re: Имя объекта
Отправлено: mikazakov от 04-03-2022, 18:56:54
Со стрелочкой направления вспогогательного вида пока безрезультатно...
Ну тут надо делать так:
открыть скетч на редактирование положения стрелки через АПИ
переместить отрезок определяющий положение стрелки
выйти из редактирования эскиза

(https://i.postimg.cc/ZB9rzCSB/image.png) (https://postimg.cc/ZB9rzCSB)

Для моего случая: стрелка принадлежит базовому виду, вход в редактирование следующий
Код - Visual Basic [Выбрать]
  1. Public Sub AT()
  2.     ' Ссылка на активный документ. Полагаем, что это сборка.
  3.    Dim Doc As DrawingDocument
  4.     Set Doc = ThisApplication.ActiveDocument
  5.    
  6.     Dim sk As DrawingSketch: Set sk = Doc.ActiveSheet.DrawingViews(1).Sketches(1)
  7.     sk.Edit
  8.    
  9. End Sub
  10.  

Логично предположить, что выход из редактирования эскиза будет sk.ExitEdit