Esempio n. 1
0
 public override bool WriteMb3(WriteCE3 writeCE3)
 {
     writeCE3.WriteRecord("+PPAGE_INFO");
     WriteMb3Member(writeCE3);
     writeCE3.WriteRecord("-PPAGE_INFO");
     return(true);
 }
Esempio n. 2
0
        /// <summary>
        /// Mb3ファイルへの書き込み
        /// </summary>
        /// <param name="writeCE3"></param>
        /// <returns></returns>
        public override bool WrMb3(WriteCE3 writeCE3, Point origin)
        {
            writeCE3.WriteRecord("+MBE_POLYGON");

            //ポリゴンが禁止マスクとして使われるときに、過去のバージョンで読み込んだときにトラブルになることをできるだけ避ける
            //以下の処理を行うことで、完全にコンパチブルではないが、不要な接続が発生するリスクは低減できる。
            if (restrictMask)
            {
                //posArray[0]は接続点。これを図面外に置く
                if (posArray.Length > 1)
                {
                    posArray[0] = new Point(posArray[1].X + 10000000, posArray[1].Y + 10000000);
                }
                //パターンギャップ、トレース幅は最小。フローティングパターンを削除する。プライオリティは最高。
                patternGap      = MIN_PATTERN_GAP;
                traceWidth      = MIN_TRACE_WIDTH;
                removeFloating  = true;
                fillingPriority = MAX_PRIORITY;
            }


            WrMb3Member(writeCE3, origin);
            writeCE3.WriteRecord("-MBE_POLYGON");
            writeCE3.WriteNewLine();
            return(true);
        }
Esempio n. 3
0
 /// <summary>
 /// WriteCE3クラスへメンバーの書き込み
 /// </summary>
 /// <param name="writeCE3">書き込み対象WriteCE3クラス</param>
 /// <param name="origin">書き込み時の原点</param>
 /// <returns>正常終了でtrue</returns>
 public override bool WrMb3Member(WriteCE3 writeCE3, Point origin)
 {
     base.WrMb3Member(writeCE3, origin);
     writeCE3.WriteNewLine();
     writeCE3.WriteRecordString("PACKAGE", packageName);
     writeCE3.WriteNewLine();
     writeCE3.WriteRecordString("REMARKS", remarksText);
     writeCE3.WriteNewLine();
     writeCE3.WriteRecordInt("ANGLEX10", AngleX10);
     writeCE3.WriteNewLine();
     writeCE3.WriteRecord("+REFNUM");
     writeCE3.WriteNewLine();
     refNum.WrMb3(writeCE3, origin);
     writeCE3.WriteRecord("-REFNUM");
     writeCE3.WriteNewLine();
     writeCE3.WriteRecord("+CONTENTS");
     writeCE3.WriteNewLine();
     if (contentsObj != null)
     {
         foreach (MbeObj obj in contentsObj)
         {
             obj.WrMb3(writeCE3, origin);
         }
     }
     writeCE3.WriteRecord("-CONTENTS");
     writeCE3.WriteNewLine();
     return(true);
 }
Esempio n. 4
0
 public virtual bool WriteMb3Member(WriteCE3 writeCE3)
 {
     writeCE3.WriteRecordString("S", MbeObjPin.GetPadShapeName(shape));
     writeCE3.WriteRecordInt("W", width);
     writeCE3.WriteRecordInt("H", height);
     return(true);
 }
Esempio n. 5
0
        /// <summary>
        /// WriteCE3クラスへメンバーの書き込み
        /// </summary>
        /// <param name="writeCE3">書き込み対象WriteCE3クラス</param>
        /// <param name="origin">書き込み時の原点</param>
        /// <returns>正常終了でtrue</returns>
        public override bool WrMb3Member(WriteCE3 writeCE3, Point origin)
        {
            //保存時は互換性のためにLineStyleのBending2を使わない。
            //Bending2のラインのときは始点終点を入れ替えて保存する。

            Point pt0 = this.GetPos(0);
            Point pt1 = this.GetPos(1);

            if (lineStyle == MbeLineStyle.Bending2)
            {
                SetPos(pt1, 0);
                SetPos(pt0, 1);
            }
            base.WrMb3Member(writeCE3, origin);
            writeCE3.WriteRecordInt("WIDTH", LineWidth);

            if (lineStyle == MbeLineStyle.Straight)
            {
                writeCE3.WriteRecordString("STYLE", lineStyleName[(int)MbeLineStyle.Straight]);
            }
            else
            {
                writeCE3.WriteRecordString("STYLE", lineStyleName[(int)MbeLineStyle.Bending1]);
            }
            if (lineStyle == MbeLineStyle.Bending2)
            {
                SetPos(pt0, 0);
                SetPos(pt1, 1);
            }
            return(true);
        }
