Fixes: #7387.
See comment: https://github.com/FreeCAD/FreeCAD/issues/7387#issuecomment-2915599566
PR to change the base object of BezCurve, BSpline and Wire to `Part::FeaturePython`. This will only affect new objects. So code will have to also keep handling the old object type (`Part::Part2DObjectPython`).
The modification of BimPreflight.py needs to be verified. The steps in the old code lacked logic IMO. But I may have misunderstood.