Autodesk / revit-ifc

IFC for Revit and Navisworks (2019+)
485 stars 196 forks source link

Can't import IfcTriangulatedFaceSet #587

Open rtrwalker opened 1 year ago

rtrwalker commented 1 year ago

I have revit 2021 (viewer mode only) with IFC for revit 21.2.1.0. I can't seem to import (Open. I haven't tried linking) an IFC containing IfcTriangulatedFaceSet. IfcTriangulatedFaceSet is new in IFC4.

I got this file tessellation-with-individual-colors.zip from the building smart website but if I import it nothing shows. I can see the object in various BIMviewers but not Revit. Does anyone know if Revit supports import of IfcTriangulatedFaceSet? Does anyone know if this particular file is wrong (e.g. does revit need the face normals or something?)) Does anyone have a sample IFC file with IfcTriangulatedFaceSet that they can see in Revit that I could try? Ultimately I'm trying to make IFC files outside of Revit but I want them to be importable/visible in Revit.

According to the building smart website it should look like this: image

If I open it in BIMVision it looks like this: image

rtrwalker commented 1 year ago

According to this. https://community.osarch.org/discussion/898/ifc-file-doesnt-import-open-into-revit "

.. you can open IFC4, so long as you use the features it supports, which means old-style "faceted brep" geometry instead of the newer "tessellations" that people use in IFC4. Although linking will work, linking doesn't support a lot of the conversion to native Revit parametric data that the opening method supports. This is a real shame. With the open approach, Autodesk was semi-treating IFC as a design transfer, but increasingly it seems as though in their linking approach they are treating it as a read-only.

So it looks like I'll have to generate my meshes without using ifc4 tessellations. Which is annoying because the files with tessellations in them are much smaller. I'm still hopeful of a solution/explanation.

AngelVelezSosa commented 1 year ago

Yes, Open IFC has only partial IFC4 support. The intention was to work on reference view for linking in the open source, get that certified, and then design transfer view for open IFC with a makeover in the open source for that. But Design Transfer View was never finalized, and likely won't be any time soon.

That said, there's not much point in opening a reference view file (vs. linking it). You can't generate native Revit elements from it, so it really is only fit for viewing. What would be your expectation of opening (instead of linking) a reference view file?

rtrwalker commented 1 year ago

@AngelVelezSosa I had hoped the people that use my ifc files could generate native Revit elements from it. Is there no way to do that? I have no experience in linking a revit file as for me in the revit insert menu that option is greyed out - I assume because I don't have a license and only use revit in viewer mode.

I have for example these two files of the same mesh in this zip Meshes.zip . I can open the "Mesh with IFCCONNECTEDFACESET.ifc" 80kB file but not the "Mesh with IFCTRIANGULATEDFACESET.ifc" 20kB. The file size difference on only this small mesh is why I'd like to use the IFC4 IfcTriangulatedFaceSet! I now know that IfcTriangulatedFaceSet is not supported by revit import. Do you know of any a way at all to generate native Revit elements from the IfcConnectedFaceSet file? image

AngelVelezSosa commented 1 year ago

Well, what do you mean by "native"? You can create something that you see on the screen that has the geometry and properties in it using link IFC. You can even open up the created .ifc.RVT file and copy/paste the created DirectShape to wherever you want. But what is the intention of the object? What are people supposed to do with it once it is in Revit? Meshed representations aren't good for much more than visualization in Revit.

rtrwalker commented 1 year ago

Thanks for your responses @AngelVelezSosa . I must admit I've only ever used revit to get information out of civil construction projects (e.g. coordinates of entities), I've never created anything in it, so I don't know exactly what they'll do with it in Revit. They already have a design tunnel in Revit. The mesh I've shown is created from as-built surveyed points on the inner surface of the tunnel excavation. I imagine they might want to compare the as-built tunnel excavation with the design tunnel and maybe calculate the volume differences. I realise my mesh in it's current state may not be suitable for that - it is just a first step. Further down the line I'd like to create other objects as-built shapes/positions and various properites in Ifc to go back to revit for comparison with the design. Usually I ask people to export their revit models to Ifc and grab info from the ifc file; I'm now exploring going the other way of getting info back into revit. So broadly I'm trying to find out if ifc elements can be imported into revit and then manipulated within revit as revit objects. I know we've veered off my original question so, again, thanks for your responses.

AngelVelezSosa commented 1 year ago

No, this is definitely the important question behind the question :) If you are looking to do calculations, yes it is possible with meshes but really Revit wants real geometry for that ideally. So in summary:

  1. Yes, we do want to fully support IFC4 in Open IFC. Particular important use cases will push that along.
  2. In your particular case, you should determine if RV is really what you want to communicate what you want.