public static void GenerateDefaultCaseImage(Vector3D dimCase, Size imgSize, int number, CaseAlignement caseAlignment, string filename)
        {
            Size     imgSizeTotal = new Size();
            Vector2D ptMin        = Vector2D.Zero;
            Vector2D ptMax        = Vector2D.Zero;

            switch (caseAlignment)
            {
            case CaseAlignement.SHARING_LENGTH:
                imgSizeTotal = new Size(imgSize.Width, number * imgSize.Height);
                ptMax        = new Vector2D(dimCase.X, number * dimCase.Y);
                break;

            case CaseAlignement.SHARING_WIDTH:
                imgSizeTotal = new Size(imgSize.Width * number, imgSize.Height);
                ptMax        = new Vector2D(number * dimCase.X, dimCase.Y);
                break;

            default: break;
            }

            var bProperties = new BoxProperties(null, dimCase.X, dimCase.Y, dimCase.Z)
            {
                TapeWidth = new treeDiM.Basics.OptDouble(true, 50.0),
                TapeColor = Color.Tan
            };

            bProperties.SetAllColors(Enumerable.Repeat(Color.Beige, 6).ToArray());

            MultiCaseImageGenerator imageGenerator = new MultiCaseImageGenerator(imgSizeTotal, ptMin, ptMax);
            Bitmap bmp = imageGenerator.GenerateCaseImage(bProperties, number, caseAlignment);

            bmp.Save(filename);
        }
        public static void GenerateDefaultPalletImage(Vector3D dimPallet, string typeName, Size imgSize, string filename)
        {
            // instantiate pallet
            var palletProperties = new PalletProperties(null, typeName, dimPallet.X, dimPallet.Y, dimPallet.Z);

            MultiCaseImageGenerator imageGenerator = new MultiCaseImageGenerator(imgSize, Vector2D.Zero, new Vector2D(dimPallet.X, dimPallet.Y));
            Bitmap bmp = imageGenerator.GeneratePalletImage(palletProperties);

            bmp.Save(filename);
        }