コード例 #1
0
        /// <summary>
        /// Create a plane angle measure property from the element's parameter.
        /// </summary>
        /// <param name="file">The IFC file.</param>
        /// <param name="elem">The Element.</param>
        /// <param name="revitParameterName">The name of the parameter.</param>
        /// <param name="ifcPropertyName">The name of the property.</param>
        /// <param name="valueType">The value type of the property.</param>
        /// <returns>The created property handle.</returns>
        public static IFCAnyHandle CreatePositivePlaneAngleMeasurePropertyFromElement(IFCFile file, Element elem, string revitParameterName, string ifcPropertyName, PropertyValueType valueType)
        {
            double    propertyValue;
            Parameter param = ParameterUtil.GetDoubleValueFromElement(elem, null, revitParameterName, out propertyValue);

            if (param != null)
            {
                if (!ParameterUtil.ParameterDataTypeIsEqualTo(param, SpecTypeId.Number))
                {
                    propertyValue = UnitUtil.ScaleAngle(propertyValue);
                }

                if (valueType == PropertyValueType.BoundedValue)
                {
                    IList <IFCData> boundedData = GetBoundedDataFromElement(elem, revitParameterName, propertyValue, SpecTypeId.Angle, "IfcPositivePlaneAngleMeasure");
                    return(CreateBoundedValuePropertyFromList(file, ifcPropertyName, boundedData, null));
                }
                else
                {
                    return(CreatePositivePlaneAngleMeasurePropertyFromCache(file, ifcPropertyName, propertyValue, valueType));
                }
            }

            return(null);
        }