Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IFC 23.4.1 update #834

Open
wants to merge 2 commits into
base: Release_23.x.x
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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