示例#1
0
 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()));
     }
 }
示例#2
0
 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()));
     }
 }
示例#3
0
        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());
        }