Teigha BIM
For the first time, CAD users will be able to access Revit model files independently from Revit. This was the motivation to open up Revit with the new API from Open Design Alliance:
Competitors want to interoperate with Revit files in a standalone solution through an independent organization. The only API currently available is based on dot.Net and requires a seat of Revit. Reads, displays, and writes RVT and RFA files, and works on Windows, Mac, Linux, and mobile.
As of January, there will be new license options: binary or source-code; fees to be determined. Get updates through the new Revit page on teigha.com.
Native Support for RVT and RFA Files
(RFA files are used for large models, while RVT is the native format of models.)
- Reads 2011 through 2017 formats, and writes back to 2017 format; for saving, older files must be converted to 2017
- General TfObject interface for all classes, custom read interface for 1600 classes, with work continuing on more classes
- Renders (in the sense of displaying in 3D) Revit geometry; for 2D data ODA uses its own format
- Revit has over 3800 classes (some of which have no data, 2700 have data) but all must be read
- ODA's API does full and partial loads of RFA and RVT files; Teigha Kernel is used to parse the database
- Converts Revit's 2D and 3D primitives: line, arc, ellipse, hermite spine, NURB spine, and cylindrical helix; polycurve and polymesh; plane, cone surface, cylinder surface, revolved surface, ruled surface, hermite surface, and shared surface; b-reps.
- Many Revit entities need to handled differently from DWG, and so the ODA had to adapt its API in those cases
- 3D displays include wireframe, hidden-line, shaded; line weights, line styles, materials,
- Teigha BIM displays 3D models in orthogonal and shaded, and does multi-view sheets; see figure below
- Also handles connectors, dimensions, rectangular clipping, and so on.
Future Plans
The ODA has the following plans for immediately improving its Teigha BIM:
- Custom read interfaces for all interfaces
- Improvements to rendering (display), such as support for all elements
- Converting 2011+ files to the latest version of RVT
- Initial version for creating elements
- Selections
Q&A
Q: What do you mean by "custom" read interface?
A: We have our own interface.
Q: One of the complaints I have from third-party developers is that Autodesk has not provided API access to all aspects of Revit, and some of it is poorly documented. Do you have as many API calls as Autodesk, or is your implementation complete?
A: We are reading all data in the files.
Q: Will it read IFC [industry foundation classes, used as the interchange format between BIM programs] files?
A: We concentrate on RVT files, which is huge. IFCs will have to wait. [Update:] No IFCs are used for reading or writing.
Q: How does the file open speed compare with Revit?
A: We are slower, but for complex drawings is quite good. The difference is about 2x slower.
Q: When will the binaries be available?
A: All binaries are available to BIM SIG members, and all members in January.
Q: Do you expect 100% write compatibility with Revit?
A: It reads all geometry and other data, rendering is not 100%. The writing function is still be implemented, as is the ability to save in earlier releases. The RVT format is quite complex, and so there is no byte-by-byte write interface. But customers can write their model data.
RFA files are Revit families - the equivalent of AutoCAD blocks and can be whatever size the family requires. RFA families are used inside the host RVT file and cannot be used alone.
Posted by: Kelly Janz | Sep 12, 2016 at 12:46 PM
It would be huge if the software could take AutoCAD entities (especially text and Mtext blocks with leaders) and translate them to true Revit entities. For firms with large existing libraries of details, the current best Revit practice is to redraw in Revit over top of the DWG link. Ditto for the standard CAD details that manufacturers offer on the web. Inserting the DWG and then exploding it is a nightmare. Even just linking the DWG into the RVT does not give 100% visual compatibility (specifically with text and polylines). Autodesk doesn't seem to care and the bumpy road between DWG and RVT does not seem to have improved significantly in the past 5 versions, so the road for a third party tool seems wide open at this point.
Posted by: Kelly Janz | Sep 12, 2016 at 12:58 PM
What about the precision problems? DWG is much more accurate than rvt. Also the design extents mismatch.
Posted by: dseah | Sep 13, 2016 at 11:56 PM
What the ODA is doing is a way to read and write Revit files. It is not a translator to and from DWG.
OTOH, PDF is not particularly accurate either, but it seems to do well enough in the CAD world.
Posted by: Ralph Grabowski | Sep 14, 2016 at 08:15 PM
"What the ODA is doing is a way to read and write Revit files. It is not a translator to and from DWG"
Interesting. So, the revit file will exist in the dwg editor built using Teigha tools... be edited by the dwg editing tools and NOT translate the revit file into dwg format?
If so, this seems a bit unwieldy. Most users would convert the revit file once and either XRef the Revit file in dwg format to avoid having to wait for the conversion every time; or convert and edit the revit elements in dwg.
PDF is a good comparison. You would only use PDFs as a graphic background. Apparently only single precision. It is not used as a primary source of information.
Apparently, revit won't display lines shorter than 1/32in. I suppose this is not a problem for a Teigha user in a dwg environment, but what happens when he saves to revit format? All those fine screw threads would disappear? Or would the dwg info be preserved in revit file for later use?
It would be interesting to see how this is handled.
Posted by: dseah | Sep 15, 2016 at 01:27 AM
It is up to ODA members to decide what they want to use the new Teigha BIM API (aka Revit API) for.
So far, the ODA has heard that they want to use it to run external programs that make use of the data stored in Revit files. Right now, these programs have to run inside Revit, which requires a Revit license.
Doing drawing translation between DWG and RVT is a possibility but not the #1 use-case.
Posted by: Ralph Grabowski | Sep 15, 2016 at 10:13 AM
I understand the need to be able to interact with Revit files but I don't understand why this is under the "Teigha BIM" label. To be BIM compliant in any way you have to be able to interact with a BIM model and that means .ifc or .ifcxml - Revit is just not relevant in this context.
Posted by: Simon | Feb 09, 2017 at 08:36 AM
My guess is that the ODA cannot use 'Revit' in the name (Autodesk has been very litigeous) and 'BIM' is recognizable to the people in our industry who need to know what Teigha BIM does.
Posted by: Ralph Grabowski | Feb 09, 2017 at 08:46 AM
Is that still applicable? Could anyone provide any information about how to access the binaries of rtv and rfa files? The http://teigha.com/ site is not currently working.
Posted by: Alexandros Bertzouanis | Sep 25, 2020 at 01:47 PM
The site to visit is www.opendesign.com
Posted by: Ralph Grabowski | Sep 25, 2020 at 03:45 PM
Dear Grabowski,
I received the following email after registering to your website.
I am looking for ways of reading or writing a Revit file formats.
Could you please provide any information regarding the above and if there is any documentation available?
Kind regards,
Alexandros
Alexandros BertzouanisComputation Specialist
From: Grabowski <grabowski@telus.net>
Sent: Friday, September 25, 2020 11:45 PM
To: reply-3P3N5JFXYNZI_6RZCG4D3UA2E@typepad.com <reply-3P3N5JFXYNZI_6RZCG4D3UA2E@typepad.com>
Subject: Re: [WorldCAD Access] Alexandros Bertzouanis submitted a comment to "Exclusive! Open Design Alliance opens up the Revit file format"
The site to visit is
https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.opendesign.com%2F&data=02%7C01%7Ca.bertzouanis%40wilkinsoneyre.com%7C42cb939d6c1545dae04108d861a4ba39%7C6e6695fadff64f71bf2a47daaa27d2da%7C0%7C1%7C637366707426015695&sdata=zFoh5QP4fpwInilzo1RUkB9L3%2BhCd%2BRhMzPjSYwynr8%3D&reserved=0
Posted by: Ralph Grabowski | Sep 27, 2020 at 08:00 AM