コード例 #1
0
ファイル: GerberFile.cs プロジェクト: HoangHaUI/Stancil
        public static GerberFile GetNewGerber(string ID, string Path, float DPI, Size FOV)
        {
            if (Path == null)
            {
                return(null);
            }
            GerberFile gerber = new GerberFile();
            FileInfo   fi     = new FileInfo(Path);

            SPI_AOI.Utils.GerberRenderResult renderResults = SPI_AOI.Utils.GerberUtils.Render(fi.FullName, DPI, Color.White, Color.Black);
            if (renderResults.Status == SPI_AOI.Utils.ActionStatus.Fail)
            {
                return(null);
            }
            gerber.ModelID               = ID;
            gerber.GerberID              = Utils.GetNewID();
            gerber.FileName              = fi.Name;
            gerber.FilePath              = fi.FullName;
            gerber.Color                 = Color.FromArgb(255, 0, 0);
            gerber.Visible               = true;
            gerber.Angle                 = 0;
            gerber.OrgGerberImage        = renderResults.GerberImage;
            gerber.ProcessingGerberImage = gerber.OrgGerberImage.Copy();
            gerber.FileData              = File.ReadAllBytes(fi.FullName);
            gerber.ROI       = new Rectangle();
            gerber.SelectPad = Rectangle.Empty;
            gerber.MarkPoint = new Mark(gerber.GerberID);
            gerber.ResetMark();
            gerber.StartPoint = SPI_AOI.Utils.StartPoint.TOP_LEFT;
            gerber.UpdatePadItems();
            gerber.UpdateFOV(FOV);
            gerber.LinkPadWidthFov(FOV);
            return(gerber);
        }
コード例 #2
0
ファイル: GerberFile.cs プロジェクト: HoangHaUI/Stancil
        public void LoadGerber(float DPI, Size FOV)
        {
            FileInfo fi = new FileInfo(this.FilePath);

            if (!Directory.Exists("TempPath"))

            {
                Directory.CreateDirectory("TempPath");
            }
            File.WriteAllBytes("TempPath/" + this.FileName, this.FileData);
            SPI_AOI.Utils.GerberRenderResult renderResults = SPI_AOI.Utils.GerberUtils.Render("TempPath/" + this.FileName, DPI, Color.White, Color.Black);
            File.Delete("TempPath/" + this.FileName);
            if (renderResults.Status == SPI_AOI.Utils.ActionStatus.Fail)
            {
                return;
            }
            this.OrgGerberImage = renderResults.GerberImage;
            SetAngle(this.Angle, FOV, false);
        }