Esempio n. 1
0
        public void BuildPostBom()
        {
            BPost = new BOM();
            BOMNumberSet s = new BOMNumberSet();

            switch (FlipBoard)
            {
            case FlipMode.NoFlip:
                FixOffset = new PointD(Set.BoundingBox.TopLeft.X, Set.BoundingBox.TopLeft.Y);
                break;

            case FlipMode.FlipDiagonal:
                FixOffset = new PointD(Set.BoundingBox.TopLeft.X, Set.BoundingBox.TopLeft.Y);
                break;

            case FlipMode.FlipHorizontal:
                FixOffset = new PointD(Set.BoundingBox.TopLeft.X, Set.BoundingBox.TopLeft.Y);
                break;
            }

            BPost.MergeBOM(B, s, 0, 0, -FixOffset.X, -FixOffset.Y, 0);

            FixSet = new GerberImageCreator();
            FixSet.CopyFrom(Set);

            switch (FlipBoard)
            {
            case FlipMode.NoFlip:
                FixSet.SetBottomLeftToZero();
                break;

            case FlipMode.FlipDiagonal:
                FixSet.SetBottomRightToZero();
                FixSet.FlipXY();
                FixSet.Translate(0, FixSet.BoundingBox.Height());
                BPost.SwapXY();
                BPost.FlipSides();
                //                    BPost.Translate(0, FixSet.BoundingBox.Height());
                break;

            case FlipMode.FlipHorizontal:
                FixSet.SetBottomRightToZero();
                FixSet.FlipX();
                BPost.FlipSides();
                BPost.FlipX();
                BPost.Translate(FixSet.BoundingBox.Width(), 0);
                break;
            }
            BPost.FixupAngles(StockDoc);
            BPost.WriteJLCPnpFile(B.OriginalBasefolder, B.OriginalPnpName + "_rotated", true);
            BPost.WriteQuantPnPFiles(B.OriginalBasefolder, B.OriginalPnpName + "_QUANTSET");
            BPost.WriteQuantBOMFile(B.OriginalBasefolder, B.OriginalPnpName + "_QUANTSET");

            BPost.WriteRefDesGerber(Path.Combine(B.OriginalBasefolder, B.OriginalPnpName + "_refdes.gbr"));
        }