/// <summary> /// Creates an IFCData object as IfcText. /// </summary> /// <param name="value">The string value.</param> /// <returns>The IFCData object.</returns> public static IFCData CreateAsText(string value) { if (value == null) { return(null); } int maxStrLen = IFCLimits.CalculateMaxAllowedSize(value); if (value.Length > maxStrLen) { OnIFCStringTooLongWarn(value, maxStrLen); value = value.Remove(maxStrLen); } return(IFCData.CreateStringOfType(value, "IfcText")); }
/// <summary> /// Creates an IFCData object as IfcText. /// </summary> /// <param name="value">The string value.</param> /// <returns>The IFCData object.</returns> public static IFCData CreateAsText(string value) { if (value == null) { return(null); } value = new string(value.Where(c => !char.IsControl(c)).ToArray()); int maxStrLen = IFCLimits.CalculateMaxAllowedSize(value); if (value.Length > maxStrLen) { OnIFCStringTooLongWarn(value, maxStrLen); value = value.Remove(maxStrLen); } return(IFCData.CreateStringOfType(value, "IfcText")); }