IFC has no place in your Revit BIM workflow

by Guy Robinson 20. May 2010 12:40

Steve’s post on IFC and the comments that follow, mirror discussions I’ve had on IFC on numerous occasions. I’m going to be more blunt than Steve though ;-) . Don’t get me wrong, an open interoperability layer is vital for BIM but IFC is not the long term solution.  For archiving and satisfying jurisdictions that require an open solution, IFC is arguably the only solution currently, however even then it is an incomplete solution. Good luck opening a current generation IFC model in 20 years or the structural analysis.

Before I continue, I better state some caveats:

  • I don’t know what Autodesk think of IFC, although they were one of the originators of the project. I have had no discussions with the Factory on IFC support or plans.
  • What I believe to be the preferred long term solution for model communication is currently not a complete solution .
  • My main concern here is discussing data exchange during the design phase.

Why IFC is bad

The problem with IFC is it takes a lowest common dominator approach to BIM. So even though Revit has IFC certified importers and exporters there is invariably a loss of data fidelity.

IFC2

An example of this is the new ‘improved IFC’ plugins Graphisoft have written for ArchiCAD 14 to Revit Structure and MEP . Frankly, this shouldn’t be required if IFC was the solution for interoperability. Yes Autodesk could improve the IFC translators in Revit to improve the ArchiCAD experience. But then in lies the problem, every vendor who has an application that implements IFC has to account for subtle differences in implementation or mapping to their object models . This increases the amount of testing and development required for each and every IFC application that is utilising your IFC files. Not to mention the broken workflow.

The way forward

What is an open standard? I believe Autodesk’s idea of open is a freely available self documenting API as we have with Revit. The fact it’s not a complete API is really the problem. Were all vendors of BIM applications to commit to full open API’s for their applications we would be able to implement lossless interfaces to our 3rd party applications. While this may increase the amount of upfront development, by the use of well designed code libraries this can be minimised. It will have the benefit of significantly reducing testing requirements as well as providing the possibility of a richer user experience more suited to the host vendors application.

IFC

Full open API’s are inherently self testing, it would not be a lot of effort to test this for the major BIM vendors. Were 3rd party vendors to commit to open API’s as well, interesting mashups would result further increasing the rate of BIM innovation. Because open API’s are self documenting it allows vendors to innovate rapidly without having to worry about maintaining IFC compliance. This would significantly reduce testing.

Using the existing Revit API as an example, we are now starting to see the benefits of this open API approach. The new solar radiation technology preview for Revit 2011 is an excellent example of a fluid user experience in this case implemented within the Revit UI using the Revit API. Equally the API could be used for direct external communication of object data.

Archiving

Steve summed it up nicely:

“If we don't print stuff at some point in the future for archiving and just rely on it being available digitally everything will have to be saved/stored in some "neutral" format...not just BIM or CAD or doc files etc.”

I don’t see IFC as any more a guarantee for archived BIM projects than a closed Autodesk file format. And regardless of which file format, would a BIM project file be a true reflection of a buildings’ as built state in 20 years time? The only real solution for all data is to serialise it into a human readable format like XML. Entirely possible with a full open API.

A Revit user and don’t agree?

If you’re a Revit user and you don’t agree then you better start searching for an alternative because Revit is living proof IFC plays no role in a fluid BIM experience. Revit Structure and Revit MEP both use direct integration and 3rd party analysis via the API to provide a workflow than would never be possible via IFC. The new solar radiation technology preview for Revit 2011 is just the start. As the API develops we’ll see further examples of direct integration via the API providing an improved BIM and IPD experience over the IFC alternative.

Summary

  What will provide a vastly improved experience for architects and all those involved in building design is not better IFC tools from Autodesk and other vendors but a move by vendors to open and full API’s for their applications. And that goes for the 3rd party vendors as well. This would allow lossless data exchange and vastly improved BIM workflows.

So if you want to hassle Autodesk about anything, hassle them about the API and extending it to provide a lossless bi-directional pipe to 3rd party applications. If a vendor is moaning about IFC, tell them to look to the API instead. There is much missing in the current API around element configuration and element creation.

