public void UnionMove(UnionMoveInfo moveInfo, string axisType) { if (moveInfo.X.HasValue && moveInfo.Y.HasValue) { decimal actPosX = Contra.GetActPosX(axisType); isXPlus = moveInfo.X.Value >= actPosX; decimal actPosY = Contra.GetActPosY(axisType); isYPlus = moveInfo.Y.Value >= actPosY; CtrlCard.Sym_AbsoluteLine2(AxisSet.AxisX, AxisSet.AxisY, GetMovePosition("X", moveInfo.X, actPosX, Contra.LogPosX, isXPlus != isOldXPlus, isOldXPlus, out jianxiX), GetMovePosition("Y", moveInfo.Y, actPosY, Contra.LogPosY, isYPlus != isOldYPlus, isOldYPlus, out jianxiY), Contra.StartSpeed, (int)AxisSet.SpeedXPerSecond, Contra.AddSpeedTime); isOldXPlus = isXPlus; isOldYPlus = isYPlus; } if (moveInfo.W.HasValue && moveInfo.A.HasValue) { decimal actPosW = Contra.GetActPosW(axisType); isWPlus = moveInfo.W.Value >= actPosW; decimal actPosA = Contra.GetActPosA(axisType); isAPlus = moveInfo.A.Value >= actPosA; CtrlCard.Sym_AbsoluteLine2(AxisSet.AxisW, AxisSet.AxisZ, GetMovePosition("W", moveInfo.W, actPosW, Contra.LogPosW, isWPlus != isOldWPlus, isOldWPlus, out jianxiW), GetMovePosition("A", moveInfo.A, actPosA, Contra.LogPosA, isAPlus != isOldAPlus, isOldAPlus, out jianxiA), Contra.StartSpeed, (int)AxisSet.SpeedWPerSecond, Contra.AddSpeedTime); isOldWPlus = isWPlus; isOldAPlus = isAPlus; } if (moveInfo.B.HasValue && moveInfo.C.HasValue) { decimal actPosB = Contra.GetActPosB(axisType); isBPlus = moveInfo.B.Value >= actPosB; decimal actPosC = Contra.GetActPosC(axisType); isCPlus = moveInfo.C.Value >= actPosC; CtrlCard.Sym_AbsoluteLine2(AxisSet.AxisB, AxisSet.AxisC, GetMovePosition("B", moveInfo.B, actPosB, Contra.LogPosB, isBPlus != isOldBPlus, isOldBPlus, out jianxiB), GetMovePosition("C", moveInfo.C, actPosC, Contra.LogPosC, isCPlus != isOldCPlus, isOldCPlus, out jianxiC), Contra.StartSpeed, (int)AxisSet.SpeedWPerSecond, Contra.AddSpeedTime); isOldWPlus = isWPlus; isOldAPlus = isAPlus; } }
public static BaseInfo CreateBaseInfoByString(string line) { line = line.ToUpper(); BaseInfo info = null; try { if (In(line, HeadType.G90, HeadType.G91)) { info = new HeadInfo(line); } else if (In(line, HeadType.G0)) { info = new SingleMoveInfo(line); } else if (In(line, HeadType.G1)) { info = new UnionMoveInfo(line); } else if (In(line, HeadType.M21)) { info = new M21Info(line); } else if (In(line, HeadType.Start)) { info = new StartInfo(line); } else if (In(line, HeadType.M30)) { info = new EndInfo(line); } else if (In(line, HeadType.M98)) { info = new ChildInfo(line); } else if (In(line, HeadType.M99)) { info = new OtherInfo(line); } else { throw new Exception(); } } catch (Exception) { throw new WarningException(L.R("BaseInfoCollection.NotAnalyse", "行{0}未能解析!"), line); } return(info); }
private void UnionMove(UnionMoveInfo info) { card.UnionMove(info, this.tabShow.SelectedTabPage.Text); }