google.com, pub-6980195464912582, DIRECT, f08c47fec0942fa0

ЗДЕСЬ МОЖЕТ БЫТЬ ВАША РЕКЛАМА!

БАННЕР 500 х 90 тИЦ=10 PR=3
Просмотров более 5000 в месяц.
Цена 2000 рублей в месяц.
Деньги от рекламы идут на ВАШ инвестиционный счет в проекте СПИ
КРАУДФАНДИНГ!
Исполняем желания!
ВЛОЖИСЬ В БУДУЩЕЕ!

МАШИНОСТРОЕНИЕ И МЕТАЛЛООБРАБОТКА. САПР. CAD\CAM\CAE\PLM. ФОРУМ ИНЖЕНЕРОВ!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Графические функции на ActionScript 2.0

Сообщений 1 страница 4 из 4

1

Господа! При использовании этой библиотеки функций, представленных ниже
прошу делать ссылку на мое авторство, или в случае коммерческого ее
использования, делать мне отчисления. Процент отчислений обговаривается в каждом отдельном случае.

/////////////////////////////////////////////////////////////////////////////////////////
//Графическая библиотека примитивов Copyright (c) Турта В. 2006-2007
////////////////////////////////////////////////////////////////////////////////////////
//lineStyle(1,0x000000,100);
//beginFill(0x999999,100);

//Линия
//drawLine(0, 20, 100,50);

function drawLine(xn, yn, xk, yk)
{
moveTo(xn,yn);
lineTo(xk,yk);
}

//Прямоугольник
//drawRect(20, 70, 120,120);

function drawRect(xn, yn, xk, yk)
{
moveTo(xn,yn);
lineTo(xk,yn);
lineTo(xk,yk);
lineTo(xn,yk);
lineTo(xn,yn);
}

//Прямоугольник со скруглениями
//drawRoundRect(100, 150, 250,200,20);

function drawRoundRect(xn, yn, xk, yk,r)
{
moveTo(xn,yn+r);
lineTo(xn,yk-r);
curveTo(xn,yk,xn+r,yk);
lineTo(xk-r,yk);
curveTo(xk,yk,xk,yk-r);
lineTo(xk,yn+r);
curveTo(xk,yn,xk-r,yn);
lineTo(xn+r,yn);
curveTo(xn,yn,xn,yn+r);
//////////////////////////////////////////////////////////
LineStyle(1,0x777777,20);
moveTo(-xn*1.2,yn/2);
lineTo(xn*1.2,yn/2);
moveTo(xn/2,yn*1.2);
lineTo(xn/2,yn*1.2);
LineStyle(1,0x000000,100);
}

//Окружность для рисования
function drawCircle(priznak, x, y, r)
{
if(priznak=="rad")LineStyle(1,0x777777,20);//Рисуем оси
if(priznak=="move")lineStyle(1,0x990099,20);
if(priznak=="cir")lineStyle(1,0x000000,100);
    moveTo(x+r, y);
    curveTo(r+x, Math.tan(Math.PI/8)*r+y, Math.sin(Math.PI/4)*r+x,
Math.sin(Math.PI/4)*r+y);
    curveTo(Math.tan(Math.PI/8)*r+x, r+y, x, r+y);
    curveTo(-Math.tan(Math.PI/8)*r+x, r+y, -Math.sin(Math.PI/4)*r+x,
Math.sin(Math.PI/4)*r+y);
    curveTo(-r+x, Math.tan(Math.PI/8)*r+y, -r+x, y);
    curveTo(-r+x, -Math.tan(Math.PI/8)*r+y, -Math.sin(Math.PI/4)*r+x,
-Math.sin(Math.PI/4)*r+y);
    curveTo(-Math.tan(Math.PI/8)*r+x, -r+y, x, -r+y);
    curveTo(Math.tan(Math.PI/8)*r+x, -r+y, Math.sin(Math.PI/4)*r+x,
-Math.sin(Math.PI/4)*r+y);
    curveTo(r+x, -Math.tan(Math.PI/8)*r+y, r+x, y);

if(priznak=="cir")//Рисуем оси
{
LineStyle(1,0x777777,20);
moveTo(x-r*1.2,y);
lineTo(x+r*1.2,y);
moveTo(x,y-r*1.2);
lineTo(x,y+r*1.2);
}
//LineStyle(1,0x000000,100);
}

