tumcms / Open-Infra-Platform

This is the official repository of the open-source Open Infra Platform software (as of April 2020).
Other
49 stars 23 forks source link

Implementing IfcOffsetCurve and all its subtypes #558

Closed SamuilsRulovs closed 1 year ago

SamuilsRulovs commented 2 years ago

Fixes #557

SamuilsRulovs commented 1 year ago

After the latest changes, OIP did not accept implementations of the IfcOffsetCurve3D and IfcOffsetCurveByDistances. I managed to update IfcOffsetCurve3D, but IfcOffsetCurveByDistances is not yet changed. Therefore IfcOffsetCurveByDistances is wholly commented out for now.

SamuilsRulovs commented 1 year ago

I tried to implement IfcOffsetCurveByDistances, however, I have some questions regarding the attribute OffsetLongitudinal. I would be very glad if we could discuss this attribute. Also, there is a question regarding example files, so far I couldn't find any for these entity types

SamuilsRulovs commented 1 year ago

I haven't implemented the whole solution, yet. However, I hope, that I am going in the right direction

SamuilsRulovs commented 1 year ago

Please review my changes to the convertIfcOffsetCurveByDistances function

SamuilsRulovs commented 1 year ago

As I was trying to include example files I stumbled across new issues regarding the implementation of the OffsetCurve. Some parts of the code come into conflict with already implemented parts. I am sure, that the biggest part of this problem is due to the use of different versions of OIP. (Part of the CurveConverter is only available for the IFC4x1 version of OIP, however, it is not applied for some parts of the code, thus OIP is trying to work with it even in newer versions. ) This causes problems with OffsetCurve. Until this issue is not solved, Offset Curve cannot work correctly. I couldn't solve it, so I decided to comment the OffsetCurve out.

jschlenger commented 1 year ago

Putting most of the code in comments allows to safely merge this pull request. I'm sure it is a good starting point for further implementation.