/// <summary> /// Se non è già definito, /// sssegna il valore e tipologia sia di avanzamento che di velocita al movimento. /// </summary> /// <param name="action"></param> public void SettaValoreAvanzamento(LinearMoveAction action) { if (action.ParametriTaglio != null) { return; } ParametroVelocita parametroVelocita; var finded = FeedDictionary.TryGetValue(action.MoveType, out parametroVelocita); if (!finded) { //todo - gestire mancato avanzamento } action.ParametriTaglio = parametroVelocita; }
internal virtual LinearMoveAction MultiplyMatrix(Matrix3D rotationMatrix) { if (AxisAbilited == AxisAbilited.Z || !(X.HasValue && Y.HasValue)) { return(this); } // coordinate dovrebbere essere note entrambi if (!X.HasValue || !Y.HasValue) { throw new Exception("LinearAction.MuliplyMatrix"); } var rsltLine = new LinearMoveAction(this); var rotatedPnt = Geometry.GeometryHelper.MultiplyPoint(new Geometry.Point3D(X.Value, Y.Value, 0), rotationMatrix); rsltLine.X = rotatedPnt.X; rsltLine.Y = rotatedPnt.Y; return(rsltLine); }
private LinearMoveAction(LinearMoveAction linearMove) : base(null) { // clonare.. MoveType = linearMove.MoveType; }
/// <summary> /// Metodo per aggiungere azione /// </summary> /// <param name="action"></param> public void AggiungiAzioneMovimento(LinearMoveAction action) { SettaValoreAvanzamento(action); Azioni.Add(action); }