/// <summary>
        /// Finds the value of a optional angle attribute.
        /// </summary>
        /// <param name="handle">The entity handle.</param>
        /// <param name="name">The name of the atribute.</param>
        /// <param name="defaultValue">The default value, if not found.</param>
        /// <returns>The length value, scaled.</returns>
        /// <remarks>defaultValue should be scaled.</remarks>
        static public double GetOptionalScaledAngleAttribute(IFCAnyHandle handle, string name, double defaultValue)
        {
            double?value = IFCAnyHandleUtil.GetDoubleAttribute(handle, name);

            if (value.HasValue)
            {
                return(IFCUnitUtil.ScaleAngle(value.Value));
            }

            return(defaultValue);
        }
        /// <summary>
        /// Finds the value of a required angle attribute.
        /// </summary>
        /// <param name="handle">The entity handle.</param>
        /// <param name="name">The name of the atribute.</param>
        /// <param name="found">Returns true if the angle was found.</param>
        /// <returns>The angle, scaled.</returns>
        static public double GetRequiredScaledAngleAttribute(IFCAnyHandle handle, string name, out bool found)
        {
            double?value = IFCAnyHandleUtil.GetDoubleAttribute(handle, name);

            if (value.HasValue)
            {
                found = true;
                return(IFCUnitUtil.ScaleAngle(value.Value));
            }

            found = false;
            return(0.0);
        }