A huge number of developers have requested a possibility to read or even write an RVT file without running Revit, similar to the possibility to read and write a DWG file without AutoCAD installed.
For the latter, one option that has been around for ages is to make use of the RealDWG library for reading and writing DWG files.
A more recent and future oriented option is provided by the cloud-based AutoCAD I/O web service.
Here is yet another variation on this query:
Question: Is there any way that I can read a Revit model without having Revit installed on the users machine?
I'm thinking something similar to RealDWG for AutoCAD?
The closest I was able to find is your discussion of Open Revit OLE Storage.
However, I got the impression that this provides very limited and that it would not enable to extract, say, specific wall properties.
Answer: Yes, the method that you refer to is extremely limited in the scope of information that can be accessed.
It is based on OLE structured storage, COM Structured Storage and the Compound File Binary Format.
One additional aspect of the structure storage format is that it also enables access to so-called custom file properties on RVT and RFA files, since they are standard Windows properties stored there.
Here is another recent short overview on programmatically generating Revit family RFA files.
There is a little bit more data that can indeed be accessed from family definition RFA files without running Revit using the
Regarding the question you raise on full access to the RVT file contents without a Revit session up and running, we recently published a request for wishes concerning that area:
If you have a serious need and a clear vision of what you would like to see, please contact Jim Quanci and let him know.
It will be much appreciated.
This question was raised again shortly afterwards in the Revit API discussion forum thread on accessing Revit data without opening Revit:
Question: How can I access Revit information without opening the Revit application, e.g. from an external application such as content studio?
I would like to explore some parameters without opening the application. I know this kind of thread has been created few times but I discovered that Content Studio can do this. Does anyone know how to deal with this?
Answer: I assume you are referring to the Revit Content Studio application by Content Studio Limited?
Just as you already noted, this question has been discussed repeatedly in the past, e.g., in the Revit API discussion forum thread on Revit API code without user interaction in application.
In general, as noted in both there and in the summary above, it is not possible to access Revit data or make any use whatsoever of the Revit API from outside of Revit.
Moreover, you need to be in a valid Revit API context to make any Revit API calls.
A valid Revit API context is only available within call back functions, i.e. event handlers that are actively called by Revit after registering to the corresponding API events.
This is described in detail in numerous discussions in The Building Coder topic group on Idling and External Events for Modeless Access and Driving Revit from Outside.
I assume that the information provided by Content Studio is accessible through the OLE and COM Structured Storage of the RVT and RFA file formats and the part atom functionality and the
ExtractPartAtomFromFamilyFile method provided by the Revit API and described above.
Oh, and before signing off, here is another thought-provoking idea:
Check out this Rural Studio architectural project to build a house that costs just $20,000 – but it’s nicer than yours.
Look at their list of beautiful low-budget 5th year architecture projects.
I bet they made many people very happy with those!