예제 #1
0
        public void AddProperties(
            BbPropertySet bbPropertySet,
            string boltStandard, string boltType, string boltGrade,

            double?boltDiameter, double?boltLength, bool?boltFiledAssembled)
        {
            if (BbPropertySet == null)
            {
                BbPropertySet = bbPropertySet;
            }
            if (!string.IsNullOrWhiteSpace(boltStandard))
            {
                BoltStandard = boltStandard;
                bbPropertySet.AddProperty(BbSingleProperty.Create("BoltStandard", BoltStandard, true));
            }

            if (!string.IsNullOrEmpty(boltGrade))
            {
                BoltGrade.Add(boltGrade);
                bbPropertySet.AddProperty(BbListProperty.Create("BoltGrade", boltGrade, typeof(IfcLabel)));
            }


            if (!string.IsNullOrWhiteSpace(boltType))
            {
                BoltType = boltType;
                bbPropertySet.AddProperty(BbSingleProperty.Create("BoltType", BoltType, true));
            }


            if (boltDiameter != null)
            {
                BoltDiameter = boltDiameter.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("BoltDiameter", BoltDiameter, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                BoltDiameter = 0.0;
            }

            if (boltFiledAssembled != null)
            {
                BoltFiledAssembled = boltFiledAssembled.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("BoltFiledAssembled", BoltFiledAssembled));
            }
            else
            {
                BoltDiameter = 0.0;
            }

            if (boltLength != null)
            {
                BoltLength = boltLength.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("BoltLength", BoltLength, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                BoltLength = 0.0;
            }
        }
예제 #2
0
        protected BbStatus(
            BbPropertySet bbPropertySet,
            string status,
            string changeStatus,
            bool?approved
            )
        {
            BbPropertySet = bbPropertySet;
            if (!string.IsNullOrWhiteSpace(status))
            {
                Status = status;
                bbPropertySet.AddProperty(BbPropertyEnumerated.Create("Status", Status, true));
            }

            if (!string.IsNullOrWhiteSpace(changeStatus))
            {
                ChangeStatus = changeStatus;
                bbPropertySet.AddProperty(BbPropertyEnumerated.Create("ChangeStatus", ChangeStatus, true));
            }
            if (approved != null)
            {
                Approved = approved.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("Approved", Approved));
            }
        }
예제 #3
0
        BbPieceIdentity(
            //string name,
            string indicationMark,
            string pieceMark,
            string prelimMark,
            string barCode,
            bool isMainPiece)
        {
            //Name = name;
            IndicationMark = indicationMark;
            PieceMark      = pieceMark;
            PrelimMark     = prelimMark;
            BarCode        = barCode;

            BbPropertySet = BbPropertySet.Create("PieceIdentificationProperty");
            if (!string.IsNullOrWhiteSpace(indicationMark))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("IndicationMark", indicationMark, true));
            }
            if (!string.IsNullOrWhiteSpace(pieceMark))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("PieceMark", pieceMark, true));
            }
            if (!string.IsNullOrWhiteSpace(prelimMark))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("PrelimMark", prelimMark, true));
            }
            if (!string.IsNullOrWhiteSpace(barCode))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("BarCode", barCode, true));
            }
            BbPropertySet.AddProperty(BbSingleProperty.Create("MainPieceTag", isMainPiece));
        }
예제 #4
0
        public static BbSingleProperty Create(string name, bool value)
        {
            BbSingleProperty sp = new BbSingleProperty(name, value);

            BbInstanceDB.AddToExport(sp);
            return(sp);
        }
예제 #5
0
        public void AddMaterialProperty(
            BbPropertySet bbPropertySet,
            string materialID,
            string materialCert,
            string materialGrade,
            string materialType)
        {
            BbPropertySet = bbPropertySet;
            MaterialID    = materialID;
            MaterialCert  = materialCert;
            MaterialGrade = materialGrade;
            MaterialType  = materialType;

            if (!string.IsNullOrWhiteSpace(materialID))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("Material ID", materialID, true));
            }
            if (!string.IsNullOrWhiteSpace(materialCert))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("Material Certification", materialCert, true));
            }
            if (!string.IsNullOrWhiteSpace(materialGrade))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("Material Grade", materialGrade, true));
            }
            if (!string.IsNullOrWhiteSpace(materialType))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("Material Type", materialType, true));
            }
        }
