public PanelProperties(GerberLibrary.GerberPanel ThePanel) { InitializeComponent(); ParentPanel = ThePanel; WidthBox.Value = (decimal)ParentPanel.TheSet.Width; HeightBox.Value = (decimal)ParentPanel.TheSet.Height; MarginBox.Value = (decimal)ParentPanel.TheSet.MarginBetweenBoards; ClipToOutlines.Checked = ParentPanel.TheSet.ClipToOutlines; filloffsetbox.Value = (decimal)ParentPanel.TheSet.FillOffset; smoothoffsetbox.Value = (decimal)ParentPanel.TheSet.Smoothing; ExtraTabDrillDistance.Value = (decimal)ParentPanel.TheSet.ExtraTabDrillDistance; FillEmpty.Checked = ParentPanel.TheSet.ConstructNegativePolygon; }
public PanelProperties(GerberLibrary.GerberPanel ThePanel) { InitializeComponent(); ParentPanel = ThePanel; WidthBox.Value = (decimal)ParentPanel.TheSet.Width; HeightBox.Value = (decimal)ParentPanel.TheSet.Height; MarginBox.Value = (decimal)ParentPanel.TheSet.MarginBetweenBoards; ClipToOutlines.Checked = ParentPanel.TheSet.ClipToOutlines; filloffsetbox.Value = (decimal)ParentPanel.TheSet.FillOffset; smoothoffsetbox.Value = (decimal)ParentPanel.TheSet.Smoothing; ExtraTabDrillDistance.Value = (decimal)ParentPanel.TheSet.ExtraTabDrillDistance; FillEmpty.Checked = ParentPanel.TheSet.ConstructNegativePolygon; noMouseBites.Checked = ParentPanel.TheSet.DoNotGenerateMouseBites; mergebyfiletypebox.Checked = ParentPanel.TheSet.MergeFileTypes; copyOutlineToTopSilkscreen.Checked = ParentPanel.TheSet.CopyOutlineToTopSilkscreen; }
static void Main(string[] args) { GerberLibrary.GerberPanel GP = new GerberLibrary.GerberPanel(); PanelSettings S = new PanelSettings(); string SettingsFile = ""; string InputFile = ""; if (args.Count() < 2) { Console.WriteLine("Usage:"); Console.WriteLine("AutoPanelBuilder.exe [--settings {file}]"); Console.WriteLine("\t[--files {filewithfolders}]"); Console.WriteLine("\t[--dumpsample]"); Console.WriteLine("\toutput_directory"); return; } Arguments NextArg = Arguments.None; for (int i = 0; i < args.Count() - 1; i++) { switch (NextArg) { case Arguments.SettingsFile: SettingsFile = args[i]; NextArg = Arguments.None; break; case Arguments.InputList: InputFile = args[i]; NextArg = Arguments.None; break; case Arguments.None: switch (args[i].ToLower()) { case "--settings": NextArg = Arguments.SettingsFile; break; case "--files": NextArg = Arguments.InputList; break; case "--dumpsample": { XmlSerializer SerializerObj = new XmlSerializer(typeof(PanelSettings)); TextWriter WriteFileStream = new StreamWriter("SettingDump.xml"); SerializerObj.Serialize(WriteFileStream, S); WriteFileStream.Close(); } break; } break; } } if (SettingsFile.Length > 0) { XmlSerializer SettingsSerialize = new XmlSerializer(typeof(PanelSettings)); FileStream ReadFileStream = null; try { ReadFileStream = new FileStream(SettingsFile, FileMode.Open, FileAccess.Read, FileShare.Read); // Load the object saved above by using the Deserialize function PanelSettings newset = (PanelSettings)SettingsSerialize.Deserialize(ReadFileStream); if (newset != null) { S = newset; } } catch (Exception) { } } if (InputFile.Length > 0) { foreach (var a in File.ReadAllLines(InputFile)) { var A = GP.AddGerberFolder(a); GP.AddInstance(a, new GerberLibrary.Core.Primitives.PointD(0, 0)); } } GP.TheSet.Width = S.Width; GP.TheSet.Height = S.Height; GP.TheSet.MarginBetweenBoards = S.MarginBetweenBoards; GP.TheSet.ConstructNegativePolygon = S.ConstructNegativePolygon; GP.TheSet.FillOffset = S.FillOffset; GP.TheSet.Smoothing = S.Smoothing; GP.TheSet.ExtraTabDrillDistance = S.ExtraTabDrillDistance; if (GP.MaxRectPack(GerberLibrary.MaxRectPacker.FreeRectChoiceHeuristic.RectBestAreaFit, 0, true)) { GerberLibrary.GerberArtWriter GAW2 = new GerberLibrary.GerberArtWriter(); GerberLibrary.GerberArtWriter GAW = new GerberLibrary.GerberArtWriter(); GP.BuildAutoTabs(GAW, GAW2); string basepath = args[args.Count() - 1]; Directory.CreateDirectory(Path.Combine(basepath, "output")); GP.SaveFile(Path.Combine(basepath, "panel.gerberset")); GP.SaveOutlineTo(basepath, "paneloutline"); GAW.Write(Path.Combine(basepath, "delaunay.gbr")); GAW2.Write(Path.Combine(basepath, "points.gbr")); // Console.ReadKey(); } }