Глобальная толщина полилинии - VBA

Узнай цену своей работы

Формулировка задачи:

Всем привет! Подскажите, пожалуйста, как можно получить толщину полилинии (глобальную или начальную или конечную). Нужно отредактировать через макрос только полилинии определенной толщины. как задать я понял что через SetWidth. А вот как получить для сравнения не знаю..
GetWidth только для сплайна. Все уже перерыл. Где атрибут толщины?
или считать полилинию как штриховку и высчитывать расстояние между двумя начальными точками?
Не указал что разговор про AutoCad VBA

Решение задачи: «Глобальная толщина полилинии»

textual
Листинг программы
Sub asd()
Dim e As AcadEntity, p As AcadLWPolyline, c, i&
Dim StartWidth#, EndWidth#
For Each e In ThisDrawing.ModelSpace
  If e.ObjectName = "AcDbPolyline" Then
    Set p = e
    c = p.Coordinates
    For i = 0 To UBound(c) \ 3
      p.GetWidth i, StartWidth, EndWidth
      Debug.Print StartWidth, EndWidth
      p.SetWidth i, Rnd * 100, Rnd * 100
    Next i
  End If
  ZoomExtents
  Stop
  p.ConstantWidth = 200
  ZoomExtents
Next
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы