I had last week off and terminated it with a nice ski tour climbing the Albristhorn:
Here are some topics to get going again:
- Reorg and Octo
- The Future of Making Things, Iot, Forge and more
- Forge and the DevCon in SF
- T4 – Top Twelve TED Topics
- RDBLink and Exporting data from Revit
- Revit QRCode generator
- Controlling custom exporter geometry quality
Autodesk restructured the week before I left.
Luckily, I survived that.
My colleague Kean Walmsley switched to OCTO, the Office of the CTO, which is a very nice career move.
Congratulations on that, Kean!
The changes did affect several others of my closer colleagues, though.
Good luck to them in their new projects!
A lot of Kean's AutoCAD.NET discussions are also valid for Revit, by the way, such as these recent ones:
- Disabling the AutoCAD ribbon using .NET
- Disabling AutoCAD’s complete UI using .NET
- Securing your AutoCAD app using .NET
The latter one highlights the Entitlement API, which was also covered in the past specifically for Revit and Exchange Store Apps by Mikako Harada and Daniel Du, who now also left the company:
Talking about restructuring and so on:
Restructuring and reorienting to take advantage of new opportunities and technologies is not just something we face within Autodesk – of course all other fellow developers do so too, including, probably (hopefully!), you.
In order to get a handle on the Autodesk view of things and a number of important hints for the developer community, I published my notes from Jim Quanci's presentation on The Future of Making Things, Iot, Forge and More.
Jim presents an exciting, visionary, yet down-to earth and practical guide for the developer community today.
The main topic is how design, engineering, making and operating are changing – changes that effect all of us – the tool makers.
I like it so much that I also showed it at the BIM Programming conference in Madrid.
I hope you find it interesting too!
Carrying on from the future of making things, let's look at Forge.
The Forge DevCon developer conference registration being held at Fort Mason in San Francisco on June 15-16, 2016 is now open.
Forge and the conference address the technologies being used to create the Future of Making Things, such as Virtual and Augmented Reality, BIM, Computational Design, ERP, PLM, Internet of Things, 3D Printing, Digital Fabrication, Fusion 360, web-based 2D and 3D design visualization, etc.
You can save a lot of money be registering and booking your hotel early.
You might also want to come early for the conference, stay late, e.g., to take advantage of the opportunity to participate in cloud and web technology Meetups on June 13-14 that can only be found in Northern California and to participate in the Computational Design & Digital Fabrication or the Forge Cloud Accelerator at Autodesk June 20-24.
If you have any questions, please reach out to us at email@example.com.
Forge is Autodesk’s Cloud based design and engineering app platform of the future (and now) connecting people that Design, Make and Use. Visit forge.autodesk.com for more information.
While we are on the topic of future oriented technologies, you should not miss this personal selection by Bill Gross of his top twelve things learned at TED 2016.
The last three items are of special interest to us designers and developers:
- 10 – Desire Paths and Low Friction in Design
- 11 – Deep Learning and a self-driving-car
- 12 – Virtual Reality (VR) and Augmented Reality (AR)
Now for some pure Revit API oriented topics as well.
An obvious and frequently asked question is how to export data from Revit.
Question: Is there a way to get all information regarding a model or project in a transferable format?
I have heard of ODBC links and DBLink, but I'm looking for an API enabled way to get data and then push it into a secondary system.
JSON, CSV, XML I can work with any format and do any of the necessary scrubbing and ETL leg work.
Question 2: I want to create a desktop application that can export RVT data to a SQLServer.
Question 3: We are building a plugin in C# using API that exports project data to our SQL server. DBLink has been good so far but now we need to enhance and make it feature rich for our users.
Can you provide source code for DBLink please? If it's in open source, or guide us in right direction. Or some method in which we are able to transfer all the project data direct to our SQL server.
Basically what we are looking is a simple UI that users can export Revit project data into our SQL server; we are making certain reports based on this export.
Answer: First of all, good luck with this. It sounds like you've got quite a lot of work ahead of you.
I'd recommend taking a look at the source code for RevitLookup. It provides a good starting point for figuring out how to access the data for different kinds of elements. Unfortunately, you'll notice is that not all model data is accessible through the API.
The other addin you'll want to take a look at is the Revit DB Link addin. It's also from Autodesk and available to subscription customers for free. To automate the export, you may be able to use some sort of UI Automation. It may be able to export more data than what you'd normally be able to access through the API, but I suspect it would have the same limitations.
You may also want to take a look at programs like Codebook and Ideate BIMLink, which have some pretty powerful data import/export capabilities.
Here are some other relevant SDK samples and topics on The Building Coder:
- FireRating SDK sample
- Some of the Adn Xtra Labs
- ArchSample SDK sample
- RoomSchedule SDK sample
- The FireRatingCloud cloud based FireRating sample
- The entire Export category
Returning to the RDBLink sample mentioned above, its source code was originally provided as part of the Revit SDK, before it was promoted to an official subscription package.
Here is the last Revit SDK version of RDBLink for Revit 2010.
I have no idea how useful it might be to migrate it to Revit 2016.
It will show you all the principles, at least.
I find it much easier and more effective to export to a cloud-based NoSQL database rather than SQL, nowadays, though.
Finally, here are some pretty ancient articles discussing various uses of RDBLink:
- Integration with a Database or ERP System
- Adding a Column to RDBLink Export
- Retrieving Project Parameters
- Parameter Access and Scheduling
- Exporting Parameter Data to Excel, and Re-importing
- Survey and Project Base Point
Here is a really easy one:
In Fausto's own words, it utilises the power of a cloud based API for the QR Code generation and System.Net to retrieve the result to generate a QR code image with an embedded link that points to the material specs website page using the URL link that is located inside this family’s Type Properties.
The QR Code image can be used in a Label Schedule, Title block or inside a detail sheet:
Here is a screen snapshot of the scanned QR code on a smartphone:
Thank you, Fausto, for making this available!
In case you had not noticed, the level of detail of tessellated surfaces generated by
the custom exporter can be controlled via the
LevelOfDetail property of the
ViewNode, of which an instance is received in the
OnViewBegin method of the
The level of detail can only be set for the entire view, not for individual elements.
It has to be so, because alternating LoD between elements would create discrepancies in tessellated meshes.
That is more than enough for today, isn't it?