本文整理汇总了C#中IFCExtrusionCreationData.GetOpenings方法的典型用法代码示例。如果您正苦于以下问题:C# IFCExtrusionCreationData.GetOpenings方法的具体用法?C# IFCExtrusionCreationData.GetOpenings怎么用?C# IFCExtrusionCreationData.GetOpenings使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IFCExtrusionCreationData
的用法示例。
在下文中一共展示了IFCExtrusionCreationData.GetOpenings方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExportFamilyInstanceAsMappedItem
//.........这里部分代码省略.........
{
CategoryUtil.CreateMaterialAssociations(doc, exporterIFC, typeStyle, typeInfo.MaterialIds);
typeInfo.Style = typeStyle;
if (((exportType == IFCExportType.ExportColumnType) && trySpecialColumnCreation) ||
(exportType == IFCExportType.ExportMemberType))
{
typeInfo.ScaledArea = extraParams.ScaledArea;
typeInfo.ScaledDepth = extraParams.ScaledLength;
typeInfo.ScaledInnerPerimeter = extraParams.ScaledInnerPerimeter;
typeInfo.ScaledOuterPerimeter = extraParams.ScaledOuterPerimeter;
}
ClassificationUtil.CreateUniformatClassification(exporterIFC, file, familySymbol, typeStyle);
}
}
else if (!creatingType && (trySpecialColumnCreation))
{
// still need to modify instance trf for columns.
trf.Origin += GetLevelOffsetForExtrudedColumns(exporterIFC, familyInstance, overrideLevelId, extraParams);
}
if (found && !typeInfo.IsValid())
{
typeInfo = currentTypeInfo;
}
// we'll pretend we succeeded, but we'll do nothing.
if (!typeInfo.IsValid())
return;
// add to the map, as long as we are not using range, not using instance geometry, and don't have extra openings.
if ((range == null) && !useInstanceGeometry && (extraParams.GetOpenings().Count == 0))
ExporterCacheManager.TypeObjectsCache.Register(familySymbol.Id, flipped, typeInfo);
Transform oldTrf = new Transform(trf);
XYZ scaledMapOrigin = XYZ.Zero;
trf = trf.Multiply(typeInfo.StyleTransform);
// create instance.
IList<IFCAnyHandle> shapeReps = new List<IFCAnyHandle>();
{
IFCAnyHandle contextOfItems2d = exporterIFC.Get2DContextHandle();
IFCAnyHandle contextOfItems3d = exporterIFC.Get3DContextHandle("Body");
// for proxies, we store the IfcRepresentationMap directly since there is no style.
IFCAnyHandle style = typeInfo.Style;
IList<IFCAnyHandle> repMapList = !IFCAnyHandleUtil.IsNullOrHasNoValue(style) ?
GeometryUtil.GetRepresentationMaps(style) : null;
int numReps = repMapList != null ? repMapList.Count : 0;
IFCAnyHandle repMap2dHnd = typeInfo.Map2DHandle;
IFCAnyHandle repMap3dHnd = typeInfo.Map3DHandle;
if (IFCAnyHandleUtil.IsNullOrHasNoValue(repMap3dHnd) && (numReps > 0))
repMap3dHnd = repMapList[0];
if (IFCAnyHandleUtil.IsNullOrHasNoValue(repMap2dHnd) && (numReps > 1))
repMap2dHnd = repMapList[1];
if (!IFCAnyHandleUtil.IsNullOrHasNoValue(repMap3dHnd))
{
IList<IFCAnyHandle> representations = new List<IFCAnyHandle>();
representations.Add(ExporterUtil.CreateDefaultMappedItem(file, repMap3dHnd, scaledMapOrigin));
IFCAnyHandle shapeRep = RepresentationUtil.CreateBodyMappedItemRep(exporterIFC, familyInstance, categoryId, contextOfItems3d,
representations);
示例2: NeedToCreateOpenings
public static bool NeedToCreateOpenings(IFCAnyHandle elementHandle, IFCExtrusionCreationData extraParams)
{
if (IFCAnyHandleUtil.IsNullOrHasNoValue(elementHandle))
return false;
if (extraParams == null)
return false;
IList<IFCExtrusionData> info = extraParams.GetOpenings();
return (info.Count > 0);
}
示例3: ExportFamilyInstanceAsMappedItem
//.........这里部分代码省略.........
}
typeInfo.SetStyle(typeStyle);
// Transfer extraParams information for certain types.
if (typeStyle.HasValue)
{
if (((exportType == IFCExportType.ExportColumnType) && trySpecialColumnCreation) ||
(exportType == IFCExportType.ExportMemberType))
{
typeInfo.ScaledArea = extraParams.ScaledArea;
typeInfo.ScaledDepth = extraParams.ScaledLength;
typeInfo.ScaledInnerPerimeter = extraParams.ScaledInnerPerimeter;
typeInfo.ScaledOuterPerimeter = extraParams.ScaledOuterPerimeter;
}
}
}
else if (!creatingType && (trySpecialColumnCreation))
{
// still need to modify instance trf for columns.
trf.Origin += GetLevelOffsetForExtrudedColumns(exporterIFC, familyInstance, overrideLevelId, extraParams);
}
if (found && !typeInfo.GetStyle().HasValue)
{
typeInfo = currentTypeInfo;
}
// we'll pretend we succeeded, but we'll do nothing.
if (!typeInfo.GetStyle().HasValue && !typeInfo.Get2DMapHandle().HasValue && !typeInfo.Get3DMapHandle().HasValue)
return;
// add to the map, as long as we are not using range, not using instance geometry, and don't have extra openings.
if ((range == null) && !useInstanceGeometry && (extraParams.GetOpenings().Count == 0))
exporterIFC.AddType(familySymbol.Id, flipped, typeInfo);
Transform oldTrf = new Transform(trf);
XYZ scaledMapOrigin = XYZ.Zero;
trf = trf.Multiply(typeInfo.GetStyleTransform());
// create instance.
IList<IFCAnyHandle> shapeReps = new List<IFCAnyHandle>();
{
IFCAnyHandle contextOfItems2d = exporterIFC.Get2DContextHandle();
IFCAnyHandle contextOfItems3d = exporterIFC.Get3DContextHandle();
// for proxies, we store the IfcRepresentationMap directly since there is no style.
IList<IFCAnyHandle> repMapList = IFCGeometryUtils.GetRepresentationMaps(typeInfo.GetStyle());
int numReps = repMapList.Count;
IFCAnyHandle repMap2dHnd = typeInfo.Get2DMapHandle();
IFCAnyHandle repMap3dHnd = typeInfo.Get3DMapHandle();
if (!repMap3dHnd.HasValue && (numReps > 0))
repMap3dHnd = repMapList[0];
if (!repMap2dHnd.HasValue && (numReps > 1))
repMap2dHnd = repMapList[1];
if (repMap3dHnd.HasValue)
{
HashSet<IFCAnyHandle> representations = new HashSet<IFCAnyHandle>();
representations.Add(ExporterUtil.CreateDefaultMappedItem(file, repMap3dHnd, scaledMapOrigin));
IFCAnyHandle shapeRep = RepresentationUtil.CreateBodyMappedItemRep(exporterIFC, categoryId, contextOfItems3d, representations);
if (!shapeRep.HasValue)
return;
shapeReps.Add(shapeRep);
示例4: CreateOpeningsIfNecessary
/// <summary>
/// Creates openings associated with an extrusion, if there are any.
/// </summary>
/// <param name="elementHandle">The element handle to create openings.</param>
/// <param name="element">The element to create openings.</param>
/// <param name="extraParams">The extrusion creation data.</param>
/// <param name="exporterIFC">The ExporterIFC object.</param>
/// <param name="originalPlacement">The original placement handle.</param>
/// <param name="setter">The PlacementSetter.</param>
/// <param name="wrapper">The ProductWrapper.</param>
public static void CreateOpeningsIfNecessary(IFCAnyHandle elementHandle, Element element, IFCExtrusionCreationData extraParams,
Transform offsetTransform, ExporterIFC exporterIFC, IFCAnyHandle originalPlacement,
PlacementSetter setter, ProductWrapper wrapper)
{
if (IFCAnyHandleUtil.IsNullOrHasNoValue(elementHandle))
return;
ElementId categoryId = CategoryUtil.GetSafeCategoryId(element);
IList<IFCExtrusionData> info = extraParams.GetOpenings();
CreateOpeningsIfNecessaryBase(elementHandle, element, info, extraParams, offsetTransform, exporterIFC, originalPlacement, setter, wrapper);
extraParams.ClearOpenings();
}
示例5: ExportFamilyInstanceAsMappedItem
//.........这里部分代码省略.........
IFCAnyHandle typeStyle = CreateFamilyTypeHandle(exporterIFC, typeInfo, doorWindowInfo, bodyRepresentation, planRepresentation,
familyInstance, familySymbol, originalFamilySymbol, useInstanceGeometry, exportParts,
exportType, revitObjectType, ifcEnumType, out propertySets);
if (!IFCAnyHandleUtil.IsNullOrHasNoValue(typeStyle))
{
wrapper.RegisterHandleWithElementType(familySymbol, typeStyle, propertySets);
CategoryUtil.CreateMaterialAssociations(exporterIFC, typeStyle, typeInfo.MaterialIds);
typeInfo.Style = typeStyle;
if ((exportType == IFCExportType.ExportColumnType) || (exportType == IFCExportType.ExportMemberType))
{
typeInfo.ScaledArea = extraParams.ScaledArea;
typeInfo.ScaledDepth = extraParams.ScaledLength;
typeInfo.ScaledInnerPerimeter = extraParams.ScaledInnerPerimeter;
typeInfo.ScaledOuterPerimeter = extraParams.ScaledOuterPerimeter;
}
ClassificationUtil.CreateClassification(exporterIFC, file, familySymbol, typeStyle); // Create other generic classification from ClassificationCode(s)
ClassificationUtil.CreateUniformatClassification(exporterIFC, file, originalFamilySymbol, typeStyle);
}
}
if (found && !typeInfo.IsValid())
typeInfo = currentTypeInfo;
// we'll pretend we succeeded, but we'll do nothing.
if (!typeInfo.IsValid())
return;
// add to the map, as long as we are not using range, not using instance geometry, and don't have extra openings.
if ((range == null) && !useInstanceGeometry && (extraParams.GetOpenings().Count == 0))
ExporterCacheManager.TypeObjectsCache.Register(originalFamilySymbol.Id, flipped, typeInfo);
// If we are using the instance geometry, ignore the transformation.
if (useInstanceGeometry)
trf = Transform.Identity;
if ((range != null) && exportParts)
{
XYZ rangeOffset = trf.Origin;
rangeOffset += new XYZ(0, 0, range.Start);
trf.Origin = rangeOffset;
}
Transform originalTrf = new Transform(trf);
XYZ scaledMapOrigin = XYZ.Zero;
trf = trf.Multiply(typeInfo.StyleTransform);
// create instance.
IList<IFCAnyHandle> shapeReps = new List<IFCAnyHandle>();
{
IFCAnyHandle contextOfItems2d = exporterIFC.Get2DContextHandle();
IFCAnyHandle contextOfItems3d = exporterIFC.Get3DContextHandle("Body");
// for proxies, we store the IfcRepresentationMap directly since there is no style.
IFCAnyHandle style = typeInfo.Style;
IList<IFCAnyHandle> repMapList = !IFCAnyHandleUtil.IsNullOrHasNoValue(style) ?
GeometryUtil.GetRepresentationMaps(style) : null;
int numReps = repMapList != null ? repMapList.Count : 0;
IFCAnyHandle repMap2dHnd = typeInfo.Map2DHandle;
IFCAnyHandle repMap3dHnd = typeInfo.Map3DHandle;