Reorg, FoMT, DevCon, TED, QR, Custom Exporter Quality

I had last week off and terminated it with a nice ski tour climbing the Albristhorn:

Skitour Albristhore

Here are some topics to get going again:

Reorg and Octo

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, in fact.

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:

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:

The Future of Making Things, Iot, Forge and More

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.

It was used as the introductory keynote presentation for all of our recent DevDay conferences and the recent four-day Autodesk Cloud Accelerator in Munich.

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!

Forge and the DevCon in SF

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.

Learn all about Forge DevCon and why to attend, and get your early bird discount by booking your ticket here.

If you have any questions, please reach out to us at (mailto:contact.forgedevcon@autodesk.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.

T4 – Top Twelve TED Topics

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:

RDBLink and Exporting data from Revit

Now for some pure Revit API oriented topics as well.

An obvious and frequently asked question is how to export data from Revit.

It came up again, prompted by an update to the ancient Revit API discussion forum thread on Revit Server REST API and Project Data Exporting and a new thread on support in exporting database:

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:

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.

More on this anon.

Finally, here are some pretty ancient articles discussing various uses of RDBLink:

Revit QRCode Generator

Here is a really easy one:

I'll simply point out this nice blog post by Fausto Mendez, Technology Manager at Corbins Electric, who presents a full implementation of a Revit QRCode Generator (^).

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:

QR Code image used in a Label Schedule

Here is a screen snapshot of the scanned QR code on a smartphone:

QR Code scanned on mobile device

Thank you, Fausto, for making this available!

Controlling the Quality of the Geometry on Custom Export

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 IExportContext interface.

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?

Happy?