/// <summary> /// 计算旋转后位置 /// </summary> /// <param name="usingPlatform">哪边</param> /// <param name="X">相机中心位置</param> /// <param name="Y"></param> /// <param name="Sx">焊头位置</param> /// <param name="Sy"></param> /// <param name="Sr"></param> /// <param name="Ang"></param> /// <param name="Tx"></param> /// <param name="Ty"></param> public static void Transorm(int ID, float X, float Y, float Sx, float Sy, float Ang, out float Tx, out float Ty) { TeachingMechinePra mechinePra = new TeachingMechinePra(); PointF rotateCur = new PointF(); rotateCur.X = Sx; rotateCur.Y = Sy; //装换前的角度和位置 PointF rotateC = new PointF(); //旋转中心 double r = 0; mechinePra = ProjectData.Instance.SaveData.SolderPlatform[ID].teachingMechine; r = Ang; rotateC.X = X - mechinePra.RotatePstionCameraSize.X; rotateC.Y = Y - mechinePra.RotatePstionCameraSize.Y; double radius = mechinePra.Radius;//圆心半径 Circle circle = new Circle(rotateC, (float)radius); PointF pos = circle.Rotate(rotateCur, r); Tx = pos.X; Ty = pos.Y; }
public Frm_Machine(BoardCtrllerManager movedriverZm, TeachingMechinePra TeachingMechinePra, UsingPlatformSelect usingPlatform) { InitializeComponent(); this.movedriverZm = movedriverZm; this.TeachingMechine = TeachingMechinePra; if (usingPlatform == UsingPlatformSelect.Left) { this.xID = (int)AxisDef.AxX1; this.yID = (int)AxisDef.AxY1; this.zID = (int)AxisDef.AxZ1; this.rID = (int)AxisDef.AxR1; this.tID = (int)AxisDef.AxT1; _id = 0; SafeZ = FormMain.RunProcess.LogicData.slaverData.basics.Safe_ZL; } else { this.xID = (int)AxisDef.AxX2; this.yID = (int)AxisDef.AxY2; this.zID = (int)AxisDef.AxZ2; this.rID = (int)AxisDef.AxR2; this.tID = (int)AxisDef.AxT2; _id = 1; SafeZ = FormMain.RunProcess.LogicData.slaverData.basics.Safe_ZR; } Binding(); }
public SolderPlatformPara() { machineSolder = new PointF2(); machineSoldercamera = new PointF2(); ResetPos = new PointF4(); EndPos = new PointF4(); teachingMechine = new TeachingMechinePra(); UseR = false; PerTimesClean = 1; }