Hello,
I have got a question to Revit API:
I have written some data into Revit Extensible Storage. For interchange the Revit files with other Systems we use IFC-Format. To write the Extensible Storage-Data to an IFC-File I edited the SourceForge-IFC-Project as I needed and my data are written as PropertySets into the IFC-File. Everything fine.
Now is the question, how to get the data back into Extensible Storage when Importing the IFC-File. Do you have any Idea? I didn't find where to edit the IFC-Import, for the SourceForge Project is also only calling Autodesk.Revit.DB.IFC.ImporterIFC.ProcessIFCProject() (in class Revit.IFC.Import.Data.IFCImportFile). Can you help me please and tell, where I can customize the IFC-Import the way I want to?
Kind Regards, Achim
Dear Achim,
Congratulations on adding your own data to the IFC export.
The Open Source only really supports export and link IFC, not Open IFC.
That said, you can still modify the open source to work in this case as well.
In particular, after the call to ProcessIFCProject() (which basically does the entire open IFC), you can go through the document, search through the created elements and get their IFC GUID. When you find the matching IFC GUID, you can add whatever data you want.
We are thinking about supporting Open IFC more fully in open source as well in the future...
Cheers,
Jeremy
Hi astuy,
You mention in your post that you edited the SourceForge-IFC-Project in order to write data from the Extensible storage to your IFC file.
Please could you let me know how you did this?
I am currently using the COBie Extension which apparently writes Zoning data to the Extensible Storage (http://www.caddmicrosystems.com/cobieextension/help/revit.html), however when I export an IFC of the model no IFCZones are created and therefore the data added by the COBie extension is not visible when I import it into other software packages.
I am not a programer so a basic description would be brilliant!
Thanks,
Eilise
Hi Eilise,
it is difficult to describe for non-programmers, because I programmed the solution and we did not see any way to configure it inside Revit.
Basically I extended the class Revit.IFC.Export.Exporter.Exporter, overrode the method void ExportElementImpl(ExporterIFC, Element, ProductWrapper), checked, whether the element contains Extensible-Storage-Data and called IFCInstanceExporter.CreateRelDefinesByProperties(...) to attach the IFC-Data.
Regards, Achim
Ok, thanks for your help Achim,
It doesn't make much sense to me but I'll forward this on to a member of my team who will be able to help.
Thanks Again,
Eilise