IFCLogical是Revit中的一种数据类型,用于表示IFC模型元素的逻辑属性。该类包括三种枚举类型:IFCLogicalEnum、IFCLogicalNotEnum和IFCLogicalOperatorEnum。
IFCLogicalEnum枚举类型定义了逻辑属性可能的值,包括TRUE、FALSE和UNKNOWN。这些值将被映射到IFC文件中的“BOOLEAN”数据类型。
public enum IFCLogicalEnum
{
Unknown,
True,
False
}
IFCLogicalNotEnum枚举类型定义了IFC对象是否具有逻辑否定的属性,包括NORMAL和NOT。这些值将被映射到IFC文件中的“BOOLEAN”数据类型。
public enum IFCLogicalNotEnum
{
NotDefined,
Normal,
Not
}
IFCLogicalOperatorEnum枚举类型定义了IFC逻辑运算符。包括And、Or和Xor。这些值将被映射到IFC文件中的“BOOLEAN”数据类型。
public enum IFCLogicalOperatorEnum
{
And,
Or,
Xor
}
IFCLogical类没有提供任何公共方法。
以下示例演示如何使用IFCLogical枚举类型来设置IFC模型元素的逻辑属性。
ElementId ifcElementId = new ElementId(ifcId);
IFCAnyHandle ifcHandle = ExporterCacheManager.SKETCHUP.ExporterIFC.GetOriginalIFCIfPresent(document, ifcElementId);
if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcHandle))
{
string typeName = IFCValidateEntry.GetValidIFCTypeName(element);
ifcHandle = ExporterCacheManager.SKETCHUP.ExporterIFC.CreateIFCElement(document, element, typeName, null, null);
}
IFCLogicalEnum logicalValue = IFCLogicalEnum.True;
IFCAnyHandleUtil.SetAttribute(ifcHandle, "LogicalAttribute", logicalValue.ToString(), true);
此代码设置IFC模型元素的逻辑属性为“True”。该值将被映射到IFC文件中的“BOOLEAN”数据类型。