Esempio n. 6
0
 public override bool WriteMb3(WriteCE3 writeCE3)
 {
     writeCE3.WriteRecord("+HOLE_INFO");
     writeCE3.WriteRecordInt("D", dia);
     writeCE3.WriteRecord("-HOLE_INFO");
     //writeCE3.WriteNewLine();
     return(true);
 }
Esempio n. 7
0
 public virtual bool WriteMb3Member(WriteCE3 writeCE3)
 {
     writeCE3.WriteRecordInt("A", (active? 1:0));
     writeCE3.WriteRecordInt("M", (mirror ? 1 : 0));
     writeCE3.WriteRecordString("N", name);
     writeCE3.WriteRecordUlong("L", checkvalue);
     return(true);
 }
Esempio n. 8
0
 public override bool WriteMb3(WriteCE3 writeCE3)
 {
     writeCE3.WriteRecord("+LINE_INFO");
     writeCE3.WriteRecordInt("W", width);
     writeCE3.WriteRecord("-LINE_INFO");
     //writeCE3.WriteNewLine();
     return(true);
 }
Esempio n. 9
0
 public override bool WriteMb3(WriteCE3 writeCE3)
 {
     writeCE3.WriteRecord("+LIB_INFO");
     writeCE3.WriteRecordString("P", libPath);
     writeCE3.WriteRecord("-LIB_INFO");
     //writeCE3.WriteNewLine();
     return(true);
 }
Esempio n. 10
0
 public virtual bool WriteMb3Member(WriteCE3 writeCE3)
 {
     writeCE3.WriteRecordInt("R", radius);
     writeCE3.WriteRecordInt("S", startAngle);
     writeCE3.WriteRecordInt("E", endAngle);
     writeCE3.WriteRecordInt("W", width);
     return(true);
 }
Esempio n. 11
0
 /// <summary>
 /// Mb3ファイルへの書き込み
 /// </summary>
 /// <param name="writeCE3"></param>
 /// <returns></returns>
 public override bool WrMb3(WriteCE3 writeCE3, Point origin)
 {
     writeCE3.WriteRecord("+MBE_COMPONENT");
     WrMb3Member(writeCE3, origin);
     writeCE3.WriteRecord("-MBE_COMPONENT");
     writeCE3.WriteNewLine();
     return(true);
 }
Esempio n. 12
0
 public override bool WriteMb3(WriteCE3 writeCE3)
 {
     writeCE3.WriteRecord("+POLYGON_INFO");
     writeCE3.WriteRecordInt("G", patternGap);
     writeCE3.WriteRecordInt("T", traceWidth);
     writeCE3.WriteRecord("-POLYGON_INFO");
     //writeCE3.WriteNewLine();
     return(true);
 }
Esempio n. 13
0
 /// <summary>
 /// WriteCE3クラスへメンバーの書き込み
 /// </summary>
 /// <param name="writeCE3">書き込み対象WriteCE3クラス</param>
 /// <param name="origin">書き込み時の原点</param>
 /// <returns>正常終了でtrue</returns>
 public override bool WrMb3Member(WriteCE3 writeCE3, Point origin)
 {
     base.WrMb3Member(writeCE3, origin);
     writeCE3.WriteRecordInt("WIDTH", LineWidth);
     writeCE3.WriteRecordInt("HEIGHT", TextHeight);
     writeCE3.WriteRecordInt("DIR", Dir);
     //writeCE3.WriteRecordInt("DIR", (Vertical ? 90:0));
     return(true);
 }
Esempio n. 14
0
 public override bool WriteMb3(WriteCE3 writeCE3)
 {
     writeCE3.WriteRecord("+GRID_INFO");
     writeCE3.WriteRecordInt("H", horizontal);
     writeCE3.WriteRecordInt("V", vertical);
     writeCE3.WriteRecordInt("HD", displayEvery);
     writeCE3.WriteRecord("-GRID_INFO");
     //writeCE3.WriteNewLine();
     return(true);
 }