I see a full API as a win-win for Autodesk and end users. They get to concentrate on innovation without having to reveal and document their file formats or trying to convert to a lower common dominator file format such as IFC. The end user gets a framework for rich, interactive applications that will increasingly become required tools for BIM and IPD.

For project archiving, I don’t see IFC as anymore a guarantee than any other solution.  A move to vendor supported serialisation of project data along with the appropriate schema would seem to be the only real possibility for lossless rebuilding of projects in the future. Even then, would the model represent the current as built structure? With the current state of the Revit API a certain level of serialisation is possible now. With published schema that mirror the API it would be possible to write rich importers for future versions of Revit or any other BIM application.

In conclusion, while some vendors and countries are pushing IFC, BIM and in particular IPD is still in it’s infancy. A push for software vendors to provide full open API’s to their application would I believe, provide a win-win for vendors and users. So hassle Autodesk about the API and hassle your 3rd party software vendors about the API instead of IFC.

Comments (15) -

Piotr
Piotr New Zealand
5/24/2010 10:39:45 PM #

Agreed completely. All those "neutral" exchange formats give a false impression of existing interoperability but in fact cause more problems than it's worth. In my job I have struggled for years with steel design file exchange formats. DSTV, KISS, CIS/2 etc - never have any of them delivered on the promise of seamless data transfer.
Using an API instead yields much better results as can be seen in the data sync extension between Revit and ASD. The only problem I see with that solution is that the number of connections (plugins to be written) grows exponentially with a number of products that are meant to communicate. I hope I'm overlooking something obvious here.
Bentley, has come up with an idea that gets around this problem rather nicely with a technology that they call Integrated Structural Modeling [1]. They create a central "repository" that serves as native data store for all supported applications without any loss of data fidelity with an added functionality of version control. They also have a plugin for Revit that can export/import the data from the ISM repository.

[1] www.bentley.com/.../

Guy Robinson
Guy Robinson
5/24/2010 11:12:22 PM #

@Piotr,
Bentley's solution is the same as solution offered by Revit Structure. With regard to the number of plugins,with well designed code libraries I don't think this is an issue. And a lot easier to test than fighting file format mapping issues.
Cheers, Guy

Piotr
Piotr New Zealand
5/24/2010 11:44:19 PM #

@Guy
One thing better in Bentley's approach is that the central repository is product agnostic. No need for Revit to act as the central hub. Any two ISM enabled products can talk to each other through the ISM repository.

Guy Robinson
Guy Robinson
5/25/2010 12:10:23 AM #

@Piotr, better how? To use your example App1<->Bentley ISM<->App2 is the same as App1<->Revit API<->App2. It's just bentley's take on it.

If App1 or App2 isn't a modelling app then why use ISM just go App1<->App2? With ISM if one App is Revit then you're still better off going Revit(API)<->App2. Of course this isn't what Bentley want.

To me the Bentley approach is about trying to stay in the loop. Clearly if you have an openAPI and excellent integration as we're starting to see now in the Revit API you're avoiding the middle layer, in this case ISM. I suspect this is one reason why Bentley is pushing ISM and Graphisoft IFC.

Cheers,Guy

Piotr
Piotr New Zealand
5/25/2010 2:14:12 AM #

