Jeremy Tammik blogging on the Revit API

JSON

February 01, 2019

I am working on extracting room and zone information from IFC files, both geometry and relationships, specifically room and zone boundaries and containment.
My new IfcSpaceZoneBoundaries add-in project retrieves this information, exports it to CSV and demonstrates a host of other important aspects
– What happens on linking in an IFC file?
– Read user configuration input settings from a file
– Log messages, warnings and errors to an output file
– Read the IFC properties stored as shared parameters
– Extract the horizontal boundary information from a DirectShape element
– Export the relevant data to CSV
– Programmatically link in an IFC file into a Revit RVT project
– Retrieve all currently linked-in IFC files from the Revit application...
Read more →

April 05, 2017

I completed a first revision of the ForgeFader project, bringing it up to par with RvtFader.
It is pretty cool seeing the same functionality implemented in two such different ways, on completely different platforms, using different tools.
Alan Seidel shared another exciting Revit add-in.
First and not least, another exciting topic for me personally is switching to half-time work
– Work half
– AKS Opener
– Video
– GitHub repository
– Why?
– Specific interest
– RvtFader
– ForgeFader...
Read more →

September 12, 2016

Last week, I worked with Kean Walmsley on his entry for the first global Autodesk Hackathon: a HoloLens-based tool for navigating low visibility environments, resulting in the new HoloGuide Autodesk Hackathon project. My modest contribution is the ExportWaypointsJson Revit add-in, an external application implementing the main command, exporting the waypoints, and a subsidiary option settings command, displaying a form, validating input and storing the user preferences. The main command simply prompts the user to pick a model line in the Revit project, traverses it, determines waypoints at predefined intervals and exports them to JSON for consumption by the HoloGuide visualisation...
Read more →

July 05, 2016

I am happy to say that I returned safe and sound to Switzerland from my travels for the Forge DevCon and Cloud Accelerator. Since then, I rounded off the hierarchical MEP system exporter to a JSON graph for interaction with it in the Forge viewer, worked on an update of the ADN JSON mesh exporter and helped my son Christopher getting started with C# scripting to drive audio effects for professional spatialized sound design for computer games
– More TraverseAllSystems updates
– CustomExporterAdnMeshJson updates
– ADN JSON Exporter Alternatives to View RVT in WebGL
– vA3C
– The Forge Viewer
– Getting started with Unity C# scripting
– Opendesk at Autodesk Forge Accelerator Barcelona...
Read more →

June 22, 2016

Yesterday, I presented the new TraverseAllSystems add-in to traverse all MEP system graphs and export their connected hierarchical structure to JSON and XML that I am helping the USC team with here at the San Francisco cloud accelerator. I continued with that today, and also integrated a minor enhancement to RevitLookup
– TraverseAllSystems updates
– Shared parameter creation
– Options
– Bottom-up JSON structure
– Top-down JSON structure
– TraversalTree JSON output generator
– TreeNode JSON output generator
– Download and to do
– RevitLookup updates...
Read more →

May 26, 2016

I completed the first running version of my roomedit3d project connecting BIM and the cloud demonstrating two cool possibilities to enhance interaction with the View and Data API
– A viewer extension enabling interactive model modification, i.e., translation of selected elements
– Real-time communication of the modification back to the source CAD system using a direct socket.io connection to broadcast from the web server to any number of desktop clients...
Read more →

April 27, 2016

Today, I address the first item in yesterday's to do list
– Document and improve FireRatingClient, the stand-alone Windows client – we will need this to demonstrate the real-time BIM update from arbitrary sources
– Context
– FireRatingClient
– Adding the modified Field
– Updating the modified Field on Edit
– FireRatingClient Live BIM Update Demo Recording
– Download
– To Do...
Read more →

April 07, 2016

Spring is getting into swing, and new life is budding.
I hope the same holds true for all your development efforts and visions of the future.
Not everything is budding into new life, though... part of existence is passing away, as well.
One of my dearest school classmates and closest friends of my youth, Prof. Dr. Lorenz Poellinger, unexpectedly passed on.
The two of us travelled together for several of months, climbing and hitchhiking...
Read more →

April 29, 2015

Today, I'll implement live real-time export of 3D geometry from a Revit add-in to a web-hosted WebGL viewer. This is an enhancement to the initial version exporting 3D element geometry to a WebGL viewer, which just generated data that I copied and pasted to hard-code it into the NodeWebGL viewer as a proof of concept. Meanwhile, I enhanced the WebGL viewer in various ways to prepare it for this real-time live connection, mainly by adding a REST API and support...
Read more →

April 08, 2015

Lots of stuff going on; I have a hard time keeping up. Due to popular request, I updated the RvtVa3c readme. I am continuing to answer issues on the Revit API discussion forum as well as ADN cases. I am struggling to find time for The 3D Web Coder... One ADN case that I answered fits in very nicely with a forum suggestion provided by Arnošt Löbel. Here are my topics for now: Duplicate add-in GUID Driving Revit from outside...
Read more →

October 29, 2014

