Sun |
The SunAndShadowSettings class represents the sun control.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

The SunAndShadowSettings type exposes the following members.

Name | Description | |
---|---|---|
![]() | ActiveFrame | Identifies the active animation frame for a single-day or multi-day study, starting at 1.0 for the first frame and incrementing in intervals of 1.0. |
![]() | ActiveFrameTime | Identifies the date and time of the SunAndShadowSettings element for the active frame. |
![]() | Altitude | Altitude setting (angle in radians). This is only relevant when dealing with a SunAndShadowSettings element that uses lighting mode. |
![]() | AssemblyInstanceId | The id of the assembly instance to which the element belongs. (Inherited from Element ) |
![]() | Azimuth | Azimuth setting (angle in radians). This is only relevant when dealing with a SunAndShadowSettings element that uses lighting mode. |
![]() ![]() | BoundingBox | Retrieves a box that circumscribes all geometry of the element. (Inherited from Element ) |
![]() | Category | Retrieves a Category object that represents the category or sub category in which the element resides. (Inherited from Element ) |
![]() ![]() | CreatedPhaseId | Id of a Phase at which the Element was created. (Inherited from Element ) |
![]() ![]() | DemolishedPhaseId | Id of a Phase at which the Element was demolished. (Inherited from Element ) |
![]() ![]() | DesignOption | Returns the design option to which the element belongs. (Inherited from Element ) |
![]() | Document | Returns the Document in which the Element resides. (Inherited from Element ) |
![]() | EndDateAndTime | Identifies the end date and time. |
![]() ![]() | Geometry | Retrieves the geometric representation of the element. (Inherited from Element ) |
![]() | GroundPlaneHeight | Identifies the ground plane height. |
![]() | GroundPlaneLevelId | Identifies the element id of the Ground Plane level for the SunAndShadowSettings element. |
![]() | GroupId | The id of the group to which an element belongs. (Inherited from Element ) |
![]() ![]() | Id | A unique identifier for an Element in an Autodesk Revit project. (Inherited from Element ) |
![]() | IsModifiable | Identifies if the element is modifiable. (Inherited from Element ) |
![]() | IsTransient | Indicates whether an element is transient or permanent. (Inherited from Element ) |
![]() | IsValidObject | Specifies whether the .NET object represents a valid Revit entity. (Inherited from Element ) |
![]() | Latitude | Identifies the current latitude used by the SunAndShadowSettings element. |
![]() | LevelId | The id of the level associated with the element. (Inherited from Element ) |
![]() ![]() | Location | This property is used to find the physical location of an element within a project. (Inherited from Element ) |
![]() | Longitude | Identifies the current longitude used by the SunAndShadowSettings element. |
![]() | Name | A human readable name for the Element. (Inherited from Element ) |
![]() | NumberOfFrames | Identifies the total number of animation frames for a single-day or multi-day study. |
![]() | OwnerViewId | The id of the view that owns the element. (Inherited from Element ) |
![]() ![]() | Parameter BuiltInParameter | Retrieves a parameter from the element given a parameter id. (Inherited from Element ) |
![]() | Parameter Definition | Retrieves a parameter from the element based on its definition. (Inherited from Element ) |
![]() | Parameter Guid | Retrieves a parameter from the element given a GUID for a shared parameter. (Inherited from Element ) |
![]() ![]() | Parameters | Retrieves a set containing all of the parameters that are contained within the element. (Inherited from Element ) |
![]() | ParametersMap | Retrieves a map containing all of the parameters that are contained within the element. (Inherited from Element ) |
![]() | Pinned | Identifies if the element has been pinned to prevent changes. (Inherited from Element ) |
![]() | ProjectLocationId | Identifies the ProjectLocation element used by the SunAndShadowSettings element. |
![]() | ProjectLocationName | Identifies the name of the project location used by the SunAndShadowSettings element. |
![]() | RelativeToView | Identifies whether the SunAndShadowSettings element is relative to the view direction. This is only relevant for lighting mode. |
![]() | SharesSettings | Identifies whether settings are shared globally. |
![]() | StartDateAndTime | Identifies the start or current date and time. |
![]() | SunAndShadowType | Identifies the type of the SunAndShadowSettings element. |
![]() | SunriseToSunset | Identifies whether the current single day sun study is set to run from sunrise to sunset. |
![]() | TimeInterval | Identifies the time interval between animation frames. |
![]() | TimeZone | Identifies the time zone. |
![]() ![]() | UniqueId | A stable unique identifier for an element within the document. (Inherited from Element ) |
![]() | UsesDST | Identifies whether the SunAndShadowSettings element is using daylight savings time. |
![]() | UsesGroundPlane | Identifies whether the SunAndShadowSettings element uses a ground plane. |
![]() | VersionGuid | Get the element version Guid. (Inherited from Element ) |
![]() | ViewSpecific | Identifies if the element is owned by a view. (Inherited from Element ) |
![]() | Visible | Visibility in current view for a per-view SunAndShadowSettings element. |
![]() | WorksetId | Get Id of the Workset which owns the element. (Inherited from Element ) |

