private void ProcessAnalysisSolutionList(analysisSolutionList solutionList)
        {
            // load analysis
            CasePalletAnalysis analysis = LoadPalletAnalysis(null, solutionList.analysisId);

            if (solutionList.maxNumberOfSolutionsSpecified)
            {
                analysis.ConstraintSet.NumberOfSolutionsKept = (int)solutionList.maxNumberOfSolutions;
            }
            // compute solutions
            treeDiM.StackBuilder.Engine.CasePalletSolver solver = new treeDiM.StackBuilder.Engine.CasePalletSolver();
            solver.ProcessAnalysis(analysis);
            // instantiate pallet solution list
            PALLETSOLUTIONLIST palletSolutionList = new PALLETSOLUTIONLIST();

            // saves solutions to list
            foreach (CasePalletSolution sol in analysis.Solutions)
            {
                palletSolution xmlPalletSol = new palletSolution();
                xmlPalletSol.title      = sol.Title;
                xmlPalletSol.caseCount  = sol.CaseCount;
                xmlPalletSol.efficiency = sol.VolumeEfficiencyCases;
                xmlPalletSol.weight     = sol.PalletWeight;
                xmlPalletSol.palletDimensions.Add(sol.PalletLength);
                xmlPalletSol.palletDimensions.Add(sol.PalletWidth);
                xmlPalletSol.palletDimensions.Add(sol.PalletHeight);
                xmlPalletSol.homogeneousLayer = sol.HasHomogeneousLayers;

                palletSolutionList.palletSolution.Add(xmlPalletSol);
            }

            palletSolutionList.SaveToFile(solutionList.path);
        }
Esempio n. 2
0
        private void ProcessAnalysisSolutionList(analysisSolutionList solutionList)
        {
            // load analysis
            CasePalletAnalysis analysis = LoadPalletAnalysis(null, solutionList.analysisId);
            if (solutionList.maxNumberOfSolutionsSpecified)
                analysis.ConstraintSet.NumberOfSolutionsKept = (int)solutionList.maxNumberOfSolutions;
            // compute solutions
            treeDiM.StackBuilder.Engine.CasePalletSolver solver = new treeDiM.StackBuilder.Engine.CasePalletSolver();
            solver.ProcessAnalysis(analysis);
            // instantiate pallet solution list
            PALLETSOLUTIONLIST palletSolutionList = new PALLETSOLUTIONLIST();
            // saves solutions to list
            foreach (CasePalletSolution sol in analysis.Solutions)
            {
                palletSolution xmlPalletSol = new palletSolution();
                xmlPalletSol.title = sol.Title;
                xmlPalletSol.caseCount = sol.CaseCount;
                xmlPalletSol.efficiency = sol.VolumeEfficiencyCases;
                xmlPalletSol.weight = sol.PalletWeight;
                xmlPalletSol.palletDimensions.Add(sol.PalletLength);
                xmlPalletSol.palletDimensions.Add(sol.PalletWidth);
                xmlPalletSol.palletDimensions.Add(sol.PalletHeight);
                xmlPalletSol.homogeneousLayer = sol.HasHomogeneousLayers;

                palletSolutionList.palletSolution.Add(xmlPalletSol);
            }

            palletSolutionList.SaveToFile(solutionList.path);
        }