01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | ' 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 (木)