Skip to content

Commit 29e8750

Browse files
authored
Merge pull request #754 from Autodesk/babio/22_7_update
22.7 Update
2 parents 3fc465c + e2357bd commit 29e8750

File tree

181 files changed

+18743
-16065
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

181 files changed

+18743
-16065
lines changed
Binary file not shown.
Binary file not shown.

Install/Program Files to Install/IFC Shared Parameters-RevitIFCBuiltIn-Type_ALL.txt

+6,272-6,172
Large diffs are not rendered by default.

Install/Program Files to Install/IFC Shared Parameters-RevitIFCBuiltIn_ALL.txt

+6,272-6,172
Large diffs are not rendered by default.

Install/Program Files to Install/IFCCertifiedEntitiesAndPSets.json

+715-2
Large diffs are not rendered by default.
Binary file not shown.

Install/Program Files to Install/IFCExporterUIOverride.addin

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<RevitAddIns>
33
<AddIn Type="Application">
44
<Name>IFC override</Name>
5-
<Assembly>.\IFCExportUIOverride.dll</Assembly>
5+
<Assembly>.\IFCExporterUIOverride.dll</Assembly>
66
<AddInId>6DC299D6-F746-47BE-AE93-F00DDC714257</AddInId>
77
<FullClassName>BIM.IFC.Export.UI.IFCCommandOverrideApplication</FullClassName>
88
<VendorId>ADSK</VendorId>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Install/Program Files to Install/bundle/Contents/Resources/ADSKIFCExporterHelp.htm

+85
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,91 @@ <h2 id="VersionHistory" name="VersionHistory">Version History</h2>
238238

239239
<div class="versionset">
240240

