Autodesk / revit-ifc

IFC for Revit and Navisworks (2019+)
462 stars 195 forks source link

Import/Export of Multi-Segmented Grids #343

Open deitry opened 2 years ago

deitry commented 2 years ago

I tried to import IFC with grids, with one of them being IfcPolyline with an array of Points (N > 2). But log says

#121: ERROR: Found multiple curve segments for grid line, ignoring all but first.

I tracked it up to https://github.com/Autodesk/revit-ifc/blob/36d7eea39748f0addaba872596eb19329790bda7/Source/Revit.IFC.Import/Data/IFCGridAxis.cs#L375

Same thing happens with IfcSegmentedCurve. Shouldn't they be imported as single Multi-Segmented grid objects rather than being trimmed of all segments but first?

deitry commented 2 years ago

Also I try to see how Revit proceeds Multi-Segmented grids in its own export and discover that Multi-Segmented grids are exported as separate IfcPolylines while Arcs are not exported at all

AngelVelezSosa commented 2 years ago

Let me look into that. I don't think Revit has multi-segmented grids, but I will need to investigate, so I am curious as to how you created those. Also, IfcGrid requires grid lines in multiple directions - if you create one grid line (or arc) in Revit and try to export it, you won't be able to - IfcGrid requires at least 2 grid lines to make a grid.

AngelVelezSosa commented 2 years ago

Can you send me a sample file or two to attach to a JIRA item? angel . velez @ autodesk . com.

deitry commented 2 years ago

Revit provides a way to create multi-segmented grids at least since Revit 2015: https://knowledge.autodesk.com/support/revit/learn-explore/caas/screencast/Main/Details/e055f952-f504-45ff-bb62-8103a7ef53ff.html

From inside (as retrieved via API) they are represented by separate grids with Line curves, but always listed in sequence (in element collector), share same grid name and have Subcategory named "Multi-segmented Grid".

I'll send you files a bit later

AngelVelezSosa commented 2 years ago

No, that's perfect, thanks. I had just had a discussion about these grid lines recently and had been misled about this behavior, so good to know. Will create a JIRA item to support.