@Guy
Better for two reasons. First of all the price. The Structural Synchronizer or Structural Dashboard (I'm not sure what the their roles are) are free downloads. Secondly, learning curve. Learning Revit just to transfer data from one app to another seems a bit of an overkill.

Why go App1<->ISM<->App2? Because if you have App3, App4 and App5 you effectively have to support 5 plugins. Everything talks to ISM. If you would like to achieve that by direct links you would have to create at least 10 plugins, and with more apps it will grow further.

Of course those are not really technical issues. Nothing stops Autodesk from transforming Revit file into a all encompassing data container and releasing a cut down version of the interface to manage it. After all it is just a big database. To a certain extent that's what they are doing with Navisworks, except it's a bit more one way...

ISM shouldn't really be put in the same category as IFC, CIS/2 or STEP. It's not a dumb text file that selectively stores some parameters. ISM is actually preserving all the native data, managing revisions and solving conflicts. Or at least that's what they claim. I see the potential there but I'm a bit worried about adoption. These days if Autodesk doesn't embrace something it's pretty much dead anyway...

Danny
Danny United States
5/25/2010 2:29:12 AM #

Guy,

Several good points and several that need clarification.

XML
The IFC format is available in human-readable XML, that is if you can really 'read' it.  www.iai-tech.org/.../summary

"Open API"
Autodesk's Revit API is far from open.  It is a closed proprietary system that must run within Revit.  In order to be open, it should have established well documented standards, that can be improved upon by a group with open membership, without vendor-specific attachments that don't meet the standard.  The closest examples in the computer world are PDF and HTML.  Both open and well-documented.  Many don’t follow even these established standards, including Microsoft and Adobe.  Silverlight and Flash are competition for the standard and don’t make it easier for the user.  HTML5 improves the standard and can eliminate some of the features of (and need for) these alternatives.  The Library of Congress (our national library) still places zero faith in PDF as an archive format as they’re concerned about thousands of years of data compatibility.

The Data
The data standard does not need to be open, just shared easily.  CDMA for cell phones, JPG, TIFF are all standards that are owned by somebody and licensed.  This is the model that Autodesk should take with both the DWG format and the RVT format.  You want to create an editor for DWG files?  No problem, here's RealDWG, write your code against it and pay me a small fee based on usage.  We as an industry need RealRVT (the API as a library separate from Revit.exe), available for anybody for a small fee.  Create, edit, modify RVT files as much as you like.  Autodesk makes money and we get RVT files everywhere that are compliant.  If other vendors have an open API for their files and Autodesk have an open API for their files, there will still be vast interoperability issues.  A door in Revit is NOT the same thing as a door in ArchiCAD.  Why should I have to export anyway?

The Editor
The data should live on, and the editor should improve.  Nobody makes money selling PDF or HTML files, they make money with editors and consumers: Acrobat, Bluebeam, cutePDF, PDF995, IE, Firefox, Opera, etc.  The best one wins and makes the most money (in some cases).  Hopefully Autodesk makes the best RVT editor, but the user doesn’t really care who does it best.

What's it going to take?
1.  The API needs to be complete as you've alluded to.  Complete in one person's eyes may not be complete to another.  Even with a complete API, you can't store CNC milling information in a meaningful way in an RVT file.  So, you get a workaround: store the information in a generic parameter and we'll look for it there.  This is the real problem with IFC, why it's the "lowest common denominator", and why it doesn't work.  It will take forever for RVT to get there too, if ever.
2.  IFC (or RVT) should not be for interoperability, it should be the file format.  Or the database format if you like.
3.  The API needs to be free (or nearly free) and available to anybody anywhere to make IFC (or RVT) files.
4.  Progress should be very quick at a pace equal with innovation, an impossibility in the AEC world.
5.  With progress, continue to support old data.  AutoCAD 2011 (Release 25) STILL opens Release 2 drawings.

I still think we have a long way to go regardless of the path we take, but let's continue the dialog and continue to improve the options.  Autodesk's (and others) investment in IFC is not just about interoperability.

Guy Robinson
Guy Robinson
5/25/2010 3:16:19 AM #

@Piotr,
"Better for two reasons. First of all the price. "

The RevitAPI is free. You can download Revit for free to develop applications against the API. If you want more support, like most apps you join the developer network. So no real difference.

"Learning Revit just to transfer data from one app to another seems a bit of an overkill."

And ISM has no learning requirement? ISM seems to be a model store just as Revit could be considered to be. The only difference is ISM has no UI modelling application on top of it. I still see no difference or unique advantage over Revit API.

" Nothing stops Autodesk from transforming Revit file into a all encompassing data container and releasing a cut down version of the interface to manage it."

Why is it so important to have one all encompassing data format? The advantage of API's is no single format is necessary.

"ISM is actually preserving all the native data, managing revisions and solving conflicts. "

So, this is what revit does as well. It's just not exposed. Hence the API expansion request. Honestly, we're just going to have to disagree. For me ISM is just Bentley's attempt to try and get some data in something they own.

IMO they should concentrate on building better applications than trying to capture the backend in the name of 'open' or some other Anti-Autodesk justification. Having said that, I'm no Autodesk fanboy. There is quite a few areas I'd give them a swift kick in the backside over, but I strongly believe application API's are a considerably more powerful model for the future of BIM design than lowest common dominator file formats.

Good discussion though Piotr Wink

Piotr
Piotr New Zealand
5/25/2010 4:01:56 AM #

Honestly, we're just going to have to disagree.

I guess our milage mileage varies. You're looking from the developers point of view and I am biased by views of customers trying to juggle data between dozens of different applications.

For me ISM is just Bentley's attempt to try and get some data in something they own.

Yep, they are definitely trying to stay relevant in the Autodesk centric world. Good luck with that... Smile

Good discussion though

Likewise. Smile

Guy Robinson
Guy Robinson
5/25/2010 5:22:38 AM #

Hi Danny,

With regard to IFC-XML I'm aware of this. However, IMO it suffers the same issues it's just 'human readable'.

""Open API"
Autodesk's Revit API is far from open.  It is a closed proprietary system that must run within Revit.  <snip> HTML5 improves the standard and can eliminate some of the features of (and need for) these alternatives.  "


Open can be also be freely available. Really the only difference to standards such as HTML is the committee has a membership of one. And if you look at HTML every browser has different implementations and every web developer knows you have to test for each. So my arguments against IFC are much the same. HTML5 is no different, MS & Apple are promoting H264 for video because they own most of the patents, Google are the only ones going truely open. And so the testing requirement and open but not commonly implemented features of HTML implementation continues... Silverlight and flash exist because the user experience is greater than the base HMTL experience allows. Again this mirrors my argument for the API.

The data standard does not need to be open, just shared easily.  <snip>  We as an industry need RealRVT (the API as a library separate from Revit.exe), available for anybody for a small fee.  

I agree, I'd go further I'd like to see Autodesk implement a dual license. Free as long as Application using API is opensource or internal with valid revit licenses. Commercial/closed source/ server application pay a fee.

If other vendors have an open API for their files and Autodesk have an open API for their files, there will still be vast interoperability issues.  A door in Revit is NOT the same thing as a door in ArchiCAD.  Why should I have to export anyway?

Precisely my point. I disagree on interoperability though. With 100% testable API's it's the closest we'd get and with the exception of edge cases we'd be able to get close a majority of the time.

The data should live on, and the editor should improve. <snip> Hopefully Autodesk makes the best RVT editor, but the user doesn’t really care who does it best.

I think you're wrong, precisely the reason Revit did succeed initially was the editor.  Just look at the Revit ribbon for evidence of the user caring. With regard to the model. I still have issues with the relevance of the model longterm. Look how point scanning is being used now to document as built condition for example.

What's it going to take?
1.  The API needs to be complete as you've alluded to.  Complete in one person's eyes may not be complete to another.  Even with a complete API, you can't store CNC milling information in a meaningful way in an RVT file.


Actually the beauty of the API as an interoperablity solution  is very easy to test. I'd argue CNC data shouldn't be stored in the Revit model anyway.

2.  IFC (or RVT) should not be for interoperability, it should be the file format.  Or the database format if you like.

Agree. Despite all the postering going on over IFC we're yet to see one major CAD system adopt IFC as their file format(For good reason). Use IFC at your peril is my advice.

3.  The API needs to be free (or nearly free) and available to anybody anywhere to make IFC (or RVT) files.

Agree, although as I said with 100% API support file formats become irrelevant.

4.  Progress should be very quick at a pace equal with innovation, an impossibility in the AEC world.

We've seen massive change in the Revit API, if Autodesk sorted themselves out they could be leading this effort.

5.  With progress, continue to support old data.  AutoCAD 2011 (Release 25) STILL opens Release 2 drawings.

Yes, although I still consider Revit too young and comparison with dumbCAD is not fair. Maintaining compatibility in the current development phase for Revit would be a HUGE ask.

I'll add a 6th point, Autodesk need to sort their middle management and direction. There are still worrying signs they don't get it in some areas IMO.

Good discussion, I knew this post would cause some debate Wink

Guy Robinson
Guy Robinson
5/25/2010 5:49:09 AM #

I guess our mileage varies. You're looking from the developers point of view and I am biased by views of customers trying to juggle data between dozens of different applications.
Not at all. I'm very much looking at this from the customers perspective. The fact customers have to resort to ISM says more about the current Revit API implementation than it does about ISM as a superior solution. Hence the request for a push towards greater API transparency rather than IFC implementation.

Danny
Danny United States
5/26/2010 2:29:41 AM #

I agree, I'd go further I'd like to see Autodesk implement a dual license. Free as long as Application using API is opensource or internal with valid revit licenses. Commercial/closed source/ server application pay a fee.
No need to go further, RealDWG is already that way.  AutoCAD and ReadDWG use the same ObjectDBX libraries to build DWGs.  You either buy AutoCAD and get a GUI and the API for 'free', or license RealDWG and roll your own DWGs.  Either way, 100% DWG compliant.

Precisely my point. I disagree on interoperability though. With 100% testable API's it's the closest we'd get and with the exception of edge cases we'd be able to get close a majority of the time
If Autodesk can't make Revit 2011 files compatible with Revit 2010 files, what makes you think that ArchiCAD and Revit can talk to each other properly?  While I don't believe we'll ever have a single file format, it would be nice if SketchUp, Revit, ArchiCAD, Trelligence, Rhino, Max, etc all opened the same file.  No need for interoperability.

I think you're wrong, precisely the reason Revit did succeed initially was the editor.
You're confusing the editor with the capabilities of the file format and the change engine (both of which are in the API).  If I wanted to build a Sketch editor that only had conceptual massing tools for designers, why shouldn't somebody be able to build that and sell it?  100% RVT compatible.

I'd argue CNC data shouldn't be stored in the Revit model anyway.
Data management issues aside, why not?  If you think of an 'RVT' as a lifecycle BIM document, EVERYTHING about that building should be in it.  If 20 years from now, I need to rebuild my curved entry canopy, send the model over to the fabricator and have him make another one EXACTLY like the original.  Today, we have to rely on the fabricator to keep that data, but he has no incentive to keep it, nor is he the owner of the result.  Also, as a multi-disciplinary document, many people will have their hands on a BIM adding data as they should.

I think your insistence on multiple file formats is the root of the issues with many of your statements.  It certainly supports your arguments for multiple APIs and against IFC.  However, just because an API exists, doesn't mean that companies will use it to build or interoperate with other file formats.  I can assure you that SketchUp doesn't use Autodesk APIs to build or read from DWG files, and that's where the problems of interoperability occur: SU's interpretation of a DWG file format.  Autodesk's failure to license RealDWG to competitors is the real problem.  Would SU use RealDWG if they could?  Surely they would.  Why waste time writing their own?

If I'm creating a new BIM tool, and a very-capable file format already exists with >50% market share with a 'free' complete API, why would I roll my own file format?  I could instantly have access to the change engine and a market willing to buy my solution because they KNOW it will work with technology they're already familiar with.

Autodesk is in the business of selling software 'boxes' and they need to get out of that mold by licensing their technology to whomever as well.  Unfortunately, their current model makes them huge sums of money and that's bad news for a common file format and an industry in desperate need of reducing interoperability issues.  I don't see multiple file formats and multiple APIs as the solution.  Is IFC what it could be?  Certainly not.  But that's another manifesto...

Guy Robinson
Guy Robinson
5/26/2010 5:42:28 AM #

No need to go further, RealDWG is already that way.  <snip>  Either way, 100% DWG compliant.
If it's opensource I want to be able to use Revit API's without buying Revit or paying a fee. You can't do that with RealDWG.
If Autodesk can't make Revit 2011 files compatible with Revit 2010 files, what makes you think that ArchiCAD and Revit can talk to each other properly?  
Revit is not dumb 2D CAD (DWG), backward compatibility is no small issue for Revit. I have considerably more confidence for Revit talking to ArchiCAD via API's than I do via IFC or other intermediate file formats.
While I don't believe we'll ever have a single file format, it would be nice if SketchUp, Revit, ArchiCAD, Trelligence, Rhino, Max, etc all opened the same file.  No need for interoperability
Why the fascination with file formats? Are you worried about google docs and their file format? It's about functionality and the user experience. Do you really think it's necessary for Trelligence to open a 500Mb revit file to do some room analysis? With API's you can cherry pick the data you want bi-directionally. I really don't care how Revit stores it's data as long as it works and provides the functionality I need to do the job.
You're confusing the editor with the capabilities of the file format and the change engine (both of which are in the API).
Not really, I don't care how Revit stores the data, certainly the change engine helps but fundamentally the Revit UI was very well designed (arguably until R2010).
If I wanted to build a Sketch editor that only had conceptual massing tools for designers, why shouldn't somebody be able to build that and sell it?
Because we'd end up with the same mess that is AutoCAD. Fragmentation of the Revit experience would be a disaster.
If you think of an 'RVT' as a lifecycle BIM document, EVERYTHING about that building should be in it.
Lifecycle for the data that defines the building model. Taking your example of CNC, CNC paths are defined based on the manufacturing process which may include the actual machine that's going to produce the component. I fail to see why it is necessary to store those for 20 years as long as the base geometry and it's relationships to the assembly are stored.

Another example, should you also store in the file the email conversation around why a particular structure decision was made? Quite possibly. But does it need to be in the .rvt file? No. As Steve said, maybe an overall data container is needed for all relevant BIM data.
I think your insistence on multiple file formats is the root of the issues with many of your statements.
No I don't care about file formats or how many, I care about accessing data reliably. By getting away from this fascination with file formats and concentrating on accessing data via API's I just believe we'd get the best of both worlds.
will use it to build or interoperate with other file formats.
They will if customers demand it. Which is my point.
Would SU use RealDWG if they could?  Surely they would.  Why waste time writing their own?
Maybe instead of worrying about DWG they and other competitors should worry more about innovating. Did Revit.com worry about DWG? No they just concentrated on building a better product for designing buildings. File formats are a smoke screen.
If I'm creating a new BIM tool, and a very-capable file format already exists with >50% market share with a 'free' complete API, why would I roll my own file format?  
Yeah you're right, they should never have tried to write Revit. Autodesk had >50% of the arch.CAD market so why innovate Wink
Autodesk is in the business of selling software 'boxes' and they need to get out of that mold by licensing their technology to whomever as well.
Yeah, and you can tell Steve Jobs the same...
  Unfortunately, their current model makes them huge sums of money and that's bad news for a common file format and an industry in desperate need of reducing interoperability issues.
Yeah well frankly the industry should have got behind Revit.com instead of trashing it and saying they didn't know what they were doing because they came from a Mech.Eng background. You reap what you sow... Wink
I don't see multiple file formats and multiple APIs as the solution.
I don't care about file formats and neither should the industry. It's all about data and it's accessibility. API's provide that solution. Competitors harping on about the 'closed' revit file formats have 2 options. Innovate and provide a better 'Revit' than Autodesk so they have to follow. Or opensource their file formats, forcing Autodesk to open their file formats. But isn't it funny how they don't want to do that Wink

Robin Capper
Robin Capper New Zealand
5/28/2010 7:16:57 AM #

I agree IFC cant be trusted. Even discounting multi-vendor projects I have had little success even between Autodesk's own products. This is not a complex file, see if you can see the difference...

http://rcd.typepad.com/rcd/2008/10/ifc-phooey.html

Dave Baldacchino
Dave Baldacchino United States
5/28/2010 11:48:19 PM #

Fascinating discussion. I'm no programmer but can relate to the above in this way (hope I don't end up blabbering!).

