示例#1
0
        //Bill of Material
        public override void Build()
        {
            Part part;

            decimal pweight = FrameWorks.Functions.PanelWieghtS2000(m_subAssemblyWidth, m_subAssemblyHieght);

            string labelStileR  = string.Empty;
            string labelStileL  = string.Empty;
            string labelTopRail = string.Empty;
            string labelBotRail = string.Empty;

            #region BrzTB3inch

            ////////////////////////////////////////////////////////////////////////////////////

            // StileLeft
            part = new Part(4312, "StileLeft", this, 1, m_subAssemblyHieght);
            part.PartGroupType = "BrzTB3inch";
            part.PartLabel     = "1) Miter_Ends";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////////

            // StileRight
            part = new Part(4312, "StileRight", this, 1, m_subAssemblyHieght);
            part.PartGroupType = "BrzTB3inch";
            part.PartLabel     = "1) Miter_Ends";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////////

            // RailTop
            part = new Part(4312, "RailTop", this, 1, m_subAssemblyWidth);
            part.PartGroupType = "BrzTB3inch";
            part.PartLabel     = "1) Miter_Ends ";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////////

            // RailBot
            part = new Part(4312, "RailBot", this, 1, m_subAssemblyWidth);
            part.PartGroupType = "BrzTB3inch";
            part.PartLabel     = "1) Miter_Ends ";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////////

            #endregion

            #region HDPE

            ////////////////////////////////////////////////////////////////////////////////////

            // HDPELockEdge
            part = new Part(4269, "HDPELockEdge", this, 1, m_subAssemblyHieght + hdpExtnd);
            part.PartGroupType = "HDPE-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = labelStileL = "";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////////

            // HDPEHingEdge
            part = new Part(4268, "HDPEHingEdge", this, 1, m_subAssemblyHieght + hdpExtnd);
            part.PartGroupType = "HDPE-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = labelStileL = "";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////////

            // HDPETop
            part = new Part(4269, "HDPETop", this, 1, m_subAssemblyWidth + 2.0m * hdpExtnd);
            part.PartGroupType = "HDPE-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = labelStileR = "";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////////

            // HDPEBot
            part = new Part(4270, "HDPEBot", this, 1, m_subAssemblyWidth + 2.0M * hdpExtnd);
            part.PartGroupType = "HDPE-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = labelStileR = "";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////////

            #endregion

            #region Muntin

            //////////////////////////////////////////////////////////////////////////////

            // BrzMntHrz6Lt
            for (int i = 0; i < 4; i++)
            {
                part = new Part(4313, "BrzMntHrz6Lt", this, 1, m_subAssemblyWidth - muntStileRedX2);
                part.PartGroupType = "Muntin-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";
                m_parts.Add(part);
            }

            /////////////////////////////////////////////////////////////////////////////////

            // BrzMntVrt6Lt
            for (int i = 0; i < 6; i++)
            {
                part = new Part(4313, "BrzMntVrt6Lt", this, 1, (m_subAssemblyHieght - muntStileRedX2 - muntHeightX2) / 3.0m);
                part.PartGroupType = "Muntin-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";
                m_parts.Add(part);
            }

            /////////////////////////////////////////////////////////////////////////////////

            #endregion

            #region StopBrz

            ////////////////////////////////////////////////////////////////////////////////

            // BrzGlsStpVert
            part = new Part(4298, "BrzGlsStpVert", this, 2, m_subAssemblyHieght - stopReduceX2);
            part.PartGroupType = "StopBrz-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = "";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////

            // BrzGlsStpTopBot
            part = new Part(4298, "BrzGlsStpTopBot", this, 2, m_subAssemblyWidth - stopReduceX2);
            part.PartGroupType = "StopBrz-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = "";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////

            // BrzSpacerStpVert
            part = new Part(4317, "BrzSpacerStpVert", this, 2, m_subAssemblyHieght - stopReduceX2);
            part.PartGroupType = "StopBrz-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = "";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////

            // BrzSpacerStpTopBot
            part = new Part(4317, "BrzSpacerStpTopBot", this, 2, m_subAssemblyWidth - stopReduceX2);
            part.PartGroupType = "StopBrz-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = "";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////

            #endregion

            #region Glass6SDL

            /////////////////////////////////////////////////////////////////////////////////////////////

            // 6 ADL GlassPanel
            part = new Part(2137);
            part.FunctionalName    = "Gls6ADL";
            part.PartGroupType     = "Glass6SDL-Parts";
            part.Qnty              = 1;
            part.ContainerAssembly = this;
            part.PartWidth         = (m_subAssemblyWidth - glsDrGapX2);
            part.PartLength        = (m_subAssemblyHieght - glsDrGapX2);
            part.PartThick         = 0.5625m;
            m_parts.Add(part);

            //////////////////////////////////////////////////////////////////////////////////////////////

            #endregion

            #region AssyBrackets

            ////////////////////////////////////////////////////////////////////////////////////

            //SS_0.4525_TYPE1
            part = new Part(4408, "SS_0.4525_TYPE1", this, 4, 0.0m);
            part.PartGroupType = "AssyBrackets-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = "";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////////

            //SS_0.6637 _TYPE2
            part = new Part(4409, "SS_0.6637 _TYPE2", this, 8, 0.0m);
            part.PartGroupType = "AssyBrackets-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = "";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////////

            //SS_1.0346_TYPE3
            part = new Part(4410, "SS_1.0346_TYPE3", this, 8, 0.0m);
            part.PartGroupType = "AssyBrackets-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = "";
            m_parts.Add(part);

            ////////////////////////////////////////////////////////////////////////////////////

            #endregion

            #region HardWare Logic

            /////////////////////////////////////////////////////////////////////////////////////////////////////

            // TOP_PIVOT_WLKNG_BM
            part = new Part(3933, "TOP_PIVOT_WLKNG_BM", this, 1, 0.0m);
            part.PartGroupType = "HardWare";
            part.PartLabel     = "WB_PIVOT";
            m_parts.Add(part);

            /////////////////////////////////////////////////////////////////////////////////////////////////////

            // TOP_PIVOT_COVER
            part = new Part(4417, "TOP_PIVOT_COVER", this, 1, 0.0m);
            part.PartGroupType = "HardWare";
            part.PartLabel     = "BRASS_COVER";
            m_parts.Add(part);

            /////////////////////////////////////////////////////////////////////////////////////////////////////

            // FLOOR_CLOSER_90°
            part = new Part(3929, "FLOOR_CLOSER_90°", this, 1, 0.0m);
            part.PartGroupType = "HardWare";
            part.PartLabel     = "FLOOR_CLOSER_90°";
            m_parts.Add(part);

            /////////////////////////////////////////////////////////////////////////////////////////////////////

            // BTM_ARM_CNTR_PVT
            part = new Part(3932, "BTM_ARM_CNTR_PVT", this, 1, 0.0m);
            part.PartGroupType = "HardWare";
            part.PartLabel     = "BOTTOM_PIVOT_ARM";
            m_parts.Add(part);

            /////////////////////////////////////////////////////////////////////////////////////////////////////

            // SPINDLE_LHR
            part = new Part(2350, "SPINDLE_RHR", this, 1, 0.0m);
            part.PartGroupType = "HardWare";
            part.PartLabel     = "DETERMINE_HEIGHT";
            m_parts.Add(part);

            /////////////////////////////////////////////////////////////////////////////////////////////////////

            //AmesburyMultipointPassive

            FrameWorks.Makes.Hardware.Amesbury.Premiere2000.MultipointPassive GearAssy =
                new FrameWorks.Makes.Hardware.Amesbury.Premiere2000.MultipointPassive(m_subAssemblyHieght, this);
            foreach (Part innerpart in GearAssy.Parts)
            {
                //inner
                this.Parts.Add(innerpart);
            }

            //////////////////////////////////////////////////////////////////////////////////////////////////////

            //SwivSpin
            part = new Part(5329, "SwivSpin", this, 1, 0.0m);
            part.PartGroupType = "HardWare-Parts";
            part.PartLabel     = "";
            m_parts.Add(part);

            //////////////////////////////////////////////////////////////////////////////////////////////////////

            #endregion

            #region Seal/Weatherstripping

            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
            for (int i = 0; i < 1; i++)
            {
                decimal periSeal = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth);
                //KfolDrEdge
                part = new Part(2274, "KfolDrEdge", this, 1, periSeal - m_subAssemblyWidth + 4.0m * edgeSealAdd);
                part.PartGroupType = "Seal-Parts";
                part.PartLabel     = "";
                m_parts.Add(part);
            }

            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            //DoorBotPVC
            part = new Part(1518, "DoorBotPVC", this, 1, m_subAssemblyWidth + 2.0m * hdpExtnd);
            part.PartGroupType = "Seal-Parts";
            part.PartLabel     = "";
            m_parts.Add(part);

            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            for (int i = 0; i < 1; i++)
            {
                decimal periSeal = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth);
                //EPDMpreSet
                part = new Part(4314, "EPDMpreSet", this, 1, periSeal - epdmReduce);
                part.PartGroupType = "Seal-Parts";
                part.PartLabel     = "";
                m_parts.Add(part);
            }

            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            for (int i = 0; i < 1; i++)
            {
                decimal periSeal = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth);
                //WedgEPDM
                part = new Part(4284, "WedgEPDM", this, 1, periSeal - epdmReduce);
                part.PartGroupType = "Seal-Parts";
                part.PartLabel     = "";
                m_parts.Add(part);
            }

            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            #endregion
        }
        //Bill of Material
        public override void Build()
        {
            Part part;

            decimal pweight = FrameWorks.Functions.PanelWieghtS2000(m_subAssemblyWidth, m_subAssemblyHieght);

            string labelStileR  = string.Empty;
            string labelStileL  = string.Empty;
            string labelTopRail = string.Empty;
            string labelBotRail = string.Empty;


            #region Brz385_LowP


            ////////////////////////////////////////////////////////////////////////////////////

            // StileLeft
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4072, "StileLeft", this, 1, m_subAssemblyHieght);
                part.PartGroupType = "Brz385_LowP";
                part.PartLabel     = "1) Miter_Ends";
                m_parts.Add(part);
            }



            // StileRight
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4072, "StileRight", this, 1, m_subAssemblyHieght);
                part.PartGroupType = "Brz385_LowP";
                part.PartLabel     = "1) Miter_Ends";

                m_parts.Add(part);
            }



            // RailTop
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4072, "RailTop", this, 1, m_subAssemblyWidth);
                part.PartGroupType = "Brz385_LowP";
                part.PartLabel     = "1) Miter_Ends ";

                m_parts.Add(part);
            }



            // RailBot
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4072, "RailBot", this, 1, m_subAssemblyWidth);
                part.PartGroupType = "Brz385_LowP";
                part.PartLabel     = "1) Miter_Ends ";

                m_parts.Add(part);
            }

            ////////////////////////////////////////////////////////////////////////////////////


            #endregion

            #region Brz385_HrdwrBump


            ////////////////////////////////////////////////////////////////////////////////////

            // VertBump
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4072, "VertBump", this, 1, 12.95011841m);
                part.PartGroupType = "Brz385_HrdwrBump";
                part.PartLabel     = "1) Miter_Ends";
                m_parts.Add(part);
            }



            // HorzBump
            for (int i = 0; i < 2; i++)
            {
                part = new Part(4072, "HorzBump", this, 1, 2.96623231m);
                part.PartGroupType = "Brz385_HrdwrBump";
                part.PartLabel     = "1) Miter_<-Out->In";

                m_parts.Add(part);
            }



            ////////////////////////////////////////////////////////////////////////////////////


            #endregion

            #region HDPE



            // HDPELockEdge
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4037, "HDPELockEdge", this, 1, m_subAssemblyHieght + hdpExtnd);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileL = "";

                m_parts.Add(part);
            }



            // HDPEHingEdge
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4038, "HDPEHingEdge", this, 1, m_subAssemblyHieght + hdpExtnd);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileL = "";

                m_parts.Add(part);
            }



            // HDPETop
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4037, "HDPETop", this, 1, m_subAssemblyWidth + 2.0m * hdpExtnd - hdpeReduce);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileR = "";

                m_parts.Add(part);
            }


            // HDPEBot
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4039, "HDPEBot", this, 1, m_subAssemblyWidth - hdpeReduce);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileR = "";

                m_parts.Add(part);
            }



            #endregion

            #region StopBrz


            // BrzGlsStpUpVert
            for (int i = 0; i < 1; i++)
            {
                part = new Part(3892, "BrzGlsStpUpVert", this, 1, m_subAssemblyHieght - stopReduceX2 - 39.74117312m);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            /////////////////////////////////////////////////////////////////////////////

            // BrzGlsStpLowVert
            for (int i = 0; i < 1; i++)
            {
                part = new Part(3892, "BrzGlsStpLowVert", this, 1, 28.25882688m);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            /////////////////////////////////////////////////////////////////////////////

            // BrzGlsStpBmpOUT
            for (int i = 0; i < 2; i++)
            {
                part = new Part(3892, "BrzGlsStpBmpOUT", this, 1, 2.96623232m);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "Inside<Outside^Miters";

                m_parts.Add(part);
            }

            //////////////////////////////////////////////////////////////////////////////

            // BrzGlsStpBmpOUTvrt
            for (int i = 0; i < 1; i++)
            {
                part = new Part(3892, "BrzGlsStpBmpOUTvrt", this, 1, 12.95011842m);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            /////////////////////////////////////////////////////////////////////////////


            // BrzGlsStpVert
            for (int i = 0; i < 1; i++)
            {
                part = new Part(3892, "BrzGlassStopVert", this, 1, m_subAssemblyHieght - stopReduceX2);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            //////////////////////////////////////////////////////////////////////////////


            // BrzGlassStopTop
            for (int i = 0; i < 1; i++)
            {
                part = new Part(3892, "BrzGlassStopTop", this, 1, m_subAssemblyWidth - stopReduceX2);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            ////////////////////////////////////////////////////////////////////////////

            // BrzGlassStopBot
            for (int i = 0; i < 1; i++)
            {
                string crap;
                crap = FrameWorks.Functions.StopWeepMachining(m_subAssemblyWidth - stopReduceX2);
                part = new Part(3892, "BrzGlassStopBot", this, 1, m_subAssemblyWidth - stopReduceX2);
                part.PartGroupType = "GlassStop-Parts";
                part.PartLabel     = "1)MiterEnds" + "\r\n" +
                                     "2)" + crap;

                m_parts.Add(part);
            }


            ////////////////////////////////////////////////////////////////////////////////


            #endregion

            #region Glass



            // GlassPanel
            for (int i = 0; i < 1; i++)
            {
                //GlassPanel
                part = new Part(4420);
                part.FunctionalName    = "GlassPanel";
                part.PartGroupType     = "Glass-Parts";
                part.Qnty              = 1;
                part.ContainerAssembly = this;
                part.PartWidth         = (m_subAssemblyWidth - 2.0m * glassDrGap);
                part.PartLength        = (m_subAssemblyHieght - 2.0m * glassDrGap);
                part.PartThick         = 1.0m;
                part.PartLabel         = "HARDWARE_NOTCH";

                m_parts.Add(part);
            }



            #endregion

            #region HardWare Logic

            // Hinges
            part = new Part(3685, "Hinges", this, HingeCount(m_subAssemblyHieght), 0.0m);
            part.PartGroupType = "Hardware-Parts";
            part.PartLabel     = ".25_RAD_Corner";

            m_parts.Add(part);

            /////////////////////////////////////////////////////////////////////////////////////////////////////

            //AmesburyMultipointPassive

            FrameWorks.Makes.Hardware.Amesbury.Premiere2000.MultipointPassive GearAssy =
                new FrameWorks.Makes.Hardware.Amesbury.Premiere2000.MultipointPassive(m_subAssemblyHieght, this);
            foreach (Part innerpart in GearAssy.Parts)
            {
                //inner
                this.Parts.Add(innerpart);
            }

            //////////////////////////////////////////////////////////////////////////////////////////////////////

            #endregion

            #region Seal/Weatherstripping


            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
            for (int i = 0; i < 1; i++)
            {
                decimal periSeal = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth);

                //DoorEdgeSeal
                part = new Part(1005, "DoorEdgeSeal", this, 1, periSeal - m_subAssemblyWidth + 4.0m * edgeSealAdd);
                part.PartGroupType = "Seal-Parts";
                part.PartLabel     = "";

                m_parts.Add(part);
            }
            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            for (int i = 0; i < 2; i++)
            {
                decimal periSeal = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth);

                //GlazingEPDM
                part = new Part(3904, "GlazingEPDM", this, 1, periSeal - 4.0m * epdmReduce + 4.0m * epdmADD);
                part.PartGroupType = "Seal-Parts";
                part.PartLabel     = "";

                m_parts.Add(part);
            }
            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            //DoorBottom

            part = new Part(1518, "DoorBottom", this, 1, m_subAssemblyWidth);
            part.PartGroupType = "Seal-Parts";
            part.PartLabel     = "";

            m_parts.Add(part);


            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////



            #endregion
        }
示例#3
0
        //Bill of Material
        public override void Build()
        {
            Part part;

            decimal pweight = FrameWorks.Functions.PanelWieghtS2000(m_subAssemblyWidth, m_subAssemblyHieght);

            string labelStileR  = string.Empty;
            string labelStileL  = string.Empty;
            string labelTopRail = string.Empty;
            string labelBotRail = string.Empty;


            #region Brz385_LowP


            ////////////////////////////////////////////////////////////////////////////////////

            // StileLeft
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4072, "StileLeft", this, 1, m_subAssemblyHieght);
                part.PartGroupType = "Brz385_LowP";
                part.PartLabel     = "1) Miter_Ends";
                m_parts.Add(part);
            }

            //////////////////////////////////////////////////////////////////////////////////


            // StileRight
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4072, "StileRight", this, 1, m_subAssemblyHieght);
                part.PartGroupType = "Brz385_LowP";
                part.PartLabel     = "1) Miter_Ends";

                m_parts.Add(part);
            }


            //////////////////////////////////////////////////////////////////////////////////

            // RailTopStretchFormed
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4072, "RailTopStretchFormed", this, 1, 36.69183239m);
                part.PartGroupType = "Brz385_LowP";
                part.PartLabel     = "1) Miter_Ends ";

                m_parts.Add(part);
            }

            ///////////////////////////////////////////////////////////////////////////////////


            // RailBot
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4072, "RailBot", this, 1, m_subAssemblyWidth);
                part.PartGroupType = "Brz385_LowP";
                part.PartLabel     = "1) Miter_Ends ";

                m_parts.Add(part);
            }

            ////////////////////////////////////////////////////////////////////////////////////


            #endregion

            #region Brz385_HrdwrBump


            ////////////////////////////////////////////////////////////////////////////////////

            // VertBump
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4072, "VertBump", this, 1, (m_subAssemblyHieght - brzLowPanRed - 2 * brzLowproStep - 5 * muntStepRed) / 5);
                part.PartGroupType = "Brz385_HrdwrBump";
                part.PartLabel     = "1) Miter_Ends";
                m_parts.Add(part);
            }



            // HorzBump
            for (int i = 0; i < 2; i++)
            {
                part = new Part(4072, "HorzBump", this, 1, 2.96623231m);
                part.PartGroupType = "Brz385_HrdwrBump";
                part.PartLabel     = "1) Miter_<-Out->In";

                m_parts.Add(part);
            }



            ////////////////////////////////////////////////////////////////////////////////////


            #endregion

            #region StopBrz


            // BrzGlsStpUpVert
            for (int i = 0; i < 1; i++)
            {
                part = new Part(3892, "BrzGlsStpUpVert", this, 1, m_subAssemblyHieght - stopReduce - 44.17685m);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            ///////////////////////////////////////////////////////////////////////////////////////

            // BrzGlsStpHDWbmp
            for (int i = 0; i < 1; i++)
            {
                part = new Part(3892, "BrzGlsStpHDWbmp", this, 1, 16.211875m);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            /////////////////////////////////////////////////////////////////////////////

            // BrzGlsStpBmpOUT
            for (int i = 0; i < 2; i++)
            {
                part = new Part(3892, "BrzGlsStpBmpOUT", this, 1, 2.306644m);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "Inside<Outside^Miters";

                m_parts.Add(part);
            }


            /////////////////////////////////////////////////////////////////////////////

            // BrzGlsStpLowVert
            for (int i = 0; i < 1; i++)
            {
                part = new Part(3892, "BrzGlsStpLowVert", this, 1, 26.902451m);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }



            //////////////////////////////////////////////////////////////////////////////



            // BrzGlsStpVert
            for (int i = 0; i < 1; i++)
            {
                part = new Part(3892, "BrzGlassStopVert", this, 1, m_subAssemblyHieght - stopReduceX2);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            //////////////////////////////////////////////////////////////////////////////


            // BrzGlsStpTopStretchFormed
            for (int i = 0; i < 1; i++)
            {
                part = new Part(3892, "BrzGlsStpTopStretchFormed", this, 1, 36.69183239m - stopReduceX2);
                part.PartGroupType = "StopBrz-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            ////////////////////////////////////////////////////////////////////////////

            // BrzGlassStopBot
            for (int i = 0; i < 1; i++)
            {
                string crap;
                crap = FrameWorks.Functions.StopWeepMachining(m_subAssemblyWidth - stopReduceX2);
                part = new Part(3892, "BrzGlassStopBot", this, 1, m_subAssemblyWidth - stopReduceX2);
                part.PartGroupType = "GlassStop-Parts";
                part.PartLabel     = "1)MiterEnds" + "\r\n" +
                                     "2)" + crap;

                m_parts.Add(part);
            }


            ////////////////////////////////////////////////////////////////////////////////


            #endregion

            #region HDPE



            // HDPELockEdge
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4037, "HDPELockEdge", this, 1, m_subAssemblyHieght + hdpExtnd);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileL = "";

                m_parts.Add(part);
            }



            // HDPEHingEdge
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4038, "HDPEHingEdge", this, 1, m_subAssemblyHieght + hdpExtnd);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileL = "";

                m_parts.Add(part);
            }



            // HDPETop
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4037, "HDPETop", this, 1, m_subAssemblyWidth + 2.0m * hdpExtnd - hdpeReduce);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileR = "";

                m_parts.Add(part);
            }


            // HDPEBot
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4039, "HDPEBot", this, 1, m_subAssemblyWidth - hdpeReduce);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileR = "";

                m_parts.Add(part);
            }



            #endregion

            #region PanelBrz


            // ExtiraPanel ^^
            part = new Part(4043);
            part.FunctionalName    = "ExtiraPanel";
            part.PartGroupType     = "PanelBrz";
            part.Qnty              = 1;
            part.ContainerAssembly = this;
            part.PartWidth         = (m_subAssemblyWidth - 2 * glassDrGap);
            part.PartLength        = (BrzPanelSwgDr);

            m_parts.Add(part);


            /////////////////////////////////////////////////////////////////////////////////////////////////


            // BrassC464
            for (int i = 0; i < 2; i++)
            {
                // BrassC464
                part = new Part(4042);
                part.FunctionalName    = "BrassC464";
                part.PartGroupType     = "PanelBrz";
                part.Qnty              = 1;
                part.ContainerAssembly = this;
                part.PartWidth         = (m_subAssemblyWidth - 2 * glassDrGap);
                part.PartLength        = (BrzPanelSwgDr);

                m_parts.Add(part);
            }

            /////////////////////////////////////////////////////////////////////////////////////////////////


            #endregion

            #region Muntin


            ///////////////////////////////////////////////////////////////////////////////////////

            // BrzMntVrt10Lt
            for (int i = 0; i < 10; i++)
            {
                part = new Part(3893, "BrzMntVrt10Lt", this, 1, (m_subAssemblyHieght - muntBzPnlRed - muntStileRed - 4.0m * muntJuncRed) / 5.0m);
                part.PartGroupType = "Muntin-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            ///////////////////////////////////////////////////////////////////////////////////////

            // DlrnDivVrt10Lt
            for (int i = 0; i < 5; i++)
            {
                part = new Part(911, "DlrnDivVrt10Lt", this, 1, (m_subAssemblyHieght - dlrnPnlRed - dlrnStlRed - 4.0m * delrinThick) / 5.0m);
                part.PartGroupType = "Muntin-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            ///////////////////////////////////////////////////////////////////////////////////////

            // BrzMntHrz10Lt
            for (int i = 0; i < 10; i++)
            {
                part = new Part(3893, "BrzMntHrz10Lt", this, 1, m_subAssemblyWidth - muntStileRedX2);
                part.PartGroupType = "Muntin-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }

            ///////////////////////////////////////////////////////////////////////////////////////

            // DlrnDivHrz10Lt
            for (int i = 0; i < 5; i++)
            {
                part = new Part(911, "DlrnDivHrz10Lt", this, 1, m_subAssemblyWidth - dlrnStlRed * 2.0m);
                part.PartGroupType = "Muntin-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = "";

                m_parts.Add(part);
            }


            ///////////////////////////////////////////////////////////////////////////////////////


            #endregion

            #region Glass


            // Ten Glass Panels
            for (int i = 0; i < 2; i++)
            {
                //GlassPattern
                part = new Part(4420);
                part.FunctionalName    = "Gls10LtPattern";
                part.PartGroupType     = "Glass-Parts";
                part.Qnty              = 1;
                part.ContainerAssembly = this;
                part.PartWidth         = ((m_subAssemblyWidth - 2.0m * glassDrGap - glassMuntRedX2) / 2);
                part.PartLength        = ((m_subAssemblyHieght - BrzPanelSwgDr - 2.0m * glassDrGap - 5.0m * glassMuntRedX2) / 5.0m);
                part.PartThick         = 1.0m;

                m_parts.Add(part);
            }

            ////////////////////////////////////////////////////////////////////////////////////////////////////////////



            // Ten Glass Panels
            for (int i = 0; i < 1; i++)
            {
                //Gls10LtHrd1
                part = new Part(3964);
                part.FunctionalName    = "Gls10LtHrd1";
                part.PartGroupType     = "Glass-Parts";
                part.Qnty              = 1;
                part.ContainerAssembly = this;
                part.PartWidth         = ((m_subAssemblyWidth - 2.0m * glassDrGap - glassMuntRedX2) / 2) - hrdwrBupRed;
                part.PartLength        = ((m_subAssemblyHieght - BrzPanelSwgDr - 2.0m * glassDrGap - 5.0m * glassMuntRedX2) / 5.0m);
                part.PartThick         = 1.0m;

                m_parts.Add(part);
            }

            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////


            // Ten Glass Panels
            for (int i = 0; i < 7; i++)
            {
                //Gls10LtLow7
                part = new Part(3964);
                part.FunctionalName    = "Gls10LtLow7";
                part.PartGroupType     = "Glass-Parts";
                part.Qnty              = 1;
                part.ContainerAssembly = this;
                part.PartWidth         = ((m_subAssemblyWidth - 2.0m * glassDrGap - glassMuntRedX2) / 2);
                part.PartLength        = ((m_subAssemblyHieght - BrzPanelSwgDr - 2.0m * glassDrGap - 5.0m * glassMuntRedX2) / 5.0m);
                part.PartThick         = 1.0m;

                m_parts.Add(part);
            }


            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



            #endregion

            #region HardWare Logic

            // Hinges
            part = new Part(3685, "Hinges", this, HingeCount(m_subAssemblyHieght), 0.0m);
            part.PartGroupType = "Hardware-Parts";
            part.PartLabel     = ".25_RAD_Corner";

            m_parts.Add(part);

            /////////////////////////////////////////////////////////////////////////////////////////////////////

            //AmesburyMultipointPassive

            FrameWorks.Makes.Hardware.Amesbury.Premiere2000.MultipointPassive GearAssy =
                new FrameWorks.Makes.Hardware.Amesbury.Premiere2000.MultipointPassive(m_subAssemblyHieght, this);
            foreach (Part innerpart in GearAssy.Parts)
            {
                //inner
                this.Parts.Add(innerpart);
            }

            //////////////////////////////////////////////////////////////////////////////////////////////////////

            #endregion

            #region Seal/Weatherstripping


            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
            for (int i = 0; i < 1; i++)
            {
                decimal periSeal = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth);

                //DoorEdgeSeal
                part = new Part(1005, "DoorEdgeSeal", this, 1, periSeal - m_subAssemblyWidth + 4.0m * edgeSealAdd);
                part.PartGroupType = "Seal-Parts";
                part.PartLabel     = "";

                m_parts.Add(part);
            }
            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            for (int i = 0; i < 2; i++)
            {
                decimal periSeal = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth);

                //GlazingEPDM
                part = new Part(3904, "GlazingEPDM", this, 1, periSeal - 4.0m * epdmReduce);
                part.PartGroupType = "Seal-Parts";
                part.PartLabel     = "";

                m_parts.Add(part);
            }
            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            //DoorBottom

            part = new Part(1518, "DoorBottom", this, 1, m_subAssemblyWidth);
            part.PartGroupType = "Seal-Parts";
            part.PartLabel     = "";

            m_parts.Add(part);


            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////



            #endregion
        }
        //Bill of Material
        public override void Build()
        {
            Part part;

            decimal pweight = FrameWorks.Functions.PanelWieghtS2000(m_subAssemblyWidth, m_subAssemblyHieght);

            string labelStileR  = string.Empty;
            string labelStileL  = string.Empty;
            string labelTopRail = string.Empty;
            string labelBotRail = string.Empty;


            #region DoorCore


            // StileCoreLeft

            part = new Part(3070, "StileCoreLeft", this, 1, m_subAssemblyHieght - coreReduceX2);
            part.PartGroupType = "DoorCore-Parts";
            part.PartLabel     = "1) Miter Ends";

            m_parts.Add(part);


            // StileCoreRight

            part = new Part(3070, "StileCoreRight", this, 1, m_subAssemblyHieght - coreReduceX2);
            part.PartGroupType = "DoorCore-Parts";
            part.PartLabel     = "1) Miter End";

            m_parts.Add(part);


            // RailCoreTop ^^

            part = new Part(3070, "RailCoreTop", this, 1, m_subAssemblyWidth - coreReduceX2);
            part.PartGroupType = "DoorCore-Parts";
            part.PartLabel     = "1) Miter Ends ";

            m_parts.Add(part);


            // RailCoreB

            part = new Part(3070, "RailCoreB", this, 1, m_subAssemblyWidth - coreReduceX2);
            part.PartGroupType = "DoorCore-Parts";
            part.PartLabel     = "1) Miter Ends ";

            m_parts.Add(part);



            #endregion

            #region DoorClad



            // StileCladLeft
            for (int i = 0; i < 2; i++)
            {
                part = new Part(3895, "StileCladLeft", this, 1, m_subAssemblyHieght);
                part.PartGroupType = "DoorClad-Parts";
                part.PartLabel     = "1) Miter Ends";
                m_parts.Add(part);
            }



            // StileCladRight
            for (int i = 0; i < 2; i++)
            {
                part = new Part(3895, "StileCladRight", this, 1, m_subAssemblyHieght);
                part.PartGroupType = "DoorClad-Parts";
                part.PartLabel     = "1) Miter Ends";

                m_parts.Add(part);
            }



            // RailCladT
            for (int i = 0; i < 2; i++)
            {
                part = new Part(3895, "RailCladT", this, 1, m_subAssemblyWidth);
                part.PartGroupType = "DoorClad-Parts";
                part.PartLabel     = "1) Miter Ends ";

                m_parts.Add(part);
            }



            // RailCladB
            for (int i = 0; i < 2; i++)
            {
                part = new Part(3895, "RailCladB", this, 1, m_subAssemblyWidth);
                part.PartGroupType = "DoorClad-Parts";
                part.PartLabel     = "1) Miter Ends ";

                m_parts.Add(part);
            }



            #endregion

            #region BraceCorner

            /////////////////////////////////////////////////////////////////////////////////////////////////

            // BraceCorner
            for (int i = 0; i < 16; i++)
            {
                part = new Part(4246, "BraceCorner", this, 1, 0.0m);
                part.PartGroupType = "BraceCorner-Parts";
                part.PartLabel     = "1) Miter Ends";
                m_parts.Add(part);
            }

            /////////////////////////////////////////////////////////////////////////////////////////////////

            #endregion

            #region CladClip


            //CladClipExtHead

            part = new Part(3785, "CladClipExtHead", this, 1, m_subAssemblyWidth);
            part.PartGroupType = "CladClip-Parts";
            part.PartWidth     = part.Source.Width;
            part.PartThick     = part.Source.Height;
            part.PartLabel     = "";

            m_parts.Add(part);

            /////////////////////////////////////////////////////////////////////////////////////////////////

            //CladClipTabs

            decimal peri = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth);

            for (int i = 0; i < 4; i++)
            {
                peri = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth);

                part = new Part(3785, "CladClipTabs", this, Convert.ToInt32(this.Perimeter / 12.0m) - 1, 2.0m);
                part.PartGroupType = "CladClip-Parts";
                part.PartLabel     = "2 Inch Clip";

                m_parts.Add(part);
            }

            /////////////////////////////////////////////////////////////////////////////////////////////////


            #endregion

            #region HDPE



            // HDPELockEdge
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4037, "HDPELockEdge", this, 1, m_subAssemblyHieght + hdpExtnd);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileL = "";

                m_parts.Add(part);
            }



            // HDPEHingEdge
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4038, "HDPEHingEdge", this, 1, m_subAssemblyHieght + hdpExtnd);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileL = "";

                m_parts.Add(part);
            }



            // HDPETop
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4037, "HDPETop", this, 1, m_subAssemblyWidth + 2.0m * hdpExtnd - hdpeReduce);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileR = "";

                m_parts.Add(part);
            }


            // HDPEBot
            for (int i = 0; i < 1; i++)
            {
                part = new Part(4039, "HDPEBot", this, 1, m_subAssemblyWidth - hdpeReduce);
                part.PartGroupType = "HDPE-Parts";
                part.PartWidth     = part.Source.Width;
                part.PartThick     = part.Source.Height;
                part.PartLabel     = labelStileR = "";

                m_parts.Add(part);
            }



            #endregion

            #region Glass


            //Glass Panel
            part = new Part(4420);
            part.FunctionalName    = "Glass";
            part.PartGroupType     = "Glass-Parts";
            part.Qnty              = 1;
            part.ContainerAssembly = this;
            part.PartWidth         = m_subAssemblyWidth - glassReduceX2;
            part.PartLength        = m_subAssemblyHieght - glassReduceX2;
            part.PartThick         = 1.0m;

            m_parts.Add(part);

            #endregion

            #region HardWare Logic


            // Hinges
            part = new Part(3685, "Hinges", this, HingeCount(m_subAssemblyHieght), 0.0m);
            part.PartGroupType = "Hardware-Parts";
            part.PartLabel     = ".25_RAD_Corner";

            m_parts.Add(part);

            /////////////////////////////////////////////////////////////////////////////////////////////////////

            //AmesburyMultipointPassive

            FrameWorks.Makes.Hardware.Amesbury.Premiere2000.MultipointPassive GearAssy =
                new FrameWorks.Makes.Hardware.Amesbury.Premiere2000.MultipointPassive(m_subAssemblyHieght, this);
            foreach (Part innerpart in GearAssy.Parts)
            {
                //inner
                this.Parts.Add(innerpart);
            }

            //////////////////////////////////////////////////////////////////////////////////////////////////////

            #endregion

            #region Seal/Weatherstripping


            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
            for (int i = 0; i < 1; i++)
            {
                decimal periSeal = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth);

                //DoorEdgeSeal
                part = new Part(1005, "DoorEdgeSeal", this, 1, periSeal - m_subAssemblyWidth + 4.0m * edgeSealAdd);
                part.PartGroupType = "Seal-Parts";
                part.PartLabel     = "";

                m_parts.Add(part);
            }
            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            for (int i = 0; i < 2; i++)
            {
                decimal periSeal = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth);

                //GlazingEPDM
                part = new Part(3904, "GlazingEPDM", this, 1, periSeal - 4.0m * epdmReduce + 4.0m * epdmADD);
                part.PartGroupType = "Seal-Parts";
                part.PartLabel     = "";

                m_parts.Add(part);
            }
            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            //DoorBottom

            part = new Part(1518, "DoorBottom", this, 1, m_subAssemblyWidth);
            part.PartGroupType = "Seal-Parts";
            part.PartLabel     = "";

            m_parts.Add(part);


            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////



            #endregion
        }