Topic | Title | Article Location | Sample Code | |
---|---|---|---|---|
Administration | Configuration Variables | Configuration Variables and VBA | Configuration Variables and VBA | |
Cells | Create a Cell Element | Place Cell page | CreatePlacement.zip | |
Cell Audit | Find the library that holds a cell definition. Cell Audit page | CellAudit.zip | ||
Place Cells along a Linear Element | Place Cells along Element page | FollowLine.zip | ||
Cells: Counting Cells with VBA | Counting Cells with VBA | Source code included | ||
Enumerating Models or Cells |
Enumerating Models or Cells page |
How to examine the models (cells) in a DGN file |
| |
Searching through a Model for named cells | Scanning a Model for named cells | FindCell.zip | ||
Colours | Color Chooser | Microsoft Common Dialog Color Control | ||
Import Color Table from CSV | Import CSV to create a Color Table | |||
Export Color Table to CSV | Export a Color Table to create a CSV file | |||
Complex Elements | Complex Elements | About Complex Elements | ||
Databases | Databases | Databases and MicroStation | ||
Elements | Element ID and DLong | Element IDs and DLong user defined type | ||
Create a Centre Line | Create Centre Line page | CreatePipe.zip | ||
Create a Pipe Element | Create Pipe page | CreatePipe.zip | ||
Element Search & Select | Select by Line Style | Source code included | ||
Draw a Breakline | Create Breakline page | Breakline.zip | ||
Boolean Operations on Shape Elements | Boolean Ops | Downloadable Project | ||
Draw a Line with Terminator | Create Line with Terminator page | PlaceLineWithTerminator.zip | ||
Create a Sagitta | Create Sagitta page | CreateSagitta.zip | ||
Create a Solid of Rotation | Create Solid by Rotation page | |||
Create a Shape Element | Create Shape page | CreateShape.zip | ||
Create a Zebra Crossing | Create Zebra Crossing (pedestrian crossing) page | Zebra.zip | ||
Create a Grid | GeoGrid page | GeoGrid.zip | ||
Create a Fillet between Two Lines | Create Fillet page | CreateFillet.zip | ||
Modify Elevation — ModZ | ModZ page | ModZ.zip | ||
Create Shape from Closed Line-String | Create Shape from Closed Line-String page | CreateShapesFromLineStrings.zip | ||
Create Swing Arrows | Create Swing Arrows page | SwingArrow.zip | ||
Change Line Direction | Change Line Direction page | ChangeLineDirection.zip | ||
Locate an Element given its ID | Locate Element page | ElementLocator.zip | ||
Mark Circle Centre | Add markup to identify the centre of a circle (or ellipse) page | MarkCircleCentre.zip | ||
Move an Element | Move Element page | MoveElement.zip | ||
Partial Delete | Partially Delete an Element page | PartialDelete.zip | ||
Place a Shape Element or Fence | Place Shape page | PlaceFence.zip | ||
Place Points along a Line Element | Place Points along Element page | PlacePointsAlongLine.zip | ||
Transaction Wrapper | Transaction Wrapper page | Code is in article | ||
Copy an Element from a 3D model to a 2D model | Copy 3D Element to 2D Model article | Code is in article | ||
Simplify an Element | Simplify an Element — or remove redundant vertices | |||
Setting the Snap Mode | Set Snap Mode page | |||
Events | Design File Events | Design File Events page | OpenCloseEventHandler.zip | OpenCloseEventHandler.zip |
Evaluate Path on File Open page | DgnFileEvents.zip | DgnFileEvents.zip | ||
Passing Information to ILocateCommandEvents | Communicating with a Locate Class page | MeasureLine.zip | MeasureLine.zip | |
Excel™ | MicroStation™ VBA and Excel™ | VBA and Excel page | ||
Fences | Fence Tools | Fence Tools page | ||
Place Fence | Place Fence VBA | Source code available | ||
Item Types | Property Handler manipulates Item Type Data | Item Types page | ||
Point Feature Loader | Point Feature Loader | Source code included | ||
Levels | Level Control & Manipulation | Level Control | Source code included | |
Iterating Level Libraries (DGNLIBs) | Level Libraries | Source code included | ||
Matrices | Rotation and Translation | How do I rotate or move something? | A brief introduction to Matrix3d and Transform3d |
|
Rotation in 2D | How do I rotate something in 2D | A brief introduction to the VBA Matrix3d |
||
Rotation in 3D | How do I rotate something in 3D? | A brief introduction to the VBA Matrix3d |
||
Movement in 3D | How do I move something? | A brief introduction to the VBA Transform3d |
||
Identity Matrix | What is the Identity Matrix? Is a zero matrix useful? | A brief introduction to the VBA Matrix3dIdentity |
||
Math | Plotting Curves | Plotting Curves with VBA | Harmonograph VBA Project | |
Are two elements coplanar? | Do two shapes lie on the same plane? | Code and DGN model contained in ZIP archive | ||
Determine whether a Line is Straight | Is Line Colinear? page | Colinear code included in article | ||
Vectors, orientation, rotation and cross-product | Angle Between Vectors | Sample code that shows how to see if one point is right or left of another point | ||
Regression Analysis | Regression Analysis with VBA | Regression Analysis VBA Project | ||
Computing Intersections | PDF Document | ComputingIntersections.zip | ||
MDL | Is an MDL Application Loaded? | Is MDL Loaded page | Source code included | |
MDL: Calling MDL Functions from VBA | Calling MDL Functions from VBA | Source code included | ||
Are two elements identical? | VBA wrapper around MDL function to compare elements | Code included in article | ||
Measurement | Measure Area of Closed Shapes, Grouped Holes & LineStrings | Measure Area page | Code is in article and MeasureArea.mvba module | |
Accumulate Area of Closed Shapes | Accumulate Area page | Contained in AccumulateArea.mvba module | ||
Find Zero-Length Lines | Zero-Length Lines page | Code included in article | ||
Label Contours | Label Contours page | Label one or more lines with the height (Z value). VBA project included | ||
Label Lines | Label Lines page | Label one or more lines with the measured length. VBA project included | ||
Measure the Area of multiple Shape Elements | ShapeTagger | Code is in article ZIP archive | ||
Measure the Length of a MultiLine | Measure Lines page | Code is in article | ||
Measure the Distance Along a Line | Measure Distance Along a Line page | Code is in article | ||
Measure the Distance Between Parallel Lines | Measure Lines page | Code is in article | ||
Miscellaneous | Navigating the TCB | Navigating the TCB page | ||
ColorPicker | Bentley ColorPicker OCX | |||
Degree of Curve | Degree of Curve page. | Calculate fillet radius from degree of curve and forward to fillet tool | ||
Load a Function Key menu | Load a Function Key menu page | |||
Menus in VBA | How to create menus for your VBA project | Working around VBA's lack of support for menus | ||
Lines, Vertices and Segments | Basic introduction to lines, vertices and segments | |||
Clipboard: Cut and Paste with VBA | Using the Windows Clipboard | Source code included | ||
Arithmetic: truncation & rounding with VBA | Numeric Formatting | |||
Is an element a Grouped Hole? | Grouped Hole Page | Source code included | ||
Cross-Hatch a Grouped Hole | Grouped Hole Page | Source code included | ||
MicroStation VBA Tips | MVBA Tips page | Code is in article | ||
Referencing the MicroStation VBA Object Library elsewhere; referencing other libraries in MicroStation VBA | Referencing VBA Object Libraries | Included in article | ||
Using MicroStation's Message Center | Message Center page | Code is in article | ||
Starting a Batch File | PDF Document | ShellBatch.zip | ||
Validating Configuration Variables | Configuration Validator | |||
Verifying a DGN File | Check Design File page | Sample code that shows how to check if a file is a DGN file | ||
Models | DGN Models | Rename a DGN model with VBA | Sample code that shows how to rename a DGN model with VBA | |
Level Usage in Models | Report Level usage in DGN Models page | Sample code that shows how enumerate the models of a DGN file and find the level usage for each model | ||
Named Groups | Named Groups and VBA | Named Groups and VBA | Sample code that shows how to handle Named Groups using VBA | |
Printing | Printing with VBA | Printing with VBA | Sample code that shows how to control printing using VBA | |
References | Log Reference Attachments | PDF Document | LogRefs.zip | |
Reference Attachment Operations | Reference Attachment Operations page | Attach a reference; set a reference clip boundary | ||
Attaching All References | Load Hidden References page | Attach all references — including those that are turned off | ||
Scanning | Scanning Overview | Programmer's overview of scanning | ||
Searching through a Model for specified elements | Scanning a Model | Included in article | ||
Searching through a Model for named cells | Scanning a Model for named cells | FindCell.zip | ||
Searching through a Model for lines of a certain size | Scanning a Model for lines of a certain size | FilterLines.zip | ||
Export line element data | Scanning a Model for lines and write element data to a CSV file | ExportLines.zip | ||
Enumerating Models or Cells |
Enumerating Models page |
How to examine the models in a DGN file |
| |
Tags | Reading and Writing Tag Data | Tag Data Overview | Included in article | |
Writing Tag data into a Text File | PDF Document | TextFileReader.zip | ||
Text | Text Element Analysis & Manipulation | Text Element page | ||
Rotate a Text Element | Text Rotator page | TextRotator.zip | ||
Create a Fraction | Fraction Creator page | FractionText.zip | ||
Create a Bullet Chart | Bullet Chart Creator page | BulletChart.zip | ||
Create a Text Node | Text Node Creator page | CreateTextNode.zip | ||
Place Text Along an Element | Place Text Along page | PlaceTextAlong.zip | ||
Generate a Text Grid | Text Grid Generator page | TextGridGenerator.zip | ||
Text Element Manipulation | Split Text Elements page | |||
Text Element Manipulation | Stitch Text Elements page | |||
Text Element Analysis & Manipulation | Text Nodes to Text page | |||
Text Table Exporter | Export Text from a Table to a CSV file | |||
Regular Expressions for MicroStation VBA Developers | Regular Expression page | |||
Unscramble Text: adjusts multiple text elements to improve legibility | Unscramble Text page | Example VBA code and project available | ||
Formatting Numeric Text | Formatting a Numeric Text Element | Example VBA code provided | ||
Incrementing Numeric Text | Incrementing a Numeric Text Element | Example VBA code and project available | ||
Incrementing Alpha Text | Incrementing a Text Element such as a revision code | Example VBA code and project available | ||
Performing Arithmetic on Numeric Text | Computing the Sum of Numbers in Text Elements | Example VBA code and project available | ||
Reading a Text File into Coordinates | PDF Document | TextFileReader.zip | ||
Analysing Text Enter Data | Text Enter Data page | |||
Text Styles | Text Styles page | |||
Text Style Replacer | Text Style Replacer page | |||
Text Font Replacer | Text Font Replacer page | |||
Undo/Redo | Group Operations in an Undo Group | Undo Grouping page | ||
Views | MicroStation View Capture | Capture View page | CaptureView.zip | |
View Settings and Control | View Settings and Control page | |||
Windows | Cursor Icon | Assign a Cursor | Example VBA code available | |
File & Folder Browsing | Files and Folders | Example VBA code available | ||
Mouse Pointer | Assign a Mouse Pointer in MicroStation | |||
Open an Office Document | Open a Word™, Excel™ or other document in MicroStation | |||
Run a Batch File | Run a Windows batch (*.bat) file from MicroStation | ShellBatch.zip | ||
UNC and Drive Paths | Compare a UNC path with a Drive path using VBA | ComparePaths.zip | ||
MicroStation Title | Set MicroStation Title article | SetMicroStationTitle.zip | ||
Progress Bar | Progress Bar article | ProgressBarExample.zip | ||
Windows Common Dialogs | Common Dialogs page | Code is in article | ||
File Type Description | Windows File Type Description page | |||
File Relative Paths | Find Relative Path page | |||
File Locations | File Locations page | |||
Open Design File | OpenDesignFile and OpenDesignFileForProgram page | |||
Read CSV Text File | Parse a CSV Text File and Assign a Point3d from each line |
|||
Next File | Open the next or previous DGN file in the same folder as the active DGN file | |||
Win32 Window Handle | Window Handle page | Code is in article |