RenderingSettings Class


Represents the rendering settings for a 3d view.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 17.0.0.0 (17.0.1090.0)
Since: 2013

Syntax

C#
public class RenderingSettings : IDisposable
Visual Basic
Public Class RenderingSettings _
	Implements IDisposable
Visual C++
public ref class RenderingSettings : IDisposable

Examples

Copy C#
public void GetRenderingSettingsData(View3D view3D)
{
    RenderingSettings renderingSettings = view3D.GetRenderingSettings();

    // get print or screen resolution data
    if (renderingSettings.ResolutionTarget == ResolutionTarget.Printer) // for print resolution
    {
        PrinterResolution printResolution = renderingSettings.PrinterResolution;
        int resolutionValue = renderingSettings.ResolutionValue;
    }
    else    // for screen resolution
    {
        int resolutionValue = renderingSettings.ResolutionValue;
    }

    // Get the outline of the rendering region. 
    renderingSettings.UsesRegionRendering = true;
    Outline regionOutline = renderingSettings.GetRenderingRegionOutline();
    XYZ max = regionOutline.MaximumPoint;
    XYZ min = regionOutline.MinimumPoint;

    // get lighting information.
    renderingSettings.LightingSource = LightingSource.ExteriorSun; // set lighting scheme type
    // Please note that the sun setting has been exposed in View.SunAndShadowSettings property already.
    SunAndShadowSettings sunSettings = view3D.SunAndShadowSettings;

    // get the background setting data
    switch (renderingSettings.BackgroundStyle)
    {
        case BackgroundStyle.Color: // for color style
            ColorBackgroundSettings colorBKSettings = renderingSettings.GetBackgroundSettings() as ColorBackgroundSettings;
            Color bkColor = colorBKSettings.Color;
            break;
        case BackgroundStyle.Image: // for image style
            ImageBackgroundSettings imageBKSettings = renderingSettings.GetBackgroundSettings() as ImageBackgroundSettings;
            BackgroundImageFit imageFit = imageBKSettings.BackgroundImageFit;
            string filePath = imageBKSettings.FilePath;
            break;
        case BackgroundStyle.SkyCloudy: // for sky related styles
        case BackgroundStyle.SkyFewClouds:
        case BackgroundStyle.SkyNoClouds:
        case BackgroundStyle.SkyVeryCloudy:
        case BackgroundStyle.SkyVeryFewClouds:
            SkyBackgroundSettings skyBKSettings = renderingSettings.GetBackgroundSettings() as SkyBackgroundSettings;
            //float fHaze = skyBKSettings.Haze;
            break;
        default:
            throw new InvalidOperationException("Not expected background style");
    }

    // Get the rendering image exposure settings
    RenderingImageExposureSettings exposureSettings = renderingSettings.GetRenderingImageExposureSettings();
    double imageShadows = exposureSettings.Shadows;

    // Get the rendering quality settings
    RenderingQualitySettings qualitySettings = renderingSettings.GetRenderingQualitySettings();

    if (qualitySettings.RenderingQuality == RenderingQuality.Custom)
    {
       // The user can set the data only in custom quality
       qualitySettings.RenderDuration = RenderDuration.ByTime;
       qualitySettings.RenderTime = 10;
    }
    else
    {
       // RenderLevel property value is returned according to its rendering quality style.
       // For example, it returns 1.0 for Draft quality and returns 5.0 for Medium quality.
       // RenderDuration and RenderTime property values are always the same for non-custom quality.
       int renderLevels = qualitySettings.RenderLevel;
    }
}
Copy VB.NET
Public Sub GetRenderingSettingsData(view3D As View3D)
   Dim renderingSettings As RenderingSettings = view3D.GetRenderingSettings()

   ' get print or screen resolution data
   If renderingSettings.ResolutionTarget = ResolutionTarget.Printer Then
      ' for print resolution
      Dim printResolution As PrinterResolution = renderingSettings.PrinterResolution
      Dim resolutionValue As Integer = renderingSettings.ResolutionValue
   Else
      ' for screen resolution
      Dim resolutionValue As Integer = renderingSettings.ResolutionValue
   End If

   ' Get the outline of the rendering region. 
   renderingSettings.UsesRegionRendering = True
   Dim regionOutline As Outline = renderingSettings.GetRenderingRegionOutline()
   Dim max As XYZ = regionOutline.MaximumPoint
   Dim min As XYZ = regionOutline.MinimumPoint

   ' get lighting information.
   renderingSettings.LightingSource = LightingSource.ExteriorSun
   ' set lighting scheme type
   ' Please note that the sun setting has been exposed in View.SunAndShadowSettings property already.
   Dim sunSettings As SunAndShadowSettings = view3D.SunAndShadowSettings

   ' get the background setting data
   Select Case renderingSettings.BackgroundStyle
      Case BackgroundStyle.Color
         ' for color style
         Dim colorBKSettings As ColorBackgroundSettings = TryCast(renderingSettings.GetBackgroundSettings(), ColorBackgroundSettings)
         Dim bkColor As Color = colorBKSettings.Color
         Exit Select
      Case BackgroundStyle.Image
         ' for image style
         Dim imageBKSettings As ImageBackgroundSettings = TryCast(renderingSettings.GetBackgroundSettings(), ImageBackgroundSettings)
         Dim imageFit As BackgroundImageFit = imageBKSettings.BackgroundImageFit
         Dim filePath As String = imageBKSettings.FilePath
         Exit Select
         ' for sky related styles
      Case BackgroundStyle.SkyCloudy, BackgroundStyle.SkyFewClouds, BackgroundStyle.SkyNoClouds, BackgroundStyle.SkyVeryCloudy, BackgroundStyle.SkyVeryFewClouds
         Dim skyBKSettings As SkyBackgroundSettings = TryCast(renderingSettings.GetBackgroundSettings(), SkyBackgroundSettings)
              'Dim haze As Single = skyBKSettings.Haze
         Exit Select
      Case Else
         Throw New InvalidOperationException("Not expected background style")
   End Select

   ' Get the rendering image exposure settings
   Dim exposureSettings As RenderingImageExposureSettings = renderingSettings.GetRenderingImageExposureSettings()
      Dim imageShadows As Double = exposureSettings.[Shadows]


  ' Get the rendering quality settings
  Dim qualitySettings As RenderingQualitySettings = renderingSettings.GetRenderingQualitySettings()

  If qualitySettings.RenderingQuality = RenderingQuality.[Custom] Then
      ' The user can set the data only in custom quality
      qualitySettings.RenderDuration = RenderDuration.ByTime
      qualitySettings.RenderTime = 10
  Else
      ' RenderLevel property value is returned according to its rendering quality style.
      ' For example, it returns 1.0 for Draft quality and returns 5.0 for Medium quality.
      ' RenderDuration and RenderTime property values are always the same for non-custom quality.
      Dim renderLevels As Integer = qualitySettings.RenderLevel
  End If
End Sub

Inheritance Hierarchy

System Object
Autodesk.Revit.DB RenderingSettings

See Also

ArchiLabs

Stop fighting Revit automation.

Build repeatable BIM design and documentation workflows with scripts, data, and AI in one place, without wrestling brittle one-off automations.

Try ArchiLabs →