Если полигон известен, то вот пример скрипта:
theView = av.getActiveDoc
GL = theView.GetGraphics
pol = GL.GetSelected.Get(0).GetShape
pline = pol.AsPolyLine
for each i in 0..99
found=false
while (found.not)
l = PolyLine.Make({{pline.Along (Number.MakeRandom(0,100)),pline.Along (Number.MakeRandom(0,100))}})
pt = l.Along (Number.MakeRandom(0,100))
'Если не включать границу
found =(pol.Contains(pt)and(pline.Contains(pt).Not))
'Если включать границу
'found =(pol.Contains(pt))
end
gp = GraphicShape.Make(pt)
GL.Add(gp)
end
Сгенерит 100 произвольных точек внутри выделенного графического полигона