BuildIn3D is a new platform, yet the product and infrastructure is quite mature. Here is a short story

March 2017 – FLLCasts

We initially started with experimenting with 3D assembly instructions around 2017 as we needed them for the FLLCasts robotics platform (https://www.fllcasts.com).

FLLCasts is delivering instructions for robot build with LEGO, VEX, Tetrix, Raspberry PI. There we needed a way to visualize the assembly instructions in an easy to follow way and to track how students were using them.

We had a meeting in March 2017 that I can clearly remember. We were already delivering hundreds of robot building instructions to our subscribers and we were discussing ways of improving the PDF generation process. PDF, both then and now comes with a lot of limitations and we needed to show different rotations, different angles. In the discussion my initial proposal was to split the instructions into a stream of images and to have a sophisticated gallery that students could browse, because this was the infrastructure we were based on – it was generating images. As probably many great ideas happen, one of the colleagues, Aleks, proposed:

“Ok, if we are doing ‘a stream of images’ why not do it in 3D’.

There it started. March 2017 after a meeting we got highly enthusiastic about the prospects of delivering 3D assembly instructions. We’ve looked at 3D since the early 2010, but it was to immature and in an early stage. Now, we thought, it is a good time to try again.

June 2017 – first production robot 

3D on the web was established them. The problem with 3D is the fragmentation of the formats. There are many competing 3D formats and there is basically no way to safely convert from one format to another without losing much of the information. Most formats are also proprietary. So it took us some time to publish the first robot. 

Box Robot Two for LEGO Mindstorms Competitions

The robots did not look like this back then. They looked in a completely different way. Above you see the robots as they look today. They could even be embedded on external sites.

June 2017 – October 2018 – uploading robots

At FLLCasts we had a lot of robots and pretty solid infrastructure for authors to create new instructions. We had to migrate all this.

October 2018 – “can you handle 16,000 SolidWorks files”?

On third of October 2018 I decided it is time to have our first meeting with a client outside of our organization. They were impressed and they had a lot of questions and requirements. One requirement was – “We have 16,000 SolidWorks files. Can you handle them?”.

This was challenging. Quick answer was ‘No’. We have no idea how to do it, but we would get back to you.

SolidWorks is a standard in the industry. But the whole “open 3D format” is unfamiliar in this industry. You have ~50 formats and everybody is fighting for market share. We had nothing to do but to wait and research. The technology was just not there yet.

And then, suddenly SolidWorks 2019 comes out with some new exports to GLTF. GLTF 2.0 was just published in 2018 by the Khronos Group and probably we thought, probably this was the way to go. Quick research on GLTF and we found out this was our way to go.

October 2019 – February 2020 – Implement the Instructions Steps (IS) framework

We found a way to support SolidWorks files. We found a way to allow authors to develop animations in Blender, which is a popular open source product, and to show these animations in the browser.

The only problem was – we had to rewrite everything. October 2019- February 2020 we implemented the Instructions Steps (IS) framework that is an Event-driven framework for running plugins in browsers. With it we manage to decouple much of the logic for delivering the instructions and we are now running close to 100 plugins in a browser.

I made the decision for all JavaScript to be compiled with Google Closure Compiler. Best decision ever. Develop everything in vanilla js and have Google Closure Compiler compile it. We’ve now released 574 versions of the framework, sometimes 10-20 new versions a day and it’s been great.

In the meantime we continue uploading more and more robots to FLLCasts.

March 2020-September 2020

We are calling our AI powered server side framework for processing the instructions – Instructions Converter (IC). (you can’t make a more clear name). Well, we had to also re-implement this framework basically from scratch. We have a nice plug-in architecture to add new formats, logic and rules for conversion.

October 2020 – BuildIn3D

We were previously calling the platform 3dassemblyinstructions.com, but this name is way too long. Here comes BuildIn3D available at https://www.buildin3d.com.

We’ve managed to deliver some 50 million parts for FLLCasts and a couple of other clients. Let’s see if other industries are facing similar challenges and how could we address them with 3D assembly instructions.

Leave a Reply