Skip to content

Commit

Permalink
Merge pull request #834 from Autodesk/babio/23_4_1_update
Browse files Browse the repository at this point in the history
IFC 23.4.1 update
  • Loading branch information
o-babii authored Jan 16, 2025
2 parents b27a1b9 + 90282fe commit 1fef0c8
Show file tree
Hide file tree
Showing 26 changed files with 138 additions and 49 deletions.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,24 @@ <h3>Support Information</h3>
<h2 id="VersionHistory" name="VersionHistory">Version History</h2>

<div class="versionset">
<div class="version">23.4.1.0</div><div class="versioninfo-bullet">
<br><p>
General:
<ul>
<li>This is the minor update of IFC Exporter for Revit 2023.
</ul>
</p>
<br>
<p>
Improvements:
<ul>
<li>Fixed an unexpected export error using RCE.
<li>Implemented an option that allows to export type properties along with instance properties.
<li>Newtonsoft.Json version updated.
</ul>
</p>
<br>
</div>
<div class="version">23.4.0.0</div><div class="versioninfo-bullet">
<br><p>
General:
Expand Down
6 changes: 3 additions & 3 deletions Install/Program Files to Install/bundle/PackageContents.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage SchemaVersion="1.0" AutodeskProduct="Revit" ProductType="Application" Name="IFC Exporter for Revit" AppVersion="23.4.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">
<ApplicationPackage SchemaVersion="1.0" AutodeskProduct="Revit" ProductType="Application" Name="IFC Exporter for Revit" AppVersion="23.4.1.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">
<CompanyDetails Name="Autodesk, Inc." Phone=" " Url="http://www.autodesk.com" Email="[email protected]" />
<RuntimeRequirements OS="Win64" Platform="Revit" SeriesMin="R2023" SeriesMax="R2023" />
<Components Description="2023">
<RuntimeRequirements OS="Win64" Platform="Revit" SeriesMin="R2023" SeriesMax="R2023" />
<ComponentEntry AppName="IFC For Revit 2023" Version="23.4.0" ModuleName="./Contents/2023/IFCExporterUIOverride.addin" AppDescription="IFC For Revit 2023" />
<ComponentEntry AppName="IFC For Revit 2023" Version="23.4.0" ModuleName="./Contents/2023/Revit.IFC.addin" AppDescription="IFC For Revit 2023" />
<ComponentEntry AppName="IFC For Revit 2023" Version="23.4.1" ModuleName="./Contents/2023/IFCExporterUIOverride.addin" AppDescription="IFC For Revit 2023" />
<ComponentEntry AppName="IFC For Revit 2023" Version="23.4.1" ModuleName="./Contents/2023/Revit.IFC.addin" AppDescription="IFC For Revit 2023" />
</Components>
</ApplicationPackage>
2 changes: 1 addition & 1 deletion Install/RevitIFCSetupWix/Product.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">

<Product Id="1A9C2C21-2340-42D2-0000-992E73C12300" Name="Revit IFC 2023" Language="1033" Version="23.4.0.0" Manufacturer="Autodesk" UpgradeCode="1A9C2C21-23B8-42D2-0000-992E73C11B3F">
<Product Id="1A9C2C21-2341-42D2-0000-992E73C12300" Name="Revit IFC 2023" Language="1033" Version="23.4.1.0" Manufacturer="Autodesk" UpgradeCode="1A9C2C21-23B8-42D2-0000-992E73C11B3F">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
Expand Down
2 changes: 1 addition & 1 deletion Install/RevitIFCSetupWix/RevitIFCSetupWix.wixproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<ProductVersion>3.8</ProductVersion>
<ProjectGuid>7dfbd495-c588-4c7b-b8f6-5b793adb06f2</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>IFC for Revit 2023.4.0.0</OutputName>
<OutputName>IFC for Revit 2023.4.1.0</OutputName>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
Expand Down
8 changes: 4 additions & 4 deletions Install/RevitIFCSetupWix/buildInstaller.bat
Original file line number Diff line number Diff line change
Expand Up @@ -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 RevitIFC2023.4.0.msi product.wixobj -ext WixUIExtension
light.exe -ext WixUtilExtension -out RevitIFC2023.4.1.msi product.wixobj -ext WixUIExtension

copy RevitIFC2023.4.0.msi %1..\Releasex64
del RevitIFC2023.4.0.msi
copy RevitIFC2023.4.1.msi %1..\Releasex64
del RevitIFC2023.4.1.msi

echo %1..\Releasex64\RevitIFC2023.4.0.msi
echo %1..\Releasex64\RevitIFC2023.4.1.msi
7 changes: 7 additions & 0 deletions Source/IFCExporterUIOverride/IFCExportConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,11 @@ public KnownERNames ExchangeRequirement
/// </summary>
public string ExportUserDefinedPsetsFileName { get; set; } = "";

