예제 #1
0
파일: Program.cs 프로젝트: Sidd710/tempRepo
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            FontManager.LoadDefaultFonts();
            PrinterManager.Start();
            MaterialManager.Start(true);
            UserProfileManager.Start();
            ProgressBarManager.InitialiseMain();
            RegistryManager.GetRegistryProfileSettings();
            PerformanceSettingsManager.Start();
            ServiceProvider.InitializeRenderEngine();

            string[] cmd = args;
            // cmd = Console.ReadLine().Trim().Split('/');

            Dictionary <string, string> keyValues = new Dictionary <string, string>();

            RetrieveKeyValues(cmd, keyValues);

            if (keyValues.ContainsKey("actiontype"))
            {
                var actionType = keyValues["actiontype"];
                //cmd.FirstOrDefault()
                switch (actionType.ToLower())
                {
                case "project":
                    if (cmd.Length > 1)
                    {
                        string filePath = cmd[1];
                        ServiceProvider.OpenProject(filePath);
                    }
                    break;

                case "materialselection":
                    ServiceProvider.ShowMaterials();
                    break;

                case "showprinters":
                    ServiceProvider.ShowPrinters();
                    break;

                case "materialmanager":
                    ServiceProvider.ShowMaterialManager();
                    break;

                case "calibration":
                    var printerId         = keyValues["printerid"];
                    var printerName       = keyValues["printername"];
                    var buildRoomSizePath = keyValues["netfabbbuildroomxml"];
                    var calibratedPrinter = ServiceProvider.CalibratePrinter(printerId, printerName);
                    File.WriteAllText(buildRoomSizePath, string.Format(Atum3D.CLI.Properties.Resources.PrinterCalibration_BuildRoomSize_XML,
                                                                       (calibratedPrinter.MaxBuildSizeX * calibratedPrinter.TrapeziumCorrectionFactorX).ToString(),
                                                                       (calibratedPrinter.MaxBuildSizeY * calibratedPrinter.TrapeziumCorrectionFactorY).ToString(),
                                                                       200.ToString()));


                    break;

                case "createprintjob":
                    var printJobPrinterId   = keyValues["printerid"];
                    var printJobPrinterName = keyValues["printername"];
                    var jobName             = keyValues["jobname"];
                    var jobPath             = keyValues["jobpath"];

                    ServiceProvider.GeneratePrintJob(printJobPrinterId, printJobPrinterName, jobName, jobPath);
                    break;
                }
            }
            Console.WriteLine("Please provide ActionType.");
        }