241+
<div class="version">22.7.0.0</div><div class="versioninfo-bullet">
242+
<br><p>
243+
General:
244+
<ul>
245+
<li>This is the official release of IFC Extension 22.7.0
246+
<li>It contains a various improvements and bug fixes for the previous 22.6.2 version.
247+
</ul>
248+
</p>
249+
<br>
250+
<p>
251+
Improvement:
252+
<ul>
253+
<li>Added export of the floor slab edge level.
254+
<li>Added material shared parameters export.
255+
<li>Added NetSideArea, GrossSideArea, Height, and Width quantities for curtain walls when exporting to IFC 4.
256+
<li>Added the ability for the IfcCADLayerOverride shared parameter to set the appropriate CAD layer for more Revit elements when exporting to IFC.
257+
<li>Added the BarRole attribute when exporting IfcReinforcingBars to IFC.
258+
<li>Added type entities for rebar and assemblies when exporting to IFC.
259+
<li>Added support for exporting enumerated properties to IFC that contain multiple enumerated values.
260+
<li>Added support for exporting predefined types when exporting spaces to IFC 4+.
261+
<li>Added support for linking in data from IFC entities with custom representation identifiers.
262+
<li>Added support for properly exporting VaporPermeability parameters to IFC.
263+
<li>Added support for valid AssemblyPlace information when exporting IfcFurnitureType to IFC.
264+
<li>Added Width as an exported quantity to IFC for some assembly-based walls.
265+
<li>Decreased the size of IFC files when exporting Revit elements as IfcCovering.
266+
<li>Exported more than one material to IFC in some cases when using the advanced option to allow the use of a mixed solid model representation.
267+
<li>Implemented export of IfcRailingType entities.
268+
<li>Implemented export of insulation and lining as anything.
269+
<li>Improved base quantities calculation for slab elements with openings.
270+
<li>Improved calculations of gross volume and gross side area when exporting some walls with openings to IFC 4.
271+
<li>Improved export of models to IFC that contained family instances with invalid placements.
272+
<li>Improved export of openings in sloped slabs.
273+
<li>Improved export of some beams with openings to IFC 4.
274+
<li>Improved export of some curtain systems to IFC.
275+
<li>Improved IFC 4 export of some host objects that had different layers with the same material.
276+
<li>Improved how classifications are viewed in certain older external applications when exporting to IFC.
277+
<li>Improved linking of IFC files with slightly self-intersecting profile data.
278+
<li>Improved stability of exporting to IFC when the Revit model has corrupted extensible storage data.
279+
<li>Improved stability when exporting projects to IFC with non-standard Author information in Project Standards.
280+
<li>Improved support for exporting advanced BReps to IFC if the unofficial IFC4 Design Transfer View is used.
281+
<li>Improved the calculation of height and width properties when exporting some openings to IFC 4, where the values were reversed.
282+
<li>Improved the export of room base quantities to IFC.
283+
<li>Improved the export of some ceilings exported as parts to IFC when exporting the current view.
284+
<li>Improved the export of the material layers of some IFC4 files with 0 thickness material layers.
285+
<li>Improved units export.
286+
<li>Improved upgrading of IFC user configuration when upgrading a Revit document to a higher version of Revit.
287+
<li>Improved user defined property set mapping, especially for IFC2x3 entities that previously had no type entity exported.
288+
<li>Improved validity of IFC files when exporting elements with compound structures.
289+
<li>Updated French and German localization resources.
290+
</ul>
291+
</p>
292+
<br>
293+
<p>
294+
Bug fixes:
295+
<ul>
296+
<li>Added material information for some hosted wall sweeps exported to IFC.
297+
<li>Added missing user-defined property sets for some roofs when exporting to IFC.
298+
<li>Allowed the IfcSingleMaterialOverride shared parameter to override the material of certain elbows and fittings when exporting to IFC.
299+
<li>Fixed a shift of TriangulatedFaceSet geometry elements.
300+
<li>Fixed bug with level elevation after linking IFC.
301+
<li>Fixed bug with shifted assembly elements.
302+
<li>Fixed bug with model positioning.
303+
<li>Fixed classifications export for systems.
304+
<li>Fixed export of IFC properties associated with the top-level IfcProject entity.
305+
<li>Fixed export of material layer parameters of a ceiling element.
306+
<li>Fixed export of some assemblies to IFC that resulted in orphaned entities.
307+
<li>Fixed export of some rebar elements.
308+
<li>Fixed export of the user defined PredefinedType for the stair element.
309+
<li>Fixed geometry transformation for elements in assemblies.
310+
<li>Fixed local placement of the openings in framing elements export.
311+
<li>Fixed missing sketch-based openings in sloped floor elements.
312+
<li>Fixed the calculation of the height parameter for some railings in metric projects when a previous value had been calculated that wasn't applicable to this railing.
313+
<li>Fixed the overall height value when exporting roof-based windows to IFC.
314+
<li>Fixed the slope common property set parameter calculation when exporting some stringers to IFC.
315+
<li>Fixed the walls export if option "Split Walls Columns Ducts by Level" is used.
316+
<li>Fixed unit conversion issues.
317+
<li>Improved area and volume base quantities export for slabs as part of the roof.
318+
<li>Improved error handling for invalid Revit file with missing project base and survey points.
319+
<li>Removed instability when selecting an IFC entity for the Export to IFC As parameter, and then switching to a schema that does not contain that entity definition.
320+
<li>Removed the use of several Revit built-in parameters when exporting IFC properties that have the same name but are different.
321+
</ul>
322+
</p>
323+
</div>
324+
<br>
325+
241326
<div class="version">22.6.2.0</div><div class="versioninfo-bullet">
242327
<br><p>
243328
General:

Install/RevitIFCSetupWix/Product.wxs

+11-11
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
33
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
44

5-
<Product Id="CA67C17D-7F68-46E2-897A-E2358C3823E9" Name="Revit IFC 2022" Language="1033" Version="22.6.2.0" Manufacturer="Autodesk" UpgradeCode="254F4C8A-9ECA-4690-A718-21ACD3849485">
5+
<Product Id="02DEF1EA-AE24-4E4A-A7DD-BC8A733AC484" Name="Revit IFC 2022" Language="1033" Version="22.7.0.0" Manufacturer="Autodesk" UpgradeCode="254F4C8A-9ECA-4690-A718-21ACD3849485">
66
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
77

