snapping added when editing from source
Note that you need to add snapping in edit mode (that is, you need to use Iengineeditor to enter the edit state first):
IMapControl3 MMap =( IMapControl3) ((Itoolbarcontrol) toolhook). Buddy;iengineeditor M_engineeditor=NewEngineeditorclass ();if(M_engineeditor.editstate = =esriengineeditstate.esrienginestatenotediting) { //Start Editing the workspace of the first feature layer found. ILayer Currentlayer = Mmap.get_layer (0); if(Currentlayer isIfeaturelayer) {Ifeaturelayer Featurelayer= Currentlayer asIfeaturelayer; Idataset DataSet= Featurelayer.featureclass asIdataset; Iworkspace Workspace=DataSet. Workspace; M_engineeditor.startediting (workspace, mmap.map); ((iengineeditlayers) m_engineeditor). Settargetlayer (Featurelayer,0); } //snapping if(Mmap.layercount! =0) {Iengineeditor Editor=NewEngineeditorclass (); Iengineeditlayers editlayers= Editor asiengineeditlayers; Ienginesnapenvironment snapenvironment= Editor asienginesnapenvironment; Ienginefeaturesnapagent featuresnapagent=NewEnginefeaturesnap (); Featuresnapagent.featureclass= ((Ifeaturelayer) Mmap.get_layer (0)). Featureclass;; Featuresnapagent.hittype= Esrigeometryhitparttype.esrigeometrypartvertex | Esrigeometryhitparttype.esrigeometrypartboundary |Esrigeometryhitparttype.esrigeometrypartendpoint; Snapenvironment.addsnapagent (featuresnapagent); }}
Add snapping when editing