fn EExecD00 &Out_Prm X Y Z Att Sg1 Sg2 Sg3 FM = ( if (X==undefined) or (Y==undefined) or (Z==undefined) then return false -- if Att.LV in [drw_Limited,drw_Opposite] then Att.LV:=drw_UnLimited; local Radius, XCentr, YCentr if (((X.OB=="C") or (X.OB=="D")) and ((Y.OB=="C") or (Y.OB=="D")) and ((Z.OB=="C") or (Z.OB=="O") or (Z.OB=="D"))) then ( if (X.OB=="C") then XCentr=Complex (Sg1*X.C.Re) (X.C.Im); if (Y.OB=="C") then YCentr=Complex (Sg2*Y.C.Re) (Y.C.Im); if (X.OB=="D") then XCentr=Complex (Sg1*X.XC.Re) (X.XC.Im); if (Y.OB=="D") then YCentr=Complex (Sg2*Y.YC.Re) (Y.YC.Im); if (Z.OB=="C") then Radius= Z.C; if (Z.OB=="O") then -- and (TOLine(Z).Oatt.LV=0) ( Radius=Complex (Sqrt(Sqr(Z.X2.Re-Z.X1.Re)+Sqr(Z.Y2.Re-Z.Y1.Re))) 0 ) if (Z.OB=="D") then Radius=Z.R; TODuga_Create &Out_Prm XCentr YCentr Radius (XCentr.Re+Radius.Re) YCentr.Re (XCentr.Re+Radius.Re) YCentr.Re Att5 Out_Prm.Vid=circ_full; ) else if (Att.Chk==1) then TOEmpty_Create &Out_Prm Att return true ) -- EExecD00