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.484.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