📄 graficoview.cpp
字号:
beta=pDoc->ang2cNo1;
y=pDoc->acNo1;
a=pDoc->ANo1;
H=pDoc->altcNo1;
long or1,or2, or2y;
or1=pDoc->XPos+0;
or2=pDoc->YPos+0;
or2y = 420-pDoc->YPos;
pDC->SelectObject(filo);
pDC->SelectObject(herram);
POINT Vert[]={{or1,or2},{or1-a,or2-(tan(alfa*pi/180)*a)},{or1-a,or2-H},{or1+y-a,or2-H},{or1+y-a,or2-(tan(beta*pi/180)*(y-a))}};
pDC->Polygon (Vert,5);
// 5.2 PORTAHERRAMIENTA F(CUCHILLA)
pDC->SelectObject(lapizNar);
pDC->SelectObject(nclaro);
POINT Porta[]={{or1-a-10,or2-H},{or1-a+270,or2-H},{or1-a+280,or2-H-10},{or1-a+280,or2-H-510},{or1-a+270,or2-H-520},{or1-a-10,or2-H-520},{or1-a-20,or2-H-510},{or1-a-20,or2-H-10}};
pDC->Polygon(Porta,8);
pDC->SelectObject(nint);
pDC->Ellipse(or1-a+20,or2-H-60,or1-a+100,or2-H-140);
pDC->Ellipse(or1-a+20,or2-H-380,or1-a+100,or2-H-460);
pDC->SelectObject(nobsc);
pDC->Ellipse(or1-a+35,or2-H-75,or1-a+85,or2-H-125);
pDC->Ellipse(or1-a+35,or2-H-395,or1-a+85,or2-H-445);
pDC->Ellipse(or1-a+140,or2-H-60,or1-a+240,or2-H-160);
pDC->Ellipse(or1-a+140,or2-H-360,or1-a+240,or2-H-460);
if (pDoc->cargarTor==0)
{
// 3.1 MANDRIL
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aobsc);
long a, b;
a =-776;
b =210-10*4/2+10*4;//valores que se den cambiar segun las verdaderas coordenadas
POINT MandrillUP[]= {{a+0,b+0},{a+176,b+0},{a+176,b+21},{a+162,b+35},{a+176,b+49},{a+176,b+76},{a+130,b+76},{a+116,b+62},{a+102,b+76},{a+116,b+90},{a+116,b+137},{a+108,b+207},
{a+68,b+207},{a+54,b+193},{a+40,b+207},{a+54,b+221},{a+54,b+266},{a+46,b+331},{a+0,b+331}};
pDC->Polygon(MandrillUP,19);
a =-776;
b =210-10*4/2-331;
POINT MandrillDWN[]={{a,b},{a+46,b},{a+54,b+70},{a+54,b+115},{a+40,b+129},{a+54,b+143},{a+68,b+129},{a+108,b+129},{a+108,b+129},{a+108,b+194},{a+116,b+194},
{a+116,b+241},{a+102,b+255},{a+116,b+269},{a+130,b+255},{a+176,b+255},{a+176,b+282},{a+162,b+296},{a+176,b+310},{a+176,b+331},{a,b+331}};
pDC->Polygon(MandrillDWN,21);
pDC->SelectObject(lapizNar);
pDC->SelectObject(nclaro);
pDC->Rectangle (-1000, 610, -760, -190);
// 3.2 CONTRAPUNTO
a = 360;
b = 210;
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aobsc);
POINT ContraPto[] = {{a,b},{a+200,b+90},{a+230,b+90},{a+230,b-90},{a+200,b-90}};
pDC->Polygon(ContraPto,5);
a = 590;
b = 410;
pDC->SelectObject(lapizNar);
pDC->SelectObject(nobsc);
POINT ContraPto2[] = {{a,b-20},{a+20,b},{a+20,b-400},{a,b-380}};
pDC->Polygon(ContraPto2,4);
pDC->SelectObject(nclaro);
POINT ContraPto3[] = {{a+20,b},{a+330,b},{a+330,b-400},{a+20,b-400}};
pDC->Polygon(ContraPto3,4);
pDC->SelectObject(nobsc);
POINT ContraPto4[] = {{a+330,b},{a+350,b-20},{a+350,b-380},{a+330,b-400}};
pDC->Polygon(ContraPto4,4);
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aobsc);
POINT ContraPto5[] = {{a+350,b-150},{a+400,b-150},{a+400,b-250},{a+350,b-250}};
pDC->Polygon(ContraPto5,4);
}
if (pDoc->cargarTor==1)
{
// 4.1 ESCOGE EL MATERIAL
if (pDoc->material == 0)
{
pincel=new CBrush(RGB(145, 145, 145));
lapiz=new CPen(PS_SOLID,0,RGB(145, 145, 145));
}
if ( pDoc->material == 1)
{
pincel=new CBrush(RGB(185, 185, 185));
lapiz=new CPen(PS_SOLID,0,RGB(185, 185, 185));
}
if (pDoc->material == 2)
{
pincel=new CBrush(RGB(206,177,80));
lapiz=new CPen(PS_SOLID,0,RGB(206,177,80));
}
if (pDoc->material == 3)
{
pincel=new CBrush(RGB(205,105,5));
lapiz=new CPen(PS_SOLID,0,RGB(205,105,5));
}
if (pDoc->material == 4)
{
pincel=new CBrush(RGB(177, 203, 222));
lapiz=new CPen(PS_SOLID,0,RGB(177, 203, 222));
}
// 4.2 TOCHO F(MATERIAL)
pDC->SelectObject(pincel);
pDC->SelectObject(lapiz);
pDC->Rectangle(-600, 210-10*pDoc->diametro/2, -600+10*pDoc->largo, 210-10*pDoc->diametro/2+10*pDoc->diametro);//Medir las coordenadas reales con el CADTECH
pDC->Rectangle(-776,210-10*pDoc->diametro/2+10*pDoc->diametro,-600, 210-10*pDoc->diametro/2);
delete (pincel);
delete (lapiz);
// 4.3 MANDRIL F(TOCHO)
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aobsc);
long a, b;
a =-776;
b =210-10*pDoc->diametro/2+10*pDoc->diametro;//valores que se den cambiar segun las verdaderas coordenadas
POINT MandrillUP[]= {{a,b},{a+176,b},{a+176,b+21},{a+162,b+35},{a+176,b+49},{a+176,b+76},{a+130,b+76},{a+116,b+62},{a+102,b+76},{a+116,b+90},{a+116,b+137},{a+108,b+207},
{a+68,b+207},{a+54,b+193},{a+40,b+207},{a+54,b+221},{a+54,b+266},{a+46,b+331},{a+0,b+331}};
pDC->Polygon(MandrillUP,19);
b =210-10*pDoc->diametro/2-331;
POINT MandrillDWN[]={{a,b},{a+46,b},{a+54,b+70},{a+54,b+115},{a+40,b+129},{a+54,b+143},{a+68,b+129},{a+108,b+129},{a+108,b+129},{a+108,b+194},{a+116,b+194},
{a+116,b+241},{a+102,b+255},{a+116,b+269},{a+130,b+255},{a+176,b+255},{a+176,b+282},{a+162,b+296},{a+176,b+310},{a+176,b+331},{a,b+331}};
pDC->Polygon(MandrillDWN,21);
pDC->SelectObject(lapizNar);
pDC->SelectObject(nclaro);
pDC->Rectangle (-1000, 610, -760, -190);
// 4.4 CONTRAPUNTO F(TOCHO)
if (pDoc->largo > 70)
{
a = -600+10*pDoc->largo;
b = 210;
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aobsc);
POINT ContraPto[] = {{a,b},{a+200,b+90},{a+230,b+90},{a+230,b-90},{a+200,b-90}};
pDC->Polygon(ContraPto,5);
a = -370+10*pDoc->largo;
b = 410;
pDC->SelectObject(lapizNar);
pDC->SelectObject(nobsc);
POINT ContraPto2[] = {{a,b-20},{a+20,b},{a+20,b-400},{a,b-380}};
pDC->Polygon(ContraPto2,4);
pDC->SelectObject(nclaro);
POINT ContraPto3[] = {{a+20,b},{a+330,b},{a+330,b-400},{a+20,b-400}};
pDC->Polygon(ContraPto3,4);
pDC->SelectObject(nobsc);
POINT ContraPto4[] = {{a+330,b},{a+350,b-20},{a+350,b-380},{a+330,b-400}};
pDC->Polygon(ContraPto4,4);
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aobsc);
POINT ContraPto5[] = {{a+350,b-150},{a+400,b-150},{a+400,b-250},{a+350,b-250}};
pDC->Polygon(ContraPto5,4);
}
if (pDoc->largo<=70)
{
// 3.2 CONTRAPUNTO
a = 360;
b = 210;
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aobsc);
POINT ContraPto[] = {{a,b},{a+200,b+90},{a+230,b+90},{a+230,b-90},{a+200,b-90}};
pDC->Polygon(ContraPto,5);
a = 590;
b = 410;
pDC->SelectObject(lapizNar);
pDC->SelectObject(nobsc);
POINT ContraPto2[] = {{a,b-20},{a+20,b},{a+20,b-400},{a,b-380}};
pDC->Polygon(ContraPto2,4);
pDC->SelectObject(nclaro);
POINT ContraPto3[] = {{a+20,b},{a+330,b},{a+330,b-400},{a+20,b-400}};
pDC->Polygon(ContraPto3,4);
pDC->SelectObject(nobsc);
POINT ContraPto4[] = {{a+330,b},{a+350,b-20},{a+350,b-380},{a+330,b-400}};
pDC->Polygon(ContraPto4,4);
pDC->SelectObject(lapizAzul);
pDC->SelectObject(aobsc);
POINT ContraPto5[] = {{a+350,b-150},{a+400,b-150},{a+400,b-250},{a+350,b-250}};
pDC->Polygon(ContraPto5,4);
}
}
delete (lapizAzul);
delete (lapizNar);
delete (filo);
delete (aobsc);
delete (nclaro);
delete (nint);
delete (nobsc);
delete (herram);
}
/// SIMULACI覰
if (pDoc->simular==1 && pDoc->presentar==1 && pDoc->torno==1 && pDoc->cargarTor==1 && pDoc->cuchilla==1)
{
pDC->SetViewportOrg(rectClient.right / 2, rectClient.bottom / 1.5);
lapizAzul=new CPen(PS_SOLID,0,RGB(78,78,156));
lapizNar=new CPen(PS_SOLID,0,RGB(176,92,0));
aobsc=new CBrush(RGB(157,157,205));
nclaro=new CBrush(RGB(255,180,100));
nint=new CBrush(RGB(255,170,80));
nobsc=new CBrush(RGB(255,160,70));
lapiz2=new CPen(PS_SOLID,0,RGB(255,255,255));
borrar=new CBrush(RGB(255,255,255));
filo=new CPen(PS_SOLID,0,RGB(10,89,42));
herram=new CBrush(RGB(70,235,135));
if (pDoc->Inicio==1)
{
MessageBox("Bienvenido","Inicio del Programa",MB_OK);
}
// pDoc->cuchilla=0;
long p, q;
long alfa,beta,y,a,H,pi,or1,or2,or2y;
pi=3.1415925654;
alfa=pDoc->angcNo1;
beta=pDoc->ang2cNo1;
y=pDoc->acNo1;
a=pDoc->ANo1;
H=pDoc->altcNo1;
or1=p;
or2y = 420-pDoc->YPos;
int i, j, k = 10, v, xa;
v=1000000;
char charx[10], chary[10];
switch (pDoc->velocidad)
{
case 0:
v=5000000;
break;
case 1:
v=1000000;
break;
case 2:
v=500000;
break;
}
for(i=1; i<pDoc->nl;i++)
{
sprintf(charx, "%0.3f",pDoc->x[i]);
sprintf(chary, "%0.3f",pDoc->y[i]);
pDC->TextOut(600, 800, charx);
pDC->TextOut(600, 750, chary);
m = abs(pDoc->y[i]-pDoc->y[i-1]);
xa = abs(abs(pDoc->x[i]) - abs(pDoc->x[i-1]));
if (m <= 2 || xa>0.05)
{
p = k*pDoc->y[i-1];
q = -k*pDoc->x[i-1];
pDC->SelectObject (filo);
pDC->SelectObject(herram);
or1=pDoc->XPos+p;
or2=pDoc->YPos+q;
or2y = 420-pDoc->YPos-q;
POINT Vert[]={{or1,or2},{or1-a,or2-(tan(alfa*pi/180)*a)},{or1-a,or2-H},{or1+y-a,or2-H},{or1+y-a,or2-(tan(beta*pi/180)*(y-a))}};
pDC->Polygon (Vert,5);
pDC->SelectObject(lapizNar);
pDC->SelectObject(nclaro);
POINT Porta[]={{or1-a-10,or2-H},{or1-a+270,or2-H},{or1-a+280,or2-H-10},{or1-a+280,or2-H-510},{or1-a+270,or2-H-520},{or1-a-10,or2-H-520},{or1-a-20,or2-H-510},{or1-a-20,or2-H-10}};
pDC->Polygon(Porta,8);
pDC->SelectObject(nint);
pDC->Ellipse(or1-a+20,or2-H-60,or1-a+100,or2-H-140);
pDC->Ellipse(or1-a+20,or2-H-380,or1-a+100,or2-H-460);
pDC->SelectObject(nobsc);
pDC->Ellipse(or1-a+35,or2-H-75,or1-a+85,or2-H-125);
pDC->Ellipse(or1-a+35,or2-H-395,or1-a+85,or2-H-445);
pDC->Ellipse(or1-a+140,or2-H-60,or1-a+240,or2-H-160);
pDC->Ellipse(or1-a+140,or2-H-360,or1-a+240,or2-H-460);
for(j=0; j<v; j++);
pDC->SelectObject(lapiz2);
pDC->SelectObject(borrar);
POINT VertUP[]={{or1,or2y},{or1+y-a,or2y+(tan(beta*pi/180)*(y-a))},{or1+y-a,or2y+H},{or1-a,or2y+H},{or1-a,or2y+(tan(alfa*pi/180)*a)}};
pDC->Polygon (Vert,5);
pDC->Polygon (VertUP, 5);
p = k*pDoc->y[i];
q = -k*pDoc->x[i];
pDC->SelectObject (filo);
pDC->SelectObject(herram);
pDC->Polygon (Vert,5);
pDC->SelectObject (lapizNar);
pDC->SelectObject(nclaro);
pDC->Polygon(Porta,8);
pDC->SelectObject(nint);
pDC->Ellipse(or1-a+20,or2-H-60,or1-a+100,or2-H-140);
pDC->Ellipse(or1-a+20,or2-H-380,or1-a+100,or2-H-460);
pDC->SelectObject(nobsc);
pDC->Ellipse(or1-a+35,or2-H-75,or1-a+85,or2-H-125);
pDC->Ellipse(or1-a+35,or2-H-395,or1-a+85,or2-H-445);
pDC->Ellipse(or1-a+140,or2-H-60,or1-a+240,or2-H-160);
pDC->Ellipse(or1-a+140,or2-H-360,or1-a+240,or2-H-460);
for(j=0; j<v; j++);
pDC->SelectObject(lapiz2);
pDC->SelectObject(borrar);
pDC->Polygon (Vert,5);
pDC->Polygon(Porta,8);
pDC->Ellipse(or1-a+20,or2-H-60,or1-a+100,or2-H-140);
pDC->Ellipse(or1-a+20,or2-H-380,or1-a+100,or2-H-460);
pDC->Ellipse(or1-a+35,or2-H-75,or1-a+85,or2-H-125);
pDC->Ellipse(or1-a+35,or2-H-395,or1-a+85,or2-H-445);
pDC->Ellipse(or1-a+140,or2-H-60,or1-a+240,or2-H-160);
pDC->Ellipse(or1-a+140,or2-H-360,or1-a+240,or2-H-460);
pDC->Polygon (VertUP, 5);
continue;
}
if (m>2 && pDoc->y[i] > pDoc->y[i-1])
{
r = pDoc->y[i];
s = pDoc->y[i-1];
q = -k*pDoc->x[i-1];
for (n=s; n<r; n++)
{
p = k*(n);
pDC->SelectObject(filo);
pDC->SelectObject(herram);
or1=pDoc->XPos+p;
or2=pDoc->YPos+q;
or2y = 420-pDoc->YPos-q;
POINT Vert[]={{or1,or2},{or1-a,or2-(tan(alfa*pi/180)*a)},{or1-a,or2-H},{or1+y-a,or2-H},{or1+y-a,or2-(tan(beta*pi/180)*(y-a))}};
pDC->Polygon (Vert,5);
pDC->SelectObject(lapizNar);
pDC->SelectObject(nclaro);
POINT Porta[]={{or1-a-10,or2-H},{or1-a+270,or2-H},{or1-a+280,or2-H-10},{or1-a+280,or2-H-510},{or1-a+270,or2-H-520},{or1-a-10,or2-H-520},{or1-a-20,or2-H-510},{or1-a-20,or2-H-10}};
pDC->Polygon(Porta,8);
pDC->SelectObject(nint);
pDC->Ellipse(or1-a+20,or2-H-60,or1-a+100,or2-H-140);
pDC->Ellipse(or1-a+20,or2-H-380,or1-a+100,or2-H-460);
pDC->SelectObject(nobsc);
pDC->Ellipse(or1-a+35,or2-H-75,or1-a+85,or2-H-125);
pDC->Ellipse(or1-a+35,or2-H-395,or1-a+85,or2-H-445);
pDC->Ellipse(or1-a+140,or2-H-60,or1-a+240,or2-H-160);
pDC->Ellipse(or1-a+140,or2-H-360,or1-a+240,or2-H-460);
for(j=0; j<v; j++);
pDC->SelectObject(lapiz2);
pDC->SelectObject(borrar);
POINT VertUP[]={{or1,or2y},{or1+y-a,or2y+(tan(beta*pi/180)*(y-a))},{or1+y-a,or2y+H},{or1-a,or2y+H},{or1-a,or2y+(tan(alfa*pi/180)*a)}};
pDC->Polygon (Vert,5);
pDC->Polygon(Porta,8);
pDC->Ellipse(or1-a+20,or2-H-60,or1-a+100,or2-H-140);
pDC->Ellipse(or1-a+20,or2-H-380,or1-a+100,or2-H-460);
pDC->Ellipse(or1-a+35,or2-H-75,or1-a+85,or2-H-125);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -