<?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: Snap to IGraphicsLayer in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59955#M1644</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Sean! Great example!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 05 Aug 2015 23:09:35 GMT</pubDate>
    <dc:creator>MarkMindlin</dc:creator>
    <dc:date>2015-08-05T23:09:35Z</dc:date>
    <item>
      <title>Snap to IGraphicsLayer</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59950#M1639</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;Hi there,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;I am using ISnappingEnvironment for a snap to a point feature in a feature layer in ArcMap 10.3. And I draw a IMarkerElement(IMarkerSymbol) at the point of successfull snap(first position). If user clicks to far from a point (not with actual tolerance of the snap) I also draw another IMarkerElement(IMarkerSymbol) at this second position.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;I am wondering how to snap to graphic that I created at the second position. Could IGraphicsLayer help in this case? I guess that snap could work with feature layers and (probably) with graphics layers?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;I tried to add a graphic layer to the map, but I don't see it included in the snap:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #2b91af; font-size: 10pt; font-family: Consolas;"&gt;//create IMarkerElement pMarkerElement here&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #2b91af; font-size: 10pt; font-family: Consolas;"&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: #2b91af; font-family: Consolas;"&gt;IMap &lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt;pMap = pActiveView.FocusMap;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: #2b91af; font-family: Consolas;"&gt;ICompositeGraphicsLayer&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt; compositeGraphicsLayer = (&lt;/SPAN&gt;&lt;SPAN style="color: #2b91af; font-family: Consolas;"&gt;ICompositeGraphicsLayer&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt;)pMap.BasicGraphicsLayer;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: #2b91af; font-family: Consolas;"&gt;IGraphicsLayer&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt; graphicsLayer = &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Consolas;"&gt;null&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="font-family: Consolas; color: #0000ff;"&gt;try&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;{graphicsLayer = compositeGraphicsLayer.FindLayer(strGraphicLayerName);}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: #0000ff; font-family: Consolas;"&gt;catch&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="color: #2b91af; font-family: Consolas;"&gt;Exception&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt; ex) { }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: #0000ff; font-family: Consolas;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt; (graphicsLayer == &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-family: Consolas;"&gt;null&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;graphicsLayer = compositeGraphicsLayer.AddLayer(strGraphicLayerName, &lt;SPAN style="color: #0000ff; font-family: Consolas;"&gt;null&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;graphicsLayer.Activate(pActiveView.ScreenDisplay);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;pMap.ActiveGraphicsLayer = (&lt;SPAN style="color: #2b91af; font-family: Consolas;"&gt;ILayer&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt;)graphicsLayer;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;pGraphicsContainer = graphicsLayer &lt;SPAN style="color: #0000ff; font-family: Consolas;"&gt;as&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #2b91af; font-family: Consolas;"&gt;IGraphicsContainer&lt;/SPAN&gt;&lt;SPAN style="font-family: Consolas;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;pGraphicsContainer.AddElement(pMarkerElement, 0);&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jul 2015 05:33:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59950#M1639</guid>
      <dc:creator>MarkMindlin</dc:creator>
      <dc:date>2015-07-30T05:33:54Z</dc:date>
    </item>
    <item>
      <title>Re: Snap to IGraphicsLayer</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59951#M1640</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I see that it is still in the ESRI Ideas.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://esri.secure.force.com/ideaView?id=08730000000bsllAAA"&gt;https://esri.secure.force.com/ideaView?id=08730000000bsllAAA&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Aug 2015 23:05:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59951#M1640</guid>
      <dc:creator>MarkMindlin</dc:creator>
      <dc:date>2015-08-03T23:05:30Z</dc:date>
    </item>
    <item>
      <title>Re: Snap to IGraphicsLayer</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59952#M1641</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Programmatically you can snap to any geometries you place in the snapping cache. This is briefly described in the Snapping to other geometries topic in &lt;A href="http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/#/Working_with_the_ArcGIS_snapping_environment/0001000001s1000000/"&gt;Working with the ArcGIS snapping environment&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;To snap to graphics you would need to get the geometry of the graphics you are interested in and place it in the cache, usually updating the cache on a screen refresh or map extent changed (OnAfterDraw). &lt;A href="http://www.arcgis.com/home/item.html?id=b7185e436b204af7b89ebf0e88bb720b"&gt;The Construction Guides Addin&lt;/A&gt;, source not included, uses this technique.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I encourage you to vote for that idea to include snapping to graphics as a core ArcMap feature.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Aug 2015 16:55:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59952#M1641</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2015-08-04T16:55:40Z</dc:date>
    </item>
    <item>
      <title>Re: Snap to IGraphicsLayer</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59953#M1642</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Sean!&lt;/P&gt;&lt;P&gt;Could you get into more details how to update "&lt;STRONG&gt;the cache on a screen refresh or map extent changed (OnAfterDraw).&lt;/STRONG&gt;"&lt;/P&gt;&lt;P&gt;Could you share some code?&lt;/P&gt;&lt;P&gt;Especially ESRI says that&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #dde0e3; text-indent: 0px; color: #223344;"&gt;There is no equivalent method to build the cache explicitly; this is handled internally when a client issues a call to IPointSnapper.Snap, at which time it is determined whether the cache needs to be rebuilt.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Aug 2015 01:00:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59953#M1642</guid>
      <dc:creator>MarkMindlin</dc:creator>
      <dc:date>2015-08-05T01:00:09Z</dc:date>
    </item>
    <item>
      <title>Re: Snap to IGraphicsLayer</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59954#M1643</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sure,&lt;/P&gt;&lt;P&gt;In the context of that construction guide sample it was easier to place the graphics that you wanted to both see and snap to in an IGeometryBag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void AddConstructionGuideGeometry(IGeometry geometry)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (geometry == null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new ArgumentNullException();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m_guideGeomBag == null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_guideGeomBag = new GeometryBagClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (((IGeometryCollection)m_guideGeomBag).GeometryCount == 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_guideGeomBag.SpatialReference = geometry.SpatialReference;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object missing = Type.Missing;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((IGeometryCollection)m_guideGeomBag).AddGeometry(geometry, ref missing, ref missing);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UpdateGuideSnapCache();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IInvalidArea3 invalidArea = new InvalidAreaClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; invalidArea.Display = ScreenDisplay;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; invalidArea.Add(geometry);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; invalidArea.InvalidateEx((short)esriScreenCache.esriAllScreenCaches, 2);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The snap cache is updated with the contents of the bag and referenced by a token. Technically you can add individual geometries and track them with their own tokens but that just complicates things.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void UpdateGuideSnapCache()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (GuideSnapToken == NullGuideSnapToken &amp;amp;&amp;amp; m_guideGeomBag != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GuideSnapToken = SnappingEnvironment.PointSnapper.CacheShapes(m_guideGeomBag, "Construction Guide");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SnappingEnvironment.PointSnapper.UpdateCachedShapes(GuideSnapToken, m_guideGeomBag);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can draw the contents of the bag when the screen refreshes using an IActiveView AfterDraw event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void DrawGuides()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m_guideGeomBag == null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double refScale = ScreenDisplay.DisplayTransformation.ReferenceScale;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenDisplay.DisplayTransformation.ReferenceScale = 0.0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double resolution = ScreenDisplay.DisplayTransformation.Resolution;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IGeometryCollection geomColl = (IGeometryCollection)m_guideGeomBag;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; geomColl.GeometryCount; i++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IGeometry geom = geomColl.get_Geometry(i);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (geom.GeometryType)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 esriGeometryType.esriGeometryPoint:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenDisplay.SetSymbol((ISymbol)GuideMarkerSymbol);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenDisplay.DrawPoint(geom);
