private void OnBestCombinationClicked(object sender, EventArgs e) { try { Packable packable = cbCases.SelectedType as Packable; PalletProperties palletProperties = cbPallets.SelectedType as PalletProperties; if (null == packable || null == palletProperties) { return; } // get best combination List <KeyValuePair <LayerDesc, int> > listLayer = new List <KeyValuePair <LayerDesc, int> >(); LayerSolver.GetBestCombination( packable.OuterDimensions, new Vector2D(palletProperties.Length + 2.0 * uCtrlOverhang.ValueX, palletProperties.Width + 2.0 * uCtrlOverhang.ValueY), BuildConstraintSet(), ref listLayer); // select best layers List <LayerDesc> listLayerDesc = new List <LayerDesc>(); foreach (KeyValuePair <LayerDesc, int> kvp in listLayer) { listLayerDesc.Add(kvp.Key); } uCtrlLayerList.SelectLayers(listLayerDesc); } catch (Exception ex) { _log.Error(ex.ToString()); } }
private void OnBestCombinationClicked(object sender, EventArgs e) { try { // get box & case if (!(cbBoxes.SelectedType is PackableBrick packable) || !(cbCases.SelectedType is BoxProperties caseProperties)) { return; } var constraintSet = BuildConstraintSet(); // get best combination var listLayer = new List <KeyValuePair <LayerEncap, int> >(); LayerSolver.GetBestCombination( packable.OuterDimensions, packable.Bulge, caseProperties.GetStackingDimensions(constraintSet), constraintSet, ref listLayer); if (0 == listLayer.Count) { _log.Warn("Failed to find a single valid layer"); return; } // select best layer List <LayerDesc> layerDesc = new List <LayerDesc>(); foreach (var kvp in listLayer) { layerDesc.Add(kvp.Key.LayerDesc); } uCtrlLayerList.SelectLayers(layerDesc); _item = _document.CreateNewAnalysisBoxCase( ItemName, ItemDescription , SelectedBoxProperties, SelectedCase , new List <InterlayerProperties>() , BuildConstraintSet() , listLayer ); Close(); } catch (Exception ex) { _log.Error(ex.ToString()); } }
private void OnBestCombinationClicked(object sender, EventArgs e) { try { Packable packable = cbCases.SelectedType as Packable; PalletProperties palletProperties = cbPallets.SelectedType as PalletProperties; if (null == packable || null == palletProperties) { return; } ConstraintSetAbstract constraintSet = BuildConstraintSet(); // get best combination List <KeyValuePair <LayerDesc, int> > listLayer = new List <KeyValuePair <LayerDesc, int> >(); LayerSolver.GetBestCombination( packable.OuterDimensions, palletProperties.GetStackingDimensions(constraintSet), constraintSet, ref listLayer); // select best layers List <LayerDesc> listLayerDesc = new List <LayerDesc>(); foreach (KeyValuePair <LayerDesc, int> kvp in listLayer) { listLayerDesc.Add(kvp.Key); } uCtrlLayerList.SelectLayers(listLayerDesc); _item = _document.CreateNewAnalysisCasePallet( ItemName, ItemDescription , SelectedPackable, SelectedPallet , new List <InterlayerProperties>() , null, null, null , BuildConstraintSet() , listLayer ); Close(); } catch (Exception ex) { _log.Error(ex.ToString()); } }