diff --git a/Install/Program Files to Install/Autodesk.SteelConnections.ASIFC.dll b/Install/Program Files to Install/Autodesk.SteelConnections.ASIFC.dll index a868c86f..9caa3719 100644 Binary files a/Install/Program Files to Install/Autodesk.SteelConnections.ASIFC.dll and b/Install/Program Files to Install/Autodesk.SteelConnections.ASIFC.dll differ diff --git a/Install/Program Files to Install/bundle/Contents/Resources/ADSKIFCExporterHelp.htm b/Install/Program Files to Install/bundle/Contents/Resources/ADSKIFCExporterHelp.htm index f66ee86a..3599a269 100644 --- a/Install/Program Files to Install/bundle/Contents/Resources/ADSKIFCExporterHelp.htm +++ b/Install/Program Files to Install/bundle/Contents/Resources/ADSKIFCExporterHelp.htm @@ -236,6 +236,33 @@

Support Information

or if you have an inquiry specific to this add-in, send us an e-mail to: Revit.apps@autodesk.com

Version History

+
25.4.0.27
+

+ General: +

+

+
+

+ Improvements: +

+

+
+

+ Bug Fixes: +

+

+
+
+
+
25.2.0.5

General: diff --git a/Install/Program Files to Install/bundle/PackageContents.xml b/Install/Program Files to Install/bundle/PackageContents.xml index 64878809..2fe4d31c 100644 --- a/Install/Program Files to Install/bundle/PackageContents.xml +++ b/Install/Program Files to Install/bundle/PackageContents.xml @@ -1,10 +1,10 @@  - + - - + + \ No newline at end of file diff --git a/Install/RevitIFCSetupWix/Product.wxs b/Install/RevitIFCSetupWix/Product.wxs index ead8a261..dfa292c6 100644 --- a/Install/RevitIFCSetupWix/Product.wxs +++ b/Install/RevitIFCSetupWix/Product.wxs @@ -2,7 +2,7 @@ - + diff --git a/Install/RevitIFCSetupWix/RevitIFCSetupWix.wixproj b/Install/RevitIFCSetupWix/RevitIFCSetupWix.wixproj index f7a1c7ce..56460b22 100644 --- a/Install/RevitIFCSetupWix/RevitIFCSetupWix.wixproj +++ b/Install/RevitIFCSetupWix/RevitIFCSetupWix.wixproj @@ -6,7 +6,7 @@ 3.8 7dfbd495-c588-4c7b-b8f6-5b793adb06f2 2.0 - IFC for Revit 2025.2.0.5 + IFC for Revit 2025.4.0.27 Package $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets diff --git a/Install/RevitIFCSetupWix/buildInstaller.bat b/Install/RevitIFCSetupWix/buildInstaller.bat index ac68ba99..d7d55679 100644 --- a/Install/RevitIFCSetupWix/buildInstaller.bat +++ b/Install/RevitIFCSetupWix/buildInstaller.bat @@ -11,9 +11,9 @@ rem It is necessary to add the Wix bin directory to the system path temporarily SET PATH=%PATH%;%WixRoot% candle.exe -dProjectDir=%2 -ext WixUtilExtension %2Product.wxs -light.exe -ext WixUtilExtension -out RevitIFC2025.2.0.msi product.wixobj -ext WixUIExtension +light.exe -ext WixUtilExtension -out RevitIFC2025.4.0.msi product.wixobj -ext WixUIExtension -copy RevitIFC2025.2.0.msi %1..\Releasex64 -del RevitIFC2025.2.0.msi +copy RevitIFC2025.4.0.msi %1..\Releasex64 +del RevitIFC2025.4.0.msi -echo %1..\Releasex64\RevitIFC2025.2.0.msi +echo %1..\Releasex64\RevitIFC2025.4.0.msi diff --git a/Source/IFCExporterUIOverride/IFCExportConfiguration.cs b/Source/IFCExporterUIOverride/IFCExportConfiguration.cs index e5effa31..a04ec00f 100644 --- a/Source/IFCExporterUIOverride/IFCExportConfiguration.cs +++ b/Source/IFCExporterUIOverride/IFCExportConfiguration.cs @@ -209,6 +209,11 @@ public Enum FacilityPredefinedType /// public bool ExportBaseQuantities { get; set; } = false; + ///

