Пример #1
0
        internal void DownloadingMaterialsAsync(DAL.Hardware.AtumPrinter selectedPrinter)
        {
            //   MessageBox.Show("3");
            try
            {
                //     MessageBox.Show("4");
                var currentProgress = 5f;
                ProgressBarManager.UpdateOnlineMaterialPercentage(currentProgress);
                //   MessageBox.Show("5");

                var materialRootFileStream = string.Empty;
                if (selectedPrinter is DAL.Hardware.AtumDLPStation5 || selectedPrinter is DAL.Hardware.LoctiteV10)
                {
                    if (!DAL.ApplicationSettings.Settings.UseOfflineMaterialCatalog)
                    {
                        //use online catalog
                        switch (selectedPrinter.PrinterXYResolution)
                        {
                        case DAL.Hardware.AtumPrinter.PrinterXYResolutionType.Micron50:
                            materialRootFileStream = DownloadManager.DownloadString(BrandingManager.AdditiveManufacturingDeviceDLPStation5_XY50);
                            break;

                        case DAL.Hardware.AtumPrinter.PrinterXYResolutionType.Micron75:
                            materialRootFileStream = DownloadManager.DownloadString(BrandingManager.AdditiveManufacturingDeviceDLPStation5_XY75);
                            break;

                        case DAL.Hardware.AtumPrinter.PrinterXYResolutionType.Micron100:
                            materialRootFileStream = DownloadManager.DownloadString(BrandingManager.AdditiveManufacturingDeviceDLPStation5_XY100);
                            break;
                        }
                    }
                }
                else
                {
                    materialRootFileStream = DownloadManager.DownloadString(Properties.Settings.Default.atum3D_MaterialCatalog_AtumVxx);
                }


                var materialRootFile = new System.Xml.Serialization.XmlSerializer(typeof(MaterialCatalogDownloadAllFiles));
                materialRootFileStream = materialRootFileStream.Replace("&", "&");
                var materialRootDownloadFile = (MaterialCatalogDownloadAllFiles)materialRootFile.Deserialize(new StringReader(materialRootFileStream));

                if (materialRootDownloadFile != null)
                {
                    var materialDownloadPercentage = (float)(80f / materialRootDownloadFile.AvailableMaterialURLs.Count);

                    foreach (var materialDownloadFile in materialRootDownloadFile.AvailableMaterialURLs)
                    {
                        currentProgress = (currentProgress + materialDownloadPercentage);
                        if (currentProgress > 100)
                        {
                            currentProgress = 100;
                        }

                        ProgressBarManager.UpdateOnlineMaterialPercentage(currentProgress);

                        try
                        {
                            //download material
                            if ((int)materialDownloadFile.XYMicron == selectedPrinter.PrinterXYResolutionAsInt)
                            {
                                materialRootFileStream = DownloadManager.DownloadString(materialDownloadFile.URL);
                                materialRootFileStream = materialRootFileStream.Substring(materialRootFileStream.IndexOf('<'));
                                materialRootFileStream = materialRootFileStream.Replace("&", "&amp;");

                                var materialsBySupplierSerializer = new System.Xml.Serialization.XmlSerializer(typeof(MaterialsBySupplier));
                                var materialBySupplier            = (MaterialsBySupplier)materialsBySupplierSerializer.Deserialize(new StringReader(materialRootFileStream));
                                if (materialBySupplier != null && materialBySupplier.Materials.Count > 0)
                                {
                                    if (!this._allOnlineMaterials.ContainsKey((int)materialDownloadFile.XYMicron))
                                    {
                                        this._allOnlineMaterials.Add((int)materialDownloadFile.XYMicron, new MaterialsCatalog());
                                    }
                                    this._allOnlineMaterials[(int)materialDownloadFile.XYMicron].Add(materialBySupplier);
                                }
                            }
                        }
                        catch (Exception exc)
                        {
                        }
                    }
                }

                currentProgress = 100;
                ProgressBarManager.UpdateOnlineMaterialPercentage(currentProgress);
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
        }
Пример #2
0
 private void initProgressBar(int lIntSize)
 {
     mObjProgressBar = new ProgressBarManager(Application.SBO_Application, "En proceso, Espere...", lIntSize);
 }
Пример #3
0
        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.");
        }