SetLineWidth method (LineStyleElement)

Метод задает толщину линии в миллиметрах.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineWidth(dWidth As Double)

dWidth - толщина.

Описание:

Толщина задается в миллиметрах: на экране с разрешением 96 точек на дюйм миллиметр дает около четырех точек.

У только что созданного элемента толщина равна 0,0265 - это тончайшая линия в одну точку; такой же она остается при любом значении примерно до 0,3. Нулевая толщина означает, что своей толщины у элемента нет и он берет ее от линии, которую рисует, - так устроены готовые стили.

Как толщина элемента сочетается с толщиной самой линии, решает вид толщины - метод SetLineWidthType: она может быть постоянной, добавочной или пропорциональной.

Метод не проверяет значение: отрицательная толщина принимается и читается обратно как есть.

Пример:

Пример собирает стиль из красной линии толщиной 3 миллиметра.

Visual Basic:

Sub LineStyleElement_SetLineWidth
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set lsd = CreateObject("ZuluLib.LineStyleDef")
Set lse = CreateObject("ZuluLib.LineStyleElement")
'Красная сплошная линия толщиной 3 миллиметра
lse.SetLineColor RGB(255, 0, 0)
lse.SetLineType 0
lse.SetLineWidth 3
'Толщина элемента постоянна и не зависит от толщины линии
lse.SetLineWidthType 0
lsd.AddLineElement lse
S = "Толщина в элементе: " & lsd.StyleElements.Item(0).GetLineWidth
S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1)
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_SetLineWidth():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    lsd = zulu.LineStyleDef()
    lse = zulu.LineStyleElement()
    # Красная сплошная линия толщиной 3 миллиметра
    lse.SetLineColor(255)
    lse.SetLineType(0)
    lse.SetLineWidth(3)
    # Толщина элемента постоянна и не зависит от толщины линии
    lse.SetLineWidthType(0)
    lsd.AddLineElement(lse)
    print("Толщина в элементе:", lsd.StyleElements.Item(0).GetLineWidth())
    print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))