IFC export AddOptions don't work

Hi guys,

I am using the custom node “Export IFC” from GeniusLoci.
This Python script refers to AddOptions such as: options.AddOption(“ExportLinkedFiles”, “false”)

However, despite all the comments on these forums the options don’t seem to do anything here…
If i set the ExportLinkedFiles option to “true” it doesn’t export the linked file in my model.
None of the options seem to work, tested multiple.
Am i doing something wrong here? If so, what can i do to fix this problem?

The Python script:

#Proposed by Nicklas Verdier Østergaard, nvo@niras.dk
#https://github.com/pzurek/ifcexporter/blob/master/IFCExporterUI/Source/IFCExportConfiguration.cs
#Revised by Alban de Chasteigner

import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# Import ToDSType(bool) extension method
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
# Import geometry conversion extension methods
clr.ImportExtensions(Revit.GeometryConversion)
# Import DocumentManager and TransactionManager
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from System.Collections.Generic import *
# Import RevitAPI
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *

doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument

folder=UnwrapElement(IN[0])
name=UnwrapElement(IN[1])
view = UnwrapElement(IN[2])
fileversion = IN[3]
wallandcolumnsplitting = IN[4]
exportbasequantities = IN[5]
Projectorigin = IN[6]

#IFCVersion=UnwrapElement(IN[3])

TransactionManager.Instance.EnsureInTransaction(doc)
result = []

for i,v in enumerate(view):
	options=IFCExportOptions()
	
	#if fileversion != None:
	#	options.FileVersion = fileversion
	if fileversion == "IFC4":
		options.FileVersion = IFCVersion.IFC4
	if fileversion == "IFC2x2":
		options.FileVersion = IFCVersion.IFC2x2
	if fileversion == "IFC2x3":
		options.FileVersion = IFCVersion.IFC2x3
	if fileversion == "IFC2x3":
		options.FileVersion = IFCVersion.IFC2x3CV2
	if fileversion == "IFCBCA":
		options.FileVersion = IFCVersion.IFCBCA
	if fileversion == "IFCCOBIE":
		options.FileVersion = IFCVersion.IFCCOBIE
	if fileversion == "":
		options.FileVersion = IFCVersion.Default
		
	options.WallAndColumnSplitting = wallandcolumnsplitting
	options.ExportBaseQuantities = exportbasequantities
	options.FilterViewId = v.Id
	options.AddOption("ExportInternalRevitPropertySets","true");
	options.AddOption("ExportIFCCommonPropertySets","true");	
	options.AddOption("ExportAnnotations ","true");
	options.AddOption("SpaceBoundaries ", "0");
	options.AddOption("ExportRoomsInView", "false");	
	options.AddOption("Use2DRoomBoundaryForVolume ", "false");
	options.AddOption("UseFamilyAndTypeNameForReference ", "true");
	options.AddOption("Export2DElements", "false");
	options.AddOption("ExportPartsAsBuildingElements", "false");
	options.AddOption("ExportBoundingBox", "false");
	options.AddOption("ExportSolidModelRep", "true");
	options.AddOption("ExportSchedulesAsPsets", "false");
	options.AddOption("ExportSpecificSchedules", "false");
	#Doesn't work. It would be necessary to use OpenInBackground.
	options.AddOption("ExportLinkedFiles", "false");
	options.AddOption("IncludeSiteElevation","true");
	options.AddOption("StoreIFCGUID", "true");
	options.AddOption("VisibleElementsOfCurrentView", "true");
	options.AddOption("UseActiveViewGeometry", "true");
	options.AddOption("TessellationLevelOfDetail", "1");
 	options.AddOption("ExportUserDefinedPsets","false");
 	options.AddOption("SitePlacement", IN[6]);
#	options.AddOption("ExportUserDefinedPsetsFileName","the filepath")
#IFCVersion Version = (IFCVersion) Enum.Parse( typeof(IFCVersion), UnwrapElement(IN[3]), true );
#x.FileVersion = IFCVersion.IFC2x3CV2

	c=doc.Export(folder, name[i], options)
	result.append(c)

# End Transaction
TransactionManager.Instance.TransactionTaskDone()

if fileversion == "":
	OUT="Default settings used"
else:
	OUT='Success'

Thanks in advance :slight_smile: