-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IfcMappedGroup #17
Comments
A heads up that this is one of the "big issues" that will probably be an IFC5 thing, potentially together with proposals on simplified geometry instancing. Although conceptually this is a group of objects, I think an important aspect of IFC is that there is a spatial hierarchy and objects should appear "once" in the hierarchy. So I would approach this with three potential strategies:
Just brainstorming. |
I agree with (my interpretation of your) point 2. I think what we should have is the combination of decomposition and instantiation. For example a detailed window being decomposed into a set of elements, and then just instancing this window with the parts carrying over. And then why not apply this to spatial zones or building storeys as well. So that they can be instanced. I think the semantics of IfcGroup don't really align to this idea, but I think in early design, why not instantiate a bunch of populated building storeys? Or on a larger scale, why not instantiate a couple entire buildings for urban development. Although quite early on indeed the question of overriding comes into play. It's not impossible to handle I think, e.g in the instance you could override a part by supplying an element with the same name/id, quite analogous to how overriding of properties is handled. Not too sure about this one though. |
Indeed an IfcGroup seems just some form of "user-made" classification.. I guess it's not what Ifc constituents had in mind for, say, a repeatable bathroom stall Maybe the problem is actually two-fold:
For 1) there is IfcElementAssembly that does just that, but then we loose specific types, and as @aothms says we should be able to define an IfcWindow as an assembly, and still access for example the handle as a separate Ifc entity. And yes, if it is conceptually admitted that an element can be an instance of another, why stop at just one type... |
Again, this is probably blasphemous to the IFC gods, but could something like this inform how we approach this? the entire structure is reusable classes... kinda like a programming language. |
In an effort to prevent the Perfect to be the enemy of good how about typing an Aggregation? We were so close once. :) |
related: buildingSMART/IFC4-CV#16 |
I am not sure what all your requirements are but just looking at the snippet, are you not talking about IfcMappedItem? |
Hi @SergejMuhic, IfcMappedItem only maps the geometry of a IfcProduct in a 1 to many relationship. This proposal is looking to map groups of geometry, so to speak--a repeating bathroom module or repeating unit type, for example, composed of multiple IfcProducts. |
Semantically, this is quite unclear. IfcGroup does not carry any geometry, so you are basically applying a transformation operator to a non existing target. Even worse, to a relationship. What does this proposal solve? I would argue that it is more confusing than what we currently have. The software still has to loop through all the grouped products and their geometries, cache the operator and apply to each individual product. The way you would use it at the moment is have the geometry on IfcTypeObject level for each grouped product. Then apply IfcMappedItem to the repeating occurrences. Does this not do exactly what you expect? It is semantically clearer where the types of object carry geometry and on the product level the occurrences are grouped. |
I'm open to whatever approach we feel is the most efficient. I do, however, feel finding a solution to this, should be high priority--as it's such a core functionality of any BIM program. Furthermore, any program that uses NativeIFC, such as BlenderBIM, as their file format, has their hands tied until this core concept is reflected in the schema somehow. |
Could you point me to this? I could not find references to spatial zone. |
this comment above.
|
Related to buildingSMART/NextGen-IFC#61
I'm sure the following proposal needs a lot of love, but as a power user, I'm taking a stab at it.
In essence proposing a way to map IfcGroups...
The following example illustrates mapping a group, within a group.
Formal representation
The text was updated successfully, but these errors were encountered: