/// <summary> /// Create IFC connection surface geometry from an opening object. /// </summary> /// <param name="file"> /// The IFC file. /// </param> /// <param name="opening"> /// The EnergyAnalysisOpening. /// </param> /// <param name="offset"> /// The offset of opening. /// </param> /// <returns> /// The connection surface geometry handle. /// </returns> static IFCAnyHandle CreateConnectionSurfaceGeometry(IFCFile file, EnergyAnalysisOpening opening) { Polyloop outerLoop = opening.GetPolyloop(); IList<XYZ> outerLoopPoints = outerLoop.GetPoints(); IList<IList<XYZ>> innerLoopPoints = new List<IList<XYZ>>(); IFCAnyHandle hnd = file.CreateCurveBoundedPlane(outerLoopPoints, innerLoopPoints); IFCAnyHandle ifcOptionalHnd = IFCAnyHandle.Create(); return file.CreateConnectionSurfaceGeometry(hnd, ifcOptionalHnd); }