/// <summary>
/// Whether or not to include type property to the user defined property sets.
/// </summary>
public bool UseTypePropertiesInInstacePSets { get; set; } = false;

/// <summary>
/// True if the User decides to use the Parameter Mapping Table
/// False if the user decides to ignore it
Expand Down Expand Up @@ -434,6 +439,7 @@ public static IFCExportConfiguration CreateBuiltInConfiguration(IFCVersion ifcVe
bool materialPsets,
bool schedulesAsPSets,
bool userDefinedPSets,
bool useTypePropertiesInInstacePSets,
bool userDefinedParameterMapping,
bool PlanElems2D,
bool exportBoundingBox,
Expand Down Expand Up @@ -471,6 +477,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;

Expand Down
26 changes: 15 additions & 11 deletions Source/IFCExporterUIOverride/IFCExportConfigurationsMap.cs
Original file line number Diff line number Diff line change
Expand Up @@ -75,22 +75,22 @@ 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, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3, 1, false, false, true, false, false, false, false, true, false, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFCCOBIE, 2, true, true, true, false, false, false, false, true, true, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3BFM, 1, true, true, false, false, false, false, false, true, false, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x2, 1, false, false, true, false, false, false, false, false, false, false));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3FM, 1, true, false, false, false, true, true, false, true, true, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, false, includeSteelElements: true,
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3CV2, 0, false, false, false, false, false, false, false, false, false, false, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3, 1, false, false, true, false, false, false, false, false, true, false, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFCCOBIE, 2, true, true, true, false, false, false, false, false, true, true, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3BFM, 1, true, true, false, false, false, false, false, false, true, false, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x2, 1, false, false, true, false, false, false, false, false, false, false, false));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC2x3FM, 1, true, false, false, false, true, true, false, false, true, true, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, false, false, includeSteelElements: true,
exchangeRequirement:KnownERNames.Architecture));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, false, includeSteelElements: true,
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, false, false, includeSteelElements: true,
exchangeRequirement:KnownERNames.Structural));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, false, includeSteelElements: true,
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4RV, 0, true, false, false, false, false, false, false, false, false, false, false, includeSteelElements: true,
exchangeRequirement:KnownERNames.BuildingService));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4DTV, 0, true, false, false, false, false, false, false, false, false, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(IFCVersion.IFC4DTV, 0, true, false, false, false, false, false, false, false, false, false, false, includeSteelElements: true));
//Handling the IFC4x3 format for using the IFC Extension with Revit versions older than 2023.1 which does not support IFC4x3.
if(OptionsUtil.IsIFC4x3Supported())
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(OptionsUtil.GetIFCVersionByName("IFC4x3"), 0, true, false, false, false, false, false, false, false, false, false, includeSteelElements: true));
AddOrReplace(IFCExportConfiguration.CreateBuiltInConfiguration(OptionsUtil.GetIFCVersionByName("IFC4x3"), 0, true, false, false, false, false, false, false, false, false, false, false, includeSteelElements: true));
}

/// <summary>
Expand Down Expand Up @@ -146,6 +146,9 @@ public void AddSavedConfigurations()
Field fieldExportUserDefinedPsetsFileName = m_OldSchema.GetField(s_setupExportUserDefinedPsetsFileName);
if (fieldExportUserDefinedPsetsFileName != null)
configuration.ExportUserDefinedPsetsFileName = configEntity.Get<string>(s_setupExportUserDefinedPsetsFileName);
Field fieldUseTypePropertiesInInstacePSets = m_OldSchema.GetField(s_setupUseTypePropertiesInInstacePSets);
if (fieldExportUserDefinedPsets != null)
configuration.UseTypePropertiesInInstacePSets = configEntity.Get<bool>(s_setupUseTypePropertiesInInstacePSets);

