2022 Hackathon
Tech Soft 3D’s annual Hackathon is slowly but surely becoming a tradition within the company. The rules are simple, band together with your colleagues or participate solo and pick any project you like as long as you use one or more of Tech Soft 3D’s SDKs. We dedicate a whole day to the Hackathon, with everyone participating working across time zones, sharing their progress live on Slack, and enjoying the cliche pizza that traditionally accompanies such events. In the end, everyone gets to show off their work in front of the whole company, and a Jury picks three winners. In addition to bragging rights, the top projects get cash prices.
There was no overarching “theme”; instead, engineers could freely unleash their creativity. So let’s go through this year’s entries, starting with the first, second, and third place:
HOOPS Communicator was initially created as a “Viewer” for CAD data in the browser without the need for plug-ins. Around 2014 when Communicator 1.0 was released, that was pretty cutting-edge on its own. Over the years, though, we have realized that the workflows people want us to support on the web get more and more advanced. One of those advanced workflows is authoring and serialization, basically the ability to make changes on the client and serialize those back into the Stream Cache as you would in a traditional desktop application. The ability to push any model edits to the server and then generate an updated Stream Cache model with those changes was the topic our two engineers, Chris Pillion and Jeffrey Wheeler, picked for their project. This workflow addresses a real need expressed by some of our partners, and so it is no surprise that the Jury picked them as the winner.
Second place went to our relatively new CAE-focused colleagues Andres Rodriguez-Villa, Sebastian Florez, and Luis Salazar. They used VKI’s advanced meshing capabilities to convert images to meshes by following the contours of the picture. This algorithm isn’t just “cool” from a technical perspective but has real-world use cases. For instance, it can be used when performing modeling and simulation on microstructures coming from high-end microscopes often represented as images instead of 3D data.
The third place went to a project using HOOPS Exchange, Communicator, Visualize, and Publish. It implemented the automated generation of fly-throughs in an IFC model based on the new relationship information now accessible from our products. It performs the fly-through via the new animation capabilities, highlighting two new features added last year. This is a great project and collaboration between our consulting engineers, Peter Kane, Florian Maurice, and Isabelle de Galzain.
While there were no prizes for the rest of the Hackathon projects, they are still equally exciting and worth sharing:
Victor Trejo, a new engineer in our CAE group, learned from the challenge of being thrust into a company with many complex SDKs. Based on this experience, the goal of his Rust-based project was to write a “code generator” that allows a user new to our tools to pick a workflow with a series of clicks and multiple-choice questions. His application then automatically generates the required code for our toolkits. A great idea perfectly aligns with the current low-code trend of the industry.
The next project is based on an experimental Kinematics engine for HOOPS Communicator. It should find its way into our “Labs” soon and offers an easy way to create complex joint-based interactive animations. Many mechanical CAD models often include belts of various sizes and shapes, for instance, timing belts that drive the motion of an engine. Visualizing and animating those belts as part of the Kinematics engine was the topic of this project by yours truly.
There is no question that the structure of a model in HOOPS Exchange can get quite complex. This reflects that CAD data is quite diverse and often complicated. There are product occurrences related to other product occurrences, prototypes associated with parts, and representation items, with arrows denoting relationships pointing in all different directions. To make sense of this complexity in CAD, Alexandre Guiavarc’h, one of our HOOPS Exchange engineers, has developed a tool to visualize this structure in the browser using XSD. It is high praise and speaks to the usefulness of this project that this tool is already used internally by other engineers.
Sumit Kulkarni, one of our Product Owners, tackled a similar project. His focus was on visualizing the new IFC relationship data as a graph in the browser alongside the 3D model using D3. This is another helpful tool that makes complex IFC information more understandable.
Bitcoin, Blockchain, and NFTs. Some of you might cringe when hearing those buzz-words, but there is exciting technology behind those terms that is worth exploring. That is what Jonathan Girroir, our head of Technical Marketing, and Benjamin Palisse, one of our HOOPS Exchange engineers, have done by exploring how to get a CAD file created via Tech Soft 3D’s SDKs on the blockchain and explore the various technologies around it.
Frode Brandt, another engineer on the CAE team, created a screensaver that displays CAD and CAE models, an exciting example of using HOOPS Exchange in conjunction with the SDKs from Ceetron and VKI.
Similarly light-hearted was the project by Zachary Harvey, Harold Comere, Oren Radousky, all engineers on the HOOPS Communicator team, and Sarvpreet Sidhu, one of our SDET engineers. They built a maze generator in HOOPS Communicator, based on the iconic Windows 95 screensaver. All it was missing were some enemies to shoot.
Finally, Brad Fluhbacher, one of our Consulting Engineers, used his experience as the primary architect behind the very successful HOOPS Exchange C# Toolkit to develop a similar wrapper for JavaScript that could be used in Node.js or other frameworks that leverage JavaScript on the server. Brad could not finish it in a day, but it’s another exciting project with many real-world use-cases.
We were thrilled with the Hackathon results, project quality, and the enthusiasm of everyone who participated. We are currently exploring how to broaden the idea of a Hackathon to include our partners and everyone coding with our SDKs. Please let us know if you would be interested in participating in a similar event.