&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; case esriGeometryType.esriGeometryPolyline:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenDisplay.SetSymbol((ISymbol)GuideLineSymbol);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenDisplay.DrawPolyline(geom);
&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; default:
&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; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenDisplay.DisplayTransformation.ReferenceScale = refScale;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this sample the snapping cache isn't being updated on extent change, but if you had thousands of custom geometries to snap to, you would add/remove geometries to the cache based on screen extent.&lt;/P&gt;&lt;P&gt;To clear the snap cache and stop the drawing you can remove the geometries from the cache by their token and empty the bag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal void RemoveConstructionGuidesFromCache()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (GuideSnapToken != NullGuideSnapToken)
&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 (SnappingEnvironment.PointSnapper != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SnappingEnvironment.PointSnapper.RemoveCachedShapes(GuideSnapToken);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GuideSnapToken = NullGuideSnapToken;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m_guideGeomBag == null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ScreenDisplay != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IInvalidArea3 invalidArea = new InvalidAreaClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; invalidArea.Display = ScreenDisplay;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IGeometryCollection geomColl = m_guideGeomBag as IGeometryCollection;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; geomColl.GeometryCount; i++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; invalidArea.Add(geomColl.get_Geometry(i));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; invalidArea.InvalidateEx((short)esriScreenCache.esriAllScreenCaches, 2);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_guideGeomBag.SetEmpty();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_guideGeomBag = null;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps. We'll clean up the whole source and publish it someday.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 22:16:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59954#M1643</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-10T22:16:23Z</dc:date>
    </item>
    <item>
      <title>Re: Snap to IGraphicsLayer</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59955#M1644</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Sean! Great example!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Aug 2015 23:09:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/snap-to-igraphicslayer/m-p/59955#M1644</guid>
      <dc:creator>MarkMindlin</dc:creator>
      <dc:date>2015-08-05T23:09:35Z</dc:date>
    </item>
  </channel>
</rss>