88
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
@@ -106,19 +106,19 @@
106106
<File Id ="FILE_Ifc_Import_Sig" Name="Revit.IFC.Import.sig" Source="$(var.ProjectDir)..\Program Files to Install\Revit.IFC.Import.sig" KeyPath="yes" />
107107
</Component>
108108
<Component Id = "COMP_IFC_ExternalUI_Sig" Guid="3159B919-CD50-469D-8DDE-FE339CEBBC1C">
109-
<File Id ="FILE_Ifc_ExternalUI_Sig" Name="IFCExportUIOverride.sig" Source="$(var.ProjectDir)..\Program Files to Install\IFCExportUIOverride.sig" KeyPath="yes" />
109+
<File Id ="FILE_Ifc_ExternalUI_Sig" Name="IFCExporterUIOverride.sig" Source="$(var.ProjectDir)..\Program Files to Install\IFCExporterUIOverride.sig" KeyPath="yes" />
110110
</Component>
111111
<Component Id = "COMP_IFC_ExternalUI_DLL" Guid="D7F89B58-029F-4062-B226-6F3D2EB7FE5D">
112-
<File Id ="FILE_Ifc_ExternalUI_DLL" Name="IFCExportUIOverride.dll" Source="$(var.ProjectDir)..\Program Files to Install\IFCExportUIOverride.dll" KeyPath="yes" />
112+
<File Id ="FILE_Ifc_ExternalUI_DLL" Name="IFCExporterUIOverride.dll" Source="$(var.ProjectDir)..\Program Files to Install\IFCExporterUIOverride.dll" KeyPath="yes" />
113113
</Component>
114114
<Component Id = "COMP_IFC_Common_DLL" Guid="C7ED4A2C-DCB1-457E-968F-2DDE9993C1B6">
115-
<File Id ="FILE_Ifc_Common_DLL" Name="Revit.IFC.Common.dll" Source="$(var.ProjectDir)..\Program Files to Install\Revit.IFC.Common.dll" KeyPath="yes" />
115+
<File Id ="FILE_Ifc_Common_DLL" Name="Revit.IFC.Common.dll" Source="$(var.Revit.IFC.Common.TargetDir)Revit.IFC.Common.dll" KeyPath="yes" />
116116
</Component>
117117
<Component Id = "COMP_IFC_Import_Core_DLL" Guid="5ED374E8-58BE-4173-A320-1DF20D3AC0F8">
118-
<File Id ="FILE_Ifc_Import_Core_DLL" Name="Revit.IFC.Import.Core.dll" Source="$(var.ProjectDir)..\Program Files to Install\Revit.IFC.Import.Core.dll" KeyPath="yes" />
118+
<File Id ="FILE_Ifc_Import_Core_DLL" Name="Revit.IFC.Import.Core.dll" Source="$(var.Revit.IFC.Import.Core.TargetDir)Revit.IFC.Import.Core.dll" KeyPath="yes" />
119119
</Component>
120120
<Component Id = "COMP_IFC_Entity_Tree_DLL" Guid="92933233-DEF4-4147-A116-A991E8730EEF">
121-
<File Id ="FILE_Ifc_Entity_Tree_DLL" Name="Revit.IFC.EntityTree.dll" Source="$(var.ProjectDir)..\Program Files to Install\Revit.IFC.EntityTree.dll" KeyPath="yes" />
121+
<File Id ="FILE_Ifc_Entity_Tree_DLL" Name="Revit.IFC.EntityTree.dll" Source="$(var.Revit.IFC.EntityTree.TargetDir)Revit.IFC.EntityTree.dll" KeyPath="yes" />
122122
</Component>
123123
<?else?>
124124
<Component Id = "COMP_IFC_Export_DLL" Guid="D59E44AA-89A3-4CD7-AD9C-8D4D7AC6026B">
@@ -128,7 +128,7 @@
128128
<File Id ="FILE_Ifc_Import_DLL" Name="Revit.IFC.Import.dll" Source="$(var.Revit.IFC.Import.TargetDir)Revit.IFC.Import.dll" KeyPath="yes" />
129129
</Component>
130130
<Component Id = "COMP_IFC_ExternalUI_DLL" Guid="D7F89B58-029F-4062-B226-6F3D2EB7FE5D">
131-
<File Id ="FILE_Ifc_ExternalUI_DLL" Name="IFCExportUIOverride.dll" Source="$(var.IFCExporterUIOverride.TargetDir)IFCExportUIOverride.dll" KeyPath="yes" />
131+
<File Id ="FILE_Ifc_ExternalUI_DLL" Name="IFCExporterUIOverride.dll" Source="$(var.IFCExporterUIOverride.TargetDir)IFCExporterUIOverride.dll" KeyPath="yes" />
132132
</Component>
133133
<Component Id = "COMP_IFC_Common_DLL" Guid="C7ED4A2C-DCB1-457E-968F-2DDE9993C1B6">
134134
<File Id ="FILE_Ifc_Common_DLL" Name="Revit.IFC.Common.dll" Source="$(var.Revit.IFC.Common.TargetDir)Revit.IFC.Common.dll" KeyPath="yes" />
@@ -233,12 +233,12 @@
233233

