Page 1 of 2

import, read Autodesk Layer

Posted: Tue May 28, 2019 9:00 am
by bernd
The Autodesk Layer is an own Attribute in BuildingSmart IFC Standard. AFAIK FreeCAD does not read and write this entity but I might be wrong. Is there any code in importIFC already to read this Autodesk Layer.

Reason behind ... I got an IFC with very bad attributes. All is messed up, but the Autodesk Layer are very clean set without errors. Thus I would like to use them to serialize this ifc.

cheers bernd

Re: import, read Autodesk Layer

Posted: Mon Jun 03, 2019 7:56 pm
by yorik
bernd wrote: Tue May 28, 2019 9:00 am The Autodesk Layer is an own Attribute in BuildingSmart IFC Standard
This sentence looks weird! :D Is there anything named "Autodesk" in IFC standard??? That would be quite shocking :shock:

Do you have an example?

Re: import, read Autodesk Layer

Posted: Mon Jun 03, 2019 8:47 pm
by bernd
I just call it Autodesk Layer. It is the CAD-Layer but it is not the wall layer. Every CAD has it's own name for these kind of thing, but it was introduced docens of years ago by Autodesk with AutoCAD, AFAIK.

https://forum.freecadweb.org/viewtopic. ... 60#p280947, gruen_new.ifc:

Code: Select all

#214= IFCPRESENTATIONLAYERWITHSTYLE('_HB_N_BTL_BE_Stuetze',$,(#207,#245),'_HB_N_BE_STUTZ',.T.,.U.,.F.,(#216));
whereas "_HB_N_BTL_BE_Stuetze" is the layer the object belongs too

IfcPresentationLayerWithStyle is a subtype of IfcPresentationLayerAssignment
http://www.buildingsmart-tech.org/ifc/I ... gnment.htm

Re: import, read Autodesk Layer

Posted: Mon Jun 03, 2019 10:15 pm
by yorik
Ok I see.. Indeed we should support layers. In FreeCAD you can do that quite easily with groups. Or with Draft VisGroups. However, currently, these are groups too, so they compete with "real" groups - ie. an object gets removed from its group if we add it to a layer.

Not sure of the best way to attack the target... We could change the Draft VisGroup so it's not a group anymore (would need to implement drag&drop manually, not sure if it's possible), or implement a kind of dummy, lightweight layer object... Not sure.. I'm more in favor of option 1) I think

Re: import, read Autodesk Layer

Posted: Tue Jun 04, 2019 6:06 am
by bernd
how about not to use groups at all, and implement it similar to the way materials are implemented in Arch? But on the other side it really makes sense to make FreeCAD vis groups out of the IFC CAD-Layer. But than the vis-group would have to be changed. Mhh I have not yet used.

I see groups something which is for the user to make a own structure of his objects obove all FreeCAD objects to be organited in his document. Furthermore thex somtimes do not behave like I would expect to be behave in Treeview when I heavily move objects around. Thus I only use groups above all if I define them myself.

But I am not a power user of Arch, I just use IFC import export really a lot. Means I might have different workflowy than most Arch users.

Re: import, read Autodesk Layer

Posted: Tue Jun 04, 2019 2:05 pm
by yorik
But there are groups in IFC too. We cannot just discard them, sometimes they are an important part of the model structure.

Actually a layer structure is something parallel and independent to a groups structure. Ideally it should be possible to have an object inside a group AND a layer.

I'm thinking it would not be bad design to make the visgroup a different kind of object that is not a group, but that can coexist with groups... Need to think a bit better about that

Re: import, read Autodesk Layer

Posted: Tue Jun 04, 2019 3:11 pm
by bernd
That is why I had the idea to do it like the materials. They are kind of groups too. We just can not filter the tree view by the materials. Means to sort the tree view by the materials. Than it would look like a group.

As a start we could just add the CAD-Layer to the IFC attributes dicrionary on import ?

Re: import, read Autodesk Layer

Posted: Tue Jun 04, 2019 5:33 pm
by Cyril
yorik wrote: Tue Jun 04, 2019 2:05 pmI'm thinking it would not be bad design to make the visgroup a different kind of object that is not a group, but that can coexist with groups... Need to think a bit better about that
For me BIM is a lot about analysing data so I'm not comfortable about any static tree organisation. I would love to see a data driven tree view. This you would allow to :
  • Have an tree view like current groups
  • Have an old fashion CAD layer tree view
  • Have multiple Ifc oriented tree views : by class, by inheritance, by relationship (eg. MEP systems, Space Boundaries, items in space)
  • And so many more possibilities…
In some case it would also be great to be able to reach the same object at different point of the tree (eg. mutual relationships)

I'm also pretty sure that this is not building area specific.

Re: import, read Autodesk Layer

Posted: Tue Jun 04, 2019 9:45 pm
by yorik
All the points you guys say are right...

You hit the nail Bernd.. The layers must work like materials, that's exactly it.

@Cyril I think we are almost there... If you look at the Ifc Elements tool in the BIM wb, it shows exactly that, you have several ways to classify your objects. With this layers system, that will be one more.

Re: import, read Autodesk Layer

Posted: Wed Jun 05, 2019 6:28 am
by bernd
@Cyril:
a additional QTreeWidget which can display a tree off al objects according IfcProperties choosen by the user (might be two three different attributes deep), similar to TeklaBIMSight, has been on my TODO for years but never was implemented. Might be a good start for joining FreeCAD development ;) :geek: