Пример #1
0
 public IfcBoundaryNodeCondition(IfcLabel?__Name, IfcTranslationalStiffnessSelect __TranslationalStiffnessX, IfcTranslationalStiffnessSelect __TranslationalStiffnessY, IfcTranslationalStiffnessSelect __TranslationalStiffnessZ, IfcRotationalStiffnessSelect __RotationalStiffnessX, IfcRotationalStiffnessSelect __RotationalStiffnessY, IfcRotationalStiffnessSelect __RotationalStiffnessZ)
     : base(__Name)
 {
     this.TranslationalStiffnessX = __TranslationalStiffnessX;
     this.TranslationalStiffnessY = __TranslationalStiffnessY;
     this.TranslationalStiffnessZ = __TranslationalStiffnessZ;
     this.RotationalStiffnessX    = __RotationalStiffnessX;
     this.RotationalStiffnessY    = __RotationalStiffnessY;
     this.RotationalStiffnessZ    = __RotationalStiffnessZ;
 }
Пример #2
0
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
                base.Parse(propIndex, value, nestedIndex);
                return;

            case 1:
                _translationalStiffnessX = (IfcTranslationalStiffnessSelect)(value.EntityVal);
                return;

            case 2:
                _translationalStiffnessY = (IfcTranslationalStiffnessSelect)(value.EntityVal);
                return;

            case 3:
                _translationalStiffnessZ = (IfcTranslationalStiffnessSelect)(value.EntityVal);
                return;

            case 4:
                _rotationalStiffnessX = (IfcRotationalStiffnessSelect)(value.EntityVal);
                return;

            case 5:
                _rotationalStiffnessY = (IfcRotationalStiffnessSelect)(value.EntityVal);
                return;

            case 6:
                _rotationalStiffnessZ = (IfcRotationalStiffnessSelect)(value.EntityVal);
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
Пример #3
0
        public IfcBoundaryNodeCondition FindOrCreateBoundaryNodeCondition(bool isPointRestraint, IfcTranslationalStiffnessSelect x, IfcTranslationalStiffnessSelect y, IfcTranslationalStiffnessSelect z, IfcRotationalStiffnessSelect xx, IfcRotationalStiffnessSelect yy, IfcRotationalStiffnessSelect zz)
        {
            string name = "";
            bool partial = false;
            double tol = 1e-6;

            if (x == null)
                name += isPointRestraint ? 'F' : 'T';
            else if (!x.mRigid && x.mStiffness != null)
                partial = true;
            else
                name += (x.mRigid ? 'T' : 'F');
            if (y == null)
                name += isPointRestraint ? 'F' : 'T';
            else if (!y.mRigid && y.mStiffness != null)
                partial = true;
            else
                name += (y.mRigid ? 'T' : 'F');
            if (z == null)
                name += isPointRestraint ? 'F' : 'T';
            else if (!z.mRigid && z.mStiffness != null)
                partial = true;
            else
                name += (z.mRigid ? 'T' : 'F');
            if (xx == null)
                name += isPointRestraint ? 'F' : 'T';
            else if (!xx.mRigid && xx.mStiffness != null)
                partial = true;
            else
                name += (xx.mRigid ? 'T' : 'F');
            if (yy == null)
                name += isPointRestraint ? 'F' : 'T';
            else if (!yy.mRigid && yy.mStiffness != null)
                partial = true;
            else
                name += (yy.mRigid ? 'T' : 'F');
            if (zz == null)
                name += isPointRestraint ? 'F' : 'T';
            else if (!zz.mRigid && zz.mStiffness != null)
                partial = true;
            else
                name += (zz.mRigid ? 'T' : 'F');

            if (partial)
            {
            #warning implement
                return new IfcBoundaryNodeCondition(mDatabase, "", x, y, z, xx, yy, zz);
            }
            if (mBoundaryNodeConditions.ContainsKey(name))
                return mBoundaryNodeConditions[name];
            IfcBoundaryNodeCondition result = new IfcBoundaryNodeCondition(mDatabase, name, x, y, z, xx, yy, zz);
            mBoundaryNodeConditions.Add(name, result);
            return result;
        }
Пример #4
0
 public IfcBoundaryNodeConditionWarping(IfcLabel?__Name, IfcTranslationalStiffnessSelect __TranslationalStiffnessX, IfcTranslationalStiffnessSelect __TranslationalStiffnessY, IfcTranslationalStiffnessSelect __TranslationalStiffnessZ, IfcRotationalStiffnessSelect __RotationalStiffnessX, IfcRotationalStiffnessSelect __RotationalStiffnessY, IfcRotationalStiffnessSelect __RotationalStiffnessZ, IfcWarpingStiffnessSelect __WarpingStiffness)
     : base(__Name, __TranslationalStiffnessX, __TranslationalStiffnessY, __TranslationalStiffnessZ, __RotationalStiffnessX, __RotationalStiffnessY, __RotationalStiffnessZ)
 {
     this.WarpingStiffness = __WarpingStiffness;
 }