/// <summary> /// Adds the saved configuration from document to the map. /// </summary> /// <param name="document">The document storing the saved configuration.</param> public void AddSavedConfigurations(Document document) { if (m_schema == null) { m_schema = Schema.Lookup(s_schemaId); } if (m_schema != null) { foreach (DataStorage storedSetup in GetSavedConfigurations(document)) { Entity configEntity = storedSetup.GetEntity(m_schema); IFCExportConfiguration configuration = IFCExportConfiguration.CreateDefaultConfiguration(); configuration.Name = configEntity.Get <String>(s_setupName); //configuration.Description = configEntity.Get<String>(s_setupDescription); configuration.IFCVersion = (IFCVersion)configEntity.Get <int>(s_setupVersion); configuration.IFCFileType = (IFCFileFormat)configEntity.Get <int>(s_setupFileFormat); configuration.SpaceBoundaries = configEntity.Get <int>(s_setupSpaceBoundaries); configuration.ExportBaseQuantities = configEntity.Get <bool>(s_setupQTO); configuration.SplitWallsAndColumns = configEntity.Get <bool>(s_splitWallsAndColumns); configuration.Export2DElements = configEntity.Get <bool>(s_setupExport2D); configuration.ExportInternalRevitPropertySets = configEntity.Get <bool>(s_setupExportRevitProps); configuration.Use2DRoomBoundaryForVolume = configEntity.Get <bool>(s_setupUse2DForRoomVolume); configuration.UseFamilyAndTypeNameForReference = configEntity.Get <bool>(s_setupUseFamilyAndTypeName); configuration.ExportPartsAsBuildingElements = configEntity.Get <bool>(s_setupExportPartsAsBuildingElements); Add(configuration); } } }
public override object Deserialize(IDictionary <string, object> dictionary, Type type, JavaScriptSerializer serializer) { if (dictionary == null) { throw new ArgumentNullException("dictionary"); } if (type != typeof(IFCExportConfiguration)) { return(null); } // Create the instance to deserialize into. IFCExportConfiguration config = IFCExportConfiguration.CreateDefaultConfiguration(); config.DeserializeFromJson(dictionary, serializer); return(config); }
/// <summary> /// Creates a new configuration, either a default or a copy configuration. /// </summary> /// <param name="configuration">The specific configuration, null to create a defult configuration.</param> /// <param name="name">The name of the new configuration.</param> /// <returns>The new configuration.</returns> private IFCExportConfiguration CreateNewEditableConfiguration(IFCExportConfiguration configuration, String name) { // create new configuration based on input, or default configuration. IFCExportConfiguration newConfiguration; if (configuration == null) { newConfiguration = IFCExportConfiguration.CreateDefaultConfiguration(); newConfiguration.Name = name; } else { newConfiguration = configuration.Duplicate(name); } m_configurationsMap.Add(newConfiguration); // set new configuration as selected listBoxConfigurations.Items.Add(newConfiguration); listBoxConfigurations.SelectedItem = newConfiguration; return(configuration); }
/// <summary> /// Adds the saved configuration from document to the map. /// </summary> public void AddSavedConfigurations() { try { if (m_schema == null) { m_schema = Schema.Lookup(s_schemaId); } if (m_mapSchema == null) { m_mapSchema = Schema.Lookup(s_mapSchemaId); } if (m_mapSchema != null) { foreach (DataStorage storedSetup in GetSavedConfigurations(m_mapSchema)) { Entity configEntity = storedSetup.GetEntity(m_mapSchema); IDictionary <string, string> configMap = configEntity.Get <IDictionary <string, string> >(s_configMapField); IFCExportConfiguration configuration = IFCExportConfiguration.CreateDefaultConfiguration(); if (configMap.ContainsKey(s_setupName)) { configuration.Name = configMap[s_setupName]; } if (configMap.ContainsKey(s_setupVersion)) { configuration.IFCVersion = (IFCVersion)Enum.Parse(typeof(IFCVersion), configMap[s_setupVersion]); } if (configMap.ContainsKey(s_setupFileFormat)) { configuration.IFCFileType = (IFCFileFormat)Enum.Parse(typeof(IFCFileFormat), configMap[s_setupFileFormat]); } if (configMap.ContainsKey(s_setupSpaceBoundaries)) { configuration.SpaceBoundaries = int.Parse(configMap[s_setupSpaceBoundaries]); } if (configMap.ContainsKey(s_setupActivePhase)) { configuration.ActivePhaseId = new ElementId(int.Parse(configMap[s_setupActivePhase])); } if (configMap.ContainsKey(s_setupQTO)) { configuration.ExportBaseQuantities = bool.Parse(configMap[s_setupQTO]); } if (configMap.ContainsKey(s_setupCurrentView)) { configuration.VisibleElementsOfCurrentView = bool.Parse(configMap[s_setupCurrentView]); } if (configMap.ContainsKey(s_splitWallsAndColumns)) { configuration.SplitWallsAndColumns = bool.Parse(configMap[s_splitWallsAndColumns]); } if (configMap.ContainsKey(s_setupExport2D)) { configuration.Export2DElements = bool.Parse(configMap[s_setupExport2D]); } if (configMap.ContainsKey(s_setupExportRevitProps)) { configuration.ExportInternalRevitPropertySets = bool.Parse(configMap[s_setupExportRevitProps]); } if (configMap.ContainsKey(s_setupExportIFCCommonProperty)) { configuration.ExportIFCCommonPropertySets = bool.Parse(configMap[s_setupExportIFCCommonProperty]); } if (configMap.ContainsKey(s_setupUse2DForRoomVolume)) { configuration.Use2DRoomBoundaryForVolume = bool.Parse(configMap[s_setupUse2DForRoomVolume]); } if (configMap.ContainsKey(s_setupUseFamilyAndTypeName)) { configuration.UseFamilyAndTypeNameForReference = bool.Parse(configMap[s_setupUseFamilyAndTypeName]); } if (configMap.ContainsKey(s_setupExportPartsAsBuildingElements)) { configuration.ExportPartsAsBuildingElements = bool.Parse(configMap[s_setupExportPartsAsBuildingElements]); } if (configMap.ContainsKey(s_useActiveViewGeometry)) { configuration.UseActiveViewGeometry = bool.Parse(configMap[s_useActiveViewGeometry]); } if (configMap.ContainsKey(s_setupExportSpecificSchedules)) { configuration.ExportSpecificSchedules = bool.Parse(configMap[s_setupExportSpecificSchedules]); } if (configMap.ContainsKey(s_setupExportBoundingBox)) { configuration.ExportBoundingBox = bool.Parse(configMap[s_setupExportBoundingBox]); } if (configMap.ContainsKey(s_setupExportSolidModelRep)) { configuration.ExportSolidModelRep = bool.Parse(configMap[s_setupExportSolidModelRep]); } if (configMap.ContainsKey(s_setupExportSchedulesAsPsets)) { configuration.ExportSchedulesAsPsets = bool.Parse(configMap[s_setupExportSchedulesAsPsets]); } if (configMap.ContainsKey(s_setupExportUserDefinedPsets)) { configuration.ExportUserDefinedPsets = bool.Parse(configMap[s_setupExportUserDefinedPsets]); } if (configMap.ContainsKey(s_setupExportUserDefinedPsetsFileName)) { configuration.ExportUserDefinedPsetsFileName = configMap[s_setupExportUserDefinedPsetsFileName]; } if (configMap.ContainsKey(s_setupExportUserDefinedParameterMapping)) { configuration.ExportUserDefinedParameterMapping = bool.Parse(configMap[s_setupExportUserDefinedParameterMapping]); } if (configMap.ContainsKey(s_setupExportUserDefinedParameterMappingFileName)) { configuration.ExportUserDefinedParameterMappingFileName = configMap[s_setupExportUserDefinedParameterMappingFileName]; } if (configMap.ContainsKey(s_setupExportLinkedFiles)) { configuration.ExportLinkedFiles = bool.Parse(configMap[s_setupExportLinkedFiles]); } if (configMap.ContainsKey(s_setupIncludeSiteElevation)) { configuration.IncludeSiteElevation = bool.Parse(configMap[s_setupIncludeSiteElevation]); } if (configMap.ContainsKey(s_setupStoreIFCGUID)) { configuration.StoreIFCGUID = bool.Parse(configMap[s_setupStoreIFCGUID]); } if (configMap.ContainsKey(s_setupExportRoomsInView)) { configuration.ExportRoomsInView = bool.Parse(configMap[s_setupExportRoomsInView]); } if (configMap.ContainsKey(s_includeSteelElements)) { configuration.IncludeSteelElements = bool.Parse(configMap[s_includeSteelElements]); } if (configMap.ContainsKey(s_useTypeNameOnlyForIfcType)) { configuration.UseTypeNameOnlyForIfcType = bool.Parse(configMap[s_useTypeNameOnlyForIfcType]); } if (configMap.ContainsKey(s_useVisibleRevitNameAsEntityName)) { configuration.UseVisibleRevitNameAsEntityName = bool.Parse(configMap[s_useVisibleRevitNameAsEntityName]); } Add(configuration); } return; // if finds the config in map schema, return and skip finding the old schema. } // find the config in old schema. if (m_schema != null) { foreach (DataStorage storedSetup in GetSavedConfigurations(m_schema)) { Entity configEntity = storedSetup.GetEntity(m_schema); IFCExportConfiguration configuration = IFCExportConfiguration.CreateDefaultConfiguration(); configuration.Name = configEntity.Get <String>(s_setupName); configuration.IFCVersion = (IFCVersion)configEntity.Get <int>(s_setupVersion); configuration.IFCFileType = (IFCFileFormat)configEntity.Get <int>(s_setupFileFormat); configuration.SpaceBoundaries = configEntity.Get <int>(s_setupSpaceBoundaries); configuration.ExportBaseQuantities = configEntity.Get <bool>(s_setupQTO); configuration.SplitWallsAndColumns = configEntity.Get <bool>(s_splitWallsAndColumns); configuration.Export2DElements = configEntity.Get <bool>(s_setupExport2D); configuration.ExportInternalRevitPropertySets = configEntity.Get <bool>(s_setupExportRevitProps); Field fieldIFCCommonPropertySets = m_schema.GetField(s_setupExportIFCCommonProperty); if (fieldIFCCommonPropertySets != null) { configuration.ExportIFCCommonPropertySets = configEntity.Get <bool>(s_setupExportIFCCommonProperty); } configuration.Use2DRoomBoundaryForVolume = configEntity.Get <bool>(s_setupUse2DForRoomVolume); configuration.UseFamilyAndTypeNameForReference = configEntity.Get <bool>(s_setupUseFamilyAndTypeName); Field fieldPartsAsBuildingElements = m_schema.GetField(s_setupExportPartsAsBuildingElements); if (fieldPartsAsBuildingElements != null) { configuration.ExportPartsAsBuildingElements = configEntity.Get <bool>(s_setupExportPartsAsBuildingElements); } Field fieldExportBoundingBox = m_schema.GetField(s_setupExportBoundingBox); if (fieldExportBoundingBox != null) { configuration.ExportBoundingBox = configEntity.Get <bool>(s_setupExportBoundingBox); } Field fieldExportSolidModelRep = m_schema.GetField(s_setupExportSolidModelRep); if (fieldExportSolidModelRep != null) { configuration.ExportSolidModelRep = configEntity.Get <bool>(s_setupExportSolidModelRep); } Field fieldExportSchedulesAsPsets = m_schema.GetField(s_setupExportSchedulesAsPsets); if (fieldExportSchedulesAsPsets != null) { configuration.ExportSchedulesAsPsets = configEntity.Get <bool>(s_setupExportSchedulesAsPsets); } Field fieldExportUserDefinedPsets = m_schema.GetField(s_setupExportUserDefinedPsets); if (fieldExportUserDefinedPsets != null) { configuration.ExportUserDefinedPsets = configEntity.Get <bool>(s_setupExportUserDefinedPsets); } Field fieldExportUserDefinedPsetsFileName = m_schema.GetField(s_setupExportUserDefinedPsetsFileName); if (fieldExportUserDefinedPsetsFileName != null) { configuration.ExportUserDefinedPsetsFileName = configEntity.Get <string>(s_setupExportUserDefinedPsetsFileName); } Field fieldExportUserDefinedParameterMapingTable = m_schema.GetField(s_setupExportUserDefinedParameterMapping); if (fieldExportUserDefinedParameterMapingTable != null) { configuration.ExportUserDefinedParameterMapping = configEntity.Get <bool>(s_setupExportUserDefinedParameterMapping); } Field fieldExportUserDefinedParameterMappingFileName = m_schema.GetField(s_setupExportUserDefinedParameterMappingFileName); if (fieldExportUserDefinedParameterMappingFileName != null) { configuration.ExportUserDefinedParameterMappingFileName = configEntity.Get <string>(s_setupExportUserDefinedParameterMappingFileName); } Field fieldExportLinkedFiles = m_schema.GetField(s_setupExportLinkedFiles); if (fieldExportLinkedFiles != null) { configuration.ExportLinkedFiles = configEntity.Get <bool>(s_setupExportLinkedFiles); } Field fieldIncludeSiteElevation = m_schema.GetField(s_setupIncludeSiteElevation); if (fieldIncludeSiteElevation != null) { configuration.IncludeSiteElevation = configEntity.Get <bool>(s_setupIncludeSiteElevation); } Field fieldStoreIFCGUID = m_schema.GetField(s_setupStoreIFCGUID); if (fieldStoreIFCGUID != null) { configuration.StoreIFCGUID = configEntity.Get <bool>(s_setupStoreIFCGUID); } Field fieldActivePhase = m_schema.GetField(s_setupActivePhase); if (fieldActivePhase != null) { configuration.ActivePhaseId = new ElementId(int.Parse(configEntity.Get <string>(s_setupActivePhase))); } Field fieldExportRoomsInView = m_schema.GetField(s_setupExportRoomsInView); if (fieldExportRoomsInView != null) { configuration.ExportRoomsInView = configEntity.Get <bool>(s_setupExportRoomsInView); } Field fieldIncludeSteelElements = m_schema.GetField(s_includeSteelElements); if (fieldIncludeSteelElements != null) { configuration.IncludeSteelElements = configEntity.Get <bool>(s_includeSteelElements); } Field fieldUseTypeNameOnlyForIfcType = m_schema.GetField(s_useTypeNameOnlyForIfcType); if (fieldUseTypeNameOnlyForIfcType != null) { configuration.UseTypeNameOnlyForIfcType = configEntity.Get <bool>(s_useTypeNameOnlyForIfcType); } Field fieldUseVisibleRevitNameAsEntityName = m_schema.GetField(s_useVisibleRevitNameAsEntityName); if (fieldUseVisibleRevitNameAsEntityName != null) { configuration.UseVisibleRevitNameAsEntityName = configEntity.Get <bool>(s_useVisibleRevitNameAsEntityName); } Add(configuration); } } } catch (System.Exception) { // to avoid fail to show the dialog if any exception throws in reading schema. } }
/// <summary> /// Adds the saved configuration from document to the map. /// </summary> public void AddSavedConfigurations() { try { // find the config in old schema. if (m_OldSchema == null) { m_OldSchema = Schema.Lookup(s_OldSchemaId); if (m_OldSchema != null) { foreach (DataStorage storedSetup in GetSavedConfigurations(m_OldSchema)) { Entity configEntity = storedSetup.GetEntity(m_OldSchema); IFCExportConfiguration configuration = IFCExportConfiguration.CreateDefaultConfiguration(); configuration.Name = configEntity.Get <String>(s_setupName); configuration.IFCVersion = (IFCVersion)configEntity.Get <int>(s_setupVersion); configuration.ExchangeRequirement = IFCExchangeRequirements.ParseEREnum(configEntity.Get <String>(s_exchangeRequirement)); configuration.IFCFileType = (IFCFileFormat)configEntity.Get <int>(s_setupFileFormat); configuration.SpaceBoundaries = configEntity.Get <int>(s_setupSpaceBoundaries); configuration.ExportBaseQuantities = configEntity.Get <bool>(s_setupQTO); configuration.SplitWallsAndColumns = configEntity.Get <bool>(s_splitWallsAndColumns); configuration.Export2DElements = configEntity.Get <bool>(s_setupExport2D); configuration.ExportInternalRevitPropertySets = configEntity.Get <bool>(s_setupExportRevitProps); Field fieldIFCCommonPropertySets = m_OldSchema.GetField(s_setupExportIFCCommonProperty); if (fieldIFCCommonPropertySets != null) { configuration.ExportIFCCommonPropertySets = configEntity.Get <bool>(s_setupExportIFCCommonProperty); } configuration.Use2DRoomBoundaryForVolume = configEntity.Get <bool>(s_setupUse2DForRoomVolume); configuration.UseFamilyAndTypeNameForReference = configEntity.Get <bool>(s_setupUseFamilyAndTypeName); Field fieldPartsAsBuildingElements = m_OldSchema.GetField(s_setupExportPartsAsBuildingElements); if (fieldPartsAsBuildingElements != null) { configuration.ExportPartsAsBuildingElements = configEntity.Get <bool>(s_setupExportPartsAsBuildingElements); } Field fieldExportBoundingBox = m_OldSchema.GetField(s_setupExportBoundingBox); if (fieldExportBoundingBox != null) { configuration.ExportBoundingBox = configEntity.Get <bool>(s_setupExportBoundingBox); } Field fieldExportSolidModelRep = m_OldSchema.GetField(s_setupExportSolidModelRep); if (fieldExportSolidModelRep != null) { configuration.ExportSolidModelRep = configEntity.Get <bool>(s_setupExportSolidModelRep); } Field fieldExportSchedulesAsPsets = m_OldSchema.GetField(s_setupExportSchedulesAsPsets); if (fieldExportSchedulesAsPsets != null) { configuration.ExportSchedulesAsPsets = configEntity.Get <bool>(s_setupExportSchedulesAsPsets); } Field fieldExportUserDefinedPsets = m_OldSchema.GetField(s_setupExportUserDefinedPsets); if (fieldExportUserDefinedPsets != null) { configuration.ExportUserDefinedPsets = configEntity.Get <bool>(s_setupExportUserDefinedPsets); } Field fieldExportUserDefinedPsetsFileName = m_OldSchema.GetField(s_setupExportUserDefinedPsetsFileName); if (fieldExportUserDefinedPsetsFileName != null) { configuration.ExportUserDefinedPsetsFileName = configEntity.Get <string>(s_setupExportUserDefinedPsetsFileName); } Field fieldExportUserDefinedParameterMapingTable = m_OldSchema.GetField(s_setupExportUserDefinedParameterMapping); if (fieldExportUserDefinedParameterMapingTable != null) { configuration.ExportUserDefinedParameterMapping = configEntity.Get <bool>(s_setupExportUserDefinedParameterMapping); } Field fieldExportUserDefinedParameterMappingFileName = m_OldSchema.GetField(s_setupExportUserDefinedParameterMappingFileName); if (fieldExportUserDefinedParameterMappingFileName != null) { configuration.ExportUserDefinedParameterMappingFileName = configEntity.Get <string>(s_setupExportUserDefinedParameterMappingFileName); } Field fieldExportLinkedFiles = m_OldSchema.GetField(s_setupExportLinkedFiles); if (fieldExportLinkedFiles != null) { configuration.ExportLinkedFiles = configEntity.Get <bool>(s_setupExportLinkedFiles); } Field fieldIncludeSiteElevation = m_OldSchema.GetField(s_setupIncludeSiteElevation); if (fieldIncludeSiteElevation != null) { configuration.IncludeSiteElevation = configEntity.Get <bool>(s_setupIncludeSiteElevation); } Field fieldStoreIFCGUID = m_OldSchema.GetField(s_setupStoreIFCGUID); if (fieldStoreIFCGUID != null) { configuration.StoreIFCGUID = configEntity.Get <bool>(s_setupStoreIFCGUID); } Field fieldActivePhase = m_OldSchema.GetField(s_setupActivePhase); if (fieldActivePhase != null) { configuration.ActivePhaseId = int.Parse(configEntity.Get <string>(s_setupActivePhase)); } Field fieldExportRoomsInView = m_OldSchema.GetField(s_setupExportRoomsInView); if (fieldExportRoomsInView != null) { configuration.ExportRoomsInView = configEntity.Get <bool>(s_setupExportRoomsInView); } Field fieldIncludeSteelElements = m_OldSchema.GetField(s_includeSteelElements); if (fieldIncludeSteelElements != null) { configuration.IncludeSteelElements = configEntity.Get <bool>(s_includeSteelElements); } Field fieldUseOnlyTriangulation = m_OldSchema.GetField(s_useOnlyTriangulation); if (fieldUseOnlyTriangulation != null) { configuration.UseOnlyTriangulation = configEntity.Get <bool>(s_useOnlyTriangulation); } Field fieldUseTypeNameOnlyForIfcType = m_OldSchema.GetField(s_useTypeNameOnlyForIfcType); if (fieldUseTypeNameOnlyForIfcType != null) { configuration.UseTypeNameOnlyForIfcType = configEntity.Get <bool>(s_useTypeNameOnlyForIfcType); } Field fieldUseVisibleRevitNameAsEntityName = m_OldSchema.GetField(s_useVisibleRevitNameAsEntityName); if (fieldUseVisibleRevitNameAsEntityName != null) { configuration.UseVisibleRevitNameAsEntityName = configEntity.Get <bool>(s_useVisibleRevitNameAsEntityName); } Field fieldTessellationLevelOfDetail = m_OldSchema.GetField(s_setupTessellationLevelOfDetail); if (fieldTessellationLevelOfDetail != null) { configuration.TessellationLevelOfDetail = configEntity.Get <double>(s_setupTessellationLevelOfDetail); } AddOrReplace(configuration); } } } // This is the newer schema if (m_mapSchema == null) { m_mapSchema = Schema.Lookup(s_mapSchemaId); if (m_mapSchema != null) { foreach (DataStorage storedSetup in GetSavedConfigurations(m_mapSchema)) { Entity configEntity = storedSetup.GetEntity(m_mapSchema); IDictionary <string, string> configMap = configEntity.Get <IDictionary <string, string> >(s_configMapField); IFCExportConfiguration configuration = IFCExportConfiguration.CreateDefaultConfiguration(); if (configMap.ContainsKey(s_setupName)) { configuration.Name = configMap[s_setupName]; } if (configMap.ContainsKey(s_setupVersion)) { configuration.IFCVersion = (IFCVersion)Enum.Parse(typeof(IFCVersion), configMap[s_setupVersion]); } if (configMap.ContainsKey(s_exchangeRequirement)) { configuration.ExchangeRequirement = IFCExchangeRequirements.ParseEREnum(configMap[s_exchangeRequirement]); } if (configMap.ContainsKey(s_setupFileFormat)) { configuration.IFCFileType = (IFCFileFormat)Enum.Parse(typeof(IFCFileFormat), configMap[s_setupFileFormat]); } if (configMap.ContainsKey(s_setupSpaceBoundaries)) { configuration.SpaceBoundaries = int.Parse(configMap[s_setupSpaceBoundaries]); } if (configMap.ContainsKey(s_setupActivePhase)) { configuration.ActivePhaseId = int.Parse(configMap[s_setupActivePhase]); } if (configMap.ContainsKey(s_setupQTO)) { configuration.ExportBaseQuantities = bool.Parse(configMap[s_setupQTO]); } if (configMap.ContainsKey(s_setupCurrentView)) { configuration.VisibleElementsOfCurrentView = bool.Parse(configMap[s_setupCurrentView]); } if (configMap.ContainsKey(s_splitWallsAndColumns)) { configuration.SplitWallsAndColumns = bool.Parse(configMap[s_splitWallsAndColumns]); } if (configMap.ContainsKey(s_setupExport2D)) { configuration.Export2DElements = bool.Parse(configMap[s_setupExport2D]); } if (configMap.ContainsKey(s_setupExportRevitProps)) { configuration.ExportInternalRevitPropertySets = bool.Parse(configMap[s_setupExportRevitProps]); } if (configMap.ContainsKey(s_setupExportIFCCommonProperty)) { configuration.ExportIFCCommonPropertySets = bool.Parse(configMap[s_setupExportIFCCommonProperty]); } if (configMap.ContainsKey(s_setupUse2DForRoomVolume)) { configuration.Use2DRoomBoundaryForVolume = bool.Parse(configMap[s_setupUse2DForRoomVolume]); } if (configMap.ContainsKey(s_setupUseFamilyAndTypeName)) { configuration.UseFamilyAndTypeNameForReference = bool.Parse(configMap[s_setupUseFamilyAndTypeName]); } if (configMap.ContainsKey(s_setupExportPartsAsBuildingElements)) { configuration.ExportPartsAsBuildingElements = bool.Parse(configMap[s_setupExportPartsAsBuildingElements]); } if (configMap.ContainsKey(s_useActiveViewGeometry)) { configuration.UseActiveViewGeometry = bool.Parse(configMap[s_useActiveViewGeometry]); } if (configMap.ContainsKey(s_setupExportSpecificSchedules)) { configuration.ExportSpecificSchedules = bool.Parse(configMap[s_setupExportSpecificSchedules]); } if (configMap.ContainsKey(s_setupExportBoundingBox)) { configuration.ExportBoundingBox = bool.Parse(configMap[s_setupExportBoundingBox]); } if (configMap.ContainsKey(s_setupExportSolidModelRep)) { configuration.ExportSolidModelRep = bool.Parse(configMap[s_setupExportSolidModelRep]); } if (configMap.ContainsKey(s_setupExportSchedulesAsPsets)) { configuration.ExportSchedulesAsPsets = bool.Parse(configMap[s_setupExportSchedulesAsPsets]); } if (configMap.ContainsKey(s_setupExportUserDefinedPsets)) { configuration.ExportUserDefinedPsets = bool.Parse(configMap[s_setupExportUserDefinedPsets]); } if (configMap.ContainsKey(s_setupExportUserDefinedPsetsFileName)) { configuration.ExportUserDefinedPsetsFileName = configMap[s_setupExportUserDefinedPsetsFileName]; } if (configMap.ContainsKey(s_setupExportUserDefinedParameterMapping)) { configuration.ExportUserDefinedParameterMapping = bool.Parse(configMap[s_setupExportUserDefinedParameterMapping]); } if (configMap.ContainsKey(s_setupExportUserDefinedParameterMappingFileName)) { configuration.ExportUserDefinedParameterMappingFileName = configMap[s_setupExportUserDefinedParameterMappingFileName]; } if (configMap.ContainsKey(s_setupExportLinkedFiles)) { configuration.ExportLinkedFiles = bool.Parse(configMap[s_setupExportLinkedFiles]); } if (configMap.ContainsKey(s_setupIncludeSiteElevation)) { configuration.IncludeSiteElevation = bool.Parse(configMap[s_setupIncludeSiteElevation]); } if (configMap.ContainsKey(s_setupStoreIFCGUID)) { configuration.StoreIFCGUID = bool.Parse(configMap[s_setupStoreIFCGUID]); } if (configMap.ContainsKey(s_setupExportRoomsInView)) { configuration.ExportRoomsInView = bool.Parse(configMap[s_setupExportRoomsInView]); } if (configMap.ContainsKey(s_includeSteelElements)) { configuration.IncludeSteelElements = bool.Parse(configMap[s_includeSteelElements]); } if (configMap.ContainsKey(s_useTypeNameOnlyForIfcType)) { configuration.UseTypeNameOnlyForIfcType = bool.Parse(configMap[s_useTypeNameOnlyForIfcType]); } if (configMap.ContainsKey(s_useVisibleRevitNameAsEntityName)) { configuration.UseVisibleRevitNameAsEntityName = bool.Parse(configMap[s_useVisibleRevitNameAsEntityName]); } if (configMap.ContainsKey(s_useOnlyTriangulation)) { configuration.UseOnlyTriangulation = bool.Parse(configMap[s_useOnlyTriangulation]); } if (configMap.ContainsKey(s_setupTessellationLevelOfDetail)) { configuration.TessellationLevelOfDetail = double.Parse(configMap[s_setupTessellationLevelOfDetail]); } if (configMap.ContainsKey(s_setupSitePlacement)) { SiteTransformBasis siteTrfBasis = SiteTransformBasis.Shared; if (Enum.TryParse(configMap[s_setupSitePlacement], out siteTrfBasis)) { configuration.SitePlacement = siteTrfBasis; } } // Geo Reference info if (configMap.ContainsKey(s_selectedSite)) { configuration.SelectedSite = configMap[s_selectedSite]; } if (configMap.ContainsKey(s_geoRefCRSName)) { configuration.GeoRefCRSName = configMap[s_geoRefCRSName]; } if (configMap.ContainsKey(s_geoRefCRSDesc)) { configuration.GeoRefCRSDesc = configMap[s_geoRefCRSDesc]; } if (configMap.ContainsKey(s_geoRefEPSGCode)) { configuration.GeoRefEPSGCode = configMap[s_geoRefEPSGCode]; } if (configMap.ContainsKey(s_geoRefGeodeticDatum)) { configuration.GeoRefGeodeticDatum = configMap[s_geoRefGeodeticDatum]; } if (configMap.ContainsKey(s_geoRefMapUnit)) { configuration.GeoRefMapUnit = configMap[s_geoRefMapUnit]; } AddOrReplace(configuration); } } } // In this latest schema, the entire configuration for one config is stored as a json string in the entirety if (m_jsonSchema == null) { m_jsonSchema = Schema.Lookup(s_jsonSchemaId); if (m_jsonSchema != null) { foreach (DataStorage storedSetup in GetSavedConfigurations(m_jsonSchema)) { Entity configEntity = storedSetup.GetEntity(m_jsonSchema); string configData = configEntity.Get <string>(s_configMapField); JavaScriptSerializer ser = new JavaScriptSerializer(); IFCExportConfiguration configuration = ser.Deserialize <IFCExportConfiguration>(configData); AddOrReplace(configuration); } } } // Add the last selected configurations if any if (IFCExport.LastSelectedConfig != null && IFCExport.LastSelectedConfig.Count > 0) { foreach (KeyValuePair <string, IFCExportConfiguration> lastSelConfig in IFCExport.LastSelectedConfig) { AddOrReplace(lastSelConfig.Value); } } } catch (System.Exception) { // to avoid fail to show the dialog if any exception throws in reading schema. } }