-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathacabado.m
113 lines (100 loc) · 3.6 KB
/
acabado.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
function [Results] = acabado( pasadas,n,param,geom,Results)
%ACABADO Pasada final de acabado
% el portaherramientas retorna al origen pasando por el contorno
% resultado de las operaciones de desbaste, y lleva a cabo una trayectoria
% final con la profundidad de pasada de acabado.
tramos = geom.tramos;
% Acabado previo:
% la herramienta recorre la trayectoria a la profundida de desbaste
% (todavia no esta haciendo la pasada de acabado) y vuelve al origen
for p=2:length(tramos(:,1))
xini=tramos(p-1,2);
xfin=tramos(p,2);
yini=tramos(p-1,4);
yfin=tramos(p,4);
intervalos = 4*max(abs(xfin-xini),abs(yfin-yini));
pasox=(xfin-xini)/intervalos;
pasoy=(yfin-yini)/intervalos;
for i=1:intervalos
x=xini+i*pasox; y=yini+i*pasoy;
plot(x,y,'or','MarkerSize',5,'MarkerFaceColor','r')
axis([-5 5+max(tramos(1,3),tramos(end,2)) -5 5+max(tramos(1,3),tramos(end,2))])
line([xini,x],[yini,y])
for k=1:n
line([pasadas(k,1),pasadas(k,2)],[pasadas(k,3),pasadas(k,4)],'Color',[.8 .8 .8])
end
monitorizar=calculos(param,geom,y,2,abs(xfin-xini)+abs(yfin-yini),1);
pieza(geom,monitorizar);
pause(0.00000001)
end
end %for tramos
[Results] = datos(monitorizar,Results);
% Vuelta al origen
xini=x;
xfin=0;
yini=y;
yfin=0;
intervalos = max(abs(xfin-xini),abs(yfin-yini));
pasox=(xfin-xini)/intervalos;
pasoy=(yfin-yini)/intervalos;
for i=1:intervalos
x=xini+i*pasox; y=yini+i*pasoy;
plot(x,y,'or','MarkerSize',5,'MarkerFaceColor','r')
axis([-5 5+max(tramos(1,3),tramos(end,2)) -5 5+max(tramos(1,3),tramos(end,2))])
line([xini,x],[yini,y],'Color','g')
for k=1:n
line([pasadas(k,1),pasadas(k,2)],[pasadas(k,3),pasadas(k,4)],'Color',[.8 .8 .8])
end
monitorizar=calculos(param,geom,y,2,abs(xfin-xini)+abs(yfin-yini),3);
pieza(geom,monitorizar);
pause(0.00000001)
end
[Results] = datos(monitorizar,Results);
% Ahora SI comienza el ACABADO
% Penetracion acabado
xini=x;
yini=y;
yfin=tramos(1,3);
intervalos = 4*abs(yfin-yini);
pasoy=(yfin-yini)/intervalos;
for i=1:intervalos
y=yini+i*pasoy;
plot(x,y,'or','MarkerSize',5,'MarkerFaceColor','r')
axis([-5 5+max(tramos(1,3),tramos(end,2)) -5 5+max(tramos(1,3),tramos(end,2))])
line([xini,x],[yini,y])
for k=1:n
line([pasadas(k,1),pasadas(k,2)],[pasadas(k,3),pasadas(k,4)],'Color',[.8 .8 .8])
end
monitorizar=calculos(param,geom,y,2,abs(xfin-xini)+abs(yfin-yini),4);
pieza(geom,monitorizar);
pause(0.00000001)
end
[Results] = datos(monitorizar,Results);
% ACABADO
for p=1:length(tramos(:,1))
xini=tramos(p,1);
xfin=tramos(p,2);
yini=tramos(p,3);
yfin=tramos(p,4);
intervalos = 4*max(abs(xfin-xini),abs(yfin-yini));
pasox=(xfin-xini)/intervalos;
pasoy=(yfin-yini)/intervalos;
for i=1:intervalos
x=xini+i*pasox; y=yini+i*pasoy;
plot(x,y,'or','MarkerSize',5,'MarkerFaceColor','r')
axis([-5 5+max(tramos(1,3),tramos(end,2)) -5 5+max(tramos(1,3),tramos(end,2))])
line([xini,x],[yini,y])
for k=1:n
line([pasadas(k,1),pasadas(k,2)],[pasadas(k,3),pasadas(k,4)],'Color',[.8 .8 .8])
end
if p>1
for l=1:p-1
line([tramos(l,1),tramos(l,2)],[tramos(l,3),tramos(l,4)],'Color','m')
end
end
monitorizar=calculos(param,geom,y,2,abs(xfin-xini)+abs(yfin-yini),1);
pieza(geom,monitorizar);
pause(0.00000001)
end
[Results] = datos(monitorizar,Results);
end % mecaniza