Change view type of views

I’m trying to change the type value of views. For example Floor Plans can have custom types like ‘Part Plan’, ‘Detail Plan’, etc.

I can get values for existing view types but not write new values to views. There seems to be 2 problems.

The ‘Type’ parameter is read only, and it won’t accept a string value. I tried extracting the type value from an existing view to feed in but it still didn’t work.

Any clues or is it just not possible?

 

ChangeViewType01

Hi Antony,

It Would be better if you can show the complete graph to understand what exactly your facing problem.

 

Are you looking for something like this:

Untitled3

Yes, these are example view types, Part, Plan, sketch etc.:

I want to be able to place particular views on particular view types.

ChangeViewType02

 

 

 

 

 

Hi Antony,

To place particular views on particular view types it will be easy to do that from Revit itself. Its possible to do by Dynamo also you need to create shared parameter (text type) and put your view types on that see graph below.

Set

1 Like

Why would I want to put the value in a shared parameter? I have already made a graph to do that.

The issue is can Dynamo change the type name value of a view. The Grimshaw package has a node called ‘Change Family Type’ but it requires a Type Id, not a type name. So the type has to exist before anything can be changed to it. I suspect this node only works on loadable families (I can’t get it to work for views).

So my question is kind of general - can Dynamo actual change the type name of system elements?

Those are system based families. Its not possible to change that, those are read-only. See below screenshot

System Family

I can understand why Floor Plan would be read only as it is a built-in type. But what about custom types like ‘Part Plan’ or ‘Sketch’?

Hello, Antony,

 

Maybe You had found a solution to create views by view type? I have a same problem :confused:

You are limited to the view types that revit gives you, but as a work around add a new parameter and set this parameter to what you want for each view(working/internal/etc/etc). You can also set this via a view template.).

Then in your browser organisation you tell it to group by this parameter as a sub filter after view type.

1 Like