Curve Tool


The Curve Tool is a custom sketch context menu item that adds a parametric curve to the end of a edit sketch. This differs from the 'Tangent Curve...' option which requires that the curve is tagential to the previous segment of the edit sketch. The Curve Tool can be used independently, but is designed to work with the the Coordinate Geometry extension.

How to use:
  1. If the entire Coordinate Geometry sample has been installed using the _INSTALL.BAT the next step is not required.
  2. Register the COGOCurve.dll on your machine. Browse and select the COGOCurve.dll using the 'Add From File' button on the Customize dialog.
  3. From the 'Developer Samples' commands category, add the 'Curve...' command to the Sketch tool context menu.
  4. Start an edit session and set the target layer to a polyline or polygon feature layer. Use the sketch tool to create an edit sketch with at least one vertex.
  5. Right click anywhere on the map and click on the 'Curve...' tool from the 'Sketch Tool Context Menu'.
  6. A parametric curve requires any two of the following parameters to be set; Arc Length, Chord Length, Radius, Delta Angle. Click the dropdown arrows and click two parameters by which you want to define the curve. Type the appropriate values for the parameters (distance in map units for arc length, chord, and radius; degrees for delta angle). If the Coordinate Geometry extension is being used, the units are set on the 'COGO' tab of the editor options.
  7. A segment that is a parametric curve is created from the last vertex of the segment according to the parameters you specified.


Requires: An edit session.

Difficulty: Intermediate

Visual Basic
File Description
CurveSketchMenuItem.cls VB class file containing the IEditTask implementation.
frmCurve.frm Form for setting the curve parameters.
clsDistance.cls VB class file containing common COGO functions. Note - This class file is used by several projects so is located in the ..\COGOUtilities folder.
clsCOGOEnum.cls VB class file containing common COGO enumerations. Note - This class file is used by several projects so is located in the ..\COGOUtilities folder.
COGOCurve.vbp The project file for the sample sketch tool.
COGOCurve.dll The compiled project.

Key CoClasses: Editor, SketchOperation
Key Interfaces: IEditor, IEditSketch, IConstructCircularArc
Key Members: IConstructCircularArc::ConstructTangentAngleArc, IConstructCircularArc::ConstructTangentAngleChord, IConstructCircularArc::ConstructTangentChordArc, IConstructCircularArc::ConstructTangentRadiusAngle, IConstructCircularArc::ConstructTangentRadiusArc, IConstructCircularArc::ConstructTangentRadiusChord, IConstructCircularArc::ConstructBearingAngleArc, IConstructCircularArc::ConstructBearingAngleChord, IConstructCircularArc::ConstructBearingChordArc, IConstructCircularArc::ConstructBearingRadiusAngle, IConstructCircularArc::ConstructBearingRadiusArc, IConstructCircularArc::ConstructBearingRadiusChord