예제 #6
0
 public void AddRectangleOpeningProperty(BbPropertySet bbPropertySet, string featureSubType,
                                         double rectangleOpeningWidth,
                                         double rectangleOpeningHeight,
                                         double rectangleOpeningRoundRadius)
 {
     bbPropertySet.AddProperty(BbPropertyEnumerated.Create("FeatureSubtype", featureSubType, true));
     bbPropertySet.AddProperty(BbSingleProperty.Create("RectangleOpeningWidth", rectangleOpeningWidth, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("RectangleOpeningHeight", rectangleOpeningHeight, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("RectangleOpeningRoundRadius", rectangleOpeningRoundRadius, typeof(IfcPositiveLengthMeasure)));
 }
예제 #7
0
 public void AddSlottedHoleProperty(BbPropertySet bbPropertySet, string featureSubType,
                                    double slotHoleCenterToCenter,
                                    double slotHoleLength,
                                    double slotHoleWidth)
 {
     bbPropertySet.AddProperty(BbPropertyEnumerated.Create("FeatureSubtype", featureSubType, true));
     bbPropertySet.AddProperty(BbSingleProperty.Create("SlotHoleCenterToCenter", slotHoleCenterToCenter, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("SlotHoleLength", slotHoleLength, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("SlotHoleWidth", slotHoleWidth, typeof(IfcPositiveLengthMeasure)));
 }
예제 #8
0
        protected BbBoltHoleProperties(
            BbPropertySet bbPropertySet,
            string fabricationMethod,
            string criticalFace,
            string designConstraint,
            string featureSubTypes,
            double boltHoleDiameter,
            bool?partialHoleIndicator,
            double partialHoleDepth
            )
        {
            BbPropertySet = bbPropertySet;

            if (!string.IsNullOrWhiteSpace(fabricationMethod))
            {
                FabricationMethod = fabricationMethod;
                bbPropertySet.AddProperty(BbPropertyEnumerated.Create("Fabrication Method", FabricationMethod, true));
            }

            if (!string.IsNullOrWhiteSpace(criticalFace))
            {
                CriticalFace = criticalFace;
                bbPropertySet.AddProperty(BbPropertyEnumerated.Create("Critical Face", CriticalFace, true));
            }

            if (!string.IsNullOrWhiteSpace(designConstraint))
            {
                DesignConstraint = designConstraint;
                bbPropertySet.AddProperty(BbPropertyEnumerated.Create("Design Constraint", DesignConstraint, true));
            }

            if (!string.IsNullOrWhiteSpace(featureSubTypes))
            {
                FeatureSubTypes = featureSubTypes;
                bbPropertySet.AddProperty(BbPropertyEnumerated.Create("Feature Sub Types", FeatureSubTypes, true));
            }

            if (!double.IsPositiveInfinity(boltHoleDiameter))
            {
                BoltHoleDiameter = boltHoleDiameter;
                bbPropertySet.AddProperty(BbSingleProperty.Create("Bolt Hole Diameter", BoltHoleDiameter, typeof(IfcPositiveLengthMeasure)));
            }
            if (partialHoleIndicator != null)
            {
                PartialHoleIndicator = partialHoleIndicator.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("Partial Hole Indicator", PartialHoleIndicator));
            }

            if (!double.IsPositiveInfinity(partialHoleDepth) && partialHoleDepth > 0)
            {
                PartialHoleDepth = partialHoleDepth;
                bbPropertySet.AddProperty(BbSingleProperty.Create("Partial Hole Depth", PartialHoleDepth, typeof(IfcPositiveLengthMeasure)));
            }
        }
예제 #9
0
        protected BbCastellation(
            BbPropertySet bbPropertySet,
            string castellationType,
            double castellationEndPostWidth1,
            double castellationEndPostWidth2,
            double castellationSpacing,
            double castellationHeight,
            double castellationWidth,
            double castellationDepth
            )
        {
            BbPropertySet = bbPropertySet;
            if (!string.IsNullOrWhiteSpace(castellationType))
            {
                CastellationType = castellationType;
                bbPropertySet.AddProperty(BbPropertyEnumerated.Create("Castellation Type", CastellationType, true));
            }

            if (!double.IsPositiveInfinity(castellationEndPostWidth1))
            {
                CastellationEndPostWidth1 = castellationEndPostWidth1;
                bbPropertySet.AddProperty(BbSingleProperty.Create("Castellation End Post Width1", CastellationEndPostWidth1, typeof(IfcPositiveLengthMeasure)));
            }

            if (!double.IsPositiveInfinity(castellationEndPostWidth2))
            {
                CastellationEndPostWidth2 = castellationEndPostWidth2;
                bbPropertySet.AddProperty(BbSingleProperty.Create("Castellation End Post Width2", CastellationEndPostWidth2, typeof(IfcPositiveLengthMeasure)));
            }

            if (!double.IsPositiveInfinity(castellationSpacing))
            {
                CastellationSpacing = castellationSpacing;
                bbPropertySet.AddProperty(BbSingleProperty.Create("Castellation Spacing", CastellationSpacing, typeof(IfcPositiveLengthMeasure)));
            }

            if (!double.IsPositiveInfinity(castellationHeight))
            {
                CastellationHeight = castellationHeight;
                bbPropertySet.AddProperty(BbSingleProperty.Create("Castellation Height", CastellationHeight, typeof(IfcPositiveLengthMeasure)));
            }

            if (!double.IsPositiveInfinity(castellationWidth))
            {
                CastellationWidth = castellationWidth;
                bbPropertySet.AddProperty(BbSingleProperty.Create("Castellation Width", CastellationWidth, typeof(IfcPositiveLengthMeasure)));
            }

            if (!double.IsPositiveInfinity(castellationDepth))
            {
                CastellationDepth = castellationDepth;
                bbPropertySet.AddProperty(BbSingleProperty.Create("Castellation Depth", CastellationDepth, typeof(IfcPositiveLengthMeasure)));
            }
        }
예제 #10
0
 protected BbVersion(
     BbPropertySet bbPropertySet,
     string versionNumber
     )
 {
     BbPropertySet = bbPropertySet;
     if (!string.IsNullOrWhiteSpace(versionNumber))
     {
         VersionNumber = versionNumber;
         bbPropertySet.AddProperty(BbSingleProperty.Create("VersionNumber", VersionNumber, true));
     }
 }
예제 #11
0
        protected BbLayoutTolerance(
            BbPropertySet bbPropertySet,
            double tolerance
            )
        {
            BbPropertySet = bbPropertySet;

            if (!double.IsPositiveInfinity(tolerance))
            {
                Tolerance = tolerance;
                bbPropertySet.AddProperty(BbSingleProperty.Create("Tolerance", Tolerance, typeof(IfcPositiveLengthMeasure)));
            }
        }
예제 #12
0
        BbWeldProperties(double throatThickness, double legLength)
        {
            ThroatThickness = throatThickness;
            LegLength       = legLength;

            BbPropertySet = BbPropertySet.Create("WeldProperties");
            if (ThroatThickness > 0)
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("Throat Thickness", ThroatThickness, typeof(IFC2X3.IfcLengthMeasure)));
            }
            if (LegLength > 0)
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("Leg Length", LegLength, typeof(IFC2X3.IfcLengthMeasure)));
            }
        }