0

2

Еще добавлю функцию рисования дуги:

function drawArc(stang,endang,xk,yk,rdug)
{
//out=out+" st="+Math.round(stang)+" end="+Math.round(endang);
rezang=0;
if(stang>endang&&stang<6.26&&endang>=0)endang=6.28+endang;

//inp=inp+stang+" "+endang+"\n";
ydug=Math.sin(stang)*rdug;
xdug=Math.cos(stang)*rdug;
moveTo(xk+xdug,yk-ydug);

if(stang<endang)
{
//moveTo(xk+xdug,yk-ydug);
for(radian=stang;radian<endang;radian+=0.01)
{
ydug=Math.sin(radian)*rdug;
xdug=Math.cos(radian)*rdug;
lineTo(xk+xdug,yk-ydug);
}
}
}

0

3

Это функция защиты. Установив ее swf - файл будет запускаться только с вашего хостинга

///////////////// З А Щ И Т А  /////////////////////
myURL=_url;
okDomain="http://cadcamkbm.com/www/MobileQuickCAM3.swf";
if(myURL!=okDomain)
{
out="Работа не возможна! Вы нарушаете авторское право ";
}

0

4

Функция обработки DXF-файла на ActionScript:

arSplit=inp.split("\r");//разбиваем строку на массивы
beginArr=arSplit.length;
   
i=0;
    while(arSplit[i]!="ENTITIES")i++;//крутим до Entities
