Skip to content

Commit 720d041

Browse files
authored
Merge pull request #640 from Autodesk/babio/23_3_update
IFC Extension 23.3.0 update
2 parents 2dff5ea + 57362ff commit 720d041

File tree

172 files changed

+23671
-15540
lines changed

Some content is hidden

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

172 files changed

+23671
-15540
lines changed
Loading
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.

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

+74
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,80 @@ <h3>Support Information</h3>
237237
<h2 id="VersionHistory" name="VersionHistory">Version History</h2>
238238

239239
<div class="versionset">
240+
<div class="version">23.3.0.0</div><div class="versioninfo-bullet">
241+
<br><p>
242+
General:
243+
<ul>
244+
<li>This is the first version of IFC Exporter for Revit 2023.
245+
<li>It contains a various improvements and bug fixes for the basic Revit 2023.
246+
</ul>
247+
</p>
248+
<br>
249+
<p>
250+
Improvements:
251+
<ul>
252+
<li>Added IFC2x3 Qto sets.
253+
<li>Added material shared parameters export.
254+
<li>Added the BarRole attribute when exporting IfcReinforcingBars to IFC.
255+
<li>Added type entities for rebar and assemblies when exporting to IFC.
256+
<li>Added support for exporting predefined types when exporting spaces to IFC4+.
257+
<li>Added support of new measure units.
258+
<li>Allowed export of rebar with slightly invalid transforms to IFC.
259+
<li>Implemented exporting user defined parameters of 'Real' type as IfcReal with Revit display values.
260+
<li>Implemented exporting of IfcRailingType entity.
261+
<li>Implemented support of all 4 Revit velocity data types on export.
262+
<li>Improved display of openings when export or linking in IFC files.
263+
<li>Improved calculation of the linked levels elevation.
264+
<li>Improved export of IfcPropertyEnumeratedValue.
265+
<li>Improved export of insulation and lining as anything.
266+
<li>Improved export of projects to IFC that contained family instances with invalid placements.
267+
<li>Improved handling entities that don`t have PredefinedType.
268+
<li>Improved handling of prohibited characters importing IFC file.
269+
<li>Improved how classifications are viewed in certain older external applications when exporting to IFC.
270+
<li>Improved linking of IFC files that contained properties with no names.
271+
<li>Improved linking of IFC files with slightly self-intersecting profile data.
272+
<li>Improved list/bounded/table user defined properties values export for Instances and Types.
273+
<li>Improved processing of representation items.
274+
<li>Improved support for exporting advanced BReps to IFC if the unofficial IFC4 Design Transfer View is used.
275+
<li>Improved the export of the material layers of some IFC4 files with 0 thickness material layers.
276+
<li>Improved the export of advanced BReps to the unofficial IFC4 Design Transfer View.
277+
<li>Improved the behavior for export of elements split by levels.
278+
<li>Improved user defined property set mapping, especially for IFC2x3 entities that previously had no type entity exported.
279+
<li>Updated 4x3 enums according to IFC4.3.1.0 Documentation.
280+
</ul>
281+
</p>
282+
<br>
283+
<p>
284+
Bug Fixes:
285+
<ul>
286+
<li>Corrected the value for many MEP parameters exported to IFC.
287+
<li>Fixed colour for exported pipe fitting.
288+
<li>Fixed inconsistent IfcMaterialConstituent naming.
289+
<li>Fixed export of a user-defined structural element type.
290+
<li>Fixed export of IfcFurnitureType.AssemblyPlace attribute.
291+
<li>Fixed export of IFC properties associated with the top-level IfcProject entity.
292+
<li>Fixed export of materials from hosted wall sweep.
293+
<li>Fixed export of material layer parameters of a ceiling element.
294+
<li>Fixed export of user defined properties for roofs.
295+
<li>Fixed export of some assemblies to IFC that resulted in orphaned entities.
296+
<li>Fixed export of stairs layer name.
297+
<li>Fixed IfcExportType for ceilings.
298+
<li>Fixed IFC Classification export.
299+
<li>Fixed IFCMEASUREWITHUNIT.
300+
<li>Fixed log file creation for linking.
301+
<li>Fixed processing of IFCPostalAddress with empty AddressLine.
302+
<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.
303+
<li>Fixed the issue when IfcCovering sill's body was exported as Brep instead of SweptSolid.
304+
<li>Fixed the processing of openings when exporting a wall as shape aspects (components).
305+
<li>Fixed the slope common property set parameter calculation when exporting some stringers to IFC.
306+
<li>Fixed Revit Data types export.
307+
<li>Removed the use of several Revit built-in parameters when exporting IFC properties that have the same name but are different.
308+
</ul>
309+
</p>
310+
<br>
311+
</div>
312+
<br>
313+
240314
<div class="version">23.2.5.0</div><div class="versioninfo-bullet">
241315
<br><p>
242316
General:
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<ApplicationPackage SchemaVersion="1.0" AutodeskProduct="Revit" ProductType="Application" Name="IFC Exporter for Revit" AppVersion="23.2.5.0" Description="This application seamlessly replaces the built-in IFC export capabilities of Revit 2023. " Author="Autodesk" Icon=".\Contents\Resources\IFCExporter.png" AppNameSpace="appstore.exchange.autodesk.com" OnlineDocumentation="http://www.autodesk.com" HelpFile=".\Contents\Resources\ADSKIFCExporterHelp.htm" ProductCode="{40527B9C-60B8-407E-BF56-7AAA67F07ACA}" UpgradeCode="{A27E008E-2278-4F84-BB3B-59C605168900}" SupportedLocales="Enu">
2+
<ApplicationPackage SchemaVersion="1.0" AutodeskProduct="Revit" ProductType="Application" Name="IFC Exporter for Revit" AppVersion="23.3.0.0" Description="This application seamlessly replaces the built-in IFC export capabilities of Revit 2023. " Author="Autodesk" Icon=".\Contents\Resources\IFCExporter.png" AppNameSpace="appstore.exchange.autodesk.com" OnlineDocumentation="http://www.autodesk.com" HelpFile=".\Contents\Resources\ADSKIFCExporterHelp.htm" ProductCode="{40527B9C-60B8-407E-BF56-7AAA67F07ACA}" UpgradeCode="{A27E008E-2278-4F84-BB3B-59C605168900}" SupportedLocales="Enu">
33
<CompanyDetails Name="Autodesk, Inc." Phone=" " Url="http://www.autodesk.com" Email="[email protected]" />
44
<RuntimeRequirements OS="Win64" Platform="Revit" SeriesMin="R2023" SeriesMax="R2023" />
55
<Components Description="2023">
66
<RuntimeRequirements OS="Win64" Platform="Revit" SeriesMin="R2023" SeriesMax="R2023" />
7-
<ComponentEntry AppName="IFC For Revit 2023" Version="23.2.5" ModuleName="./Contents/2023/IFCExporterUIOverride.addin" AppDescription="IFC For Revit 2023" />
8-
<ComponentEntry AppName="IFC For Revit 2023" Version="23.2.5" ModuleName="./Contents/2023/Revit.IFC.addin" AppDescription="IFC For Revit 2023" />
7+
<ComponentEntry AppName="IFC For Revit 2023" Version="23.3.0" ModuleName="./Contents/2023/IFCExporterUIOverride.addin" AppDescription="IFC For Revit 2023" />
8+
<ComponentEntry AppName="IFC For Revit 2023" Version="23.3.0" ModuleName="./Contents/2023/Revit.IFC.addin" AppDescription="IFC For Revit 2023" />
99
</Components>
1010
</ApplicationPackage>

Install/RevitIFCSetupWix/Product.wxs

+3-3
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="1A9C2C21-2325-42D2-0000-992E73C12300" Name="Revit IFC 2023" Language="1033" Version="23.2.5.0" Manufacturer="Autodesk" UpgradeCode="1A9C2C21-23B8-42D2-0000-992E73C11B3F">
5+
<Product Id="1A9C2C21-2330-42D2-0000-992E73C12300" Name="Revit IFC 2023" Language="1033" Version="23.3.0.0" Manufacturer="Autodesk" UpgradeCode="1A9C2C21-23B8-42D2-0000-992E73C11B3F">
66
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
77

88
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
@@ -112,10 +112,10 @@
112112
<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="33DEBE0A-57D1-4BFC-BC99-FDA776B6224E">
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
<?else?>
121121
<Component Id = "COMP_IFC_Export_DLL" Guid="D59E44AA-89A3-4CD7-AD9C-8D4D7AC6026B">

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 2023.2.5.0</OutputName>
9+
<OutputName>IFC for Revit 2023.3.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 RevitIFC2023.2.5.msi product.wixobj -ext WixUIExtension
14+
light.exe -ext WixUtilExtension -out RevitIFC2023.3.0.msi product.wixobj -ext WixUIExtension
1515

16-
copy RevitIFC2023.2.5.msi %1..\Releasex64
17-
del RevitIFC2023.2.5.msi
16+
copy RevitIFC2023.3.0.msi %1..\Releasex64
17+
del RevitIFC2023.3.0.msi
1818

19-
echo %1..\Releasex64\RevitIFC2023.2.5.msi
19+
echo %1..\Releasex64\RevitIFC2023.3.0.msi

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
}

Source/IFCExporterUIOverride/IFCExport.xaml.cs

-2
Original file line numberDiff line numberDiff line change
@@ -448,8 +448,6 @@ private void buttonEditSetup_Click(object sender, RoutedEventArgs args)
448448
string selectedConfigName = editorWindow.GetSelectedConfigurationName();
449449

450450
UpdateCurrentSelectedSetupCombo(selectedConfigName);
451-
452-
updateFileName();
453451
}
454452

455453
// The SelectionChanged event will be activated again after the Modify Config Window is closed

0 commit comments

Comments
 (0)