A file format to me is like a language. If what I care about is the knowledge (data) that a book can store and I am capabale of reading and writing in English, French, German, Italian and Maltese, I wouldn't care much about which language I use to write new or to read existing information. My choice will be probably based upon existing availability (not many books in Maltese) and on potential number of readers. However we all know that there are nuances between languages and some things might be better explained in one language vs. another. If I'm writing a romantic song, I'd be hard pressed to use German and might opt for French instead. That to me represents the capability of the Editor itself and not necessarily that of the file format. I'm pretty sure a docx file is not capable of describing/storing spline information, but that's not because the file format is bad. It's because the editor that produces it just doesn't know splines. A book is a knowledge container, like a digital file. What's contained in it is at the sole discretion of the Editor and the author. If the novel is bad, the language is not to blame. So I kinda understand Guy's point about the irrelevance of file format.

If my concern is data, as long as I can store it and retrieve it with 100% fidelity, I shouldn't care if it's "stored" as a series of carvings in stone or a pattern of some sort punched in cards (the file format). What I should be concerned about is that if App1 stored the height of a door as "Top of Frame" and App2 stores it as "Rough opening height", all that matters is that you can write a translator to connect those dots. If both apps write a unique file format, then it is quite obvious that App1 will not understand "Rough opening height" as it expects something else and vice versa (and oh, this is assuming all doors are orthogonal!). So should we spend time trying to reach an agreement on what to call this data (isn't that what IFC does?) and make sure all translators and importers use that religiously? And what if they don't? Or should we just make sure that we clearly know what every element is stored as and how to manipulate it (the API) and thus have the ability to write any piece of software imaginable by manipulating those interfaces?

APIs do raise another issue however. Revit's API changed quite a bit between 2010 and 2011 and I don't see how API's will ever be stable/consistent enough to reliably create translators which don't have to be changed and modified every year. This obviously bodes well for Guy and programmers in general ;) But for the AEC community/end user, it's not a comforting proposition. So even though I tend to agree that APIs are more robust to move data seamlessly, I just don't see how we can get to a point where we don't need constant adjustment. I suspect that a "file format" (ex: IFC) is assumed by many as more stable and doesn't need a lot of 3rd party adjustment, while APIs imply a lot of change and money expenditure to get the benefit out of them.

