VBA. Как получить координаты мультивыноски?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Как получить координаты мультивыноски?

VBA. Как получить координаты мультивыноски?

Ответ
Поиск в этой теме
Непрочитано 18.05.2011, 22:26 #1
VBA. Как получить координаты мультивыноски?
tuuuzzzik
 
Регистрация: 29.12.2008
Сообщений: 4

Необходимо получить координаты точки вставки мультивыноски из VBA. В справке для мультивыноски есть свойство Coordinates но оно не работает.
Просьба, подскажите: Какие есть варианты?!? ...такое вабще возможно?!? В поиске и гугле ничего не нашлось!

Последний раз редактировалось tuuuzzzik, 19.05.2011 в 00:26.
Просмотров: 4458
 
Непрочитано 19.05.2011, 11:24
#2
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


У AcadLeader есть свойства Coordinates, и оно работает.
У AcadMLeader его нет почемуто. И аналога я не нашел. Может поможет GetBoundingBox, или покопаться в ExtensionDictionary.
Еще вариант, использовать лисп, там через dxf коды это должно быть можно сделать.
Ну и можно на NET перейти.
Vildar вне форума  
 
Непрочитано 19.05.2011, 11:46
2 | #3
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Что-то типа:
Код:
[Выделить все]
Dim xxx As Variant
Dim Mlider As AcadMLeader
****
xxx = Mlider.GetLeaderLineVertices(0)
Что за аргумент в скобках, не знаю; в списке свойств в справке на A2010 сие свойство есть, но в описании видимо опечатка, - по ссылке приходишь на свойство "GetLeaderLineIndexes"
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 19.05.2011, 13:56
1 | #4
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Попробуй так
Код:
[Выделить все]
Option Explicit
'Tools->OPtions->Genreral tab->Error Rrapping-->Break on Unhandled Errors
Sub demo()
Dim varPt
Dim oEnt As AcadEntity
Dim i As Long
Dim util As AcadUtility
Dim ml As AcadMLeader

With ThisDrawing
Set util = .Utility
End With

On Error GoTo Err_Control

Do While True
With util
.GetEntity oEnt, varPt, vbLf & "Select multileader"
If TypeOf oEnt Is AcadMLeader Then
Set ml = oEnt

With ml
Dim pts() As Double

pts = .GetLeaderLineVertices(0)
Dim msg As String
msg = ""
For i = 0 To UBound(pts) Step 3
Dim pt(2) As Double

pt(0) = pts(i)
pt(1) = pts(i + 1)
pt(2) = pts(i + 2)

msg = msg & "( " & CStr(Round(pt(0), 3)) & vbTab & CStr(Round(pt(1), 3)) & vbTab & CStr(Round(pt(2), 3)) & " )" & vbCr
Next
MsgBox msg
End With

Else
MsgBox "Selected is not a mleader" & vbLf & "Exit..."
Exit Do
End If


End With

Loop

Exit_Here:
Exit Sub
Олег (jr.) вне форума  
 
Непрочитано 19.05.2011, 14:56
#5
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Опс, пропустил этот метод.
Вообще мультивыноски не прижились. Юзаем дин.блоки, или СПДС.
Vildar вне форума  
 
Автор темы   Непрочитано 21.05.2011, 00:47
#6
tuuuzzzik


 
Регистрация: 29.12.2008
Сообщений: 4


Отлично!
.GetLeaderLineVertices(0) работает!
Спасибо.
tuuuzzzik вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Как получить координаты мультивыноски?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить координаты рамки text? mamuk Программирование 21 22.08.2010 13:26
Как получить экранные координаты курсора +Alex+ Программирование 12 07.07.2010 17:38
как средствами VBA нарисовать дугу, зная координаты центра, радиус, начальную и конечную точки? tata-tau Программирование 9 03.03.2010 04:07
координаты вершин выбранной полилинии на VB? как получить ssv22 Программирование 5 17.07.2008 00:01
VBA. получить центр окружности HiddenM Программирование 2 24.10.2005 12:54