[CONNECT U10 MDL] mdlBspline_extractCurve() is missing

Hi,

actually I'm migrating a V8i-MDL to Connect.

Linking my MDL App with mdlbltin.lib, results in a LNK2019 error, Symbol "__imp_mdlBspline_extractCurve" is missing.

This function is contained in msbspline.fdf, so compiling works fine, but mdlBspline_extractCurve() seems not to be compiled into Microstation. It is missing in the ustation.dll, when I open this file with the Visual Studio Dependency Walker.

I have to stroke a Bspline-Curve contained in an element descriptor. In my V8i-MDL I did this calling mdlBspline_extractCurve() first, filling in a MSBsplineCurve structure, and then call mdlBspline_evaluateCurve() to stroke the curve.

How is this task solved on Connect?

Tom

Parents Reply Children
  • Hi ,

    Sorry for not getting a response to this issue sooner as Artur and I discussed your SR 7000850984 today. We may be able to file a regression defect for the return of mdlBspline_extractCurve(), though we were able to find some Old/New MDL C API migration code for that exact function as a work-around.

    As mentions, ideally when migrating your code you will want to prefer using the New MDL C++ API classes as much as possible. In this case you should try to use the MSBsplineCurve class (vs. prior element typedef struct) whenever possible, then continue to use prior (though in need of update) MDL C API signatures for 1:1 migration where needed.

    As you can see below, it appears very little change is required and your output element will be an MSBsplineCurve where you can then access all point data needed directly from the instance.

    OLD

    MSBsplineCurve curve;
    memset (&curve, 0, sizeof (curve));

    mdlBspline_extractCurve (NULL, &curve.type, &curve.rational,

    &curve.display, &curve.params, &curve.poles, &curve.knots,

    &curve.weights, *ppED);

    NEW

    MSBsplineCurve curve;
    memset (&curve, 0, sizeof (curve));

    mdlBspline_convertToCurve (&curve, *ppED);

    If you find you need any other migration conversions, please feel free to Search and Post any new questions.

    HTH,
    Bob (and Artur)



    Answer Verified By: Tom Torell 

  • Hi Bob,

    thank you very much; this is exactly I was looking for. It works now!

    Regards,

    Tom

  • Again, sorry for the delay and so glad to hear that you are up and running on this issue.

    Bob