<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: FeatureSnapAgent problems in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551322#M14922</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Brian&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You are correct, if your users are setting up snapping manually you won't need your code to set up a snap agent.&amp;nbsp; Setting the ISnapEnvironment to the IEditor should allow your tool's snapping to behave however the snapping window is set up.&amp;nbsp; Are you using the Editor's edit session, or starting one from scratch on the workspace of your feature class?&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;As for moving the cursor instead of the invert agent, you might try using IDisplayTransformation.FromMapPoint and pass in the resulting X and Y values:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position(ide).aspx"&gt;http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position(ide).aspx&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Sep 2010 14:41:35 GMT</pubDate>
    <dc:creator>JeffMatson</dc:creator>
    <dc:date>2010-09-10T14:41:35Z</dc:date>
    <item>
      <title>FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551316#M14916</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I need to be able to snap my custom tool to a few different features in my map.&amp;nbsp; I am trying to get the tool to snap to my Watermains first, but no luck.&amp;nbsp; Here is my code I have so far.&amp;nbsp; I think this is supposed to be setting up the SnapAgents, but something isn't working.&amp;nbsp; I get no errors, but my cursor for the tool isn't snapping to anything.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;ISnapEnvironment snapEnvironment = m_editor as ISnapEnvironment;
snapEnvironment.ClearSnapAgents();

IFeatureSnapAgent featureSnapAgent = new FeatureSnapClass();
while (pLayer != null)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (pLayer.Name)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case "GISADMIN.WaterMain":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IFeatureLayer featureLayer = (IFeatureLayer)pLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IFeatureClass featureClass = featureLayer.FeatureClass;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featureSnapAgent.FeatureClass = featureClass;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featureSnapAgent.HitType = esriGeometryHitPartType.esriGeometryPartBoundary;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; snapEnvironment.AddSnapAgent(featureSnapAgent);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pLayer = (ILayer2)allLayers.Next();
}&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Sep 2010 13:25:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551316#M14916</guid>
      <dc:creator>BBulla</dc:creator>
      <dc:date>2010-09-09T13:25:12Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551317#M14917</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The snap agents set up what is available for snapping and how they behave.&amp;nbsp; I'm guessing you want the blue circle of the edit tools to snap when you move the mouse over your features?&amp;nbsp; Here is a snippet from the MouseMove event of a custom editing tool that may help:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="font-size:2;"&gt;
