I mentioned a few MEP-specific enhancements in the Revit 2013 API. To recap, the enhancements include:
- Access to routing preferences, selection of pipe sizes, materials, fitting types, and the RoutingPreferenceTools SDK sample demonstrating its use
- Pipe and duct friction factors
- MEPSection base class for duct and pipe sections
- Viscosity and density at specified temperatures, new FluidType and enhanced FluidTemperature classes
- Read and write access to panel schedule spare circuit values
- Access to localized user-visible display strings for enumeration values via new LabelUtils.GetLabelFor overloads
- ConnectorProfileType and PartType enumeration changes
- ConnectorElement changes in the family environment, and new static creation methods replacing the obsolete ones on the FamilyItemFactory class.
- A new ThermalProperties class, thermal material assets, thermal information in gbXML
- New calculation functionality and the external services framework
- MEP piping, system routing and centre line functionality
- A new Light and Light Group API
- ReferenceIntersector class
For more information on these and many other Revit API enhancements, please refer to the What's New section of the Revit API help file RevitAPI.chm.
Here are some additional notes on the external services framework:
External Services Framework
The new External Services framework wraps external service functionality, enabling certain services such as analysis or calculations to be encapsulated and replaced, providing a basis for future MEP calculations and structural code checking. The following excerpt from the Revit API help file RevitAPI.chm description of the new ExternalService class provides a pretty good idea of its use:
This is a base class from which SingleServerService and MultiServerService classes are inherited. It implements all basic methods, and the inherited classes add more specific methods. Use this base class to get information about a service and its servers, and the inherited classes to set or get active servers. Functionality:
- Add and remove a server to and from a service
- Query information about a service
- Access servers currently registered for a service
- Get and set active server (or servers) for a service
Although the framework is in place and fully functional in Revit 2013, no in-house external services making use of external servers have yet been implemented. For this reason, no examples of this framework have yet been provided.
The next thing I intend to do regarding Revit MEP is migrate my trusty old AdnRme sample and MEP sample code for Revit 2012 to Revit 2013.