• Enumerate Models in a DGN file with .NET

    I wanted a way to enumerate the models contained in a DGN file.  I didn't want to make the file active — that is, I didn't want to start a new MicroStation session.  Rather, the enumeration should take place behind the scenes of an active session.  My original goal was to find the cells in a cell library.  As you know, a cell is a model, and a cell library is a DGN file.

    The code is published in this articl…

    • Wed, Jul 15 2020
  • OpenRoads Level Display Batch Processor

    Let's say one has created plan and profile sheets or cross sections with OpenRoads Designer. There are dozens or, perhaps, hundreds of them. Now one needs to turn on or off a level or two in each modelOpenRoads Level Display Batch Processor to the rescue!

    Because OpenRoads Designer creates drawings and sheets in a very structured, programmatic way, OpenRoads Level Display Batch Processor can "copy" level display settings…

    • Tue, Jul 14 2020
  • OpenRoads Cross Section and Profile Viewer

    Flipping through models created by OpenRoads Designer can be repetitive and error-prone. The OpenRoads Cross Section and Profile Viewer seeks to solve this problem. It may be used to quickly and easily navigate or step through drawing and sheet models of cross sections and plans and profiles.

    It has a Zoom feature that scales view windows for greater clarity.

    Once the settings are established to one's satisfaction, the dialog…

    • Tue, Jul 14 2020
  • PokeIt for MicroStation — Select and View Elements Based on Attributes FROM Elements, Plus Much More

    PokeIt is a MicroStation VBA application. It's used to select, isolate or hide elements based on their attributes, such as level, color, line style, etc. The filter criterion is populated from a selected, or "poked," element rather than from a list in a dialog box.

    PokeIt is also used to create elements similar to a selected element.

    There are also a couple of additional “bonus” commands, Invert…

    • Mon, Jul 13 2020
  • NEW: MicroStation CONNECT Developer Training

    It gives us great pleasure to announce new MicroStation CONNECT and PowerPlatform Developer Training materials available for viewing today!

    Please feel free to head on over to the Bentley LEARN server full training path (YouTube playlist coming soon!) or head directly over to the MicroStation CONNECT Developer Training home page (preview image below) to click through topics of interest.

    Also note, the Developer Training…

    • Fri, Jul 10 2020
  • STATUS: MicroStation CONNECT SDK Update 14

    Quick status update on the MSCE u14 SDK.

    With the MicroStation CONNECT Edition Update 14 release being available, please feel free to use the MicroStation CONNECT Edition Update 13 SDK release while we are busily wrapping up the MicroStation CONNECT Edition Update 14 SDK testing Announcement next week (On or after: 5/18/2020).

    Thank you.

    • Fri, May 15 2020
  • [CONNECT .NET] Configuration Variables

    The .NET APIs divide configuration variable functionality between at least two classes: DgnPlatformNet::ConfigurationManager and MstnPlatformNet.Session.

    We've written Viz Studio project ConfigurationManagerCombined that provides a façade for those two classes.  We've added some other stuff that you may find useful when dealing with MicroStation configuration variables in your code.

    There's also a demo …

    • Wed, May 13 2020
  • MicroScope CE 1.1 - New Diagnostic and Learning tool on MicroStation VBA

    Take a look at the MicroScope CE 1.1 applet. Let us know what you think.

    MicroScope CE 1.1 is a diagnostic tool used in conjunction with MicroStation CONNECT Edition. It is useful when creating custom tools, performing various “debugging” operations, and while creating scripts for the batch processor.

    The applet records a collection of detailed, user-specified events giving the user real-time access to “under…

    • Tue, May 12 2020
  • STATUS: MicroStation CONNECT SDK Update 14

    Quick status update on the MSCE u14 SDK.

    With the MicroStation CONNECT Edition Update 14 release being available, please feel free to use the MicroStation CONNECT Edition Update 13 SDK release while we are busily wrapping up the MicroStation CONNECT Edition Update 14 SDK testing Announcement next week.

    Thank you.

    • Thu, May 7 2020
  • Work From Home Webinars in French, German, Spanish, Italian

    We at Bentley Systems are mindfully committed to ensuring a smooth transition of work from the office to a remote location or home.

    Our innovative software and services are all geared for working from home or remote locations and do not impose the need to be in an office set-up.

    Please join us for a series of webinars in French, German, Spanish and Italian by experts from MicroStation Team.

    FRENCH
    mardi 21 avril 202…

    • Fri, Apr 17 2020
  • NOTICE: MicroStation and Microsoft VBA Developers (April 2020 Office Security Updates)

    When applying April 2020 Office Security Updates, some VBA references are blocked

    If you encounter this error.

    Client computers running Microsoft or MicroStation VBA applications may require GPO (gpedit.exe) settings changes to be performed, modifying:

    User Configuration > Administrative Templates > Microsoft Office 2016 > Security Settings, Intranet VBA object libraries: Enabled.

    See: FAQ for VBA solutions…

    • Thu, Apr 16 2020
  • [Microsoft .NET Core C#, VB.NET] Visual Basic support planned for .NET 5.0

    Hi All,

    Just a quick point of interest to those migrating (or considering migrating) to .NET Core. It is worth taking a moment to read this recent update with respect to each language and planned evolution; where C#'s future will evolve and VB.NET will not.

    https://devblogs.microsoft.com/vbteam/visual-basic-support-planned-for-net-5-0/

    Bob

    • Mon, Mar 16 2020
  • Grouping and Sorting ECProperties in EC property pane

    In MicroStation properties are displayed in certain categories(groups). Each Category contain different properties in it.

    These category and property display sequence can be controlled using CustomAttributes.  So, this blog provides information and code snippets which demonstrates "How to do Grouping and sorting ECProperties in EC property pane".

    1. Category sorting : 

             Category sorting is achieved through Category…

    • Mon, Mar 9 2020
  • [MSCE U14 C++, C#] DgnEC Instance and Relationship Change Events

    Introduction

    With Microstation CE U14, we are introducing a way to listen to DgnEC instance and relationship change events at both Native DgnPlatform and Managed DgnPlatformNet layers w.r.t. the following interfaces: Bentley::DgnPlatform::IDgnECChangeListener & Bentley.DgnPlatformNet.DgnEC.IDgnECNetChangeListener

    SDK Sample

    In this blog, I am going to explain how can we use IDgnECChangeListener and IDgnECNetChangeLi…

    • Mon, Feb 24 2020
  • Add new EC Symbol provider with custom symbol sets using Native 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, Feb 20 2020
  • [CONNECT C++] Database API Introduction

    Introduction

    In MicroStation CONNECT Edition, we can use Database APIs to write Database apps. Here is a simple guide for the basic programming.

    Prerequisites:

    1. Create a new DGN file.

    2. Prepare a valid Oracle database(You can use other databases also).

    Steps:

    1. Write preparative variables and functions.
    2. Connect to an oracle database.
    3. Create MSCATALOG table.
    4. Create table "ELEMENTS" with “MSLINK” and “NAME”…

    • Tue, Feb 11 2020
  • [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.  Read/Update properties of Array, Struct and Array of Struct type  
    6.  Detach item from an element
    7.  Delete item type property, item type and item…
    • 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

    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