• [CONNECT C++] ItemTypeLibraryMgr

    I mentioned ItemTypeLibraryMgr in a post on the Forum.  It's a helper class to wrap common usage of the MicroStationAPI with Item Type libraries. Use at your own risk.  Support is not included.

    You need these headers...

    #include <Mstn/MdlApi/MdlApi.h>
    #include <Mstn/MicroStation.r.h>
    #include <DgnPlatform/DgnPlatform.r.h>
    #include <ECObjects/ECObjects.h>

    Here's the class declaration...

    • Fri, Jan 24 2020
  • Add new EC Symbol provider with custom symbol sets using Managed API's

    An expression is a text string that defines the syntax to be evaluated by the expression evaluator. The expression input can comprise of numbers, strings, access strings, symbols, and operators. Once you attach an item type with an expression defined, the corresponding value of the expression will display in the element's Properties dialog. 

    This blog provides some code snips that demonstrate “How to add new EC…

    • Thu, Oct 17 2019
  • Item Types CRUD Operations with Native, COM and Managed API's

    This blog demonstrates how to use Item Types Native, COM and Managed API's for following operations:

    1.  Create Item type Library, Item Type and Property
    2.  Read default value of already available property
    3.  Update the default value of already available property
    4.  Attach item type to an element
    5.  Detach item from an element
    6.  Delete item type property, item type and item type library

    1. Create Item type Library, Item Type and Prope…

    • Sun, Sep 8 2019
  • Working with ItemType EC Expression using Managed, Native and COM API’s [Upcoming feature in MicroStation CONNECT Edition Update 14]

    This blog provides code snippets that demonstrate how to use EC Expression with properties:

    Expressions currently work with Primitive properties. They do not support Struct or Array type of properties.Below steps explain how to use Managed and Native EC Expression API’s with EC Property:

    1. Set EC Expression in item type property definition.
    2. Set EC Expression Failure value in item type property definition.
    3. Get EC…
    • Thu, Sep 5 2019
  • MicroStation CONNECT SDK Update 13

    The much anticipated MicroStation CONNECT Update 13 (product) will be releasing very soon.  Literally, possibly: any moment now...

    The MicroStation Platform/PowerPlatform Team has been very busy working hard to provide numerous quality and performance improvements and new features too.  If interested in some of the latest product changes consider taking a moment (now) to navigate to: MicroStation CONNECT Edition Update…

    • Wed, Aug 14 2019
  • Item Instance Collector

    I wanted to try out C# and the MstnPlatformNet API to harvest Item Type instance data.  After obtaining help from Jan Šlegr and Paul Connelly on the Programming Forum, I wrote the ItemInstanceCollector Visual Studio project.

    The project creates the ItemInstanceCollector DLL.  It uses a programmatic approach to obtain an Item Type EcSchema object, and shows how to use that object to harvest Item Type instance data…

    • Fri, Jun 14 2019
  • LINQPad

    LINQPad: The Ultimate C# / VB.NET Scratchpad

    LINQPad is one of those tools you should not be without.


    LINQPad lets you cut-and-paste a C# or VB.NET code fragment or program and execute it. It's useful for testing functionality in isolation from your application.

    If you're working with relational databases, such as Access or Oracle or hierarchical databases such as XML documents, then LINQPad provides even more…

    • Fri, Jun 14 2019
  • C++ ListModel Manager for ComboBox and ListBox Hook Classes

    For many years we have written dialog item hook functions using procedural code.  You can continue that way with MicroStation CONNECT, but the MicroStationAPI offers a better way: dialog and dialog item hook classes.

    The hook classes replace the MDL switch decision tree with the DialogHookHandler and DialogItemHookHandler classes that provides virtual event handler methods such as _OnCreate().  The ListModelManager class…

    • Wed, Feb 27 2019
  • Update: MicroStation CONNECT SDK and VS2017

    MicroStation CONNECT Edition Update 12 (and SDK) releases are fast approaching.  We would like to inform you in this release MicroStation and the SDK have set VS2017 as our default toolset used to build applications.  For those that have asked MicroStation CONNECT SDK U12 will be the first release to provide support for VS2017 and be set as the default toolset.  For everyone not already using VS2017, we recommend you install…

    • Fri, Jan 25 2019
  • MicroStation VBA: OpenDesignFile vs. OpenDesignFileForProgram

    A VBA programmer can open a DGN file using two methods: OpenDesignFile and OpenDesignFileForProgram.  This blog attempts to clear up confusion between the two, and which one to use.

    Prefer OpenDesignFile

    Prefer OpenDesignFile to OpenDesignFileForProgramOpenDesignFile opens a DGN file in the same way that a user would open a DGN file. Everything you expect to be available is available: level libraries, text styles, reference…

    • Mon, Dec 31 2018
  • Working with EC Properties using Native and Managed APIs

    This blog provides some code snips that demonstrate how to use DgnEC Native and Managed API’s for following:

    1. Perform operations on primitive type EC Properties i.e. set  and get. 
    2. Perform operations on array type EC Property i.e. set, get, insert and remove array element.
    3. Perform operations on struct type EC Property i.e. set and  get. 
    4. Perform operations on struct array type EC Property i.e. set, get, insert and remove…
    • Fri, Dec 28 2018
  • EC CRUD Operations With Native And Managed DgnEC APIs

    This blog demonstrates how to use DgnEC native and managed API’s for following: Locate and load schema Create EC instances and relationships Read EC instances and relationships Update EC instances and relationships Delete EC instances and relations...
    • Fri, Nov 30 2018
  • How to use SolidUtil APIs

    Introduction SolidUtil and allied classes provide support for the creation, querying, and modification of BREP. MicroStation SDK has file MstnExamples/Elements/ManagedToolsExample/SolidUtilClassExamples.cs; which demonstrates the capabilities. This suits ...
    • Mon, Nov 19 2018
  • How to create a Parametric Feature Tree

    Introduction Parametric Feature is powerful way of creating complex geometry associatively. Various parametric features can be combined to form a chain; often called as a feature tree. What does the example demonstrate? 'Parametric Feature Tree T...
    • Tue, Nov 6 2018
  • MicroStation SDK sample- DimensionExample

    Introduction ‘DimensionExample’ showcases the CRUD capabilities of the Dimension API What does the example demonstrate? The example describes the use of Dimension API to: Create a linear dimension on an element Create a linear dimension betwe...
    • Tue, Nov 6 2018
  • UPDATE: Bentley Programming Communities - enhancements

    On behalf of the BDN and Platform development teams I would like to announce some current work-in-progress (WIP) being performed to the Bentley Programming Communities to provide more useful/needed information, resources, and updates moving forward. Here are a few highlights some of you might have recently noticed and if not, no worries - let's explore some of the recent changes implemented:

    1. Bentley Communities - Developers…
    • Thu, Oct 4 2018
  • Sample Mesh API Operations

    Introduction This example describes the different mesh functionalities as follows: Create mesh with unindexed points Create mesh elements with variable length faces Mesh Boolean operations (union, intersection, difference) How to Create a mesh element ...
    • Thu, Sep 27 2018
  • Complete steps to create an SDK example on MicroStation CONNECT Edition with managed Pick List APIs

    Introduction This article will show the complete steps to create an SDK example on Microstation CONNECT Edition, and some basic managed Pick List APIs are also used. By these steps, you can create other SDK examples which are using managed code....
    • Thu, Sep 20 2018
  • Basic examples for managed APIs of Pick List

    Introduction With Pick List, users can specify predefined values from a drop down list in property definition. It is for ItemType only.The following codes are some of the basic uses of the managed APIs for Pick List. Basic examples: To cre...
    • Thu, Sep 13 2018
  • BDN developers, MicroStation users need your applications to work with CONNECT Edition applications.

    BDN developers, MicroStation users need your applications to work with CONNECT Edition applications. Why?

    • Users need to maintain their workflows.
    • You need to keep your customers using your applications.
    • Bentley’s Support Policy requires it for continued support.

    It’s time to update because MicroStation users are updating to the CONNECT Edition and want your applications for their workflows. Additionally, support…

    • Wed, Aug 8 2018
  • [Connect C++] Is there Documents for porting from V8i SDK to Connect SDK?


    Is there any comprehensive documents for porting from V8i SDK to Connect SDK?

    I have found some answers by googling or searching this groups, but I would prefer to have full list of changes. For example, what happened to dlmSystem_callAnyFunction or  mdlText_fontExists?


    • Fri, Feb 10 2017
  • Two Centuries of MicroStation Development

    Writing this blog in September 2015, I can look back over two centuries (20th and 21st) of MicroStation programming.

    MicroStation 4 and MDL: a Technical Revelation

    Around 1990 I became aware of MicroStation and its precursor, Intergraph Corporation's Interactive Graphic Design System (IGDS). IGDS had a user-unfriendly development language User Commands (UCMs), which was very limited in scope. MicroStation replicated…

    • Thu, Sep 3 2015
  • MS V8i SS3 and Visual Studio 2012


    How are mdl program with visual studio 2012 and  MS V8i SS3 to compile?

    I get an error that Visual Studio 2010 is not installed

     BMAKE: Error - Attempting to build with VS 2010 but location is undefined!
     BMAKE: call trace
          line:  183, C:\Progra~2\Bentley\MICROS~1\MicroStation\\mdl\\include\AssertToolSet.mki
          line:  109, C:\Progra~2\Bentley\MICROS~1\MicroStation\\mdl\\include\ConfigurePolicy.mki
          line:   28, C:\Progra…

    • Fri, Feb 22 2013
  • Changing the label of a button in MessageDialog


    this is a code snippet for MDL.

    If you wnat to change any content in the Default Message Box Dialog, this snippet would help.

    int showMessageDialog(char* title,char *okcaption,char *cancelcaption,char *text,int icon) {

    DialogBox *db=mdlDialog_create(NULL,NULL,RTYPE_DialogBox,(int)DIALOGID_MsgBoxOKCancel,FALSE) ;

    if(db) {



    mdlDialog_itemSetLabel (db,3,okcaption…

    • Thu, Feb 21 2013
  • View Color Palette in VBA Command Button (ForeColor) Menu - No Colors (white)

    I am creating menus With VBA and want to schange the color of the text in the button. When I'n in the Properties

    menu for the command abd select the "ForeColor" the pulldown shows Patelle and Syetem. The want to see the

    palette colors, currently it's white. I can touch areas on the palette and a color is selected. Why am I not seeing the

    palette? See attachment.


    joe mele

    • Tue, Dec 4 2012