Guy Robinson
Guy Robinson
5/29/2010 1:11:06 AM #

Hi David,

Great points and analogy. With regard to the last paragraph I'll just say a few things Wink
My motivation for proposing the API as a preferred solution for interoperability are not in any way based on trying to generate work for myself.
Regardless of whether you think an open file format or open API's are the future, as long as BIM applications keep innovating there will be work updating applications to the latest version. More so with IFC as it will not be able to innovate at the same rate as commercial applications such as Revit.
In terms of financial cost of this maintenance, I don't see it being prohibitive. The 2010->2011 API changes were a one off change. With Revit 2012 the only major changes you will have to make to applications will be supporting new API's or addressing any bug fixes.

Pingbacks and trackbacks (2)+

Comments are closed

About the Author

A .NET software Developer providing custom applications and commands for architecture firms exclusively working with Autodesk Revit and integration with any associated applications. All from a little place north of Whitianga, New Zealand.

Page List

Disclaimer

I'm self employed so the opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway☺

© Copyright2008

Creative Commons License
Blog content is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

With the following exception. All code snippets, application and libraries are licensed under a a Apache License Version 2.0

Autodesk Revit®

Autodesk: Revit is a product that is wholly owned by Autodesk. Any reference to Revit,Revit API, Revit Architecture, Revit MEP or Revit Structure on this site is made acknowledging this ownership. Refer to Autodesk's own web site and product pages for specific trademark and copyright information. Autodesk represents a great many products and every attempt will be made to respect their ownership whenever one of these other products is mentioned on this site.