Пример #1
0
        //private bool no_ResistMask;    //レジストを開けない
        //public bool No_ResistMask
        //{
        //    get { return no_ResistMask; }
        //    set { no_ResistMask = value; }
        //}


        /// <summary>
        /// コピーコンストラクタ
        /// </summary>
        /// <param name="mbeObjPin"></param>
        public MbeObjPinSMD(MbeObjPinSMD mbeObjPinSmd)
            : base(mbeObjPinSmd)
        {
            mmreduce = mbeObjPinSmd.mmreduce;
            no_MM    = mbeObjPinSmd.no_MM;
            //no_ResistMask = mbeObjPinSmd.no_ResistMask;
        }
Пример #2
0
        /// <summary>
        /// ReadCE3のストリームから、startWordで始まるMbeObjを読み取る
        /// </summary>
        /// <param name="readMb3"></param>
        /// <param name="startWord"></param>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static ReadCE3.RdStatus ReadMbeObj(ReadCE3 readMb3, string startWord, out MbeObj obj)
        {
            ReadCE3.RdStatus result = ReadCE3.RdStatus.NoError;
            obj = null;
            if (startWord == "+MBE_HOLE")
            {
                obj = new MbeObjHole();
            }
            else if (startWord == "+MBE_PTH")
            {
                obj = new MbeObjPTH();
            }
            else if (startWord == "+MBE_PINSMD")
            {
                obj = new MbeObjPinSMD(true);
            }
            else if (startWord == "+MBE_FLASHMARK")
            {
                obj = new MbeObjPinSMD(false);
            }
            else if (startWord == "+MBE_LINE")
            {
                obj = new MbeObjLine();
            }
            else if (startWord == "+MBE_POLYGON")
            {
                obj = new MbeObjPolygon();
            }
            else if (startWord == "+MBE_TEXT")
            {
                obj = new MbeObjText();
            }
            else if (startWord == "+MBE_ARC")
            {
                obj = new MbeObjArc();
            }
            else if (startWord == "+MBE_COMPONENT")
            {
                obj = new MbeObjComponent();
            }
            else
            {
                string strSkipTo = "-" + startWord.Substring(1);
                readMb3.SkipTo(strSkipTo);
            }

            if (obj != null)
            {
                result = obj.RdMb3(readMb3);
                if (result != ReadCE3.RdStatus.NoError)
                {
                    obj = null;
                }
            }
            return(result);
        }
Пример #3
0
        /// <summary>
        /// SMD Padのプロパティ編集ダイアログの起動
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="editPinNumberMode"></param>
        /// <returns></returns>
        private bool EditPropertySMDPad(MbeObjPinSMD obj, bool editPinNumberMode)
        {
            if (obj.Layer == MbeLayer.LayerValue.PLC || obj.Layer == MbeLayer.LayerValue.PLS)
            {
                editPinNumberMode = false;
            }

            SetSMDPadForm dlg = new SetSMDPadForm();

            dlg.LandHeight    = obj.PadSize.Height;
            dlg.LandWidth     = obj.PadSize.Width;
            dlg.Shape         = obj.Shape;
            dlg.No_metalMask  = obj.No_MM;
            dlg.No_resistMask = obj.No_ResistMask;
            if (editPinNumberMode)
            {
                dlg.PinNumber            = obj.PinNum;
                dlg.EditPinNumberMode    = true;
                dlg.ThermalReliefSetting = obj.ThermalRelief;
            }
            DialogResult retv = dlg.ShowDialog();

            if (retv == DialogResult.OK)
            {
                obj.PadSize       = new Size(dlg.LandWidth, dlg.LandHeight);
                obj.Shape         = dlg.Shape;
                obj.ThermalRelief = dlg.ThermalReliefSetting;
                obj.No_MM         = dlg.No_metalMask;
                obj.No_ResistMask = dlg.No_resistMask;
                if (editPinNumberMode)
                {
                    obj.PinNum = dlg.PinNumber;
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #4
0
        /// <summary>
        /// 複製を行う
        /// </summary>
        /// <returns></returns>
        public override MbeObj Duplicate()
        {
            MbeObj newObj = new MbeObjPinSMD(this);

            return(newObj);
        }