попробуй разобраться с этим скриптом
вешается на кнопку (buttons)
' Name: ghghg.LegendVector на основе скрипта из примеров
'
' Title: Changes legend from RasterFill to VectorFill
'
' Topics: Legends, Graphics and Symbols
'
' Description:
' Штриховка полигональной темы для градостоительного кадастра
' расстояние между штрихами 4 мм,
' штихи напралены слева направо под 45 градусов
theView = av.GetActiveDoc
theTheme = theView.GetActiveThemes.Get(0)
Pam = {"Угол наклона (°)","Толщина линии (мм)","Расстояние между линиями","Тип штриховки"}
Par = {"60°","0,3 мм","6 мм","Штриховать накрест?"}
R = MsgBox.MultiInput("Параметры штриховки полигонов",
"Задайте параметры штриховки",
Pam, Par)
if (R.isEmpty) then exit end
w = R.Get(0).Substitute (",",".")
u = w.Substitute ("°","").Trim.AsNumber
F = R.Get(1).Substitute (",",".")
F = F.Substitute ("м","").Trim.AsNumber
F = (F/25.4*720).Round/10
G = R.Get(2).Substitute (",",".")
G = G.Substitute ("м","").Trim.AsNumber
G =G/25.4*72
if (R.Get(3).Trim <> "") Then C=true else C=False end
theLegend = theTheme.GetLegend
symbList = theLegend.GetSymbols
idx = 0
for each s in symbList
newSymbol = VectorFill.Make
if (C) then
newSymbol.SetStyle(#VECTORFILL_STYLE_CROSSHATCH)
else
newSymbol.SetStyle(#VECTORFILL_STYLE_HATCH)
end
newSymbol.SetAngle(u)
newSymbol.SetColor(s.GetColor)
newSymbol.SetOLColor(s.GetOLColor)
newSymbol.SetHeight(F)
newSymbol.SetXOffset(0)
newSymbol.SetYOffset(0)
newSymbol.SetXSeparation(0)
newSymbol.SetYSeparation(G)
symbList.Set(idx, newSymbol)
idx = idx + 1
end
theTheme.InvalidateLegend
theTheme.Invalidate(true)