xBimTeam / XbimEssentials

A .NET library to work with data in the IFC format. This is the core component of the Xbim Toolkit
https://xbimteam.github.io/
Other
477 stars 171 forks source link

Xbim.Ifc4x3.GeometricModelResource.IfcSurfaceCurveSweptAreaSolid.StartParam/EndParam throw NotYetImplemented Exception #567

Closed santiagoIT closed 1 month ago

santiagoIT commented 1 month ago

Similar to issue #566 the following properties are not implemented in IfcSurfaceCurveSweptAreaSolid:

StartParam and EndParam:

[CrossSchemaAttribute(typeof(IIfcSurfaceCurveSweptAreaSolid), 4)] Ifc4.MeasureResource.IfcParameterValue? IIfcSurfaceCurveSweptAreaSolid.StartParam { get { //## Handle return of StartParam for which no match was found //TODO: Handle return of StartParam for which no match was found throw new System.NotImplementedException(); //## } set { //## Handle setting of StartParam for which no match was found //TODO: Handle setting of StartParam for which no match was found throw new System.NotImplementedException(); //## } }

The same is true for the Ifc4 implementation.

Ifc2x3 does provide an implementation. I will attempt to do the same as in 2x3 in 4x3 (and 4) and see if it works.

santiagoIT commented 1 month ago

I got it to work and now the IFC 4.3 file finally loads!

image

Will submit a pull request

santiagoIT commented 1 month ago

I have submitted the pull request with the fix

andyward commented 1 month ago

Thanks for digging into this - I ended up with a slightly different approach that avoided the extra private backing fields. These would have causes issues if every mixing up using the 4x3 properties or the IFC4 interfaces.

Normally all we're doing in these IFC4 Interface blocks is marshalling between the common interface and the schema specific implementation.

santiagoIT commented 1 month ago

Tested your implementation, worked 👍