Esempio n. 15
0
 /// <summary>
 /// Mb3ファイルへメンバーの書き込み
 /// </summary>
 /// <param name="writeCE3"></param>
 /// <returns></returns>
 public virtual bool WrMb3Member(WriteCE3 writeCE3, Point origin)
 {
     writeCE3.WriteRecordString("LAYER", MbeLayer.GetLayerName(layer));
     for (int i = 0; i < posCount; i++)
     {
         writeCE3.WriteRecordInt(string.Format("XPOS{0}", i), posArray[i].X - origin.X);
         writeCE3.WriteRecordInt(string.Format("YPOS{0}", i), posArray[i].Y - origin.Y);
     }
     writeCE3.WriteRecordString("SIGNAME", signame);
     return(true);
 }
Esempio n. 16
0
 /// <summary>
 /// WriteCE3クラスへメンバーの書き込み
 /// </summary>
 /// <param name="writeCE3">書き込み対象WriteCE3クラス</param>
 /// <param name="origin">書き込み時の原点</param>
 /// <returns>正常終了でtrue</returns>
 public override bool WrMb3Member(WriteCE3 writeCE3, Point origin)
 {
     posCount = 1;
     base.WrMb3Member(writeCE3, origin);
     posCount = 3;
     writeCE3.WriteRecordInt("WIDTH", LineWidth);
     writeCE3.WriteRecordInt("RADWIDTH", Radius);
     writeCE3.WriteRecordInt("S_ANGLE", StartAngle);
     writeCE3.WriteRecordInt("E_ANGLE", EndAngle);
     return(true);
 }
Esempio n. 17
0
 /// <summary>
 /// WriteCE3クラスへメンバーの書き込み
 /// </summary>
 /// <param name="writeCE3">書き込み対象WriteCE3クラス</param>
 /// <param name="origin">書き込み時の原点</param>
 /// <returns>正常終了でtrue</returns>
 public override bool WrMb3Member(WriteCE3 writeCE3, Point origin)
 {
     writeCE3.WriteRecordInt("POSCOUNT", posCount);
     writeCE3.WriteRecordInt("PTNGAP", patternGap);
     writeCE3.WriteRecordInt("TRACEWIDTH", traceWidth);
     writeCE3.WriteRecordInt("REMOVEFLOAT", (removeFloating == false?0:1));
     writeCE3.WriteRecordInt("RESTRICTMASK", (restrictMask == false ? 0 : 1));
     writeCE3.WriteRecordInt("FILLPRIORITY", fillingPriority);
     base.WrMb3Member(writeCE3, origin);
     //writeCE3.WriteRecordInt("WIDTH", LineWidth);
     //writeCE3.WriteRecordString("STYLE", lineStyleName[(int)lineStyle]);
     return(true);
 }
Esempio n. 18
0
 /// <summary>
 /// WriteCE3クラスへメンバーの書き込み
 /// </summary>
 /// <param name="writeCE3">書き込み対象WriteCE3クラス</param>
 /// <param name="origin">書き込み時の原点</param>
 /// <returns>正常終了でtrue</returns>
 public override bool WrMb3Member(WriteCE3 writeCE3, Point origin)
 {
     base.WrMb3Member(writeCE3, origin);
     writeCE3.WriteRecordInt("HEIGHT", Height);
     writeCE3.WriteRecordInt("WIDTH", Width);
     writeCE3.WriteRecordString("SHAPE", GetPadShapeName(shape));
     writeCE3.WriteRecordString("THMLRLF", GetThermalReliefTypeName(thermalRelief));
     writeCE3.WriteRecordString("PINNUM", PinNum);
     writeCE3.WriteRecordInt("SRMARGIN", SrMargin);
     if (no_ResistMask)
     {
         writeCE3.WriteRecordInt("NO_RM", 1);
     }
     return(true);
 }
Esempio n. 19
0
 /// <summary>
 /// WriteCE3クラスへメンバーの書き込み
 /// </summary>
 /// <param name="writeCE3">書き込み対象WriteCE3クラス</param>
 /// <param name="origin">書き込み時の原点</param>
 /// <returns>正常終了でtrue</returns>
 public override bool WrMb3Member(WriteCE3 writeCE3, Point origin)
 {
     base.WrMb3Member(writeCE3, origin);
     if (no_MM || no_ResistMask)
     {
         writeCE3.WriteRecordInt("NO_MM", 1);
     }
     //if (no_ResistMask) {
     //    writeCE3.WriteRecordInt("NO_RM", 1);
     //}
     //if (layer == MbeLayer.LayerValue.CMP || layer == MbeLayer.LayerValue.SOL) {
     //    writeCE3.WriteRecordInt("MMREDUCE", MmReduce);
     //}
     return(true);
 }
