fn EExecO0 &O X Y Att Sg1 Sg2 FM = ( if (X==undefined) or (Y==undefined) then return false if (X.OB=="P") and (Y.OB=="P") then ( if (X.W==1) and (Y.W==1) then ( TOLine_Create &O X.X X.Y 1 Y.X Y.Y 1 brn_Limited "sobstv" Att; AddInc O X AddInc O Y ) if (X.W==1) and (Y.W==0) then ( Dl=Sqrt ((Sqr Y.X.Re)+(Sqr Y.Y.Re)) if Dl>0 then ( S1=Y.Y.Re/Dl C1=Y.X.Re/Dl ) Df=Fi 0. 1. S1 C1 if Df<0. then Df=2.*Pi+Df Df=Df/Pi*180. C=Complex (X.X.Re+100.*Cos Df) 0. D=Complex (X.Y.Re+100.*Sin Df) 0. TOLine_Create &O X.X X.Y 1 C D 1 brn_Limited "sobstv" Att; AddInc O X AddInc O Y ) if (X.W==0) and (Y.W==1) then ( Dl=Sqrt ((Sqr X.X.Re)+(Sqr X.Y.Re)) if Dl>0 then ( S1=X.Y.Re/Dl C1=X.X.Re/Dl ) Df=Fi 0. 1. S1 C1 if Df<0. then Df=2.*Pi+Df Df=Df/Pi*180. C=Complex (Y.X.Re+100.*Cos Df) 0. D=Complex (Y.Y.Re+100.*Sin Df) 0. TOLine_Create &O Y.X Y.Y 1 C D 1 brn_Limited "sobstv" Att; AddInc O X AddInc O Y ) if (X.W==0) and (Y.W==0) then ( TOLine_Create &O X.X X.Y 0 Y.X Y.Y 0 brn_Limited "nesobstv" Att; AddInc O X AddInc O Y ) ) else if (Att.Chk==1) then TOEmpty_Create &O Att; return true ) -- EExecO0