コード例 #1
0
        public ElectrodeBomBuilder(ElectrodeInfo info, AssembleModel assemble)
        {
            this.info = info;
            foreach (ElectrodeModel model in assemble.Electrodes)
            {
                if (model.EleInfo.EleName == info.EleName)
                {
                    Model.Add(model);
                }
            }
            foreach (WorkModel wk in assemble.Works)
            {
                if (wk.WorkNumber == Model[0].WorkNumber)
                {
                    work = wk;
                }
            }
            EletrodePreparation pre;

            if (info.Material.Equals("紫铜"))
            {
                pre = new EletrodePreparation("CuLength", "CuWidth");
            }
            else
            {
                pre = new EletrodePreparation("WuLength", "WuWidth");
            }
            int[] temp = new int[2] {
                info.Preparation[0], info.Preparation[1]
            };
            info.IsPreparation = pre.IsPreCriterion(temp);
        }
コード例 #2
0
        /// <summary>
        /// 获取备料尺寸
        /// </summary>
        /// <param name="oldPre"></param>
        /// <param name="oldPitch"></param>
        /// <param name="newPitch"></param>
        /// <returns></returns>
        public int[] GetNewPreparation(int[] oldPre, string material)
        {
            EletrodePreparation pre;
            double x = Math.Floor((newPitch.PitchX) * (newPitch.PitchXNum) - (oldPitch.PitchX) * (oldPitch.PitchXNum));
            double y = Math.Floor((newPitch.PitchY) * (newPitch.PitchYNum) - (oldPitch.PitchY) * (oldPitch.PitchYNum));

            oldPre[0] = oldPre[0] + (int)x;
            oldPre[1] = oldPre[1] + (int)y;
            if (material.Equals("紫铜"))
            {
                pre = new EletrodePreparation("CuLength", "CuWidth");
            }
            else
            {
                pre = new EletrodePreparation("WuLength", "WuWidth");
            }
            pre.GetPreparation(ref oldPre);
            return(oldPre);
        }
コード例 #3
0
        public static int[] GetPreparation(double x, int xNumber, double y, int yNumber, string material, ElectrodeInfo eleInfo)
        {
            Point3d oldPt = new Point3d(eleInfo.Preparation[0], eleInfo.Preparation[1], eleInfo.Preparation[2]);

            if (eleInfo.PitchX != 0 && eleInfo.PitchXNum > 1)
            {
                oldPt.X = oldPt.X - eleInfo.PitchX * (eleInfo.PitchXNum - 1);
            }
            if (eleInfo.PitchY != 0 && eleInfo.PitchYNum > 1)
            {
                oldPt.Y = oldPt.Y - eleInfo.PitchY * (eleInfo.PitchYNum - 1);
            }
            Point3d newPt = new Point3d(oldPt.X, oldPt.Y, oldPt.Z);

            if (x != 0 && xNumber > 1)
            {
                newPt.X = oldPt.X + x * (xNumber - 1);
            }
            if (y != 0 && yNumber > 1)
            {
                newPt.Y = oldPt.Y + y * (yNumber - 1);
            }
            int[] temp = new int[3] {
                (int)newPt.X, (int)newPt.Y, (int)newPt.Z
            };
            EletrodePreparation pre;

            if (material.Equals("紫铜"))
            {
                pre = new EletrodePreparation("CuLength", "CuWidth");
            }
            else
            {
                pre = new EletrodePreparation("WuLength", "WuWidth");
            }
            pre.GetPreparation(ref temp);
            return(temp);
        }