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

ADN Club => VBA => Тема начата: o5andrey от 16-02-2023, 08:54:17

Название: Нарисованные линии
Отправлено: o5andrey от 16-02-2023, 08:54:17
Возможно ли на VBA получить данные чертежа? В примерах я вижу создание и модификацию сущностей чертежа. Но вот мне бы получить массив точек начала и конца каждой уже давно нарисованной линии всего чертежа.
Код - Visual Basic [Выбрать]
  1. Sub extract1()
  2. Dim entry As AcadEntity
  3. For Each entry In ThisDrawing.ModelSpace
  4.     If entry.ObjectName = "AcDbPolyline" Then
  5.         'Debug.Print entry.StartPoint 'startpoint, coordinate(0)?
  6.        'entry.StartPoint
  7.    End If
  8. Next
  9. End Sub
Название: Re: Нарисованные линии
Отправлено: Александр Ривилис от 16-02-2023, 18:01:05
Возможно ли на VBA получить данные чертежа?
Да.
Но вот мне бы получить массив точек начала и конца каждой уже давно нарисованной линии всего чертежа.
Линии - это что? В AutoCAD есть отрезки, несколько типов полилиний, окружности, эллипсы, сплайны, дуги и т.д. Для каждого из типов примитивов свои методы.
Название: Re: Нарисованные линии
Отправлено: o5andrey от 17-02-2023, 16:02:56
Цитировать
Линии - это что?
Полилинии: AcDbPolyline, AcDb2dPolyline. (Мой "чертёж" - это схема из прямоугольных блоков и соединяющих линий.)
(https://i.postimg.cc/vcZXwKYv/Screenshot137-05-02-2023.png) (https://postimg.cc/vcZXwKYv)
Название: Re: Нарисованные линии
Отправлено: Александр Ривилис от 18-02-2023, 00:23:26
o5andrey,
Свойство Coordinates должно тебе помочь.
(https://live.staticflickr.com/65535/52694411437_5ce9cbf6be_o.png)