strin=arSplit.slice(i);//отсекаем все, что выше ENTITIES
endArr=strin.length; //Определяем длинну нового массива
//for(i=0;i<endArr-1;i++)inp=inp+strin[i]+"\r";
//out="beginArr="+beginArr+"   endArr="+endArr+"   i="+ i;
i=0;
inp="";//Очищаем окно
while(strin[i++]!="EOF")//крутим до END FILE
{
//=======================   A R C   =========================
if(strin[i]=="ARC")
    {
    arc++; all++;
    npp[m]=m; name[m]='a';
while(strin[++i]!=" 10");
if(strin[i]==" 10")xkrd[m]=parseFloat(strin[++i]);
if(strin[++i]==" 20")ykrd[m]=parseFloat(strin[++i]);
if(strin[++i]==" 30")zkrd[m]=parseFloat(strin[++i]);
if(strin[++i]==" 40")rad=parseFloat(strin[++i]);
if(strin[++i]==" 50")st_angl=parseFloat(strin[++i]);
if(strin[++i]==" 51")end_angl=parseFloat(strin[++i]);

//*  НАХОДИМ КООРДИНАТЫ НАЧАЛЬНОЙ И КОНЕЧНОЙ ТОЧЕК ДУГИ   *
if(st_angl<90&&st_angl>=0){st_y=(Math.sin(st_angl*0.017453)*rad);
                           st_y+=y_krd;
       st_x=(Math.cos(st_angl*0.017453)*rad);
       st_x+=x_krd;
          }
if(end_angl<90&&end_angl>=0){end_y=(Math.sin(end_angl*0.017453)*rad);
                           end_y+=y_krd;
       end_x=(Math.cos(end_angl*0.017453)*rad);
       end_x+=x_krd;
          }
if(st_angl<180&&st_angl>=90){st_y=(Math.sin((180-st_angl)*0.017453)*rad);
                              st_y+=y_krd;
          st_x=(Math.cos((180-st_angl)*0.017453)*rad);
          st_x=x_krd-st_x;
              }
if(end_angl<180&&end_angl>=90){end_y=(Math.sin((180-end_angl)*0.017453)*rad);
                             end_y+=y_krd;
         end_x=(Math.cos((180-end_angl)*0.017453)*rad);
         end_x=x_krd-end_x;
            }
if(st_angl<270&&st_angl>=180){st_y=(Math.sin((st_angl-180)*0.017453)*rad);
                            st_y=y_krd-st_y;
        st_x=(Math.cos((st_angl-180)*0.017453)*rad);
        st_x=x_krd-st_x;
            }
if(end_angl<270&&end_angl>=180){end_y=(Math.sin((end_angl-180)*0.017453)*rad);
                              end_y=y_krd-end_y;
          end_x=(Math.cos((end_angl-180)*0.017453)*rad);
          end_x=x_krd-end_x;
                  }
if(st_angl<360&&st_angl>=270){st_y=(Math.sin((360-st_angl)*0.017453)*rad);
                            st_y=y_krd-st_y;
        st_x=(Math.cos((360-st_angl)*0.017453)*rad);
        st_x=x_krd+st_x;
            }
if(end_angl<360&&end_angl>=270){end_y=(Math.sin((360-end_angl)*0.017453)*rad);
                              end_y=y_krd-end_y;
          end_x=(Math.cos((360-end_ang)*0.017453)*rad);
          end_x=x_krd+end_x;
              }
xst[m]=st_x;     //7
yst[m]=st_y;    //8
zst[m]=st_z;    //9
xen[m]=end_x;    //10
yen[m]=end_y;    //11
zen[m]=end_z;    //12
l_arc2[i]=l_arc[i]; //13
gipot2[i]=gipot[i]; //14

st_ang[m]=st_angl*0.017453;//переводим в радианы
end_ang[m]=end_angl*0.017453;
r[m]=rad;

m++;
}// END ARC

//=======================   L I N E   =========================
if(strin[i]=="LINE")
    {
lin++; all++; npp[m]=m; name[m]='l';
while(strin[++i]!=" 10");
if(strin[i]==" 10")xst[m]=parseFloat(strin[++i]);
if(strin[++i]==" 20")yst[m]=parseFloat(strin[++i]);
if(strin[++i]==" 30")zst[m]=parseFloat(strin[++i]);
if(strin[++i]==" 11")xen[m]=parseFloat(strin[++i]);
if(strin[++i]==" 21")yen[m]=parseFloat(strin[++i]);
if(strin[++i]==" 31")zen[m]=parseFloat(strin[++i]);
xkrd[m]=ykrd[m]=zkrd[m]=r[m]=l_arc[m]=-0.0001;
m++;
} // END LINE

//=======================   C I R C L E   =========================
if(strin[i]=="CIRCLE")
    {
cir++; all++; npp[m]=m; name[m]='c';
while(strin[++i]!=" 10");
if(strin[i]==" 10")xkrd[m]=parseFloat(strin[++i]);
if(strin[++i]==" 20")ykrd[m]=parseFloat(strin[++i]);
if(strin[++i]==" 30")zkrd[m]=parseFloat(strin[++i]);
if(strin[++i]==" 40")r[m]=parseFloat(strin[++i]);
xst[m]=yst[m]=zst[m]=xen[m]=yen[m]=zen[m]=l_arc[m]=-0.0001;
m++;
} // END CIRCLE

// =================   P O I N T   ===========================
if(strin[i]=="POINT")
    {
poi++; all++; npp[m]=m; name[m]='p';
while(strin[++i]!=" 10");
if(strin[i]==" 10")xst[m]=parseFloat(strin[++i]);
if(strin[++i]==" 20")yst[m]=parseFloat(strin[++i]);
if(strin[++i]==" 30")zst[m]=parseFloat(strin[++i]);
xkrd[m]=ykrd[m]=zkrd[m]=r[m]=l_arc[m]=-0.0001;
m++;   
} // END POINT
gipot[m]=0;
}//while(strin[i++]!="EOF")//крутим до END FILE

0