Field fieldExportUserDefinedParameterMapingTable = m_OldSchema.GetField(s_setupExportUserDefinedParameterMapping);
if (fieldExportUserDefinedParameterMapingTable != null)
Expand Down Expand Up @@ -371,6 +374,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";
Expand Down
11 changes: 6 additions & 5 deletions Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,12 @@
<CheckBox Content="{x:Static p:Resources.ExportSchedulesAsPropertySets}" Margin="10,91,0,0" x:Name="checkboxExportSchedulesAsPsets" VerticalAlignment="Top" Checked="checkboxExportSchedulesAsPsets_Checked" Unchecked="checkboxExportSchedulesAsPsets_Checked" Height="16" HorizontalAlignment="Left" Width="588" Grid.ColumnSpan="2" />
<CheckBox Content="{x:Static p:Resources.ExportSpecificSchedules}" Margin="30,112,0,0" x:Name="checkBoxExportSpecificSchedules" VerticalAlignment="Top" Checked="checkBoxExportSpecificSchedules_Checked" Unchecked="checkBoxExportSpecificSchedules_Checked" Height="16" HorizontalAlignment="Left" Width="568" Grid.ColumnSpan="2" />
<CheckBox Content="{x:Static p:Resources.ExportUserDefinedPropertySets}" Margin="10,141,0,0" Height="16" x:Name="checkboxExportUserDefinedPset" VerticalAlignment="Top" Checked="checkboxExportUserDefinedPset_Checked" Unchecked="checkboxExportUserDefinedPset_Checked" HorizontalAlignment="Left" Width="588" Grid.ColumnSpan="2"/>
<TextBox Height="23" Margin="30,162,0,0" x:Name="userDefinedPropertySetFileName" VerticalAlignment="Top" HorizontalAlignment="Left" Width="436" Grid.ColumnSpan="2" />
<Button Content="{x:Static p:Resources.Browse}" x:Name="buttonBrowse" Width="107" IsDefault="True" Click="buttonBrowse_Click" Height="23" VerticalAlignment="Top" Margin="0,162,20,0" HorizontalAlignment="Right" Grid.Column="1"/>
<CheckBox Content="{x:Static p:Resources.ExportUserDefinedParameterMappingTable}" Height="16" Margin="10,201,0,0" x:Name="checkBoxExportUserDefinedParameterMapping" VerticalAlignment="Top" Checked="checkBoxExportUserDefinedParameterMapping_Checked" Unchecked="checkBoxExportUserDefinedParameterMapping_Checked" HorizontalAlignment="Left" Width="588" Grid.ColumnSpan="2"/>
<TextBox Height="23" Margin="30,222,0,0" x:Name="userDefinedParameterMappingTable" VerticalAlignment="Top" HorizontalAlignment="Left" Width="436" Grid.ColumnSpan="2"/>
<Button Content="{x:Static p:Resources.Browse}" Margin="0,222,20,0" x:Name="buttonParameterMappingBrowse" Click="buttonParameterMappingBrowse_Click" Width="107" IsDefault="True" Height="23" VerticalAlignment="Top" HorizontalAlignment="Right" Grid.Column="1"/>
<CheckBox Content="{x:Static p:Resources.UseTypePropertiesInInstacePSets}" Margin="30,162,0,0" x:Name="checkboxUseTypePropertiesInInstacePSets" VerticalAlignment="Top" Checked="checkboxUseTypePropertiesInInstacePSets_Checked" Unchecked="checkboxUseTypePropertiesInInstacePSets_Checked" HorizontalAlignment="Left" Width="568" Height="16" />
<TextBox Height="23" Margin="30,183,0,0" x:Name="userDefinedPropertySetFileName" VerticalAlignment="Top" HorizontalAlignment="Left" Width="436" Grid.ColumnSpan="2" />
<Button Content="{x:Static p:Resources.Browse}" x:Name="buttonBrowse" Width="107" IsDefault="True" Click="buttonBrowse_Click" Height="23" VerticalAlignment="Top" Margin="0,183,20,0" HorizontalAlignment="Right" Grid.Column="1"/>
<CheckBox Content="{x:Static p:Resources.ExportUserDefinedParameterMappingTable}" Height="16" Margin="10,222,0,0" x:Name="checkBoxExportUserDefinedParameterMapping" VerticalAlignment="Top" Checked="checkBoxExportUserDefinedParameterMapping_Checked" Unchecked="checkBoxExportUserDefinedParameterMapping_Checked" HorizontalAlignment="Left" Width="588" Grid.ColumnSpan="2"/>
<TextBox Height="23" Margin="30,243,0,0" x:Name="userDefinedParameterMappingTable" VerticalAlignment="Top" HorizontalAlignment="Left" Width="436" Grid.ColumnSpan="2"/>
<Button Content="{x:Static p:Resources.Browse}" Margin="0,243,20,0" x:Name="buttonParameterMappingBrowse" Click="buttonParameterMappingBrowse_Click" Width="107" IsDefault="True" Height="23" VerticalAlignment="Top" HorizontalAlignment="Right" Grid.Column="1"/>
<Button Content="{x:Static p:Resources.Classification}" Margin="10,0,0,10" Name="classificationButton" Click="buttonClassification_Click" Height="23" VerticalAlignment="Bottom" HorizontalAlignment="Left" Width="231"/>
</Grid>
</TabItem>
Expand Down
Loading

0 comments on commit 1fef0c8

Please sign in to comment.