Browse By Tags

  • [CONNECT C++ U16.2] Item Type iteration fails

    Hello all, I want to iterate over all Itemtypes in a all Libraries but I get an Memory Exception in the second iteration in following Code: try { ItemTypeLibraryPtr itemTypeLibrary = ItemTypeLibrary::FindByName(libName.c_str(), *ISessionMgr…
  • [CONNECT Update 16 C++] Tag Increment

    When using the copy-and-increment command, MicroStation help tells us: Tag Increment : The amount by which the numeric part of the text element is increased (can be any integer between -32768 and 32767, inclusive). That is, the increment value is a signed…
  • [CONNECT C++] MSDialog::GetItemPtrByTypeAndId Documentation

    The MicroStationAPI help documentation for MSDialog::GetItemPtrByTypeAndId is messed up... template T GetItemPtrByTypeAndId (RscType type, RscId id, MdlDescP ownerMD=NULL, int startingIndex=0, bool searchChildren=false) References GetItemByTypeAndId…
  • [Connect C++ MicrostationApi] Problem with changing textelement in cell

    Hello, I am trying to change the Text of a cell with the Microstation C++ Api. The Code I am using is working well on normal Text Elements. But in a Cell the "ReplaceInModel" returns an Error (69645) void TextTool::textChange(EditElementHandleP…
  • [CONNECT C++] ECObjectsStatus Clarification

    When writing code that footles with ECObjects the ECObjectsStatus enum provides a large set of error codes. It seems I'm often able to write code that results in one of those errors. Most are self-explanatory, but one or two are enigmatic. Could someone…
  • [CONNECT C++] Locate Tool: locate closed curve

    I can write a locate tool that enables a user to pick a closed curve (e.g. a DGN shape element). The user must datapoint a line or curve that defines the perimeter of the shape. How can I write a tool that enables a user to pick that same closed curve…
  • [CONNECT C++] Finding TextTable Seeds in DGNLibs

    TextTable seeds are stored in your DGNLibs. If you want to find a TextTable seed programmatically, you must... Enumerate the available DGNLibs (each DGNLib is a DGN file) Enumerate the models in each DGNLib Test whether the model is a TextTable…
  • [CONNECT C++] DgnElementSetTool::_DoLocate

    MicroStationAPI tool class DgnElementSetTool provides method _DoLocate ... HitPathCP _DoLocate (DgnButtonEventCR ev, bool newSearch, ComponentMode complexComponent) The last argument complexComponent is unclear. It's documented like this... enum…
  • [CONNECT C++] IDgnWorkSetInfo Properties

    Class IDgnWorkSetInfo has methods relating to properties... AddProperty (overloaded for several data types) AreAllPropertiesLoaded () RemoveProperty But there's no GetProperty() . How can we obtain the properties owned by a DgnWorkSetInfo…
  • [CONNECT MicroStationAPI] Help topic: BusyBar Window

    I complain sometimes about the terse nature of the help documention. This example, taken from the MicroStationAPI, extends terseness to unhelpfulness. Apart from a copyright notice, the help window is blank...
  • [CONNECT C++] CompletionBarInfo struct

    There is a family of MDL functions ( mdlDialog_completionBarOpen() etc) that start and update a Completion Bar (a.k.a. Progress Bar , Busy Bar ) Find the mdlDialog_completionBar family in MicroStationAPI help. There is additionally a CompletionBarInfo…
  • [CONNECT C#] Managed Equivalents for older COM Interop Calls

    Hallo, I am converting existing add-ins that were written in C# using the COM Interop on V8i SS4 to the new CONNECT NET API and I would like to get rid of any remaining calls to the COM Interface where possible. To achieve that goal, I need to find…
  • [Connect C++] list with all the "class name" types of an element

    Hi, Is there a way to get all the class name types that identify elements? Typically for gathering the class name I'm using the following commands: for (DgnECInstancePtr instance : ecMgr.FindInstances(*scope, *ecQuery)) { DgnElementECInstanceP elemInst…
  • [CONNECT C++] ListModel Manager for ComboBox and ListBox Hook Classes

    The MicroStationAPI DialogItemHookHandler class lets us write simpler hook handlers for MicroStation dialog items. They let you avoid the giant MDL switch statement in your procedural hook handler code. The ComboBox and ListBox dialog items share the…
  • [CONNECT C++] MicroStationAPI ActiveSettings documentation incorrect

    MicroStationAPI help lists a number of methods under topic Active Settings . For example, static BentleyStatus GetValue (bool &value, ActiveBoolParams paramName) Gets the value of an active MicroStation setting of type boolean However, those methods…
  • [CONNECT C++] CurveVector::SetBoundaryType

    Make CurveVector::SetBoundaryType() a public method in the MicroStationAPI.
  • MicroStationAPI CONNECT Help Documentation: Provide #include file paths

    The MicroStationAPI help document lists classes and functions. The class description usually mentions the relevant header file(s). For example, DgnECInstance Struct Reference #include <DgnECInstance.h> However, those include files are not in a flat…
  • [CONNECT C#] CellLibraryInfo Performance

    Versions: OpenRoads Designer and SDK Update 4: 10.04.00.48. And MicroStation Update 10 (10.10.00.32 and SDK 10.10.00.23). I am using CellLibraryCollection and CellLibraryInfo to find cells and I've noticed that it is slow - meaning it takes at least…
  • [CONNECT C++] ISelectionEvents::_OnSelectionEvent

    ISelectionEvents::_OnSelectionEvent has a boolean return value. The MicroStationAPI help says: returns true to stop . True to stop what?
  • [CONNECT C++] Australian Spiral

    The Update 9 SDK introduces an Australian Spiral ( DSpiral2dAustralian ) class. What is an Australian Spiral?
  • [CONNECT C++] AnnotationCellHeaderHandler header file missing

    A recent post has reminded me that class AnnotationCellHeaderHandler is not published. This applies to CONNECT Update 10 and earlier. Its declaration (header file) is missing from the SDK. That was first noted on this Forum in 2017.
  • [CONNECT C++] Is Element a Solid?

    I'm writing a tool that wants to check whether an element is a solid of some kind. I think that I can do this for a primitive solid (slab, cone, extrusion etc)... const bool DontSimplify { false }; ISolidPrimitivePtr solid = ISolidPrimitiveQuery:…