View Template Include Setting

A quick note to highlight a solution shared by Teocomi to solve a longstanding question in
the Revit API discussion forum thread
on view template ‘include’:

Question: Does the Revit API provide any access to the view template ‘include’ settings defined by the check boxes in this form?

View template include checkboxes

Answer: I can get the ‘includes’ via viewTemplate.GetNonControlledTemplateParameterIds.

The method returns a list of parameter ids, and you can then use viewTemplate.Parameters to map them.

The same also works for setting them, cf. the following example:


  // Create a list so that I can use linq
  var viewparams = new List<Parameter>();
  foreach( Parameter p in viewTemplate.Parameters )
    viewparams.Add( p );
  // Get parameters by name (safety checks needed)
  var modelOverrideParam = viewparams
    .Where( p
      => p.Definition.Name == "V/G Overrides Model" )
    .First();
  var viewScaleParam = viewparams
    .Where( p
      => p.Definition.Name == "View Scale" )
    .First();
  // Set includes
  viewTemplate.SetNonControlledTemplateParameterIds(
    new List<ElementId> {
  modelOverrideParam.Id, viewScaleParam.Id } );

Thank you, Teocomi, for sharing this!


Comments

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading