В ArcView полигоны хранятся таким образом, что вершины идут по часовой стрелке, значит внутренние углы будут правыми, следовательно пишем программку для каждой тройки подряд следующих вершин P1(x1,y1), P2(x2,y2), P3(x3,y3) ищем "внутренний" для точки P2:
pi= Number.GetPi
'Вычислим угол наклона луча P2-P1
d= p1-p2
angle1= (d.GetY/d.GetX).atan.asDegrees
if (d.GetX<0) then
angle1= angle1+180
elseif (d.GetY<0) then
angle1= angle1+360
end
'Теперь вычислим угол наклона луча P2-P3
d= p3-p2
angle2= (d.GetY/d.GetX).atan.asDegrees
if (d.GetX<0) then
angle2= angle2+180
elseif (d.GetY<0) then
angle2= angle2+360
end
angle= angle2-angle1 'Разница и будет искомый угол
if (angle1 > angle2) then 'если перестарались, берём обратный

angle= 360+angle
end
Окончательно в переменной angle будет правый (внутренний) угол в градусах
Это на тот случай если надо вставить в свой скрипт, а не просто посчитать чужим...
П.С. Пожалуйста