Application: Site
Revit Platform: All
Revit Version: 2014.0
First Released For: 2014.0
Programming Language: C#
Skill Level: Medium
Category: Elements
Type: ExternalApplication

Subject: Site
Summary: 
TopographySurface and SiteSubRegion editing utilities, including Adding predefined regions of points, changing points elevations, moving points, and deleting points.

Classes: 
Autodesk.Revit.UI.IExternalCommand
Autodesk.Revit.DB.Architecture.TopographySurface
Autodesk.Revit.DB.Architecture.SiteSubRegion
Autodesk.Revit.DB.Architecture.TopographyEditScope

Project Files: 
•	Application.cs - Implements the Revit add-in interface IExternalApplication
•	SiteAddRetainingPondCommand.cs – A command that adds a new circular retaining pond to a TopographySurface where the user selects.
•	SiteDeleteRegionAndPointsCommand.cs - A command that deletes a subregion and all topography surface points it contains.
•	SiteLowerTerrainInRegionCommand.cs - A command that lowers all points contained in a subregion by 3 feet.
•	SiteMoveRegionAndPointsCommand.cs - A command that moves a subregion and the points it contains to a new location on the host surface.
•	SiteNormalizeTerrainInRegionCommand.cs - A command that normalizes all points in a region to the average elevation.
•	SiteRaiseTerrainInRegionCommand.cs - Raised all points contained in a subregion by 3 feet.
•	SiteEditingUtils.cs - Database level utilities for the site editing commands.
•	SiteUIUtils.cs - User interface utilities for site editing commands. 

Description: 
This sample provides following functionalities.
•	Automatically create a topography family (circular retaining pond) at the user specific location.
•	Move a subregion and the points it contains to another location on the host surface.
•	Raise and lower terrain in subregion.
•	Normalize the terrain in the subregion by moving all points to the average elevation.
•	Delete a subregion and the points it contains.

Instructions: 
Open a Revit project containing at least on TopographySurface.  Switch to the Add-ins tab.
1.	Choose Add Pond to add a new retaining pond to the surface.  The subregion and the topography points are calculated and created automatically.  If more than one topography surface exists in the model, you will be prompted to select the host surface.  Then select a point for the location of the pond.
2.	Choose Move Region to move a subregion and the points it contains to a new location.  Select the subregion and then the target location.
3.	Choose Delete Region to delete the selected subregion and the points it contains.
4.	Choose Raise/Lower/Normalize Terrain to manipulate the elevations of the selected subregion.