예제 #13
0
        public void AddProperties(
            BbPropertySet bbPropertySet,
            string nutStandard, string nutType,

            double?nutSize, int?boltAssemblySequentialOrder, bool?headSideNut)
        {
            if (BbPropertySet == null)
            {
                BbPropertySet = bbPropertySet;
            }
            if (!string.IsNullOrWhiteSpace(nutStandard))
            {
                NutStandard = nutStandard;
                bbPropertySet.AddProperty(BbSingleProperty.Create("NutStandard", NutStandard, true));
            }



            if (!string.IsNullOrWhiteSpace(nutType))
            {
                NutType = nutType;
                bbPropertySet.AddProperty(BbSingleProperty.Create("NutType", NutType, true));
            }


            if (nutSize != null)
            {
                NutSize = nutSize.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("NutSize", NutSize, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                NutSize = 0.0;
            }

            if (headSideNut != null)
            {
                HeadSideNut = headSideNut.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("HeadSideNut", HeadSideNut));
            }


            if (boltAssemblySequentialOrder != null)
            {
                BoltAssemblySequentialOrder = boltAssemblySequentialOrder.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("NutSequentialOrder", BoltAssemblySequentialOrder, typeof(IfcInteger)));
            }
        }
예제 #14
0
        public void AddProperties(
            BbPropertySet bbPropertySet,
            string washerStandard, string washerType,

            double?washerSize, int?washerSequentialOrder, bool?headSideWasher)
        {
            if (BbPropertySet == null)
            {
                BbPropertySet = bbPropertySet;
            }
            if (!string.IsNullOrWhiteSpace(washerStandard))
            {
                WasherStandard = washerStandard;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WasherStandard", WasherStandard, true));
            }



            if (!string.IsNullOrWhiteSpace(washerType))
            {
                WasherType = washerType;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WasherType", WasherType, true));
            }


            if (washerSize != null)
            {
                WasherSize = washerSize.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WasherSize", WasherSize, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                WasherSize = 0.0;
            }

            if (headSideWasher != null)
            {
                HeadSideWasher = headSideWasher.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("HeadSideNut", HeadSideWasher));
            }


            if (washerSequentialOrder != null)
            {
                WasherSequentialOrder = washerSequentialOrder.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WasherSequentialOrder", WasherSequentialOrder, typeof(IfcInteger)));
            }
        }