Name | Description | |
---|---|---|
![]() | ArePhasesModifiable | Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element. (Inherited from Element ) |
![]() ![]() | CalculateTimeZone | Use Revit's utilities to calculate the time zone for a given longitude and latitude. |
![]() | CanBeHidden | Indicates if the element can be hidden in the view. (Inherited from Element ) |
![]() | CanBeLocked | Identifies if the element can be locked. (Inherited from Element ) |
![]() | CanDeleteSubelement | Checks if given subelement can be removed from the element. (Inherited from Element ) |
![]() | CanHaveTypeAssigned | Identifies if the element can have a type assigned. (Inherited from Element ) |
![]() | ChangeTypeId(ElementId) | Changes the type of the element. (Inherited from Element ) |
![]() | DeleteEntity | Deletes the existing entity created by %schema% in the element (Inherited from Element ) |
![]() | DeleteSubelement | Removes a subelement from the element. (Inherited from Element ) |
![]() | DeleteSubelements | Removes the subelements from the element. (Inherited from Element ) |
![]() | Dispose | (Inherited from Element ) |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object ) |
![]() | EvaluateAllParameterValues | Evaluates all the parameters' values of the element. (Inherited from Element ) |
![]() | EvaluateParameterValues | Evaluate the parameters' values of the element on the given parameter ID set. (Inherited from Element ) |
![]() | FitToModel | Adjust SunAndShadowSettings to fit around the current model geometry. |
![]() ![]() | GetActiveSunAndShadowSettings | Returns the current SunAndShadowSettings element assigned to the active view for the supplied document. |
![]() | GetDependentElements | Get all elements that, from a logical point of view, are the children of this Element. (Inherited from Element ) |
![]() | GetEntity | Returns the existing entity corresponding to the Schema if it has been saved in the Element, or an invalid entity otherwise. (Inherited from Element ) |
![]() | GetEntitySchemaGuids | Returns the Schema guids of any Entities stored in this element. (Inherited from Element ) |
![]() | GetExternalFileReference | Gets information pertaining to the external file referenced by the element. (Inherited from Element ) |
![]() | GetExternalResourceReference | Gets the ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) |
![]() | GetExternalResourceReferenceExpanded | Gets the collection of ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) |
![]() | GetExternalResourceReferences | Gets the map of the external resource references referenced by the element. (Inherited from Element ) |
![]() | GetExternalResourceReferencesExpanded | Gets the expanded map of the external resource references referenced by the element. (Inherited from Element ) |
![]() | GetFrameAltitude | Identifies the altitude of the sun (angle in radians) for a specific frame. |
![]() | GetFrameAzimuth | Identifies the azimuth of the sun (angle in radians) for a specific frame. |
![]() | GetFrameTime | Identifies the date and time of the SunAndShadowSettings element for a given frame. |
![]() ![]() | GetGeneratingElementIds | Returns the ids of the element(s) that generated the input geometry object. (Inherited from Element ) |
![]() | GetGeometryObjectFromReference | Retrieve one geometric primitive contained in the element given a reference. (Inherited from Element ) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object ) |
![]() | GetMatchingPreset | Finds the name of the 'per-document' SunAndShadowSettings that matches the properties of this per-view element. |
![]() | GetMaterialArea | Gets the area of the material with the given id. (Inherited from Element ) |
![]() | GetMaterialIds | Gets the element ids of all materials present in the element. (Inherited from Element ) |
![]() | GetMaterialVolume | Gets the volume of the material with the given id. (Inherited from Element ) |
![]() | GetMonitoredLinkElementIds | Provides the link instance IDs when the element is monitoring. (Inherited from Element ) |
![]() | GetMonitoredLocalElementIds | Provides the local element IDs when the element is monitoring. (Inherited from Element ) |
![]() | GetOrderedParameters | Gets the parameters associated to the element in order. (Inherited from Element ) |
![]() | GetParameter | Retrieves a parameter from the element given identifier. (Inherited from Element ) |
![]() | GetParameterFormatOptions | Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists. (Inherited from Element ) |
![]() | GetParameters | Retrieves the parameters from the element via the given name. (Inherited from Element ) |
![]() | GetPhaseStatus | Gets the status of a given element in the input phase (Inherited from Element ) |
![]() | GetSubelements | Returns the collection of element subelements. (Inherited from Element ) |
![]() | GetSunrise | Identifies the sunrise time for the SunAndShadowSettings element at its current location and indicated date. |
![]() | GetSunset | Identifies the sunset time for the SunAndShadowSettings element at its current location and indicated date. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object ) |
![]() ![]() | GetTypeId | Returns the identifier of this element's type. (Inherited from Element ) |
![]() | GetValidTypes | Obtains a set of types that are valid for this element. (Inherited from Element ) |
![]() | HasPhases | Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId. (Inherited from Element ) |
![]() | IsAfterStartDateAndTime | Checks whether the end date and time is valid. |
![]() | IsBeforeEndDateAndTime | Checks whether the start date and time is valid. |
![]() | IsCreatedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) |
![]() | IsDemolishedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) |
![]() | IsExternalFileReference | Determines whether this Element represents an external file. (Inherited from Element ) |
![]() | IsFrameValid | Checks whether the frame is valid for the supplied SunAndShadowSettings. |
![]() | IsGroundPlaneLevelValid | Checks whether the element represents a valid Ground Plane level. |
![]() | IsHidden | Identifies if the element has been permanently hidden in the view. (Inherited from Element ) |
![]() | IsMonitoringLinkElement | Indicate whether an element is monitoring any elements in any linked models. (Inherited from Element ) |
![]() | IsMonitoringLocalElement | Indicate whether an element is monitoring other local elements. (Inherited from Element ) |
![]() | IsPhaseCreatedValid | Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element. (Inherited from Element ) |
![]() | IsPhaseDemolishedValid | Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element. (Inherited from Element ) |
![]() | IsTimeIntervalValid | Checks whether the time interval is valid for the SunAndShadowType. |
![]() | IsValidType(ElementId) | Checks if given type is valid for this element. (Inherited from Element ) |
![]() | LookupParameter | Attempts to find a parameter on the element which has the given name. (Inherited from Element ) |
![]() | RefersToExternalResourceReference | Determines whether this Element uses external resources associated with a specified external resource type. (Inherited from Element ) |
![]() | RefersToExternalResourceReferences | Determines whether this Element uses external resources. (Inherited from Element ) |
![]() | SetEntity | Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten. (Inherited from Element ) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object ) |