234234
<ComponentGroup Id="ProductFRFiles" Directory="INSTALLFRUI">
235235
<Component Id = "COMP_IFC_ResourceFR_DLL" Guid="ACC9C313-F8EF-4DBB-A0DE-55D662E4857D">
236-
<File Id ="FILE_Ifc_ResourceFR_DLL" Name="IFCExportUIOverride.resources.dll" Source="$(var.IFCExporterUIOverride.TargetDir)fr\IFCExportUIOverride.resources.dll" KeyPath="yes" />
236+
<File Id ="FILE_Ifc_ResourceFR_DLL" Name="IFCExporterUIOverride.resources.dll" Source="$(var.IFCExporterUIOverride.TargetDir)fr\IFCExporterUIOverride.resources.dll" KeyPath="yes" />
237237
</Component>
238238
</ComponentGroup>
239239
<ComponentGroup Id="ProductDEFiles" Directory="INSTALLDEUI">
240240
<Component Id = "COMP_IFC_ResourceDE_DLL" Guid="23BD267A-652F-473A-8DF6-6302C7D14D54">
241-
<File Id ="FILE_Ifc_ResourceDE_DLL" Name="IFCExportUIOverride.resources.dll" Source="$(var.IFCExporterUIOverride.TargetDir)de\IFCExportUIOverride.resources.dll" KeyPath="yes" />
241+
<File Id ="FILE_Ifc_ResourceDE_DLL" Name="IFCExporterUIOverride.resources.dll" Source="$(var.IFCExporterUIOverride.TargetDir)de\IFCExporterUIOverride.resources.dll" KeyPath="yes" />
242242
</Component>
243243
</ComponentGroup>
244244

@@ -266,7 +266,7 @@
266266
<util:XmlFile Id="SetKeyUI"
267267
Action="setValue"
268268
ElementPath="RevitAddIns/AddIn[\[]position()=1[\]]/Assembly"
269-
Value="[INSTALLDIR]IFCExportUIOverride.dll"
269+
Value="[INSTALLDIR]IFCExporterUIOverride.dll"
270270
File="[#FILE_UI_manifest]"
271271
SelectionLanguage="XPath"
272272
Sequence="1" />
@@ -281,7 +281,7 @@
281281
<util:XmlFile Id="SetKeyUI_LT"
282282
Action="setValue"
283283
ElementPath="RevitAddIns/AddIn[\[]position()=1[\]]/Assembly"
284-
Value="[INSTALLDIR]IFCExportUIOverride.dll"
284+
Value="[INSTALLDIR]IFCExporterUIOverride.dll"
285285
File="[DIR_Addins_LT]IFCExporterUIOverride.addin"
286286
SelectionLanguage="XPath"
287287
Sequence="1" />

Install/RevitIFCSetupWix/RevitIFCSetupWix.wixproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<ProductVersion>3.8</ProductVersion>
77
<ProjectGuid>7dfbd495-c588-4c7b-b8f6-5b793adb06f2</ProjectGuid>
88
<SchemaVersion>2.0</SchemaVersion>
9-
<OutputName>IFC for Revit 2022.6.2.0</OutputName>
9+
<OutputName>IFC for Revit 2022.7.0.0</OutputName>
1010
<OutputType>Package</OutputType>
1111
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
1212
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>

Install/RevitIFCSetupWix/buildInstaller.bat

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ rem It is necessary to add the Wix bin directory to the system path temporarily
1111
SET PATH=%PATH%;%WixRoot%
1212

1313
candle.exe -dProjectDir=%2 -ext WixUtilExtension %2Product.wxs
14-
light.exe -ext WixUtilExtension -out RevitIFC2022.6.1.msi product.wixobj -ext WixUIExtension
14+
light.exe -ext WixUtilExtension -out RevitIFC2022.7.0.msi product.wixobj -ext WixUIExtension
1515

16-
copy RevitIFC2022.6.2.msi %1..\Releasex64
17-
del RevitIFC2022.6.2.msi
16+
copy RevitIFC2022.7.0.msi %1..\Releasex64
17+
del RevitIFC2022.7.0.msi
1818