Esempio n. 20
0
 /// <summary>
 /// このクラスのMb3ファイルへの書き出し
 /// </summary>
 /// <param name="writeCE3"></param>
 /// <returns></returns>
 public virtual bool WrMb3(WriteCE3 writeCE3)
 {
     writeCE3.WriteRecord("+MBE_DOCINFO");
     writeCE3.WriteRecordInt("HEIGHT", sizeWorkArea.Height);
     writeCE3.WriteRecordInt("WIDTH", sizeWorkArea.Width);
     writeCE3.WriteRecordInt("DATAVERSION", DATA_VERSION);
     //writeCE3.WriteNewLine();
     //int count = MbeLayer.valueTable.Length;
     //for (int i = 0; i < count; i++) {
     //    if ((VisibleLayer & (ulong)MbeLayer.valueTable[i] )!=0) {
     //        writeCE3.WriteRecordString("VISIBLE", MbeLayer.nameTable[i]);
     //        writeCE3.WriteNewLine();
     //    }
     //}
     writeCE3.WriteRecord("-MBE_DOCINFO");
     writeCE3.WriteNewLine();
     return(true);
 }
Esempio n. 21
0
        /// <summary>
        /// Mb3ファイルへの書き込み
        /// </summary>
        /// <param name="writeCE3"></param>
        /// <returns></returns>
        public override bool WrMb3(WriteCE3 writeCE3, Point origin)
        {
            string tagString;

            if (layer == MbeLayer.LayerValue.CMP || layer == MbeLayer.LayerValue.SOL)
            {
                tagString = "MBE_PINSMD";
            }
            else
            {
                tagString = "MBE_FLASHMARK";
            }
            writeCE3.WriteRecord("+" + tagString);
            WrMb3Member(writeCE3, origin);
            writeCE3.WriteRecord("-" + tagString);
            writeCE3.WriteNewLine();
            return(true);
        }
Esempio n. 22
0
        /// <summary>
        /// MbeMyStdクラスの配列を文字列化
        /// </summary>
        /// <param name="infoArray"></param>
        /// <returns></returns>
        public static string SaveMyStdInfoArray(MbeMyStd[] infoArray)
        {
            StringBuilder strBuilder   = new StringBuilder();
            StringWriter  stringWriter = null;

            try {
                stringWriter = new StringWriter(strBuilder);
                WriteCE3 writeMb3 = new WriteCE3(stringWriter);
                foreach (MbeMyStd info in infoArray)
                {
                    info.WriteMb3(writeMb3);
                }
                stringWriter.Flush();
                string strBuff = strBuilder.ToString();
                return(strBuff);
            }
            catch (Exception) {
                return("");
            }
        }
Esempio n. 23
0
 /// <summary>
 /// Mb3ファイルへの書き込み
 /// </summary>
 /// <param name="writeCE3"></param>
 /// <returns></returns>
 public abstract bool WrMb3(WriteCE3 writeCE3, Point origin);
Esempio n. 24
0
 /// <summary>
 /// Mb3ファイルへメンバーの書き込み
 /// </summary>
 /// <param name="writeCE3"></param>
 /// <returns></returns>
 public override bool WrMb3Member(WriteCE3 writeCE3, Point origin)
 {
     base.WrMb3Member(writeCE3, origin);
     writeCE3.WriteRecordInt("DIA", Diameter);
     return(true);
 }
Esempio n. 25
0
 public override bool WriteMb3Member(WriteCE3 writeCE3)
 {
     base.WriteMb3Member(writeCE3);
     writeCE3.WriteRecordInt("D", dia);
     return(true);
 }
Esempio n. 26
0
 public abstract bool WriteMb3(WriteCE3 writeCE3);
Esempio n. 27
0
 public virtual bool WriteMb3Member(WriteCE3 writeCE3)
 {
     writeCE3.WriteRecordInt("H", textHeight);
     writeCE3.WriteRecordInt("W", lineWidth);
     return(true);
 }