Revit Ideas
Share ideas for future product features directly with the Revit team and collaborate on existing suggestions with your peers.
New Idea
0 Kudos

Some enhancements for this:

- The command self is cancelable, so the BeforeExecuted and Executed Events should also be cancelable

- Is should be possible to set the template file name in Executed, so the event will take this one to generate a new project from this,

- The command should be postable in PostCommand



- It should be possible to add the Executed Event in BeforeExecuted, like mentoined in Selective AddinCommandBinding blocking?




Remove 'Underlay Orientation' from View Templates

Status: Gathering Support
by Collaborator damo3 on ‎01-19-2017 03:08 AM - last edited on ‎01-19-2017 03:22 AM |

I have never understood it, why 'Underlay Orientation' is in the list to 'include' for view templates, but the Range: Base Level is not? I think Underlay Orientation should be removed from view templates completely. It makes no sense to be able to set an underlay, but a view template locks you out of setting to look up or down. To add insult to injury, when you activate Temporary View Properties underlay parameters are greyed out! (I have submitted this as a separate idea HERE). As it currently stands, everytime I create a plan view template, you have to remember to untick Underlay Orientation. Seems useless to be honest?


Whilst it crossed my mind to just include the Range to the view template to complete this, I would prefer underlays weren't part of view templates at all. 

Thanks for voting! 


API expose flags to DocumentOpening events

Status: Gathering Support
by Participant radu.gidei on ‎01-12-2017 05:52 AM - last edited on ‎01-12-2017 05:54 AM |

This idea is a follow-up to support CaseNo:12531673


What we are trying to do is intercept the user's command to open a document and check if the user had ticked "create new local" as an option.


  • If they had ticked it, nothing will happen
  • If they hadn't, we cancel/modify the open command so "create new local" is checked and finally issue a TaskDialog warning that they had forgotten to do so.

Checking the API documentation, it seems the DocumentOpeningEventArgs don't expose any of the OpenOptions settings that we are able to specify when starting a new OpenDocumentFile command, but only the document type and file path, as per documentation :


Please add access to the OpenOptions settings when using the pre-document opening events ?

This is a topic that has significant history dating back to posts of 2008:


