Set up a workbook (Shading objects)
Shading regions
To enumerate all the current shading regions in the workbook use Workbook.ShadingRegions
// Enumerate through the existing shading regions in the workbook, printing out information
// for each
Toolbox.Log(string.Format("Number of shading regions = {0}", Workbook.ShadingRegions.Count()));
foreach (ShadingRegion shadingRegion in Workbook.ShadingRegions)
{
Toolbox.Log(string.Format("Shading region: {0}, height={1}, ShadingBoundaryType={2}",
shadingRegion.Name,
shadingRegion.Height,
shadingRegion.ShadingBoundaryType));
Toolbox.Log(string.Format(" Points ({0} points): {1}",
shadingRegion.Points.Count(),
string.Join(", ",
shadingRegion.Points
.Select(p => string.Format("({0},{1})", p.X, p.Y)))));
}
Adding a new shading region
To add a new shading region use Workbook.AddShadingRegion()
// Get a reference to shading region with name "Shading region 3"
ShadingRegion shadingRegion3 = Workbook.ShadingRegions
.First(s => s.Name == "Shading region 3");
// Add a new shading region 20 metres to the west of the existing one, which is a copy of the
// points of the existing one, with a height of 6.6m and a flat top.
ShadingRegion shade3 = Workbook.AddShadingRegion(
"Shade 3", // new name
shadingRegion3.Points.Select(p => new Location(p.X - 20, p.Y)),
6.6, // height of 6.6m
ShadingBoundaryType.FlatTop);
Removing shading regions
To remove all the shading regions in the workbook use Workbook.RemoveAllShadingRegions()
// Remove all shading regions in the workbook
Workbook.RemoveAllShadingRegions();
To remove a specific shading region use Workbook.RemoveShadingRegion()
// Remove a specific shading region
ShadingRegion shadingRegionToRemove = Workbook.ShadingRegions
.First(s => s.Name == "Shading region 1");
Workbook.RemoveShadingRegion(shadingRegionToRemove);
3D model shading objects
It is not currently possible to add/import 3D model shading objects from scripting.