public override void SetOperationData(AbstractElectrodeCAM eleCam)
        {
            Dictionary <double, Face[]> slope = new Dictionary <double, Face[]>();

            if ((steep && isAll) || (!steep && isAll))
            {
                slope = eleCam.GetAllFaces();
            }
            else if (steep && !isAll)
            {
                slope = eleCam.GetSteepFaces();
            }
            else if (!steep && !isAll)
            {
                slope = eleCam.GetSlopeFaces();
            }

            slope.OrderBy(a => a.Key);
            for (int k = 0; k < slope.Count; k++)
            {
                if (k == 0)
                {
                    this.Inter = slope.Keys.ToArray()[k];
                    this.SetFaces(slope[this.Inter]);
                    this.SetCutLevel(eleCam.Analysis.BaseFace.BoxMinCorner);
                }
                else
                {
                    AbstractCreateOperation oper = this.CopyOperation(99);
                    oper.Inter = slope.Keys.ToArray()[k];
                    (oper as ZLevelMillingCreateOperation).SetFaces(slope[this.Inter]);
                    (oper as ZLevelMillingCreateOperation).SetCutLevel(eleCam.Analysis.BaseFace.BoxMinCorner);
                }
            }
        }
        public override void SetOperationData(AbstractElectrodeCAM eleCam)
        {
            Dictionary <double, Face[]> slope = new Dictionary <double, Face[]>();

            if (flat && isAll)
            {
                slope = eleCam.GetAllFaces();
            }
            else if (flat)
            {
                slope = eleCam.GetSlopeFaces();
            }
            else
            {
                slope = eleCam.GetFlatFaces();
            }
            slope.OrderBy(a => a.Key);
            for (int k = 0; k < slope.Count; k++)
            {
                if (k == 0)
                {
                    this.Inter = slope.Keys.ToArray()[k];
                    this.SetFaces(slope[this.Inter]);
                }
                else
                {
                    AbstractCreateOperation oper = this.CopyOperation(99);
                    oper.Inter = slope.Keys.ToArray()[k];
                    (oper as FlowCutCreateOperation).SetFaces(slope[this.Inter]);
                }
            }
        }