The SunAndShadowSettings element represents the settings applied to a project or view regarding the position, dates, time intervals and other options for the sun control and solar studies. To differentiate between the project and view settings, test the ViewSpecific or OwnerViewId property. If the element is not view-specific this element represents a project-wide setting. If the element is associated to a view, this element represents a per view SunAndShadowSettings. When you create a new view, a new view-specific SunAndShadowSettings element is automatically created for it.

SunAndShadowSettings sunSettings = view.SunAndShadowSettings; // get current settings from view
// modify Sun and Shadow Settings
DateTime sunrise = sunSettings.GetSunrise(DateTime.SpecifyKind(new DateTime(2011, 4, 20), DateTimeKind.Local)); // sunrise on April 20, 2011
DateTime sunset = sunSettings.GetSunset(DateTime.SpecifyKind(new DateTime(2011, 4, 22), DateTimeKind.Local)); // sunset on April 22, 2011
sunSettings.SunAndShadowType = SunAndShadowType.MultiDayStudy;
sunSettings.StartDateAndTime = sunrise.AddHours(2); // start 2 hours after sunrise on April 20, 2011
sunSettings.EndDateAndTime = sunset.AddHours(-2); // end 2 hours before sunset on April 22, 2011
if (sunSettings.IsTimeIntervalValid(SunStudyTimeInterval.Hour)) // check that this interval is valid for this SunAndShadowType
sunSettings.TimeInterval = SunStudyTimeInterval.Hour;
// check for validity of start and end times
if (!(sunSettings.IsAfterStartDateAndTime(sunSettings.EndDateAndTime)
&& sunSettings.IsBeforeEndDateAndTime(sunSettings.StartDateAndTime)))
TaskDialog.Show("Error", "Start and End dates are invalid");
view.get_Parameter(BuiltInParameter.VIEW_GRAPH_SUN_PATH).Set(1); // turn on display of the sun path
