Глобальная толщина полилинии - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д