►Contents & Articles | |
►Overview | |
Whats new in the SDK | |
Update 4 10.04 Builds | |
Update 5 10.05 Builds | |
Update 6 10.06 Builds | |
Update 7 10.07 Builds | |
Update 8 10.08 Builds | |
Update 9 10.09 Builds | |
What can you do with MDL? | |
Application Organization | |
►Getting Started | |
►Framework of an Application | |
►Design Methodology | |
Where Do I Start? | |
Designing a Dialog Box | |
Implementing Command Processing | |
Basic Application Architecture | |
Recommended Directory Structure | |
►Building Application | |
Building Application Process | |
Creating a Makefile and Using the bmake Utility | |
Generating Resource Files from C Type Definitions | |
Compiling Resources | |
Resource Librarian | |
Digital Rights-Compliance | |
►User Interface Basic | |
►MicroStationResources | |
An Overview of Resources | |
Creating Resources | |
Modifying Resources | |
Managing Resources | |
The MicroStation Resource Manager | |
A Resource Programming Example | |
Resource Utility Programs | |
CONNECT Edition User Interface Porting and Enhancements | |
►API Introduction | |
►Dialog Box/GUI | |
►Dialog Box Manager Overview | |
Overview | |
Features | |
Dialog Box Manager Basic Concepts | |
Referencing Application Variables from Resource Files | Among the information that can be included in an item resource specification is a string that determines which application variable the item controls |
Dialog Box Manager Sample Programs | See the basic application for an example of an MDL application that opens a simple dialog box |
Layout Manager For Dialog Box | |
Dialog Resource Integration | |
Migration Instructions | |
Examples | |
Default Size Policies for Dialog Items | |
Error Messages | |
►Migrating to Layout Manager | |
Migrating Dialogs | |
Migrating Tool Settings | |
►Standard dialog items | |
Structured Items | |
Button Group Items | |
Color Chooser Item | |
Color Picker Item | |
ColorPickerPull-downMenu | |
Combo Box Item | |
Container and Container Panel Items | |
Generic Item | |
Group Box Item | |
HTML item | |
IconPopup Item | |
Icon command | |
Label Item | |
Level Map Item | |
List Box Item | |
Menu Bar Item | |
Multi-line Text Item | |
Option Button Item | |
Option Pull-down Menu | |
Popup Menu Item | |
PulldownIconMenu Item | |
Push Button Item | |
Radio Button Item | |
Sash Item | |
Scale Item | |
Scroll Bar Item | |
Seperator Item | |
Spin Box Item | |
Tab Page | |
Tab Page Item | |
Tab Page List | |
Text Item | |
Text Pull-Down Menu | |
Toggle Button Item | |
ToggleIcon item | |
Tool Palettes | |
Tree Item | |
►Dialog Hook Functions | |
Hook Functions | |
Item Hook Function Messages | |
►Dialog Style Guide | |
Design Small Dialog Boxes | |
Debugging Hook Functions | |
MDL | |
MFC and Native Window | |
WinForm | |
WPF | |
Drag and Drop Support | |
Introduction to Element Descriptors | |
►Ribbon | |
►Ribbon Bar Interface | |
Introduction | |
Command Framework And XCommands | |
IRibbonComponentProviders | |
►Advanced API Topics | |
►i-model Development | |
i-model Primer | |
►Developing i-model Applications | |
Publishing i-models From a MicroStation Based Application | |
Consuming i-models From a MicroStation Based Application | |
Publishing i-models From a Non-MicroStation Based Application | |
Consuming i-models From a Non-MicroStation Based Application | |
►Working With Schemas | |
Classes | |
Properties | |
Relationships | |
Custom Attributes | |
Best Practices | |
XML Format and Relation to Instance Data | |
Considerations When Writing Instance Data | |
►Example Applications | |
Building the Examples | |
Running the Examples | |
►Developing Applications for DWGFiles | |
Overview | |
Application Data and DWG | |
Extended Data | |
►Localization and Internationalization Guide | |
Development | |
Certification | |
Documentation | |
Project Management | |
References | |
Bentley Library | The Bentley Library contains typedefs, #defines, constants and code shared by ALL Bentley authored C++ source files |
DgnPlatform Library | The DgnPlatform library is used to read and write Design Files |
►Design Files | The DgnFile class is used to access physical files in various formats |
Document Manager | A document manager virtualizes access to physical files so that a host program and its applications can be written to work equally well with the native file system or a document management system (DMS) |
Integration Manager | An integration manager locates and loads DMS instegration modules for the host program |
DgnFile C Api | Find an element in one of the loaded DgnModels of a DgnPlatform::DgnFile by ID |
►Design Models | A model is a collection of elements in a Bentley::DgnPlatform::DgnFile |
Working With Models | |
DgnModel Functions | Gets the active ModelRef |
Model Properties | |
►Levels | |
Level Cache | A LevelCache provides access to level definitions |
Level Filters | |
Level Libraries | |
Level Lists | |
Level Tables | |
Geographic Coordinate Systems | A Geographic Coordinate System describes the way that coordinates on the earth's surface (which are generally described in degrees of longitude, degrees of latitude, and elevation above the surface) are transformed to a cartesian coordinate system that can be represented on an inherently planar medium such as a sheet of paper or a computer screen |
►Auxiliary Coordinate Systems | The Auxiliary Coordinate System interface allows programs to manipulate named coordinate systems stored in dgn files |
Auxiliary Coordinate Systems C Api | |
►Named Groups | Named Groups are a mechanism for grouping graphical elements within a design |
Named Group C Api | |
Units | |
DigitalSignatureAPI | |
Digital Rights | |
Provenance API | Provenance traces the origins and history of the content contained in an i-model |
►Design History | Design history is a mechanism for recording changes to a design file |
Design History C Api | |
►Elements | |
►DisplayPaths | DisplayPaths define a unique presentation of an element |
HitPaths | |
Element Association | Create and query associative points |
Element Clipping | |
Element Copying | The DgnPlatform copying framework defines an algorithm to produce a valid copy of an element |
Element Creation | |
►Element Dependencies | The Dependency Manager allows applications and Handlers to react when elements or XAttributes are changed and to maintain relationships between elements |
Element Depencency C Api | |
Change Tracking | |
Element Associations | |
Element Descriptors | An MSElementDescr holds a copy of a (potentially complex) MicroStation element |
Element Handles | An ElementHandle is indirect reference to an element's current state |
Element Handle Collections | |
►Element Handlers | An Element Handler defines the behavior of the elements that it controls, including how they display, transform, respond to snaps, and other user interactions |
►Displayable Elements | |
Cell Elements | The CELL_HEADER_ELM type that corresponds to the Cell_3d and Cell_2d structures is a general purpose complex header element whose children can be most other displayable element types |
Complex Header Elements | |
Curve Elements | Curve elements are either open or closed elements that can describe a path |
Detailing Symbol Elements | Detailing symbol elements are handled by a set of element handlers such as SectionCalloutHandler, PlanCalloutHandler |
Digital Signature Elements | A Digital Signature is a cryptographic hash of all or part of a design file, plus a digital ID that identifies the signer |
Dimension Elements | |
Extended Displayable Elements | |
Label Elements | |
Linear Elements | |
Multi-line Elements | Multi-lines are a complex element that displays multiple profiles |
Note Elements | |
Ole Elements | |
Parametric Cells | A type of cell for which graphics are generated parametrically |
Region Elements | Region elements are planar surfaces with multiple boundary loops defining solids areas and holes |
Raster Elements | Raster Element are used to store a reference to an external raster file or to store directly raster data into a design file |
Shared Cell Elements | Shared Cells are an efficient way to store repeated displayable geometry |
Surface And Solid Elements | 3D only surface and solid element types |
Tag Elements | |
Text Elements | |
Text Table Elements | Table elements are dgn elements that display text in tabular format |
►Non-Graphic Elements | |
Extended NonGraphic Elements | |
Icon Element | An Icon Element stores the contents of an Windows .ico file for display in a design file |
Pointclouds | Handler for a Point Cloud element |
Element Information | |
Element Intersection | |
Element Linkage Functions | |
►Element Location | |
Element Location Criteria | |
AutoLocate | |
Snapping | |
Element Manipulators | |
Element Modification | |
►Element Properties | |
Property Context | |
Element Scanning | |
►Element Processing | |
Visible Edges | The VisibleEdgesLib class is Used to perform hidden edge removal |
Element Templates | |
ElementRefP Functions | |
►Type Specific Element Functions | |
2D Constraint Modeling | Interface to 2D constraint system |
3D Constraint Modeling | |
Bit Mask | A BitMask holds a variable-sized array of bits |
Boolean Functions | |
Cell Functions | |
Detailing Symbols | A detailing symbol is an annotation that plays a vital role in drawing composition |
Dimension Elements | |
►Filter Api | |
Filter Tables | |
Filter Members | |
Geometry Collectors | |
Geometric Queries | |
Line Style Manager | The Line Style Manager is the root for all line style access |
►MatrixElements | |
Matrix Element Structure | |
Matrix Element Functions | |
►MeshElements | |
Mesh Element Structure | |
Mesh Element Functions | |
Multi-Line Functions | |
Multi-Line Styles | |
Named Boundary | A Named Boundary is a named graphical element that represents a boundary of interest in the model |
►Parametric Modeling | Provides facilities for using variables and variations to define parametric geometry |
Parameter Expressions | Allows the values of parameters to be defined by equations |
►Patterning | |
Area Patterns | Support for MicroStation's Area Patterning capabilities |
Reference File | |
Section Clip | SectionClip holds information associated with the clip volume tool which inturn is used to limit the displayed volume for a view to the region within a clipping element |
Solids Api | |
Surface Creation | |
Surface Functions | |
TagFunctions | |
Tables | |
►Text | The text module refers to element-based text, including the classes and interfaces that can be used to work both with text elements, and other element types that expose text |
Text Utility Api | |
Font Manager | The DgnFontManager is the root for all font access |
►Style Elements | |
Dimension Styles | Find active style tabel entry ID from given model |
Detailing Symbol Styles | Detailing Symbol Style allows an administrator to define standards for detailing symbols via symbology settings and placeholder fields |
Text Styles | Text Styles describe a collection of formatting properties, which can be applied to various elements |
Line Style Names | |
Line Style Cache | |
Line Styles | |
TransientElements | |
XAttributes | An XAttribute is data that is stored on an element, not in an element |
►EC Data/Metadata Persistence | The DgnECManager holds the API for applying ECObjects concepts (ECInstances and ECSchemas) to DgnFiles |
ECObjects | ECObjects is a set of abstractions for working with engineering/business data and metadata |
Item Types | Item Types provide a simplified way for users and applications to create, manage, and use EC data within DgnFiles |
►I-models | The i-model publish library provides APIs to publish and package i-model |
I-model IPC connection | The i-model connection library provides APIs to connect Engine from host application |
►Session | |
Application Settings on Files and Models | |
►Configuration Manager | Configuration variables allow applications and users to supply values specific to their needs at runtime |
Configuration C Api | |
Configuration Variable List | |
Session Manager | The MicroStation user interface focuses on one design file and one model within that file at a time |
►Transaction Manager | |
Undo Redo | |
User Preferences | |
►Geometry | |
►Fixed size geometric structures | |
Fragmentary Geometry: DSegment3d, DEllipse3d, DRay3d, DPlane3d, DSegment1d, DBilinearPatch3d, DTriangle3d | |
Linear Transformations: RotMatrix, Transform, DMatrix4d, DMap4d | |
Operations: VectorOps, DPoint2dOps, DVec3dOps, DVec2dOps, DoubleOps, DPoint3dOps, PolylineOp | |
Points and vectors: DPoint3d, DVec3d, DPoint2d, DVec2d, DPoint4d | |
Ranges: DRange2d, DRange3d, DRange1d | |
►Complex Geometry: Complex Curves, surfaces, solids | |
►Bsplines: MSBsplineCurve, MSBsplineSurface, MSInterpolationCurve | |
BsplineStructs: bSplineParam, interpolationParam, bSplineDisplay, BCurveSegment | |
►Mesh: PolyfaceHeader, PolyfaceQuery, PolyfaceVectors | |
Construction: IPolyfaceConstruction, PolyfaceCoordinateMap | |
Markup: PolyfaceEdgeChain | |
Traversal: PolyfaceVisitor | |
Polymorphic Curves and Planar Regions: ICurvePrimitive, CurveVector, CurvePrimitiveId, CurveCurve | |
►PolyMorphic Solids: ISolidPrimitive | |
Polymorphic Solid Details: DgnRuledSweepDetail, DgnRotationalSweepDetail, DgnExtrusionDetail, DgnSphereDetail, DgnBoxDetail, DgnConeDetail, DgnTorusPipeDetail | |
►Enums, input options, returned data | |
Input options: FacetOptions, CurveOffsetOptions, CurveGapOptions | |
Markup: CurveTopologyId | |
Returned data: PartialCurveDetail, CurveLocationDetail, SolidLocationDetail, PathLocationDetail, CurveLocationDetailPair | |
►Other classes | |
ClipPlanes: ClipPlane, ClipPlaneSet | |
Integer types for GUI windows: Point2d, BSIRect | |
►Views | |
Display Rules | |
Display Styles | A display style is essentially a collection of overrides that you can apply to a view to achieve different display modes and effects |
Named Views | NamedViews provide a mechanism for saving all the viewing parameters in the DgnFile by a specified Name |
ViewContext | A ViewContext holds the current state of an operation on a Viewport |
ViewInfo | Holds information needed to display the contents of a view |
►Viewports | A Viewport maps a Model (the "Root" Model of the Viewport) and all of its references to an output device through a camera (a view frustum) and filters (e.g. levels, view flags, etc) |
Sprites | Sprites are (typically) small raster images that are drawn "on top" of Viewports by an IViewDecoration |
View Groups | ViewGroups contain information about the contents, positioning, and ordering of a user-specified collection of views that are displayed simultaneously |
View Group C Api | |
Viewport Functions | Options control structure for fitting views |
►Imagery | |
►Color | |
Color Book | A Reference Counted pointer to a ColorBook |
Color Tables | |
Color Descriptors | |
Color Maps | |
Color Palettes | |
RGBConversion | |
VideoFunctions | For a specified video format, returns the default color mode, and whether each of the various color modes is supported for export |
Raster Functions | |
Image Functions | |
►Animation | |
►Relationship Manager | Relationship Manager is designed to handle networks of dependencies |
Code Samples | Brief code samples: |
Rendering | |
►Database Connectivity | Returns a designated set of versioned rows |
Database Settings | |
Database Interface | |
Database Dialogs | |
SQL Functions | |
►Printing | The Print API supports various types of printing and publishing applications |
General Printing API | General printing system classes, functions, and data types |
►Print Events API | Interfaces and functions required to respond to print events |
Print Event Handler Parameters | Parameter interfaces for print event handlers |
Print Event Handler Parameters | Parameter interfaces for print event handlers |
►Print Active Design API | Classes and data types required to print the active design |
Print Active Design Miscellaneous Classes | Miscellaneous classes and data types related to printing the active design |
Print Active Design Miscellaneous Classes | Miscellaneous classes and data types related to printing the active design |
►Printer Configuration API | Interfaces and data types related to printers and printer configurations |
Printer Configuration Miscellaneous Classes | Miscellaneous classes and data types related to printers and printer configurations |
Printer Configuration Miscellaneous Classes | Miscellaneous classes and data types related to printers and printer configurations |
Print Engine API | Interfaces related to the print engine |
►Printer Driver API | Interfaces and functions required to implement a printer driver |
Printer Driver Parameter Interfaces and Data types | Parameter interfaces and data types for printer drivers |
Printer Driver Parameter Interfaces and Data types | Parameter interfaces and data types for printer drivers |
►User Interface | |
►Interacting With Files | |
Edit Actions | |
Active Settings | |
Picking Elements | |
State Control | |
Input Handling | |
Accudraw | |
Accusnap | |
►Dgn Tool | |
Dgn Region Tool | A sub-class of DgnElementSetTool for the purpose of creating planar regions |
Sub Enity Tool | |
►Fence Manager | |
FenceProcessing | |
Selection Set Manager | |
Selection Sets | |
Measurement | |
WorkFiles | |
►Dialogs Windows Layout | |
Command Queuing | |
Completion Bar | |
Database Dialogs | |
Dialog Box General | |
Dialog Box Drawing | |
Dialog Box Font | |
Dialog Rectangles | |
►Dialog Box Items | |
Button Group Item | |
Color Chooser Item | |
Color Picker Item | |
ComboBox Item | |
Container Item | |
ContainerPanelItem | |
Icon and IconCommand | |
Icon and IconFrame | |
IconPopupItem | |
Label Item | |
LevelList Item | |
ListBox Item | |
MenuBar Item | |
LineText Item | |
OptionButton Item | |
Option Pulldown Menu Item | |
PushButton Item | |
RadioButton Item | |
SashItem | |
ScaleItem | |
ScrollBar Item | |
SpinBox Item | |
TabPageList Item | |
Text Item | |
TextPull-downMenu Item | |
ToolBox Item | |
ToggleButton Item | |
ToggleIcon Item | |
Tree Item | |
UpDownButtons Item | |
Dialog Box Item Structure | |
Dialog Box Miscellaneous | |
Dialog Layout Manager | GuiLayoutHelper is the LayoutControl representing the overall layout for a dialog |
Layout Manager Engine | |
►List Model | |
ListColumns | |
ListRows | |
ListCells | |
NamedTools | Tool Setting types |
Native Windows | |
►Tree Model | |
TreeCells | |
TreeColumns | |
TreeNodes | |
TreeNodePaths | |
ValueDescriptors | |
Window Management | |
Window Drawing | |
Event Handling | This group describes various event types that are created by MicroStation in response to actions from the user |
Macro Recording | MicroStation allows for macros to be recorded by the user |
Help System | IBrowserHelpClient is the interface for browser help client (HTML) |
►User Interface Utilities | |
BusyBar Window | |
TrackBar Window | |
Drag and Drop | |
Completion Bar | |
UI Dragand Drop | |
Clipboard | |
Function Keys | |
Licenses | |
►Output Handling | |
Displaying Messages | |
ResourceManagement | This is used to add a new resource to a resource file |
►Utility Functions | |
File Functions | |
Conversions | |
Handling Expressions | Identifies the type of symbol that mdlCExpression_symbolPublish is publishing |
System | |
mdlSystem Functions | |
DynamicLinkModules | |
MemoryManagement | |
DDEFunctions | |
Miscellaneous | |
SystemHooks | |
ParseFunctions | |
CurrentTransform | |
DynamicBuffers | |
NamedExpressions | |
Capability | |
STEPParserAPIs | |
mdlDigitize | |
mdlVBAFunctions | |
DWGApplicationData | |
RegisteredApps stored in DWG files | RegisteredApps are stored in DWG files |
FileLists | |
String Lists | |
SqlLite | |
►XML | |
XML Element Scanning Functions | |
XML Fragments | XML Fragments which may be stored in a design file |
XML DOM | |
XML SAX | |
XML Schema | |
XML Transform | |
XML Utility | |
►Code Samples | |
ElementCopying Code Samples | |
DesignHistory Code Samples | This section contains sample code for Design History |
LevelCache Code Samples | |
ViewInfo Code Samples | |
►MicroStation SDK Examples | |
►Annotations Examples | |
DescribeElementExample | |
dwgappdata | |
incrementTextTool | |
ManagedAutoTagElementExample | |
ManagedItemTypesExample | |
ReportsExample | |
TagsExample | |
►Constraints Examples | |
constraint2ddemo | |
ParametricModelingExample | |
►Databases Examples | |
budbcdemo | |
cdbldemo | |
database | |
odbcoledbdemo | |
►DgnEC Examples | |
DgnECExample | |
►DialogBoxes Examples | |
BasicDialogBox | |
ComboSpinTabExample | |
DialogBoxDemo | |
listbox | |
myapp | |
TreeExample | |
►Elements Examples | |
AccuDrawDemo | |
CellExplorer | |
ConvertBspline | |
CurveExample | |
exampleSolids | |
exampletool | |
ManagedFenceExample | |
ManagedTextTableExample | |
ManagedToolsExample | |
MeshSurface | |
MeshTools | |
mline | |
ModifyMultipleElements | |
Polyfacetool | |
ScaleRotateTextCell | |
►IModels Examples | |
DgnIModelNative | |
DgnIModelNETExample | |
►IPCs Examples | |
IPC | |
IPCManagedExample | |
IPCNativeExample | |
►Legacy Examples | |
applcelm | |
tagexmpl | |
►Miscellaneous Examples | |
CheckWorkSetPaths | |
circuit | |
ReferencesExample | |
scanfile | |
SessionManagerTest | |
validateSheetLinks | |
vba2mdl | |
ViewArranger | |
►Printing Examples | |
PrintAcctLog | |
PrintCustomProperties | |
PrintDesc | |
PrintDlgDesc | |
PrinterDriver | |
PrintSet | |
PrintTextSubst | |
►View Examples | |
DisplayRule | |
viewtool | |
►Visualization Examples | |
camera | |
lighttool | |
MaterialsExample | |
►Deprecated API's | |
Constraint Models | |
Construction Frames | |
Equation Constraints | |
Constraint Objects | |
Solver Variables | |
MicroStation CONNECT Update 5 Deprecated functions | |