Dreaming of a SOLIDWORKS PDM Virtual Vault Museum
I have been working in design/CAD for 16 years using SOLIDWORKS software. Over those years I have been part of teams designing a wide variety of products including digital hard disc recorders for the music industry, luxury yachts, brewery equipment, playgrounds, and pulleys for the mining industry. I also worked as an application engineer for a SOLIDWORKS reseller. In 2003, I decided to start programming with Visual Studio and SOLIDWORKS API. This was a career changing decision and although it was hard work, I found the challenge very satisfying. While learning SOLIDWORKS API, PartDoc, AssemblyDoc, DrawingDoc, and how ModelDoc encompasses it all, I was able to learn more about how SOLIDWORKS really works under the hood. If anyone is interested in programming with SOLIDWORKS, I recommend starting with SOLIDWORKS API, VB.net and VBA Macro’s. I switched from using Windows Forms applications to WPF in MVVM style programming. I work with SQL server to store data. I later made an easy transition from VB.net to C#, and learned C# Mono development for Unity3D. I have since specialized in automation software with SOLIDWORKS API, and designed custom applications similar to DriveWorks to perform some day to day tasks using a connection between SOLIDWORKS designs and a custom engineering database. My software updates dimensions, tolerances, notes, features, assembly components, and drawings, and allows me to work with a coffee in one hand and the mouse in the other, rarely touching the keyboard.
Like a lot of people, I enjoy playing video games. At the beginning of 2015, I stopped playing and decided to try creating my own video game. I began by downloading Unity3D Free Edition, a game engine for Windows, Mac, IOS, Android, and others. As SOLIDWORKS is my primary modeling software, combining SOLIDWORKS and Unity3D just made a lot of sense. I looked for a way to import my designs into Unity3D. Finding none, I started creating a program to bring SOLIDWORKS to Unity3D a reality. There were many hurdles along the way. There were 3 versions/methods overcoming Unity3D being mono 2.0 .net, and SOLIDWORKS being latest greatest .net 4.5. I am still amazed by the final result, the ability to get a full assembly structure into Unity3D and interact with it in a gaming environment. Among my earliest projects was a manual Lathe model that worked as a CNC machine, cutting shafts with turn down radiuses. The lathe could also be run manually as a 3D character in the environment.
One of my fun projects was a helicopter video game that could fly around a city. Also a foosball table that allowed for 4 people to play together over the internet.
The software has now progressed with the ability to use Substance Painter for coloring, and import SOLIDWORKS Motion/Animation right into Unity3D. With the combination of some Unity3D asset store add-ons and SOLIDWORKS imported models, I am able to simulate car physics, driving around my own models or ones I’ve downloaded. I’ve placed boats in scenes with simulated water physics to create stunning visuals. With Real-time reflection, lighting, shadows, physics, Unity3D is an amazing product to work with.
My focus has been mostly on SolidProjection importer (you must use Internet Explorer, FireFox, or Opera to view), but lately, I have been asked how this could help other SOLIDWORKS users. I envision exploring models stored in SOLIDWORKS PDM and walking through the vault like a museum, exploring past and current projects. I am able to visualize 3D experiences for customers, viewing models in virtual reality, interacting, and learning functionality. With the ability to load a lot of models, Unity3D could be used to view an entire project that would normally be worked on in pieces. An example is a yacht with structural, joinery, mechanical, piping, and electrical all loaded at once. The ability for checking interferences, spacing to fit new equipment, and getting an overall look at the finished product. This ability will be invaluable for a designer during the design process.
When I am not in front of my computer I enjoy hiking with my girlfriend. In 2007, I started a SOLIDWORKS Facebook group that has grown to 34,000 members. I enjoy answering questions and looking at many of the projects people have on the go. Follow me on Twitter to connect as well! The SOLIDWORKS community is enthusiastic and helpful to each other and I enjoy being a part of it!