private item BuildItem(AnalysisLayered analysis) { if (analysis is AnalysisCasePallet analysisCasePallet) { Packable packable = analysisCasePallet.Content; ConstraintSetCasePallet constraintSet = analysisCasePallet.ConstraintSet as ConstraintSetCasePallet; bool[] orient = constraintSet.AllowedOrientations; StringBuilder sbOrient = new StringBuilder(); foreach (bool b in orient) { sbOrient.Append(b ? "1" : "0"); } return(new item() { id = 1, name = packable.Name, length = packable.OuterDimensions.X, width = packable.OuterDimensions.Y, height = packable.OuterDimensions.Z, weight = packable.Weight, maxWeightOnTop = 0.0, permittedOrientations = sbOrient.ToString() }); } else { throw new Exception(string.Format("Unexpected analysis type : {0}", analysis.GetType())); } }
private loadSpace BuildLoadSpace(AnalysisLayered analysis) { if (analysis is AnalysisCasePallet analysisCasePallet) { PalletProperties palletProperties = analysisCasePallet.PalletProperties; ConstraintSetCasePallet constraintSet = analysisCasePallet.ConstraintSet as ConstraintSetCasePallet; return(new loadSpace() { id = 1, name = palletProperties.Name, length = palletProperties.Length, width = palletProperties.Width, baseHeight = palletProperties.Height, maxLengthOverhang = constraintSet.Overhang.X, maxWidthOverhang = constraintSet.Overhang.Y, maxLoadHeight = constraintSet.OptMaxHeight.Activated ? constraintSet.OptMaxHeight.Value : 0.0, maxLoadWeight = constraintSet.OptMaxWeight.Activated ? constraintSet.OptMaxWeight.Value : 0.0 }); } else { throw new Exception(string.Format("Unexpected analysis type : {0}", analysis.GetType())); } }
private item[] BuildItemArray(AnalysisLayered analysis) { Packable packable = analysis.Content; List <item> items = new List <item>(); int itemIndex = 0; // case ? if (analysis is AnalysisCasePallet analysisCasePallet) { ConstraintSetCasePallet constraintSet = analysisCasePallet.ConstraintSet as ConstraintSetCasePallet; bool[] orient = constraintSet.AllowedOrientations; StringBuilder sbOrient = new StringBuilder(); foreach (bool b in orient) { sbOrient.Append(b ? "1" : "0"); } items.Add( new item() { id = ++itemIndex, name = packable.Name, length = packable.OuterDimensions.X, width = packable.OuterDimensions.Y, height = packable.OuterDimensions.Z, weight = packable.Weight, maxWeightOnTop = 0.0, permittedOrientations = sbOrient.ToString() } ); } // cylinder ? else if (analysis is AnalysisCylinderPallet analysisCylinderPallet) { items.Add( new item() { id = ++itemIndex, name = packable.Name, length = packable.OuterDimensions.X, width = packable.OuterDimensions.Y, height = packable.OuterDimensions.Z, maxWeightOnTop = 0.0, permittedOrientations = "001" } ); } else { throw new Exception($"Unexpected analysis type : {analysis.GetType()}"); } // interlayers OffsetIndexInterlayers = itemIndex + 1; foreach (var interlayer in analysis.Interlayers) { items.Add( new item() { id = ++itemIndex, name = interlayer.Name, length = interlayer.Length, width = interlayer.Width, height = interlayer.Thickness, weight = interlayer.Weight } ); } return(items.ToArray()); }