# ISnapElement interface

Namespace: [Grasshopper2.UI.Grid](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.ui.grid.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public interface ISnapElement
```

Base interface for all snapping elements (points, lines, segments, circles, what have you.

## Properties

- [AffectsX](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.grid.isnapelement/affectsx.md): Gets whether this element will affect the x component of a coordinate.
- [AffectsY](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.grid.isnapelement/affectsy.md): Gets whether this element will affect the y component of a coordinate.
- [Radius](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.grid.isnapelement/radius.md): Gets the snapping radius in logical pixels associated with this element. In case multiple snapping elements are competing for precedence, those with smaller radii are favoured.

## Methods

- [DistanceTo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.grid.isnapelement/distanceto.md): Compute the distance from a point to this snapping element.
- [IsInRange](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.grid.isnapelement/isinrange.md): Gets whether a point is within reach of this snapping element.
- [Project](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.grid.isnapelement/project.md): Project a point to this snapping element.