mDisplay = mMxDoc.ActiveView.ScreenDisplay
'get the current mouse point
mMousePnt = mAV.ScreenDisplay.DisplayTransformation.ToMapPoint(X, Y)
'use ISnapEnvironment to see if the current mouse point will snap to any snap agents
mSnapEnv.SnapPoint(mMousePnt)
'set the invert agent (blue circle) to the snap point
'if no snap occurs it will stay "under" the cursor
mEditor.InvertAgent(mMousePnt, mEditor.Display.hDC)
'redraw
mDisplay.Invalidate(mAV.Extent.Envelope, &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 2;"&gt;True&lt;/SPAN&gt;&lt;SPAN style="font-size:2;"&gt;, esriScreenCache.esriNoScreenCache)
&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 23:51:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551317#M14917</guid>
      <dc:creator>JeffMatson</dc:creator>
      <dc:date>2021-12-11T23:51:08Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551318#M14918</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Jeff,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for responding.&amp;nbsp; I've implemented your idea, but still no luck.&amp;nbsp; Again, no errors, just nothing happening.&amp;nbsp; In my OnMouseMove event for the tool, this is what I've got:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void OnMouseMove(int Button, int Shift, int X, int Y)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMxDocument pMxDoc = (IMxDocument)m_application.Document;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IActiveView pActiveView = pMxDoc.ActiveView;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.Display.IScreenDisplay pScreenDisplay = pActiveView.ScreenDisplay;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.Display.IDisplayTransformation pDisplayTransformation = pScreenDisplay.DisplayTransformation;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPoint mousePoint = pDisplayTransformation.ToMapPoint(X, Y);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; snapEnvironment.SnapPoint(mousePoint);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_editor.InvertAgent(mousePoint, m_editor.Display.hDC);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pScreenDisplay.Invalidate(pActiveView.Extent.Envelope, true, (short)esriScreenCache.esriNoScreenCache);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(ex.ToString());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Basically the same as yours.&amp;nbsp; What I'm trying to do is to get the default cursor for my custom tool to snap to a feature called Watermain.&amp;nbsp; I'm not really sure where I am going wrong, as everything appears to compile and run with no errors.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From my first post am I missing something like setting the SnapAgent to snap to the 'Edge' or something like that??&amp;nbsp; I've been looking for that, but can't find a way to do it.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 23:51:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551318#M14918</guid>
      <dc:creator>BBulla</dc:creator>
      <dc:date>2021-12-11T23:51:11Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551319#M14919</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;A few questions: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Does the invert agent show up while you are moving the mouse, but won't snap?&amp;nbsp; Or does it not show up at all?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you open the Snapping Window, does the snap agent you created show up, and is it checked?&amp;nbsp; What's your snap tolerance and is it set to pixels or map units?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Sep 2010 19:08:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551319#M14919</guid>
      <dc:creator>JeffMatson</dc:creator>
      <dc:date>2010-09-09T19:08:48Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551320#M14920</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Jeff,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;While it's hard to see, I do believe the blue dot is there (I am just using the default cursor for a new ArcMap tool).&amp;nbsp; If I use a different cursor, would it be easier to see??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I go to the Snapping window, I can see that the snapping is set for the map.&amp;nbsp; But, because of the work we do here (ie. editing all the time), the snapping is always set.&amp;nbsp; I'm not sure the code I am running from the first post is the reason why the snapping is set.&amp;nbsp; Even though I am running .ClearSnapAgents, and then I am creating one, I have all the snapping set that is always there normally.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If the users are setting the snapping up manually, do I even need the bit of code I am showing in my first post??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As for the blue dot when using my tool, it is not snapping to anything.&amp;nbsp; But if I go to the standard Create New Feature tool, it is snapping.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas??&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Sep 2010 11:18:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551320#M14920</guid>
      <dc:creator>BBulla</dc:creator>
      <dc:date>2010-09-10T11:18:55Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551321#M14921</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;OK, I modified my OnMouseMove code so that I can see the InvertAgent.&amp;nbsp; I can now confirm that the agent is there and it is snapping.&amp;nbsp; I think what my problem now is that when I create my feature on the MouseDown event, I am using the X,Y of the mouse and not of the InvertAgent to create the point feature.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How do I get the X,Y of the InvertAgent?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I run this line:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;m_editor.InvertAgent(mousePoint,0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;is the IPoint (mousePoint) variable getting updated to the actual point of the 'snap'??&amp;nbsp; It doesn't seem like it is unless I am doing something wrong.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Sep 2010 12:16:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551321#M14921</guid>
      <dc:creator>BBulla</dc:creator>
      <dc:date>2010-09-10T12:16:06Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551322#M14922</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Brian&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You are correct, if your users are setting up snapping manually you won't need your code to set up a snap agent.&amp;nbsp; Setting the ISnapEnvironment to the IEditor should allow your tool's snapping to behave however the snapping window is set up.&amp;nbsp; Are you using the Editor's edit session, or starting one from scratch on the workspace of your feature class?&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;As for moving the cursor instead of the invert agent, you might try using IDisplayTransformation.FromMapPoint and pass in the resulting X and Y values:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position(ide).aspx"&gt;http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position(ide).aspx&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Sep 2010 14:41:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551322#M14922</guid>
      <dc:creator>JeffMatson</dc:creator>
      <dc:date>2010-09-10T14:41:35Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551323#M14923</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Jeff,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, I am just using the Edit Session started by the user (the tool is disabled until an edit session is started).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you know how I would set the location of the base.m_cursor??&amp;nbsp; There is no property of m_cursor.X or m_cursor.Y.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Or even better would be how do I get the coordinate that the InvertAgent has snapped to??&amp;nbsp; I can see it has snapped, but when I create my new feature based on the mousePoint, it is not snapped.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Sep 2010 14:51:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551323#M14923</guid>
      <dc:creator>BBulla</dc:creator>
      <dc:date>2010-09-10T14:51:56Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551324#M14924</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; &lt;BR /&gt;Or even better would be how do I get the coordinate that the InvertAgent has snapped to?? I can see it has snapped, but when I create my new feature based on the mousePoint, it is not snapped.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ISnapEnvironment.SnapPoint will change the coordinates of the point you pass in, if it has successfully snapped.&amp;nbsp; Is 'mousePoint' is a modular level variable so you can use this point in another procedure such as _OnMouseUp or wherever your feature is being created?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Sep 2010 18:40:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551324#M14924</guid>
      <dc:creator>JeffMatson</dc:creator>
      <dc:date>2010-09-10T18:40:57Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551325#M14925</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Jeff,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I declare mousePoint at the beginning of my class like so:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;public sealed class ServiceConnectionTool : BaseTool
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private IPoint mousePoint;


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //in here I have all my other methods including the mouse down and mouse move events

&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void OnMouseDown(int Button, int Shift, int X, int Y)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

}&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So, yes, I can access the mousePoint from pretty much anywhere in my code.&amp;nbsp; After the InvertAgent uses the mousePoint to snap to the nearest line (if within the tolerance) is it supposed to update the value of mousePoint to be the same as the snapped coordinate??&amp;nbsp; If so, it doens't appear to be doing that and the point feature I am creating (using mousePoint) is not snapped to the line the InvertAgent is snapping to.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To create the feature this is my code, using the mousePoint:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; points[0] = mousePoint;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //For GeoFeature Classes
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UID pID = new UID();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pID.Value = "{E156D7E5-22AF-11D3-9F99-00C04F6BC78E}";

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMap pMap = pMxDoc.FocusMap;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumLayer allLayers;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allLayers = pMap.get_Layers(pID, true);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ILayer2 pLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pLayer = (ILayer2)allLayers.Next();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (pLayer.Name != "GISADMIN.WAT_Fitting")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pLayer = (ILayer2)allLayers.Next();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (pLayer.Name == "GISADMIN.WAT_Fitting")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IFeatureLayer featureLayer = (IFeatureLayer)pLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IFeatureClass featureClass = featureLayer.FeatureClass;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; watFittingSelections = (IFeatureSelection)featureLayer;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_editor.StartOperation();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CreateWaterServiceConnection(featureClass, point1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_editor.StopOperation("Create new Service Connection");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 23:51:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551325#M14925</guid>
      <dc:creator>BBulla</dc:creator>
      <dc:date>2021-12-11T23:51:14Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551326#M14926</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ahhhh!!!&amp;nbsp; I'm such a knob!!&amp;nbsp; In my own confusion I was still passing the point from the mouse click, and not the new mousePoint to my method that actually creates the feature.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for making me look at my code again to explain things.&amp;nbsp; I guess I was just looking at too many things and got all mixed up.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So mousePoint is getting updated with the snap point.....I just wasn't using properly!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This line:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;CreateWaterServiceConnection(featureClass, point1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;should say:&amp;nbsp; CreateWaterServiceConnection(featureClass, mousePoint);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for helping me to understand the snapping!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Sep 2010 19:04:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551326#M14926</guid>
      <dc:creator>BBulla</dc:creator>
      <dc:date>2010-09-10T19:04:19Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureSnapAgent problems</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551327#M14927</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;No problem, glad you got it working...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Sep 2010 19:21:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/featuresnapagent-problems/m-p/551327#M14927</guid>
      <dc:creator>JeffMatson</dc:creator>
      <dc:date>2010-09-10T19:21:20Z</dc:date>
    </item>
  </channel>
</rss>

