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."); }