Не работает Leader. Что есть массив точек?

Автор Тема: Не работает Leader. Что есть массив точек?  (Прочитано 124 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AndONEАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
И снова добрый день!
На этот раз столкнулся с проблемой использования Leader + Mtext. Задаю координаты, вызывается ошибка "Неприменимо". Простейший код привожу ниже.

Код - Visual Basic [Выбрать]
  1. Private Sub CommandButton1_Click()
  2.  
  3.     Dim leaderObj As AcadLeader
  4.     Dim points(0 To 5) As Double
  5.     Dim leaderType As Integer
  6.      
  7.     points(0) = 0: points(1) = 0: points(2) = 0
  8.     points(3) = 4: points(4) = 4: points(5) = 4
  9.    
  10.     leaderType = acLineWithArrow
  11.    
  12.     Dim annotationObject As AcadMText
  13.     Dim insPt(0 To 2) As Double
  14.     insPt(0) = 4: insPt(1) = 4: insPt(2) = 4:
  15.     Set annotationObject = ThisDrawing.ModelSpace.AddMText(insPt, 10, "TextNOW")
  16.        
  17.     Set leaderObj = ThisDrawing.PaperSpace.AddLeader(points, annotationObject, leaderType)
  18.    
  19. End Sub
  20.  

Объясните, пожалуйста, назначение точек в insPt. Первые 3 координаты - это точка к которой будет крепиться стрелка. А зачем вторая, если у меня есть текст Mtext к которому она должна идти? Как это все должно увязываться?
« Последнее редактирование: 01-11-2017, 15:58:53 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 7033
  • Карма: 799
  • Рыцарь ObjectARX
  • Skype: rivilis
AndONE
Правило форматирования кода на форуме написаны у меня в подписи. Настоятельно рекомендую его соблюдать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 7033
  • Карма: 799
  • Рыцарь ObjectARX
  • Skype: rivilis
Пример из справки:
Код - Visual Basic [Выбрать]
  1. Sub Example_AddLeader()
  2.     ' This example creates a leader in model space.
  3.    ' The leader is not attached to any annotation object
  4.    ' in this example.
  5.  
  6.     Dim leaderObj As AcadLeader
  7.     Dim points(0 To 8) As Double
  8.     Dim leaderType As Integer
  9.     Dim annotationObject As AcadObject
  10.    
  11.     points(0) = 0: points(1) = 0: points(2) = 0
  12.     points(3) = 4: points(4) = 4: points(5) = 0
  13.     points(6) = 4: points(7) = 5: points(8) = 0
  14.     leaderType = acLineWithArrow
  15.     Set annotationObject = Nothing
  16.        
  17.     ' Create the leader object in model space
  18.    Set leaderObj = ThisDrawing.ModelSpace.AddLeader(points, annotationObject, leaderType)
  19.     ZoomAll
  20.    
  21. End Sub
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 7033
  • Карма: 799
  • Рыцарь ObjectARX
  • Skype: rivilis
Вот еще пример с аннотацией:
Код - Visual Basic [Выбрать]
  1. Sub Leader_Example()
  2. ' This example adds a point entity to the drawing using the AddLeader
  3. ' method. A type 2 leader (line w/ arrow is used).
  4.    Dim oMtext As AcadMText
  5.     Dim ptMtext(0 To 2) As Double
  6.     ptMtext(0) = 20: ptMtext(1) = 10: ptMtext(2) = 0
  7.     Set oMtext = ThisDrawing.ModelSpace.AddMText(ptMtext, 1, "Text for annotation")
  8.     Dim myLeader As AcadLeader
  9.     Dim myPoints(0 To 8) As Double
  10.     myPoints(0) = 0: myPoints(1) = 0: myPoints(2) = 0
  11.     myPoints(3) = 4: myPoints(4) = 7: myPoints(5) = 0
  12.     myPoints(6) = 20: myPoints(7) = 10: myPoints(8) = 0
  13.     Set myLeader = ThisDrawing.ModelSpace.AddLeader(myPoints, oMtext, acLineWithArrow)
  14.     myLeader.Update
  15.     ThisDrawing.Application.ZoomExtents
  16. End Sub
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AndONEАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
Разобрался, спасибо. Дело в том, что третья координата должна совпадать!