Sub Main Dim SurferApp As Object Set SurferApp = CreateObject("Surfer.Application") SurferApp.Visible = True 'Specifies the grid file to use Grid$ = GetFilePath( , "grd;asc;flt",path1, "Grid file to process") If Grid$ ="" Then End Dim Plot As Object Set Plot= SurferApp.Documents.Add 'Creates Slope Grid in % and reclassify SurferApp.GridCalculus(InGrid:=Grid$, Operation:=srfGCGradient, OutGrid:=Grid$+"_Slope.grd" , OutFmt:=srfGridFmtS7) SurferApp.GridMath(Function:="C=A*100", InGridA:=Grid$+"_Slope.grd", OutGridC:=Grid$+"_Slope_Percent.grd", OutFmt:=srfGridFmtS7) SurferApp.GridMath(Function:="C=IF (A>=45, 8, IF (A>=30.0 AND A<45, 6, IF (A>=15 AND A<30, 4, IF (A>=5 AND A<15,2, IF(A>=0 AND A<5, 0, A)))))", InGridA:=Grid$+"_Slope_Percent.grd", OutGridC:=Grid$+"_Slope_Percent_Reclassify.grd", OutFmt:=srfGridFmtS7) 'Creates Aspect Grid and reclassify SurferApp.GridCalculus(InGrid:=Grid$, Operation:=srfGCAspect, OutGrid:=Grid$+"_Aspect.grd" , OutFmt:=srfGridFmtS7) SurferApp.GridMath(Function:="C=IF (A>=337.5 OR A<22.5, 10, IF (A>=22.5 AND A<67.5, 20, IF (A>=67.5 AND A<112.5, 30, IF (A>=112.5 AND A<157.5,40, IF(A>=157.5 AND A<202.5,50, IF(A>=202.5 AND A<247.5,60, IF(A>=247.5 AND A<292.5,70, IF(A>=292.5 AND A<337.5, 80, A))))))))", InGridA:=Grid$+"_Aspect.grd", OutGridC:=Grid$+"_Aspect.grd_Reclassify.grd", OutFmt:=srfGridFmtS7) 'Combines the grids SurferApp.GridMath(Function:=" C=A+B", InGridA:=Grid$+"_Slope_Percent_Reclassify.grd", _ InGridB:=Grid$+"_Aspect.grd_Reclassify.grd", _ OutGridC:=Grid$+"_Aspect-Slope.grd", OutFmt:=srfGridFmtS7) 'Creates image map Dim MapFrame As Object Set MapFrame = Plot.Shapes.AddImageMap(GridFileName:=Grid$+"_Aspect-Slope.grd") Dim ImageLayer As Object Set ImageLayer = MapFrame.Overlays(1) ImageLayer.HillShading = False ImageLayer.InterpolatePixels = False ImageLayer.ShowColorScale = True ImageLayer.MissingDataColorRGBA.Opacity=0 'Gets colormap file Color$ = GetFilePath( , "clr",path1, "CLR file") If Color$ ="" Then End ImageLayer.ColorMap.LoadFile(FileName:=Color$) End Sub