Whilst the 2015 allows "OpenDocumentWithWorksets", which is step in the correct direction and when used with "OpenAndActivateDocument" permit strong internal document control within the API, this does not fulfill requirements to control a Revit application externally. It would be nice to see code for controlling an application (and running addins), which could be as simple as (in C#):


SignInOption sioUser = new SignInOptions();

sioUser.Username = "";

sioUser.Password = "Password!";



ApplicationLaunchErrorResults aleEnumErrorMessages = new ApplicationLaunchErrorResults();


Autodesk.Revit.Application appRevit = new Autodesk.Revit.Application(sioUser, out aleEnumErrorMessages);


if(aleEnumErrorMessages.IsSuccessful == true)


      //Do stuff with appRevit....

      Autodesk.Revit.DB.Document docRevit = OpenDocumentWithWorksets(appRevit, projectModelPath);

      //Launch addin....

      Autodesk.Revit.UI.Result resAddIn = appRevit.Addin.Run("RevitLookup");


API deletion handler

Status: Gathering Support
by Contributor chris.mckeown on ‎01-11-2017 04:21 PM

It would be nice to get more back than just the id. Ids are reusable. Knowing the category, family name and type name would go a long way.

API handle undo

Status: Gathering Support
by Contributor chris.mckeown on ‎01-11-2017 04:17 PM

API handle undo. At the moment there is no handler. If a user deletes an element, you can track that, up until the point they undo, you have it recorded as deleted, but the deletion was undone. If recording to a database, you can reconcile on sync or save, but this adds too much down time to a user.

0 Kudos

API Parameter type is it a Revit, Project, Shared, Family. Currently this is very hard to work out. It should be simple. A process of elimination gets allows you to work out which type a parameter is, but causes slow code. Across these types of parameters, a Name can be the same, and the instance/type, and the type i.e.


Parameter name - Parameter type - Instance/Type - Type

Mark - Revit - Type - Text

Mark - Project - Type - Text

Mark - Shared - Type - Text

Mark - Family - Type - Text




Parameter name - Parameter type - Instance/Type - Type

Mark - Revit - Type - Text

Mark - Project - Instance - Integer

Mark - Shared - Type - Text

Mark - Family - Instance - Number


The combinations are many, making it very hard to work out which parameter is which, displaying them in a list, and then getting the right one back and populating it.


Again this is all possible within the current realm of the API, but the overhead in checks is crazy.

0 Kudos

API Category Rename

Status: Gathering Support
by Contributor chris.mckeown on ‎01-11-2017 03:52 PM

API Category Rename

API Category Line Pattern access

Status: Gathering Support
by Contributor chris.mckeown on ‎01-11-2017 03:51 PM

API Category Line Pattern access. Get and set.

Fire Rating for doors

Status: Gathering Support
by Participant philip.rothey on ‎01-10-2017 09:08 AM

Fire Rating for doors should not be a Built-in Type Parameter. Our firm uses a Shared Instance Parameter. This minimizes the number of types of doors in the project and allows for more flexibility. Only problem now is we have two Fire Ratings which confuses users of which value to enter. Please allow more flexibility. 

why can a cheap games like rollercoaster tycoon do everything but revit can't

Status: Gathering Support
by Contributor mid on ‎01-10-2017 12:31 AM - last edited on ‎01-10-2017 12:41 AM |



The flexibility of everything could be so mutch better.


People can create a world in game engines ( gta, rollercoaster tycoon , ... ) and my computer crashes when creating a road in revit.



There are times that i just want to load my model in a world engine. let it rain and walk in the garden with my VR glasses.


Or create all the buildings of complete site and walk trough it and see how a train reacts with the infrastructure like in GTA.


You could think this is a stupid idea but it's sow hard everytime to do something out of the box.



Copy models between Revit Servers via the Revit Server REST API

Status: Gathering Support
by Contributor eric.anastas on ‎01-09-2017 06:06 PM - last edited on ‎01-09-2017 06:08 PM |

I would like to automate the process of copying models between Revit Servers. The Revit Server REST API is able to copy models between folders on the same server, but as far as I can tell it is not able to copy models between different servers. However, this is possible through the admin page, just not through the REST API.


This will also be essential for implementing Rewrite the Revit Server Administrator page for modern browsers

I've done quite a bit of searching on this topic and can't find a workaround.


It appears that when a project that was saved in an older version of Revit has the starting view set to <Last Viewed> (the default setting) if you use the API to upgrade and re-save a project in a later version of Revit, this information is lost and the next time the upgraded project is opened by a user in the newer version of Revit it reverts to a floor plan view.


This is at least true with the current release, Revit 2017.


Apparently this does NOT happen if upgrading the project manually using the Revit GUI.  It also appears that if, in the old project, the user had set the Starting View to a specific view, after upgrading with the API to the new version of Revit that specific view *is* still the starting view.


The problem only seems to appear when the Starting View had not been specifically selected by a user in the old project, and the API is used to upgrade the project to a new version.


It appears that once the API has upgraded the project in the new version of Revit, the information about whatever was last viewed is lost.  Also, we can not find a way to determine what that was so we could restore that information manually in code.  There seems to be no good workaround for this situation that we can find.



As such, I would like to submit a Wish List item to Autodesk to have the API upgrade process retain the <Last Viewed> view from the older version of Revit that saved the file being upgraded, and respect that as the starting view the next time the upgraded project is opened by a user.  


This requested update to the API would not *change* the Starting View to that view, the Starting View would still be set to <Last Viewed>, but it would simply no longer forget what the <Last Viewed> view was during upgrade via the API.


Thank you very much.

Revit scope box controle size with dynamo

Status: Gathering Support
by Explorer info on ‎01-04-2017 11:30 PM

I want to controle size and place with dynamo

according to manny expert and myself it is at this moment not possible to controle or change size and place off different scope boxes  with dynamo


it should be accisble by the  Revit API


greetings Nico

More information From GetDeletedElementIds()

Status: Gathering Support
by Enthusiast Ryan on ‎12-30-2016 07:24 AM - last edited on ‎12-30-2016 07:42 AM |


Just after creating this post because i didn't find anything on my initial search, I came across this Idea posted here:

 Provide more information about deleted element: Ideally a read-only copy.


So my post is just a duplicate request. Please ignore.


Old post:

Original thread is posted here,Re: Get UniqueId of deleted element within dynamic updater.


It basically states for the API to offer a little more information from the GetDeletedElementIds() method. Currently, doc.GetElement(id from method) will return null.


At the very least, GetDeletedElementIds() should offer the UniqueId of the deleted element for better external database maintenance. Since it isn't prone to change like ElementId is within a work-shared project. 



0 Kudos

When I use BasicFIleInfo.Extract() on a recent copy of a central file it returns a BasicFileInfo instances where IsCentral is true and IsLocal is false. However, a copy of a central file should be considered a local file. It seems that IsCentral and IsLocal do not change until the local file has been opened and saved by a user. 


Shouldn't any workshared file at a location other than CentralPath be considered a local file?


Here's an example output from BasicFile info. The target file is "Revit 2017 Sample - Copy.rvt", which is associated with the central model "Revit 2017 Sample.rvt". Yet the BasicFile info has IsLocal = false, and IsCentral = true.




Easily Duplicate Tasks

Status: Gathering Support
by Enthusiast rallanPJV59 on ‎12-20-2016 01:52 PM

Currently, they have fancy keyboards and mice out there that allow you to press a button (to activate this tool), do something like create a sheet, then press the button again to deactivate the tool.


This tool then remembers the exact key strokes you pressed, and will continue to duplicate those keystrokes as long as its the last saved command. This allows for quick placement of lots of things.


For example, we currently have families that require 2-3 different tags, then based on how many tags are needed for that item, some moving is needed of the tags to clean them up so there is no overlapping. Using my keystroke keyboard, I press the button to activate the tool and then: I place my family, tag it 2-3 times, move the tags to their correct positioning, then finish of by pressing the keystroke button again so it saves those commands.


Now when i go to place my next identical family, i just need to left-click with my mouse, and it automatically remembers all the keystrokes above. This then automatically places my family, tags, and moves tags to their correct position that I placed them in saving me a ton of time seeing as we can have up to 60-70 of these particular families in a given project.


This then leads to saving me LOADS of time throughout the year. If Revit had a button that remembered your keystrokes in the same way, im sure there are MANY different repetitive functions that can make use of such a function rather than spending 100-200$ on the required mouse/keyboard that does this.

0 Kudos

We are generating all our project files using Revit, but our deliverable are still requested as dwg format. Often the client does not dictate a layer naming or style standard, so what we need to generate is a .dwg file that looks exactly the same as our PDF's generated directly from Revit. Here's how we achieve it without any pain. (We ignore our old CAD standards, layers, line weight and linetypes and force Revit to make the CAD look the same)


We do not want to post edit our cad exports and there fore need the .dwg to look exactly the same as the PDF, this has not been an easy exercise and we spent a lot of time trying to map the layer names and style, here was a fast solution that gave us the output with no post editing!


Here's what we do...


Export Revit to .dwg

If you wish to export your Revit views to .dwg files and have them look the same as the Revit view for linewieghts, linetypes, fonts etc. them please follow these steps to get the best result.

From the application menu (The big 'R') select export, then dwg.

From the dialog, select the 3 dots next to the drop down for 'Select Export Setup'

Export Layer Options should be set to 'Export all properties BYLAYER, and create new layers for overrides'. This ensures of any elements have manual overrides, filters or other changes in the view to be exported the changes are retained.

We use AIA layers, but it's not important, just pick one that suits you.

Lines tab, pattern tab, text and fonts, ensure all are set to {Automatically generate ...}

Colors tab needs to be set to Trues colour if you want colours to map the same

Solids Tab, ACIS solids (Polymesh will result in 6 faces for a cubic solid, generating lots of additional lines that are not required. Also is a pain for anaylisis software,)

Units and Coordinates, we use shared basis.

General Tab, we select export rooms option, we hide scope boxes, reference planes and unreferenced tag, but leave 'Preserve coincident lines' unticked to ensure minimize duplicate lines.

If you are trying to map Revit exported views to a particular CAD layer name and style standard such as your Corporate standards, you will need to generate a mapping file.


Status: Gathering Support
by Contributor Nick.Curtis on ‎12-17-2016 10:49 AM
I know high quality splines are a long way off, but including POLYLINES in Revit's toolset would be a big improvement to core functionality. In Dynamo one frequently desires to reference a compound path. If Revit supported polylines, the user wouldn't have to draw multiple line segments, make a model group, then reference the group into dynamo and get group elements, then join the segments to form a polyline to work from. A combination of adaptive point type behavior would be of great benefit (3d snapping). Line endpoints could exist in the model independent of a workplane or with a much more liberal relationship to a WP. Allowing CLOSED polylines would be even better.

I'm starting to get my feet wet in Dynamo, and looking into using it to compare and/or enforce standards. Starting from the basics, I want to make sure that the Line Weights match... but what? I can't just pull out a bunch of lists?

Submit Your Ideas

Share and shape product ideas.

Submit an idea
Idea Guidelines

Please review our Idea guidelines and best practices before posting a new idea, or voting on an existing one!


Revit Exchange Apps

Created by the community for the community, Autodesk Exchange Apps for Revit helps you achieve greater speed, accuracy, and automation from concept to manufacturing.

Connect with Revit