private static double GetRoughIniDiameter(Profile2D profile2D, Tornitura.TipoTornitura tipoTornitura) { if (tipoTornitura == Tornitura.TipoTornitura.Esterna) { return(GetUpperDiameter(profile2D)); } return(GetLowestDiameter(profile2D)); }
internal static void GetFinishingProgram(PathGenerator.MoveActionCollection moveCollection, Profile2D profile2D, Tornitura.TipoTornitura tipoTornitura, double avvicinamento) { var s = profile2D.Source; var f = s.FirstOrDefault(); if (f == null) { return; } var iniP = f.GetFirstPnt(); moveCollection.AddLinearMove(MoveType.Rapid, AxisAbilited.Xyz, iniP.X + avvicinamento, iniP.Y, 0); foreach (var move in s) { if (move is Line2D) { var m = move as Line2D; var p = m.GetLastPnt(); moveCollection.AddLinearMove(MoveType.Work, AxisAbilited.Xyz, p.X, p.Y, 0); } else if (move is Arc2D) { var m = move as Arc2D; var p = m.GetLastPnt(); moveCollection.AddArcMove(AxisAbilited.Xyz, p.X, p.Y, 0, m.Radius, m.ClockWise, m.Center); } } moveCollection.AddLinearMove(MoveType.Rapid, AxisAbilited.Xyz, iniP.X + avvicinamento, null, null); }
internal static void GetRoughingTurnProgram(ProgramOperation programOperation, MoveActionCollection moveCollection, Profile2D profile2D, double profPassata, double avvicinamento, double stacco, Tornitura.TipoTornitura tipoTornitura, bool useMacro, double sovraX, double sovraZ) { // assumo che sia diametro esterno. if (CheckValueHelper.GreatherThanZero(new[] { profPassata, })) { return; } if (profile2D == null) { return; } if (useMacro) { var turnMacro = new MacroLongitudinalTurningAction(programOperation) { SovraMetalloX = sovraX, SovraMetalloZ = sovraZ, Profile = profile2D, ProfonditaPassata = profPassata, Distacco = stacco, TipologiaLavorazione = tipoTornitura, }; } switch (tipoTornitura) { case Tornitura.TipoTornitura.Esterna: { GetSgrossaturaEsterna(programOperation, moveCollection, profile2D, profPassata, avvicinamento, stacco); } break; case Tornitura.TipoTornitura.Interna: { GetSgrossaturaInterna(moveCollection, profile2D, profPassata, avvicinamento, stacco, useMacro); } break; } }