+ /// Whether or not to include ceilings grids for ceilings in the export data. + /// + public bool ExportCeilingGrids { get; set; } = false; + /// /// True to include the material property sets. /// False to exclude them. @@ -237,6 +242,11 @@ public Enum FacilityPredefinedType /// public string ExportUserDefinedPsetsFileName { get; set; } = ""; + /// + /// Whether or not to include type property to the user defined property sets. + /// + public bool UseTypePropertiesInInstacePSets { get; set; } = false; + /// /// True if the User decides to use the Parameter Mapping Table /// False if the user decides to ignore it @@ -338,6 +348,12 @@ public Enum FacilityPredefinedType /// Use Author field in Project Information to set IfcOwnerHistory LastModified attribute /// public bool OwnerHistoryLastModified { get; set; } = false; + + /// + /// Use this field in Project Information to set how will be bars in uniform sets exported in IFC. + /// + public bool ExportBarsInUniformSetsAsSeparateIFCEntities { get; set; } = false; + /// /// Value indicating whether the IFC Entity Name will use visible Revit Name /// @@ -478,6 +494,7 @@ public static IFCExportConfiguration CreateBuiltInConfiguration(IFCVersion ifcVe bool materialPsets, bool schedulesAsPSets, bool userDefinedPSets, + bool useTypePropertiesInInstacePSets, bool userDefinedParameterMapping, bool PlanElems2D, bool exportBoundingBox, @@ -487,7 +504,8 @@ public static IFCExportConfiguration CreateBuiltInConfiguration(IFCVersion ifcVe KnownERNames exchangeRequirement = KnownERNames.NotDefined, string customName = null, KnownFacilityTypes facilityType = KnownFacilityTypes.NotDefined, - Enum facilityPredefinedType = null) + Enum facilityPredefinedType = null, + bool exportCeilingGrids = false) { IFCExportConfiguration configuration = new IFCExportConfiguration(); @@ -512,6 +530,7 @@ public static IFCExportConfiguration CreateBuiltInConfiguration(IFCVersion ifcVe // Items from Additional Content Tab configuration.Export2DElements = PlanElems2D; configuration.ExportLinkedFiles = exportLinkedFiles; + configuration.ExportCeilingGrids = exportCeilingGrids; // Items from Property Sets Tab configuration.ExportInternalRevitPropertySets = internalSets; @@ -519,6 +538,7 @@ public static IFCExportConfiguration CreateBuiltInConfiguration(IFCVersion ifcVe configuration.ExportMaterialPsets = materialPsets; configuration.ExportSchedulesAsPsets = schedulesAsPSets; configuration.ExportUserDefinedPsets = userDefinedPSets; + configuration.UseTypePropertiesInInstacePSets = useTypePropertiesInInstacePSets; configuration.ExportUserDefinedPsetsFileName = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\" + configuration.Name + @".txt"; configuration.ExportUserDefinedParameterMapping = userDefinedParameterMapping; diff --git a/Source/IFCExporterUIOverride/IFCExportConfigurationsMap.cs b/Source/IFCExporterUIOverride/IFCExportConfigurationsMap.cs index e7bde736..3b9086d7 100644 --- a/Source/IFCExporterUIOverride/IFCExportConfigurationsMap.cs +++ b/Source/IFCExporterUIOverride/IFCExportConfigurationsMap.cs @@ -76,21 +76,21 @@ public void AddBuiltInConfigurations() // These are the built-in configurations. Provide a more extensible means of storage. // Order of construction: name, version, space boundaries, QTO, split walls, internal sets, 2d elems, boundingBox - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3CV2, 0, false, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true)); - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3, 1, false, false, true, false, false, false, false, true, false, linkedFileExportAs, includeSteelElements: true)); - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFCCOBIE, 2, true, true, true, false, false, false, false, true, true, linkedFileExportAs, includeSteelElements: true)); - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3BFM, 1, true, true, false, false, false, false, false, true, false, linkedFileExportAs, includeSteelElements: true)); - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x2, 1, false, false, true, false, false, false, false, false, false, linkedFileExportAs)); - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3FM, 1, true, false, false, false, true, true, false, true, true, linkedFileExportAs, includeSteelElements: true)); - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true, + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3CV2, 0, false, false, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true)); + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3, 1, false, false, true, false, false, false, false, false, true, false, linkedFileExportAs, includeSteelElements: true)); + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFCCOBIE, 2, true, true, true, false, false, false, false, false, true, true, linkedFileExportAs, includeSteelElements: true)); + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3BFM, 1, true, true, false, false, false, false, false, false, true, false, linkedFileExportAs, includeSteelElements: true)); + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x2, 1, false, false, true, false, false, false, false, false, false, false, linkedFileExportAs)); + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3FM, 1, true, false, false, false, true, true, false, false, true, true, linkedFileExportAs, includeSteelElements: true)); + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true, exchangeRequirement:KnownERNames.Architecture)); - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true, + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true, exchangeRequirement:KnownERNames.Structural)); - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true, + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true, exchangeRequirement:KnownERNames.BuildingService)); - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4DTV, 0, true, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true)); - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4x3, 0, true, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true)); - AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFCSG, 1, true, true, false, false, false, true, false, true, false, linkedFileExportAs, includeSteelElements: true)); + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4DTV, 0, true, false, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true)); + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4x3, 0, true, false, false, false, false, false, false, false, false, false, linkedFileExportAs, includeSteelElements: true)); + AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFCSG, 1, true, true, false, false, false, true, false, false, true, false, linkedFileExportAs, includeSteelElements: true)); } private LinkedFileExportAs ParseLinkedFilesAs(string val, @@ -140,6 +140,7 @@ public void AddSavedConfigurations() configuration.ExportBaseQuantities = configEntity.Get(s_setupQTO); configuration.SplitWallsAndColumns = configEntity.Get(s_splitWallsAndColumns); configuration.Export2DElements = configEntity.Get(s_setupExport2D); + configuration.ExportCeilingGrids = configEntity.Get(s_setupExportCeilingGrids); configuration.ExportInternalRevitPropertySets = configEntity.Get(s_setupExportRevitProps); configuration.CategoryMapping = configEntity.Get(s_categoryMapping); Field fieldIFCCommonPropertySets = m_OldSchema.GetField(s_setupExportIFCCommonProperty); @@ -168,6 +169,9 @@ public void AddSavedConfigurations() Field fieldExportUserDefinedPsetsFileName = m_OldSchema.GetField(s_setupExportUserDefinedPsetsFileName); if (fieldExportUserDefinedPsetsFileName != null) configuration.ExportUserDefinedPsetsFileName = configEntity.Get(s_setupExportUserDefinedPsetsFileName); + Field fieldUseTypePropertiesInInstacePSets = m_OldSchema.GetField(s_setupUseTypePropertiesInInstacePSets); + if (fieldExportUserDefinedPsets != null) + configuration.UseTypePropertiesInInstacePSets = configEntity.Get(s_setupUseTypePropertiesInInstacePSets); Field fieldExportUserDefinedParameterMapingTable = m_OldSchema.GetField(s_setupExportUserDefinedParameterMapping); if (fieldExportUserDefinedParameterMapingTable != null) @@ -214,7 +218,9 @@ public void AddSavedConfigurations() Field fieldOwnerHistoryLastModified = m_OldSchema.GetField(s_ownerHistoryLastModified); if (fieldOwnerHistoryLastModified != null) configuration.OwnerHistoryLastModified = configEntity.Get(s_ownerHistoryLastModified); - + Field fieldExportBarsInUniformRebarSetsAsSeparateIFCEntitiesd = m_OldSchema.GetField(s_exportBarsInUniformRebarSetsAsSeparateIFCEntities); + if (fieldExportBarsInUniformRebarSetsAsSeparateIFCEntitiesd != null) + configuration.ExportBarsInUniformSetsAsSeparateIFCEntities = configEntity.Get(s_exportBarsInUniformRebarSetsAsSeparateIFCEntities); AddOrReplace(configuration); } } @@ -256,6 +262,8 @@ public void AddSavedConfigurations() configuration.SplitWallsAndColumns = bool.Parse(configMap[s_splitWallsAndColumns]); if (configMap.ContainsKey(s_setupExport2D)) configuration.Export2DElements = bool.Parse(configMap[s_setupExport2D]); + if (configMap.ContainsKey(s_setupExportCeilingGrids)) + configuration.ExportCeilingGrids = bool.Parse(configMap[s_setupExportCeilingGrids]); if (configMap.ContainsKey(s_setupExportRevitProps)) configuration.ExportInternalRevitPropertySets = bool.Parse(configMap[s_setupExportRevitProps]); if (configMap.ContainsKey(s_setupExportIFCCommonProperty)) @@ -306,6 +314,8 @@ public void AddSavedConfigurations() configuration.ExportHostAsSingleEntity = bool.Parse(configMap[s_exportHostAsSingleEntity]); if (configMap.ContainsKey(s_ownerHistoryLastModified)) configuration.OwnerHistoryLastModified = bool.Parse(configMap[s_ownerHistoryLastModified]); + if (configMap.ContainsKey(s_exportBarsInUniformRebarSetsAsSeparateIFCEntities)) + configuration.ExportBarsInUniformSetsAsSeparateIFCEntities = bool.Parse(configMap[s_exportBarsInUniformRebarSetsAsSeparateIFCEntities]); if (configMap.ContainsKey(s_setupTessellationLevelOfDetail)) configuration.TessellationLevelOfDetail = double.Parse(configMap[s_setupTessellationLevelOfDetail]); if (configMap.ContainsKey(s_categoryMapping)) @@ -390,6 +400,7 @@ public void AddSavedConfigurations() private const string s_splitWallsAndColumns = "SplitWallsAndColumns"; private const string s_setupCurrentView = "VisibleElementsInCurrentView"; private const string s_setupExport2D = "Export2DElements"; + private const string s_setupExportCeilingGrids = "ExportCeilingGrids"; private const string s_setupExportRevitProps = "ExportInternalRevitPropertySets"; private const string s_setupExportIFCCommonProperty = "ExportIFCCommonPropertySets"; private const string s_setupUse2DForRoomVolume = "Use2DBoundariesForRoomVolume"; @@ -405,6 +416,7 @@ public void AddSavedConfigurations() private const string s_setupExportUserDefinedPsetsFileName = "ExportUserDefinedPsetsFileName"; private const string s_setupExportUserDefinedParameterMapping = "ExportUserDefinedParameterMapping"; private const string s_setupExportUserDefinedParameterMappingFileName = "ExportUserDefinedParameterMappingFileName"; + private const string s_setupUseTypePropertiesInInstacePSets = "UseTypePropertiesInInstacePSets"; private const string s_setupExportLinkedFiles = "ExportLinkedFiles"; private const string s_setupIncludeSiteElevation = "IncludeSiteElevation"; private const string s_setupTessellationLevelOfDetail = "TessellationLevelOfDetail"; @@ -412,16 +424,14 @@ public void AddSavedConfigurations() private const string s_setupStoreIFCGUID = "StoreIFCGUID"; private const string s_setupActivePhase = "ActivePhase"; private const string s_setupExportRoomsInView = "ExportRoomsInView"; - private const string s_excludeFilter = "ExcludeFilter"; private const string s_setupSitePlacement = "SitePlacement"; private const string s_useTypeNameOnlyForIfcType = "UseTypeNameOnlyForIfcType"; private const string s_useVisibleRevitNameAsEntityName = "UseVisibleRevitNameAsEntityName"; private const string s_exportHostAsSingleEntity = "ExportHostAsSingleEntity"; private const string s_ownerHistoryLastModified = "OwnerHistoryLastModified"; + private const string s_exportBarsInUniformRebarSetsAsSeparateIFCEntities = "ExportBarsInUniformRebarSetsAsSeparateIFCEntities"; private const string s_categoryMapping = "CategoryMapping"; // Used for COBie 2.4 - private const string s_cobieCompanyInfo = "COBieCompanyInfo"; - private const string s_cobieProjectInfo = "COBieProjectInfo"; private const string s_includeSteelElements = "IncludeSteelElements"; // Geo Reference info private const string s_selectedSite = "SelectedSite"; diff --git a/Source/IFCExporterUIOverride/IFCExporterUI.csproj b/Source/IFCExporterUIOverride/IFCExporterUI.csproj index 72a4e8e5..111d8bba 100644 --- a/Source/IFCExporterUIOverride/IFCExporterUI.csproj +++ b/Source/IFCExporterUIOverride/IFCExporterUI.csproj @@ -9,15 +9,6 @@ true true - - 7.3 - - - 7.3 - - - 7.3 - diff --git a/Source/IFCExporterUIOverride/IFCExporterUIOverride.csproj b/Source/IFCExporterUIOverride/IFCExporterUIOverride.csproj index a442af7f..d81c4238 100644 --- a/Source/IFCExporterUIOverride/IFCExporterUIOverride.csproj +++ b/Source/IFCExporterUIOverride/IFCExporterUIOverride.csproj @@ -14,15 +14,12 @@ IFC_OPENSOURCE - 7.3 IFC_OPENSOURCE - 7.3 IFC_OPENSOURCE - 7.3 diff --git a/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml b/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml index 00abdcd4..867d4d78 100644 --- a/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml +++ b/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml @@ -43,10 +43,11 @@ - - + + + @@ -64,11 +65,12 @@ - -