' http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/SnapEditorForm/0048000000m7000000/ '/ <summary> '/ Turns on or turns off the Edit Sketch snap agents by adding or removing them '/ </summary> Private Sub AddSketchSnapAgents() 'give anchor snap (i.e. vertex snap) priority to get more accurate snap tips while snapped to a vertex Dim t As Type = Type.GetTypeFromProgID("esriControls.EngineAnchorSnap") Dim obj As System.Object = Activator.CreateInstance(t) Dim snapAgent As IEngineSnapAgent = DirectCast(obj, IEngineSnapAgent) snapEnvironment.AddSnapAgent(snapAgent) 'edge sketch edges t = Type.GetTypeFromProgID("esriControls.EngineSketchSnap") obj = Activator.CreateInstance(t) snapAgent = DirectCast(obj, IEngineSnapAgent) snapEnvironment.AddSnapAgent(snapAgent) 'perpendicular to edit sketch t = Type.GetTypeFromProgID("esriControls.EnginePerpendicularSnap") obj = Activator.CreateInstance(t) snapAgent = DirectCast(obj, IEngineSnapAgent) snapEnvironment.AddSnapAgent(snapAgent) End Sub /// <summary> /// Adds, and hence turns on, Edit Sketch snap agents /// </summary> private void AddSketchSnapAgents() { //give anchor snap (i.e. vertex snap) priority to get more accurate snap tips while snapped to a vertex Type t = Type.GetTypeFromProgID("esriControls.EngineAnchorSnap"); System.Object obj = Activator.CreateInstance(t); IEngineSnapAgent snapAgent = (IEngineSnapAgent)obj; snapEnvironment.AddSnapAgent(snapAgent); //edge sketch edges t = Type.GetTypeFromProgID("esriControls.EngineSketchSnap"); obj = Activator.CreateInstance(t); snapAgent = (IEngineSnapAgent)obj; snapEnvironment.AddSnapAgent(snapAgent); //perpendicular to edit sketch t = Type.GetTypeFromProgID("esriControls.EnginePerpendicularSnap"); obj = Activator.CreateInstance(t); snapAgent = (IEngineSnapAgent)obj; snapEnvironment.AddSnapAgent(snapAgent); }
Engine でスケッチに対してスナップを設定する方法
2016/9/1 (木)