The Revit API offers the ability to build a wide variety of customizations that drive the contents of projects, elements, and views. Typically the add-in covers the singular case where a single user is operating against the project. However, many projects are large and Revit software work is workshared, with multiple users editing and modifying the project simultaneously. It is important for Revit add-in developers to design their add-ins to play nicely in workshared environments. This can include ensuring elements are checked out before trying to modify them, updating and synchronizing changes with central, and opening documents correctly depending on the purpose of the add-in. This class focuses on techniques that can make a well-behaved and useful add-in in the workshared environment, with particular focus on new APIs that have been introduced in Revit 2014. It also covers the similarities and differences in techniques when dealing with server-based worksharing. Attendees should have knowledge of C# and Revit API. Prior experience with Revit worksharing is also helpful. Continue the conversation at DV3464-R: Making Revit® Add-ins That Cooperate with Worksharing: A Roundtable Session.
- Explain the basics of Revit worksharing techniques and terminology, especially features that affect add-in development
- Design a Revit add-in to work well in a workshared environment
- Determine the right way to open, read, and/or modify a workshared document for your purposes
- Describe how to deal with both file-based worksharing and server-based worksharing from your add-in
Scott is a Software Development Manager in the Revit® development team, focused on API and Interoperability. Since joining Autodesk in 2007, he has led a team working on the design, implementation and testing of the rapid expansion of the Revit® API.Scott has 15 years of experience producing Application Programming Interfaces for parametric 3D modeling systems in a variety of languages and styles. His primary focus has been to enable customers to automate repetitive tasks, extend the application user interface, and transfer data between the application and different data formats. Scott holds a Master of Computer Systems Engineering degree from Northeastern University with a concentration on CAD/CAM/CAE.