/// <summary>
        /// Create an IFCExtrudedAreaSolid object from a handle of type IfcExtrudedAreaSolid.
        /// </summary>
        /// <param name="ifcSolid">The IFC handle.</param>
        /// <returns>The IFCExtrudedAreaSolid object.</returns>
        public static IFCExtrudedAreaSolid ProcessIFCExtrudedAreaSolid(IFCAnyHandle ifcSolid)
        {
            if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcSolid))
            {
                Importer.TheLog.LogNullError(IFCEntityType.IfcExtrudedAreaSolid);
                return(null);
            }

            IFCEntity solid;

            if (!IFCImportFile.TheFile.EntityMap.TryGetValue(ifcSolid.StepId, out solid))
            {
                solid = new IFCExtrudedAreaSolid(ifcSolid);
            }
            return(solid as IFCExtrudedAreaSolid);
        }
        /// <summary>
        /// Create an IFCSolidModel object from a handle of type IfcSweptAreaSolid.
        /// </summary>
        /// <param name="ifcSweptAreaSolid">The IFC handle.</param>
        /// <returns>The IFCSweptAreaSolid object.</returns>
        public static IFCSweptAreaSolid ProcessIFCSweptAreaSolid(IFCAnyHandle ifcSweptAreaSolid)
        {
            if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcSweptAreaSolid))
            {
                Importer.TheLog.LogNullError(IFCEntityType.IfcSweptAreaSolid);
                return(null);
            }

            if (IFCAnyHandleUtil.IsSubTypeOf(ifcSweptAreaSolid, IFCEntityType.IfcExtrudedAreaSolid))
            {
                return(IFCExtrudedAreaSolid.ProcessIFCExtrudedAreaSolid(ifcSweptAreaSolid));
            }
            if (IFCAnyHandleUtil.IsSubTypeOf(ifcSweptAreaSolid, IFCEntityType.IfcRevolvedAreaSolid))
            {
                return(IFCRevolvedAreaSolid.ProcessIFCRevolvedAreaSolid(ifcSweptAreaSolid));
            }
            if (IFCAnyHandleUtil.IsSubTypeOf(ifcSweptAreaSolid, IFCEntityType.IfcSurfaceCurveSweptAreaSolid))
            {
                return(IFCSurfaceCurveSweptAreaSolid.ProcessIFCSurfaceCurveSweptAreaSolid(ifcSweptAreaSolid));
            }

            Importer.TheLog.LogUnhandledSubTypeError(ifcSweptAreaSolid, IFCEntityType.IfcSweptAreaSolid, true);
            return(null);
        }
      /// <summary>
      /// Create an IFCExtrudedAreaSolid object from a handle of type IfcExtrudedAreaSolid.
      /// </summary>
      /// <param name="ifcSolid">The IFC handle.</param>
      /// <returns>The IFCExtrudedAreaSolid object.</returns>
      public static IFCExtrudedAreaSolid ProcessIFCExtrudedAreaSolid(IFCAnyHandle ifcSolid)
      {
         if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcSolid))
         {
            Importer.TheLog.LogNullError(IFCEntityType.IfcExtrudedAreaSolid);
            return null;
         }

         IFCEntity solid;
         if (!IFCImportFile.TheFile.EntityMap.TryGetValue(ifcSolid.StepId, out solid))
            solid = new IFCExtrudedAreaSolid(ifcSolid);
         return (solid as IFCExtrudedAreaSolid);
      }