We completed the Berlin hackathon last weekend, and many other noteworthy and exciting things are going on, concerning the Revit API, the 3D web viewers, web services and more: Berlin hackathon projects and winners Avoid unnecessary unit conversion 3D viewer news AutoCAD as a web service Collada STL ADVA export settings RvtVa3c update Berlin Hackathon Projects and Winners The Berlin hackathon completed and the winners were announced last weekend. I took notes of four teams' project presentations: US4, us four...
Read more →

October 21, 2014

Here is a summary of my notes from three presentations on the Autodesk View and Data API given by Cyrille Fauvel and Philippe Leefsma, in the two introductory workshops at HackZurich on Friday evening, October 10 and at HackaBxl in Brussels on October 17. Philippe also presented a very nice and absolutely minimal basic viewer sample in node.js demonstrating how to implement a private web service to obtain the authorisation token without exposing your key and secret in your JavaScript...
Read more →

October 20, 2014

Three topics for today: Brussels hackathon and PoiPointer View depth override Destination BIM contest Brussels Hackathon and PoiPointer I returned from the Hackathon Open Data Brussels that I mentioned last Friday, promoting the use of the huge amounts of open data, cf. this impressive list of available data sets. As said, I participated in the PoiPointer project, with a goal of implementing an app pointing out points of interest of various categories in Brussels, e.g. museums, cultural places, monuments, sculptures,...
Read more →

September 11, 2014

I had several cases recently discussing advanced Revit API exploration issues with experienced application developers new to the Revit API. Therefore, once again, the topic of available tools and their various uses came up. One important tool for me is the simple element lister, which is currently still part of the ADN Xtra labs, the precursor to the official ADN Revit API training labs. I had not yet migrated those to Revit 2015, so I now finally did so and...
Read more →

August 22, 2014

Along with our everyday workload, my colleagues and I are busy playing with the View and Data API and the powerful WebGL based viewer that is on the verge of release. Meanwhile, very significant progress has also been made on the public domain and open source vA3C three.js based AEC viewer. The Autodesk View and Data API WebGL Based Viewer I mentioned that I presented the Autodesk View and Data API and viewer technology at the July basel.js meetup. My...
Read more →

May 21, 2014

One of the RvtVa3c implementation aspects that I mentioned was the fact that we ran into some problems using the standard .NET Microsoft System.Runtime.Serialization.Json.DataContractJsonSerializer class and chose to replace it with the more reliable Json.NET component instead. Serialisation is required by our early decision to define and generate the three.js JSON file format by representing all the required objects, their properties and relationships by a set of C# classes. We instantiate and populate these classes in our custom exporter context...
Read more →

May 20, 2014

I am slowly getting back to normal working mode after the AEC Hackathon last weekend and the neat project that we worked on there, so I finally get around to publishing this post that I started working on last week. The only remaining issue is of a physical nature: my feet are still swollen after flying to New York on Friday, sitting and working non-stop at the Hackathon from Saturday morning until Sunday afternoon, standing for a couple of hours...
Read more →

May 19, 2014

When you read this, I will already be sitting on the plane back from New York to Switzerland. Before leaving, though, I wanted to add some more explanations on the extremely fruitful work we accomplished this weekend. I am very happy and grateful that we spontaneously formed such a wonderful team and worked together so enthusiastically, pleasantly and effectively. Most of all, I enjoyed the companionship, competence and professionality of my closest teammate Matt Mason of Imaginit Technologies. In the...
Read more →

May 18, 2014

The New York AEC Symposium and Hackathon is nearing its conclusion. The end and final result demos are scheduled for Sunday noon, coming up all too soon. A bunch of us have been working non-stop through the night since Saturday morning. It is now early Sunday morning, and coffee is eagerly awaited by all. I am participating in a pretty big project to implement a general-purpose 3D AEC model viewer. It is designed to consume models defined in three.js JSON...
Read more →

July 11, 2013

I mentioned my idea of implementing a custom exporter to JSON to drive Philippe Leefsma's online 3D WebGL viewer. Well, here it is. Muttenhorn Before getting to that, though, let me briefly mention that I went on a nice mountain with my friend Martin last Saturday, over the Gross Muttenhorn on the south side of the Furka pass. A glacier named Muttgletscher lies over its north-western flanks, and we crossed that on our ascent up to the west ridge. From...
Read more →

May 17, 2013

I more or less completed the research for my cloud-based round-trip 2D Revit model editing project. I'll describe some parts of that, and also address Three aspects of life and programming Room editor navigation Nested asynchronous database call-back functions Roomedit – my first GitHub project Debugging JavaScript with Firebug Screen snapshots on mobile devices Open source components used by Autodesk Retrieve slabs above specific walls Lazy, Simple and Perfect You will like the first slide of my upcoming tech summit...
Read more →

May 11, 2013

As you know, I format my source code to pretty short lines in order to avoid having them truncated by the narrow blog post view column. I also like to present the code colour coded, as it appears in Visual Studio and many other programmer editors, to make it more readable. For .NET code, I use CopySourceAsHtml inside of Visual Studio for that. I tried using other tools outside of Visual Studio instead in the past, including building my own,...
Read more →