Skip to content
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

Implement missing Partials in IFC4x3 schema #600

Open
andyward opened this issue Jan 30, 2025 · 2 comments
Open

Implement missing Partials in IFC4x3 schema #600

andyward opened this issue Jan 30, 2025 · 2 comments

Comments

@andyward
Copy link
Member

A number of 'Partial' class extensions are missing from the IFC4x3 schema. E.g. IfcSitePartial, IfcCompoundPlaneAngleMeasurePartial etc.

Consider if these could be better implemented as extensions on the cross schema interfaces

@WalchAndreas
Copy link

Hi,

while porting our application to support Ifc4x3, we encountered problems regarding Properties / Quantities.
The IIfcObject interface fails to provide PhysicalSimpleQuantities / PropertySets / GetElementQuantity() ....

Trying to resolve queries for IIfcProperty, we tested the instance to specific IfcObject (Ifc2x3.Kernel / Xbim.Ifc4.Kernel / Xbim.Ifc4x3.Kernel) implementation, which seems not promising for future versions.

Do you have recommendations to resolve this issue?

@andyward
Copy link
Member Author

Naively we just need to implement (copy - paste) the Partial classes from IFC4 in IFC4x3 schema. E.g. For PhysicalSimpleQuantities etc in IFC4 & 2x3 we have these implemented as helper methods in IfcObjectPartial

But I actually think the better pattern (to save duplicating code) will be to implement as Extension-methods on the 'common' IFC4 interfaces so they can be defined once and used on all schemas. It may have made sense pragmatically to copy when we had 2 schemas but with 3+ it's feels like overhead.

You could even implement these ExtensionMethods yourself as a stop gap if it's blocking you - or send us a PR and we'll incorporate officially.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

2 participants