//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 DoorPanel // StileL <<-- part = new Part(3400, "StileL", this, 1, m_subAssemblyHieght); part.PartGroupType = "Door-Parts"; decimal strikeOrigin = m_subAssemblyHieght - 35.875m; part.PartLabel = "1) Miter End" + "\r\n" + "2) Position Origin Strike " + strikeOrigin.ToString() + "\r\n" + "3) Machine 3127.m"; m_parts.Add(part); // StileR -->> part = new Part(3400, "StileR", this, 1, m_subAssemblyHieght); part.PartGroupType = "Door-Parts"; decimal step = (m_subAssemblyHieght - 15.0m); step /= Convert.ToDecimal((FrameWorks.Functions.HingeCount(m_subAssemblyHieght) - 1)); step = Math.Round(step, 4); int msg = FrameWorks.Functions.HingeCount(m_subAssemblyHieght); part.PartLabel = "1) Miter Ends" + "\r\n" + "2) Position 0rigin @ " + (7.5m).ToString() + "\r\n" + "3) Tube Backer Prep-> 3123.m" + FrameWorks.Functions.HingeCount(m_subAssemblyHieght).ToString() + "@<" + step.ToString() + ">O.C."; m_parts.Add(part); // RailT ^^ part = new Part(3400, "RailT", this, 1, m_subAssemblyWidth); part.PartGroupType = "Door-Parts"; part.PartLabel = "1) Miter Ends " + "\r\n" + "2) Bore Hole for [1932 pn]-"; m_parts.Add(part); // RailB || part = new Part(3400, "RailB", this, 1, m_subAssemblyWidth); part.PartGroupType = "Door-Parts"; part.PartLabel = "1) Miter Ends "; m_parts.Add(part); #endregion #region GlassStop // Stop-L #3396 part = new Part(3396, "GlassStop-L", this, 1, m_subAssemblyHieght - 2 * 2.6875m); part.PartGroupType = "GlassStop-Parts"; part.PartLabel = "MiterEnds"; m_parts.Add(part); // Stop-R #3396 part = new Part(3396, "GlassStop-R", this, 1, m_subAssemblyHieght - 2 * 2.6875m); part.PartGroupType = "GlassStop-Parts"; part.PartLabel = "MiterEnds"; m_parts.Add(part); // Stop-T #3396 part = new Part(3396, "GlassStop-T", this, 1, m_subAssemblyWidth - 2 * 2.6875m); part.PartGroupType = "GlassStop-Parts"; part.PartLabel = "MiterEnds"; m_parts.Add(part); // Stop-B #3396 string crap; crap = FrameWorks.Functions.StopWeepMachining(m_subAssemblyWidth - 2 * 2.6875m); part = new Part(3396, "GlassStop-B", this, 1, m_subAssemblyWidth - 2 * 2.6875m); part.PartGroupType = "GlassStop-Parts"; part.PartLabel = "1)MiterEnds" + "\r\n" + "2)" + crap; m_parts.Add(part); #endregion #region Glass //Glass Panel part = new Part(1022); part.FunctionalName = "Glass"; part.PartGroupType = "Glass-Parts"; part.Qnty = 1; part.ContainerAssembly = this; part.PartWidth = m_subAssemblyWidth - (3.00m * 2.0m); part.PartLength = m_subAssemblyHieght - (3.00m * 2.0m); part.PartThick = 1.25m; m_parts.Add(part); #endregion #region HardWare Logic // Hinges part = new Part(1879, "Hinges", this, HingeCount(m_subAssemblyHieght), 0.0m); part.PartGroupType = "Hardware-Parts"; part.PartLabel = ""; m_parts.Add(part); // Tube Backer part = new Part(1640, "Tube Backer", this, HingeCount(m_subAssemblyHieght), 0.0m); part.PartGroupType = "Hardware-Parts"; part.PartLabel = ""; m_parts.Add(part); Hoppe hoppe = new Hoppe(m_subAssemblyHieght, this); foreach (Part innerpart in hoppe.Parts) { //inner this.Parts.Add(innerpart); } #endregion #region Seal/Weatherstripping decimal peri = FrameWorks.Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth); //Sash Edge Seal part = new Part(2274, "Edge Seal", this, 1, peri); part.PartGroupType = "Seal-Parts"; part.PartLabel = ""; m_parts.Add(part); for (int i = 0; i < 2; i++) { peri = FrameWorks.Functions.Perimeter(m_subAssemblyHieght - 3.03125m, m_subAssemblyWidth - 3.03125m); //Glazing Seals part = new Part(2772, "Glazing Seal", this, 1, peri); part.PartGroupType = "Seal-Parts"; part.PartLabel = ""; m_parts.Add(part); } // Door Bottom part = new Part(1518, "Door Bottom", this, 1, m_subAssemblyWidth); part.PartGroupType = "Seals-Parts"; part.PartLabel = ""; m_parts.Add(part); #endregion #region Labor part = new LPart("Design", this, 4.0m, 80.0m); m_parts.Add(part); //Collect Information on Sizes: Measure: Provide Information for Approval: Order: Supervision part = new LPart("Draft", this, 3.0m, 80.0m); m_parts.Add(part); //Typical Drawings part = new LPart("MetalHours", this, 8.0m, 80.0m); m_parts.Add(part); //1 Recieve: 1 Handle: 1 CutSash: 1 CutGlassStop: 1.5 Machine: 1.5 Hardware Prep: 1 Mount Hardware: part = new LPart("Finish", this, 4.0m, 80.0m); m_parts.Add(part); //2 Sand Linegrain: 2 Finish: part = new LPart("GlazingHours", this, (this.Area * 0.17m) + 1.5m, 80.0m); m_parts.Add(part); //.5 Recieve: .5 InspectReject: .5 StoreHandle: * .17 Hrs Per Square Ft: part = new LPart("Prehang", this, (this.Area * .10m) + 3.0m, 80.0m); m_parts.Add(part); //2 FitSash into Frame: 1 Mount Weather Strips/Seals part = new LPart("Stage", this, 1.0m, 80.0m); m_parts.Add(part); //1 Stage part = new LPart("Load", this, 1.0m, 80.0m); m_parts.Add(part); //1 Load #endregion }
//Bill of Material public override void Build() { partleader = this.Parent.UnitID + "." + this.CreateID.ToString(); #region DoorCoreAlum // SubStileL <<-- part = new Part(3070, "SubStileL", this, 1, m_subAssemblyHieght - 2 * .48140111m); part.PartGroupType = "DoorCoreAlum-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); // SubStileR -->> part = new Part(3070, "SubStileR", this, 1, m_subAssemblyHieght - 2 * .48140111m); part.PartGroupType = "DoorCoreAlum-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); // SubRailT ^^ part = new Part(3070, "SubRailT", this, 1, m_subAssemblyWidth - 2 * .48140111m); part.PartGroupType = "DoorCoreAlum-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); // SubRailB || part = new Part(3070, "SubRailB", this, 1, m_subAssemblyWidth - 2 * .48140111m); part.PartGroupType = "DoorCoreAlum-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); #endregion #region ExtCladSS // StileExtL <<-- part = new Part(3093, "StileExtL", this, 1, m_subAssemblyHieght); part.PartGroupType = "ExtCladSS-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); // StileExtR -->> part = new Part(3093, "StileExtR", this, 1, m_subAssemblyHieght); part.PartGroupType = "ExtCladSS-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); // RailExtT ^^ part = new Part(3093, "RailExtT", this, 1, m_subAssemblyWidth); part.PartGroupType = "ExtCladSS-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); // RailExtB || part = new Part(3093, "RailExtB", this, 1, m_subAssemblyWidth); part.PartGroupType = "ExtCladSS-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); #endregion #region IntCladSS // StileIntL <<-- part = new Part(3093, "StileIntL", this, 1, m_subAssemblyHieght); part.PartGroupType = "IntCladSS-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); // StileIntR -->> part = new Part(3093, "StileIntR", this, 1, m_subAssemblyHieght); part.PartGroupType = "IntCladSS-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); // RailIntT ^^ part = new Part(3093, "RailIntT", this, 1, m_subAssemblyWidth); part.PartGroupType = "IntCladSS-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); // RailIntB || part = new Part(3093, "RailIntB", this, 1, m_subAssemblyWidth); part.PartGroupType = "IntCladSS-Parts"; part.PartWidth = part.Source.Width; part.PartThick = part.Source.Height; part.PartLabel = ""; m_parts.Add(part); #endregion #region HardWare Logic // Hinge part = new Part(911, "Hinge", this, 3, 0.0m); part.PartGroupType = "Hardware-Parts"; part.PartLabel = ""; m_parts.Add(part); // Hoppe9000Gear Hoppe hoppe = new Hoppe(m_subAssemblyHieght, this); foreach (Part innerpart in hoppe.Parts) { //inner this.Parts.Add(innerpart); } #endregion #region HDPEdge part = new Part(3383, "HDPEdgeLeft", this, 1, m_subAssemblyHieght); part.PartGroupType = "HDPEdge-Parts"; part.PartLabel = ""; m_parts.Add(part); part = new Part(3335, "HDPEdgeRight", this, 1, m_subAssemblyHieght); part.PartGroupType = "HDPEdge-Parts"; part.PartLabel = ""; m_parts.Add(part); part = new Part(3383, "HDPEdgeTop", this, 1, m_subAssemblyWidth); part.PartGroupType = "HDPEdge-Parts"; part.PartLabel = ""; m_parts.Add(part); part = new Part(3388, "HDPEdgeBottom", this, 1, m_subAssemblyWidth); part.PartGroupType = "HDPEdge-Parts"; part.PartLabel = ""; m_parts.Add(part); #endregion #region Glass //Glass Panel part = new Part(3122); part.FunctionalName = "Glass"; part.PartGroupType = "Glass-Parts"; part.Qnty = 1; part.PartName = "PartName"; part.PartLabel = ""; part.ContainerAssembly = this; part.PartWidth = m_subAssemblyWidth - (2.46875m * 2.0m); part.PartLength = m_subAssemblyHieght - (2.46875m * 2.0m); m_parts.Add(part); #endregion #region Seal/Weatherstripping decimal peri = Functions.Perimeter(m_subAssemblyHieght, m_subAssemblyWidth); //Sash Edge Seal part = new Part(911, "Edge Seal", this, 1, peri * 2.0m); part.PartGroupType = "Seal-Parts"; part.PartLabel = ""; m_parts.Add(part); peri = Functions.Perimeter(m_subAssemblyHieght - 1.53125m, m_subAssemblyWidth - 1.53125m); //Glazing Seals part = new Part(911, "Glazing Seal", this, 1, peri * 2.0m); part.PartGroupType = "Seal-Parts"; part.PartLabel = ""; m_parts.Add(part); #endregion #region Labor part = new LPart("Design", this, 4.0m, 80.0m); m_parts.Add(part); //Collect Information on Sizes: Measure: Provide Information for Approval: Order: Supervision part = new LPart("Draft", this, 3.0m, 80.0m); m_parts.Add(part); //Typical Drawings part = new LPart("MetalHours", this, 12.0m, 80.0m); m_parts.Add(part); //1 Recieve: 1 Handle: 1 CutSash: 1 CutGlassStop: 1.5 Machine: 1.5 Hardware Prep: 1 Mount Hardware: 4 Weld: part = new LPart("Finish", this, 4.0m, 80.0m); m_parts.Add(part); //2 Sand Linegrain: 2 Finish: part = new LPart("PatinaMat", this, this.m_perimeter, 1.62m); m_parts.Add(part); //$1.62 per inch part = new LPart("Glazing", this, (this.Area * .10m) + 4.5m, 80.0m); m_parts.Add(part); //0.5 Order: 0.5 Recieve: 1.0 Inspect/Reject: 0.5 Store/Handle: 0.5 SetGlass/Shim&Calk: 0.5 Set GlassStop: 0.5 GlazingSeals part = new LPart("Prehang", this, (this.Area * .10m) + 3.0m, 80.0m); m_parts.Add(part); //2 FitSash into Frame: 1 Mount Weather Strips/Seals part = new LPart("Stage", this, 1.0m, 80.0m); m_parts.Add(part); //1 Stage part = new LPart("Load", this, 1.0m, 80.0m); m_parts.Add(part); //1 Load #endregion }