Работа с профильными длинномерами
Материал из K3-Macro
Вернуть контур длинномера
INT GetOutline(OBJECT <Object>)
Функция GetOutline возвращает в список UnObj2d элементы контура профильного длинномера <Object> и возвращает количество добавленных UnObj2d в список. Координаты UnObj2d даются в ЛСК объекта <Object>.
Пример:
defarr arr[6];
NULLOUT=initarray(arr,0);
objident prompt "Укажите профильтный длинномер" : long;
beg=MaxUnObj2D(); //-- Максимальныей номер UnObj2d в хранилище
num=getoutline(long); //-- Количество Unobj2d в хранилище
if (num==0) //-- Ничего не создали
{
exit;
}
color 5;
i=0;
type=0;
loop:
i=i+1;
coun=GetUnObj2D(i+beg,type,arr);
if (type==0)
{
point arr[1],arr[2],0;
}
if (type==1)
{
line arr[1],arr[2],0 arr[3],arr[4],0 done;
}
if (type==2)
{
arc arr[1],arr[2],0 arr[3],arr[4],0 arr[5],arr[6],0 ;
}
putmsg("Type="+str(type));
putmsg(arr);
NULLOUT=initarray(arr,0);
if (i<num)
{
goto loop;
}
i=0;
loopi:
i=i+1;
FreeUnObj2D(i+beg)
if (i<num)
{
goto loopi;
}
exit;
Вернуть линию установки профиля
INT GetProfLine(OBJECT <Object>)
Функция GetProfLine возвращает в список UnObj2d элементы линии установки профиля <Object> и возвращает количество добавленных UnObj2d в список. Координаты UnObj2d даются в ЛСК объекта <Object>.