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

ADN Club => Inventor API => Тема начата: anton.gorschnev от 07-02-2020, 08:07:15

Название: Создание выноски размера
Отправлено: anton.gorschnev от 07-02-2020, 08:07:15
Помогите разобраться с созданием выноски на размере чертежа. Нашел где включается выноска, но дальше продвинуться не могу. Не получается отобразить выноску и указать ее положение.

(https://i.postimg.cc/DWvK7Qkh/4.jpg) (https://postimg.cc/DWvK7Qkh)

Код - Visual Basic [Выбрать]
  1. Sub RidNote()
  2.  
  3. Dim oDrawDoc As DrawingDocument
  4. Set oDrawDoc = ThisApplication.ActiveDocument
  5.  
  6. Dim oActiveSheet As Sheet
  7. Set oActiveSheet = oDrawDoc.ActiveSheet
  8.  
  9. Dim oTG As TransientGeometry
  10. Set oTG = ThisApplication.TransientGeometry
  11.  
  12. Dim oDCurve1 As DrawingCurve
  13. Dim oDCurve2 As DrawingCurve
  14. Dim oSegment1 As DrawingCurveSegment
  15. Dim oSegment2 As DrawingCurveSegment
  16. Dim oIntent1 As GeometryIntent
  17. Dim oIntent2 As GeometryIntent
  18.  
  19. Set oSegment1 = oDrawDoc.SelectSet.Item(1)
  20. Set oDCurve1 = oSegment1.Parent
  21. Set oSegment2 = oDrawDoc.SelectSet.Item(2)
  22. Set oDCurve2 = oSegment2.Parent
  23. Set oIntent1 = oActiveSheet.CreateGeometryIntent(oDCurve1, oSegment1)
  24. Set oIntent2 = oActiveSheet.CreateGeometryIntent(oDCurve2, oSegment2)
  25.  
  26. Dim oAngl As AngularGeneralDimension
  27. Set oAngl = oActiveSheet.DrawingDimensions.GeneralDimensions.AddAngular(oTG.CreatePoint2d(2, 13), oIntent1, oIntent2)
  28. oAngl.ShowLeader = True
  29.  
  30. 'what to do next ????
  31.  
  32. End Sub
  33.  

Перед запуском кода необходимо выбрать две непараллельные прямые.
Название: Re: Создание выноски размера
Отправлено: Александр Ривилис от 07-02-2020, 12:10:34
anton.gorschnev,
А если изменить значение oAngl.Text.Origin?
Название: Re: Создание выноски размера
Отправлено: anton.gorschnev от 07-02-2020, 14:00:15
Пробовал с выноской не работает, получилось на толщине но там я выноску не включал
(https://i.postimg.cc/hz2G3F4k/4.jpg) (https://postimg.cc/hz2G3F4k)
Название: Re: Создание выноски размера
Отправлено: mikazakov от 07-02-2020, 19:32:50
Пробовал с выноской не работает,
Тоже пошерстил хэлп, не нашел ничего подходящего. Скорее всего нет доступа через АПИ к этой манипуляции.
Задам вопрос разрабам на всякий случай может что ответят через пару-тройку дней.
Название: Re: Создание выноски размера
Отправлено: Александр Ривилис от 07-02-2020, 21:24:24
Задам вопрос разрабам на всякий случай может что ответят через пару-тройку дней.
Ну это ты загнул. :) Я бы не рассчитывал на такую скорость ответа.
Название: Re: Создание выноски размера
Отправлено: mikazakov от 10-02-2020, 17:10:42
anton.gorschnev,
Пришел ответ с АДН


Dear Mike Kazakov,
Below VBA code can be used. but it is not working as expected. On dragging same dimension manually, then it works.


Код - Visual Basic [Выбрать]
  1. Sub showLeaderSample()
  2.     Dim oDoc As DrawingDocument
  3.     Set oDoc = ThisApplication.ActiveDocument
  4.     Dim oDim As GeneralDimension
  5.     Set oDim = oDoc.SelectSet(1)
  6.     oDim.ShowLeader = True
  7.     Dim oNewPosition As Point2d
  8.     Set oNewPosition = oDim.Text.Origin  
  9.     oNewPosition.X = oNewPosition.X - 2
  10.     oDim.Text.Origin = oNewPosition
  11. End Sub


Please log a wish list at idea station using below link.

В общем нет доступа через АПИ к такой функциональности.