예제 #15
0
 protected BbDrillHoleProperty(
     BbPropertySet bbPropertySet,
     string featureSubType,
     double boltHoleDiameter,
     bool partialHoleIndicator,
     double partialHoleDepth
     )
 {
     BoltHoleDiameter     = boltHoleDiameter;
     PartialHoleIndicator = partialHoleIndicator;
     PartialHoleDepth     = partialHoleDepth;
     BbPropertySet        = bbPropertySet;
     bbPropertySet.AddProperty(BbPropertyEnumerated.Create("FeatureSubtype", featureSubType, true));
     bbPropertySet.AddProperty(BbSingleProperty.Create("BoltHoleDiameter", boltHoleDiameter, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("PartialHoleIndicator", partialHoleIndicator));
     bbPropertySet.AddProperty(BbSingleProperty.Create("PartialHoleDepth", partialHoleDepth, typeof(IfcPositiveLengthMeasure)));
 }
예제 #16
0
        protected BbSchedule(
            BbPropertySet bbPropertySet,
            string phaseSequence,
            string sequenceLevel,
            DateTime onSiteBy
            )
        {
            BbPropertySet = bbPropertySet;
            if (!string.IsNullOrWhiteSpace(phaseSequence))
            {
                PhaseSequence = phaseSequence;
                bbPropertySet.AddProperty(BbPropertyEnumerated.Create("PhaseSequence", PhaseSequence, true));
            }

            if (!string.IsNullOrWhiteSpace(sequenceLevel))
            {
                SequenceLevel = sequenceLevel;
                bbPropertySet.AddProperty(BbPropertyEnumerated.Create("SequenceLevel", SequenceLevel, true));
            }

            OnSiteBy = onSiteBy;
            bbPropertySet.AddProperty(BbSingleProperty.Create("OnSiteBy", OnSiteBy));
        }
예제 #17
0
 public void AddCutCopeProperty(BbPropertySet bbPropertySet, double chamferLength,
                                double chamferDepth,
                                double flangeChamferLength,
                                double flangeChamferWidth,
                                double flangeNotchLength,
                                double flangeNotchWidth,
                                double flangeNotchRadius,
                                double notchLength,
                                double notchDepth,
                                double notchRadius
                                )
 {
     bbPropertySet.AddProperty(BbSingleProperty.Create("ChamferLength", chamferLength, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("ChamferDepth", chamferDepth, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("FlangeChamferLength", flangeChamferLength, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("FlangeChamferWidth", flangeChamferWidth, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("FlangeNotchLength", flangeNotchLength, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("FlangeNotchWidth", flangeNotchWidth, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("FlangeNotchRadius", flangeNotchRadius, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("NotchLength", notchLength, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("NotchDepth", notchDepth, typeof(IfcPositiveLengthMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("NotchRadius", notchRadius, typeof(IfcPositiveLengthMeasure)));
 }
예제 #18
0
        BbAssemblyIdentity(
            //string name,
            string assemblyMark,
            string clientMark,
            string prelimMark,
            string shippingMark,
            string barCode)
        {
            //Name = name;
            AssemblyMark = assemblyMark;
            ClientMark   = clientMark;
            PrelimMark   = prelimMark;
            ShippingMark = shippingMark;
            BarCode      = barCode;

            BbPropertySet = BbPropertySet.Create("AssemblyIdentity");
            if (!string.IsNullOrWhiteSpace(assemblyMark))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("Assembly Mark", assemblyMark, true));
            }
            if (!string.IsNullOrWhiteSpace(clientMark))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("Client Mark", clientMark, true));
            }
            if (!string.IsNullOrWhiteSpace(prelimMark))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("Prelim Mark", prelimMark, true));
            }
            if (!string.IsNullOrWhiteSpace(shippingMark))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("Shipping Mark", shippingMark, true));
            }
            if (!string.IsNullOrWhiteSpace(barCode))
            {
                BbPropertySet.AddProperty(BbSingleProperty.Create("Bar Code", barCode, true));
            }
        }
예제 #19
0
 public void AddSkewedEndProperty(BbPropertySet bbPropertySet, double skewedAngleX, double skewedAngleY)
 {
     bbPropertySet.AddProperty(BbSingleProperty.Create("SkewedAngleX", skewedAngleX, typeof(IfcPositivePlaneAngleMeasure)));
     bbPropertySet.AddProperty(BbSingleProperty.Create("SkewedAngleY", skewedAngleY, typeof(IfcPositivePlaneAngleMeasure)));
 }
예제 #20
0
        public void AddProperties(
            BbPropertySet bbPropertySet,
            string weldId, string weldDescription,
            string wpsCode, string weldCategory,
            string weldGrade,
            double?weldLength, bool?fieldWeld)
        {
            if (BbPropertySet == null)
            {
                BbPropertySet = bbPropertySet;
            }
            if (!string.IsNullOrWhiteSpace(weldId))
            {
                WeldID = weldId;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldID", WeldID, true));
            }

            if (!string.IsNullOrWhiteSpace(weldDescription))
            {
                WeldDescription = weldDescription;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldDescription", WeldDescription, true));
            }

            if (!string.IsNullOrWhiteSpace(wpsCode))
            {
                WPSCode = wpsCode;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WPSCode", WPSCode, true));
            }

            if (!string.IsNullOrWhiteSpace(weldCategory))
            {
                WeldCategory = weldCategory;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldCategory", WeldCategory, true));
            }

            if (!string.IsNullOrEmpty(weldGrade))
            {
                WeldGrade.Add(weldGrade);
                bbPropertySet.AddProperty(BbListProperty.Create("WeldGrade", weldGrade, typeof(IfcLabel)));
            }

            if (weldLength != null)
            {
                WeldLength = weldLength.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldLength", WeldLength, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                WeldLength = 0.0;
            }

            if (fieldWeld != null)
            {
                FieldWeld = fieldWeld.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("FieldWeld", FieldWeld));
            }
            else
            {
                WeldLength = 0.0;
            }
        }
예제 #21
0
 public static BbSingleProperty Create(string name, bool value)
 {
     BbSingleProperty sp = new BbSingleProperty(name, value);
     BbInstanceDB.AddToExport(sp);
     return sp;
 }
예제 #22
0
        public void AddProperties(
            BbPropertySet bbPropertySet,
            string weldType1, string weldType2,
            string weldSurface1, string weldSurface2,
            int?weldProcess, string weldProcessName,
            double?weldA, double?weldC, double?weldD,
            double?weldE, double?weldL, double?weldN,
            double?weldS, double?weldZ,
            bool?weldIntermittent, bool?weldStaggered)
        {
            if (BbPropertySet == null)
            {
                BbPropertySet = bbPropertySet;
            }
            if (!string.IsNullOrWhiteSpace(weldType1))
            {
                WeldType1 = weldType1;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldType1", WeldType1, true));
            }

            if (!string.IsNullOrWhiteSpace(weldType2))
            {
                WeldType2 = weldType2;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldType2", WeldType2, true));
            }

            if (!string.IsNullOrWhiteSpace(weldSurface1))
            {
                WeldSurface1 = weldSurface1;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldSurface1", WeldSurface1, true));
            }

            if (!string.IsNullOrWhiteSpace(weldSurface2))
            {
                WeldSurface2 = weldSurface2;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldSurface2", WeldSurface2, true));
            }

            if (weldProcess != null)
            {
                WeldProcess = weldProcess.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldProcess", WeldProcess, typeof(IfcInteger)));
            }
            else
            {
                WeldProcess = 0;
            }

            if (!string.IsNullOrWhiteSpace(weldProcessName))
            {
                WeldProcessName = weldProcessName;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldProcessName", WeldProcessName, true));
            }

            if (weldA != null)
            {
                WeldA = weldA.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldA", WeldA, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                WeldA = 0.0;
            }

            if (weldC != null)
            {
                WeldC = weldC.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldC", WeldC, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                WeldC = 0.0;
            }

            if (weldD != null)
            {
                WeldD = weldD.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldD", WeldD, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                WeldD = 0.0;
            }

            if (weldE != null)
            {
                WeldE = weldE.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldE", WeldE, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                WeldE = 0.0;
            }


            if (weldL != null)
            {
                WeldL = weldL.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldL", WeldL, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                WeldL = 0.0;
            }

            if (weldN != null)
            {
                WeldN = weldN.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldN", WeldN, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                WeldN = 0.0;
            }

            if (weldS != null)
            {
                WeldS = weldS.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldS", WeldN, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                WeldS = 0.0;
            }

            if (weldZ != null)
            {
                WeldZ = weldZ.Value;
                bbPropertySet.AddProperty(BbSingleProperty.Create("WeldZ", WeldZ, typeof(IfcPositiveLengthMeasure)));
            }
            else
            {
                WeldZ = 0.0;
            }
        }