Connect at Intermediate Vertices extension


By default, connectivity is not established when a mid-span (intermediate) vertex of a complex edge is snapped to an existing junction. The ConnectatIntermediateVertices method can be expensive to execute depending on the complex edge.

This custom editor extension allows you to specify when connectivity will be establsihed between mid-span vertices of complex edges and junctions. A property sheet is added to the Editor Options dialog which allows you to toggle between the default behaviour and establishing connectivity between intermediate vertices and existing junctions. The property sheet does not appear if the edit workspace is a coverage or shapefile workspace.

The ConnectatIntermediateVertices method can be very expensive and time consuming depending on the number of vertices in the complex edge feature. As such, it should be turned off immediately after the desired task is completed.

How to use:
  1. Double click on the _Install.BAT file.
  2. Load a geometric network and start an edit session.
  3. Select 'Options...' on the Editor menu, click on the new 'Network Properties' tab.
  4. Check the 'Connect at Intermediate Vertices" box and click 'Apply'.
  5. Connectivity will be established on snapping a mid-span vertex of a complex edge feature to an existing junction.


Requires: An edit session with a geometric network containing complex edge features.

Difficulty: Intermediate

Visual Basic
File Description
clsConnect.cls Editor extension implementation.
clsConnectPropertySheet.cls Property sheet implementation.
frmConnect.frm Form property sheet is laid out on.
ConnectatIntermediateVertices.vbp The project file for the sample editor extension.
ConnectatIntermediateVertices.dll The compiled project.
_INSTALL.bat Batch file that registers the dll and calls Register_with_Component_Categories.reg
Register_with_Component_Categories.reg Registry file that registers the various classes with their appropriate component categories.

Key CoClasses: Editor
Key Interfaces: IExtension, IEditEvents, IEditEvents2, IComPropertyPage, IComplexEdgeFeature
Key Members: IExtension::Startup, IEditEvents::OnCreateFeature, IEditEvents::BeforeStopOperation, IEditEvents2::OnVertexMoved, IComplexEdgeFeature::ConnectAtIntermediateVertices