19-
echo %1..\Releasex64\RevitIFC2022.6.2.msi
19+
echo %1..\Releasex64\RevitIFC2022.7.0.msi

Source/IFCExporterUIOverride/CreateResource.bat

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Set CreatedResourceShortName=%~3
66
set ToolsFolder=%~4
77
set ProjectDir=%~dp0
88
set lang=en-US
9-
set ResBaseName=IFCExportUI.IFCExportUIResources.%lang%
9+
set ResBaseName=IFCExportUI.IFCExporterUIResources.%lang%
1010

1111
pushd %OutputDir%
1212
call "%ToolsFolder%\SetVCVars.bat" x86> NUL

Source/IFCExporterUIOverride/IFCAddressInformationUI.xaml.cs

+10-7
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public partial class IFCAddressInformation : ChildWindow
4646
private IFCAddress m_newAddress = new IFCAddress();
4747
private IFCAddressItem m_newAddressItem = new IFCAddressItem();
4848
private IFCAddressItem m_savedAddressItem = new IFCAddressItem();
49+
private IFCExportConfiguration m_parentConfiguration = null;
4950

5051
private string getUserDefinedStringFromIFCPurposeList()
5152
{
@@ -59,8 +60,11 @@ private string getUserDefinedStringFromIFCPurposeList()
5960
public IFCAddressInformation(IFCExportConfiguration configuration)
6061
{
6162
InitializeComponent();
63+
m_parentConfiguration = configuration;
6264

63-
m_newAddressItem = configuration.ProjectAddress;
65+
if ((configuration.ProjectAddress.HasData() && !m_newAddressItem.HasData())
66+
|| (configuration.ProjectAddress.HasData() && m_newAddressItem.HasData() && !configuration.ProjectAddress.isUnchanged(m_newAddressItem)))
67+
m_newAddressItem = configuration.ProjectAddress;
6468

6569
// This is a short list, so we just do an O(n) search.
6670
int numItems = ifcPurposeList.Count();
@@ -73,11 +77,10 @@ public IFCAddressInformation(IFCExportConfiguration configuration)
7377
}
7478
}
7579

76-
// Initialize options from the m_newAddressItem
77-
Checkbox_AssignToBuilding.IsChecked = m_newAddressItem.AssignAddressToBuilding;
78-
Checkbox_AssignToSite.IsChecked = m_newAddressItem.AssignAddressToSite;
79-
UpdateProjInfocheckBox.IsChecked = m_newAddressItem.UpdateProjectInformation;
80-
80+
// Initialize options from the configuration
81+
Checkbox_AssignToBuilding.IsChecked = configuration.ProjectAddress.AssignAddressToBuilding;
82+
Checkbox_AssignToSite.IsChecked = configuration.ProjectAddress.AssignAddressToSite;
83+
UpdateProjInfocheckBox.IsChecked = configuration.ProjectAddress.UpdateProjectInformation;
8184
}
8285

8386
private void OnInit(object sender, RoutedEventArgs e)
@@ -212,7 +215,7 @@ private void buttonOK_Click(object sender, RoutedEventArgs args)
212215

213216
transaction.Commit();
214217
}
215-
218+
m_parentConfiguration.ProjectAddress = m_newAddressItem;
216219
Close();
217220
}
218221

Source/IFCExporterUIOverride/IFCClassificationUI.xaml.cs

+5-2
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,10 @@ private void buttonOK_Click(object sender, RoutedEventArgs args)
7878
{
7979
fillMandatoryFields(m_newClassification);
8080
}
81-
m_newClassification.ClassificationEditionDate = datePicker1.SelectedDate.Value.Date;
81+
if (datePicker1?.SelectedDate != null)
82+
{
83+
m_newClassification.ClassificationEditionDate = datePicker1.SelectedDate.Value.Date;
84+
}
8285
IFCClassificationMgr.UpdateClassification(IFCCommandOverrideApplication.TheDocument, m_newClassification);
8386
}
8487

@@ -134,7 +137,7 @@ private void ClassificationTab_Initialized(object sender, EventArgs e)
134137
private void datePicker1_SelectedDateChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
135138
{
136139
var picker = sender as DatePicker;
137-
if (picker != null)
140+
if (picker?.SelectedDate != null)
138141
{
139142
m_newClassification.ClassificationEditionDate = picker.SelectedDate.Value.Date; // Picker only use the Date
140143
}

0 commit comments

Comments
 (0)