Study of MDL.

Hi, I work in OPEN PLNAT and I want to study MDL, you couldn't advise the book for independent study. Best regards of Ilnur I.

Parents
  • Hi Ilnur,

    I don't know OpenPlant, so I am not sure about relations between this product and MDL. MDL has been used in different meanings:

    • Originaly MDL was Bentley proprietary C-based development environment, where source code was compiled into pseudocode, that was interpreted by MicroStation engine. This technology was marked as obsolete when MicroStation 8.0 was released, but is supported in all versions to V8i (and not supported anymore in CONNECT Edition).
    • In V8 generation, MDL name was sometimes used to distinguish between old C-based API and new C++ MicroStationAPI, but at the same time MDL was used for old MDL pseudocode and projects using C/C++ APIs were mentioned as native code apps.
    • In CONNECT Edition, MDL is used as a general name for all way how you can develop applications for MicroStation, so it includes also NET API.

    You did not write what version of OpenPlant do you use. Because as far as I know there is no CONNECT Edition version of OpenPlant available yet, the development on top of V8i version is probably waht you are asking for. In such case there are several steps in the learning path:

    • Learn C and C++ at first. This step does not relate to MicroStation or any other MicroStation based product, so you can use any book about C++.
    • Learn how to create MicroStation application in native code. Unfortunately there is no book about MDL, but Youngan Fu wrote tutorial Learning MDL Step by Step. I am not sure if it's available outside BDN.
    • Become familiar with MicroStation APIs - former MDL C functions and new MicroStationAPI C++ classes. This is more about "learning from a code", especially from examples delivered with MicroStation SDK.

    Be aware to compile MDL native code C/C++ application for MicroStation V8i and any product based on this platform, Visual Studio 2005 is required. This can be a problem as it's not available publicly anymore, only through programs like MSDN.

    Fortunately CONNECT Edition platform requires Visual Studio 2013, so it will be easier to obtain necessary development tools.

    With regards,

     Jan

  • Thanks for the response.

    For operation I use the Bentley OpenPlant Modeler V8i version (SELECTseries 5) of v.08.11.09.397 and Visual Studio 2015.
    I know the C++ language at a basic level, and I continue study. It is a pity that there are no books about MDL. I saw Youngan Fu tutorial, thought probably is more
    detail information.

    >> Become familiar with MicroStation APIs - former MDL C functions and new
    >> MicroStationAPI C ++ classes. This is more about "learning from a code",
    >> especially from examples delivered with MicroStation SDK.

    Don't prompt where I can receive more information on new MicroStationAPI C ++ classes and where I can download the latest version of MicroStation SDK?

    All the best, Ilnur Ismagilov.

    With regards,

    Ilnur.

  • Hi Ilnur,

    Unknown said:
    ...and Visual Studio 2015.

    Forget Visual Studio 2015. It's common rule when using Visual Studio to compile C/C++ code and using an external library, you have to use the same compiler (technicaly to link against the same MSVCRT library). You can use plenty of articles about DLL hell and MSVCRT hell. So because V8i products are compiled using Visual Studio 2005, you have also to use 2005.

    You can use other versions at your own risk, but with every new version the runtime difference is bigger and bigger. So you probably will not have troubles with Visual Studio 2008, but prettty more with Visual Studio 2010 etc. I don't know if anybody have tried Visual Studio 2015 to compile yet, I read about many changes in C++ runtime, so I suppose there will be many problems. And also make files used to compile applications are not prepared for 2015.

    Unknown said:
    I know the C++ language at a basic level, and I continue study.

    You have to (and it will be never ending process for the rest of your life ;-)  But not only C++, but some basics from C as well. They are not the same languages, in modern C++ (C++ 11 and newer) you will see no pointers (ideally) because references are preferred. But old MDL API is C based on it uses pointes (and also structures and unions) heavily.

    Unknown said:
    It is a pity that there are no books about MDL.

    Yes, it has been discussed many times. On the other hand if you know C and C++ and will read MDL Programmer Guide (delivered with SDK) to understand MicroStation resources, it would be not so complicated to understand SDK examples and to start with own code. Substantially bigger problem is the documentation often provides information what function or class does, but not how to use it. And it's the time when this community will become important :-)

    Unknown said:
    Don't prompt where I can receive more information on new MicroStationAPI C ++ classes

    There is separate MicroStationAPI help file delivered with MicroStation SDK.

    Unknown said:
    where I can download the latest version of MicroStation SDK

    From Fulfillment Center. But idea of download the latest version is completely wrong.You have always use SDK equal to MicroStation version you use. If you use a power product with MicroStation engine inside, this rule still applies, I guess OpenPlant is based on MicroStation V8i (something).

    One more note: I don't know plans when OpenPlant on new CONNECT Edition platform will be released, but because the learning will be slow process, maybe you can focus to future (CONNECT Edition) and not to history (V8i). It requires Visual Studio 2013 (no problem to download and install) and if you have access to MicroStation license, you can start to play with MicroStation CONNECT Edition SDK immediately.

    With regards,

      Jan

Reply
  • Hi Ilnur,

    Unknown said:
    ...and Visual Studio 2015.

    Forget Visual Studio 2015. It's common rule when using Visual Studio to compile C/C++ code and using an external library, you have to use the same compiler (technicaly to link against the same MSVCRT library). You can use plenty of articles about DLL hell and MSVCRT hell. So because V8i products are compiled using Visual Studio 2005, you have also to use 2005.

    You can use other versions at your own risk, but with every new version the runtime difference is bigger and bigger. So you probably will not have troubles with Visual Studio 2008, but prettty more with Visual Studio 2010 etc. I don't know if anybody have tried Visual Studio 2015 to compile yet, I read about many changes in C++ runtime, so I suppose there will be many problems. And also make files used to compile applications are not prepared for 2015.

    Unknown said:
    I know the C++ language at a basic level, and I continue study.

    You have to (and it will be never ending process for the rest of your life ;-)  But not only C++, but some basics from C as well. They are not the same languages, in modern C++ (C++ 11 and newer) you will see no pointers (ideally) because references are preferred. But old MDL API is C based on it uses pointes (and also structures and unions) heavily.

    Unknown said:
    It is a pity that there are no books about MDL.

    Yes, it has been discussed many times. On the other hand if you know C and C++ and will read MDL Programmer Guide (delivered with SDK) to understand MicroStation resources, it would be not so complicated to understand SDK examples and to start with own code. Substantially bigger problem is the documentation often provides information what function or class does, but not how to use it. And it's the time when this community will become important :-)

    Unknown said:
    Don't prompt where I can receive more information on new MicroStationAPI C ++ classes

    There is separate MicroStationAPI help file delivered with MicroStation SDK.

    Unknown said:
    where I can download the latest version of MicroStation SDK

    From Fulfillment Center. But idea of download the latest version is completely wrong.You have always use SDK equal to MicroStation version you use. If you use a power product with MicroStation engine inside, this rule still applies, I guess OpenPlant is based on MicroStation V8i (something).

    One more note: I don't know plans when OpenPlant on new CONNECT Edition platform will be released, but because the learning will be slow process, maybe you can focus to future (CONNECT Edition) and not to history (V8i). It requires Visual Studio 2013 (no problem to download and install) and if you have access to MicroStation license, you can start to play with MicroStation CONNECT Edition SDK immediately.

    With regards,

      Jan

Children
No Data