-
Notifications
You must be signed in to change notification settings - Fork 25
Technical feedback on IFC5 development - Modularization and structural improvements #5
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
Comments
Thanks for providing detailed comments. Some random replies from my side:
I think this is covered in the ways we can compose using layers. USD goes a bit further in that you can also package multiple layers as sublayers and do this recursively. In our IFC5 prototypes this assembly currently has to happen manually. I think the flexibility to organize how people want themselves is better than imposing a consistent and strict structure, but it depends a bit on the proficiency of the target group.
It's important not to overlook the interoperability aspects of this. Today in my mailbox was this issue [0], but it's constant. There is currently 0 interoperability expected on advanced brep. [Extrusions are better (also when there is a curved footprint).] Also, I think this kind claim needs to come with numbers. Let's come up with a meaningful curved geometry and see how it would be represented in binary USD (for example... - but let's not take our current JSON examples as the benchmark).
Technically speaking, IFC4 is already fully generic. We just have products and these products have a representation and psets. I'm not entirely sure what this aspect is referring to. |
With all respect, how can you say that advanced BRep interoperability is not expected..? It has been a shame since the first day of IFC. 99% of building elements are manufactured with usage of mechanical engineering software and full power of their modelling kernels, but as soon as they arrive on a building side, they are dumped to meshes. And 30 years later we do not even expect any changes here..? As soon as I am here: when finally will systems be implemented as first class objects? Building is not a mechanical assembly it's a system of systems both conceptually and physically, but no schema supports it. Any thoughts in this direction? |
Aren't we saying the same thing? Do you still expect things to improve after 30 years? If I look to other industries, outside of my day to day line of business, I'm under the impression that e.g automotive more or less gave up on vendor neutral exchange between modelling kernels and settled on point to point translators implemented in software due to interoperability issues on concepts like adv brep. Adv brep beyond the simple cases is a lot of heuristics, implementation detail, I can imagine the pains of trying to standardize upon that. At the same time, more and more jurisdictions are embedding IFC into legal frameworks, we can't have any of that kind of ambiguity. But also some nuance: I think the focus being established here is 'reliability/explicit first' and especially this approach also allows for embedding secondary schemas in the exchange where much richer parametric intent can be encoded.
I think this is simply because (a majority?) of modellers sees a BIM model primarily as a bag of objects and not systems of systems. For them modelling systems of systems is simply more work, so it doesn't happen, modelling happens under tight deadlines and there is not a lot of value extracted from the model. Standardization is an attempt to formalize existing practice. There's valid reasons to try and influence this to become a more holistic approach, but it's a touch message to sell in this sector. |
I think IFC modulation is super important and I am dedicated to thinking about it. On the one hand, large infrastructures generate very large files (GB of data), making it impossible to view the stakeholders in a CDE and validate the project. On the other hand, the fragmentation generates substructures for the execution of works, budgets, planning... generating a central federalized file with disciplines and the like. I have invested in Blockchain technologies to support the development of more complete "model view definitions" (MVD). What are the recommendations for scientific files to support future research associated with IFC 5 modulation and BlockChain? |
@buildingSMARTSpain Thanks for starting this thread, it's well put together! Regarding the discussion about mesh vs other types of geometry: What is your view on this issue and what might be better with the USD approach? |
Coincidently, for SweptDiskSolid, USD has a something built in for its (Basis)Curves, because thickness is a not a screenspace-pixel width but a worldspace tube radius [0] (You see this in other areas as well, eg. [1] The approach we have now with the typespec schema allows us to on a case-by-case basis selectively add behaviour like this to specify the strict subset we need that can be unambiguously implemented. [0] https://openusd.org/dev/api/class_usd_geom_basis_curves.html#UsdGeomBasisCurves_TubesAndRibbons |
Absolute must for ducts, pipes, conduits and their insulation. It is a classical example how to blow up IFC x50 - add insulation to the export. These elements do not profit from mapping @MatthiasWeise. |
@aothms Thank you for the quick answer and pointing me to UsdGeomBasisCurves Class. Regarding the features being selected from the USD standard: |
We have curves for the Wall Axis representation and extrusion path: IFC5-development/Hello Wall/hello-wall.ifcx Lines 763 to 773 in 2e014f4
But I agree, it would be good to create a reinforcing bar example to see whether the community agrees on this approach.
I would say not necessarily. Also for the Meshes themselves there are aspects we are likely not interested in, such as the OpenSubDiv integration. I would phrase compatibility as: when we take data from our IFC5 JSON schema and convert this to USD (maybe even allowing ourselves some flexibility in mapping, we already did some naming harmonization because things in USD are not so consistently namespaced) then it needs to be valid USD. But this subset could be in some cases quite small like disregarding parent classes, only allowing a subset of values, all on a case by case basis.
Yes this could also be one of the cases where we allowed ourselves a bit of freedom in this mapping. But also types in USD are quite flexible. Ultimately types are for (a) runtime management of the stage, so you traverse and only find imageble prims for example (b) validation of data post composition (c) default values for attributes. In all these cases it's perfectly valid to have one layer exert the type of a prim and another layer posting an opinion on an attribute governed by that type. So our way of applying an Over for the visibility is not necessarily wrong in USD. Types are not monolithic so to say in USD. But in IFC5 I think there is more demand for validation on the component level pre-composition. |
Things are becoming more clear now! Some more questions related to the current status of IFC5 (alpha):
I'm not sure how the harmonisation of features and names is intended, but if the USD definitions in IFC5 are not identical to the USD standard (and we may not have compatibility with existing USD tools), wouldn't it be better to use the Ifc5 prefix instead of Usd? |
yes, correct, very arbitrary, just the union of the two arbitrary examples, we should make this clear, because there was already confusion about this when comparing this to the (huge) ifc4.3 schema.
I think this question hints at topic of whether there is any restrictions applied at the 'entity level'. Can a component enforce constraints on another component when these are part of the same entity. I think we'll have various levels of schema enforcement: pre-composition individual layer || post layer composition on component || post entity-component composition on an entity But also I think maybe bSI will claim less 'ownership' over that and leave that more to IDS. At least that's what I tasted at the impl meeting in Denver. That bSI has been very successful at defining the mechanisms and the terms, but that there are always exceptions to what makes sense as restrictions. E.g It makes 99.9% sense that an Pset_WindowCommon does not have a LoadBearing property, after all how many windows are loadbearing. But one could still argue that making this restriction on the data exchange specification level is (a) unnecessary (b) overly restrictive. |
Ok, thanks for clarification! Is there a discussion about semantics of IFC5 (what classes/features should be part of the core IFC5 and what might be part of later versions)?
Isn't this a general challenge for standardisation? ;-) It is fine to cherry pick features and define additional agreements, which in the end define a well selected subset of standardised features for specific use cases making it easier for implementation. I guess this is what you mean by "defining the mechanism and the terms"(?) Regarding the load bearing window example: P.S.: We may agree on using Pset_WindowCommon.MechanicalLoadRating or to use an element assembly in such cases, which would be in line with the IFC specification. |
As buildingSMART Spain, we recently published an analysis about IFC5’s development path (available at: The Evolution of IFC: The path to IFC5 - buildingSMART Spain). Following this publication, we received valuable technical feedback from our community that we’d like to share with the broader buildingSMART International community for discussion.
The feedback comes from an experienced IFC implementer, who shared these insights:
Key points for discussion:
We welcome the community’s thoughts and insights on these suggestions, particularly from those involved in IFC implementation and development.
This post is also published on forums.buidlingsmart.org ( https://forums.buildingsmart.org/t/technical-feedback-on-ifc5-development-modularization-and-structural-improvements/5788 ) if someone thinks that is a better place for it. We never know where the right people are for a productive discussion.
Cheers,
David Delgado Vendrell
Technical Coordinator, buildingSMART Spain
The text was updated successfully, but these errors were encountered: