10th March 2025
 · 
8 min read
Tagged: consulting · design · design studio · philosophy · software · virtimachi

Keyshot For Solidworks: A Retrospective

How to Import Meshes and Make Better Decisions for Self-Reliance

As strange as this sounds, I bought Keyshot almost on impulse.

CAD rendering for Industrial Design was a fairly nascent portion of the design process when I started ID professionally. Back then, aside from Solidwork's Photoworks, I think Cinema4D was what I occasionally used - only because that's what the company I worked for had. By the time Hypershot hit the scene I was already a senior designer and not long after I was having others on my team, who were much more capable than I, run our product renderings for me. And so on this went until I set out on my own.

Even then I didn't really have a strong notion I would need to do a huge amount of product visualisation. It was almost on a whim that I thought, "Welp, there's nobody here to do renderings for me now, maybe I should learn Keyshot".

This was very close to the time Keyshot had launched Keyshot for Solidworks Edition in their line up (2021). I remember thinking then how much cheaper this version was compared to the full Pro version. I can't remember the exact numbers, but it was something like half the cost. The only caveat was that it was extremely limited to what files it would import. Basically only Solidworks files, STEP, and Parasolid.

I was sceptical enough that I had the sales person verify Keyshot for Solidworks would open some mesh bone models saved as SLDPRT files. I figured as long as I could open bone models, I'd be golden. With that, and when coupled with an EOFY sale, I got a screaming deal on a license. Interestingly, Keyshot for Solidworks didn't last long in the product lineup. Likely due to being financially non-viable.

Galaxy Brain Move

It turns out that investing in Keyshot and getting competent at it was one of the smartest decisions I'd made. I think it paid for itself within the first three months. By now, especially because I opted not to keep paying the maintenance* and am thus stuck on Keyshot 10.2, Keyshot has probably paid for itself several dozen times over.

More than that, however, I've come to learn that product visualisation is a core component of the work I do. In the medtech startup space visual communication is critical to the success of a project. Being able to work with a client to develop a concept and then create high-fidelity images that make their dream vividly clear adds a lot of value. It allows founders, employees, granting bodies, would-be investors, and collaborators to quickly and easily understand what the end goal is.

I wouldn't claim to be the best at product visualisation. But I'm certainly good enough to help my clients win friends and influence people.

Smooth Brain Move

In retrospect I should have just ponied up for the full Pro version. I didn't because at the time I didn't know how much I would use it, nor would I know how many other kinds of files I'd want to handle with it. At that time, I could only see myself doing more orthopaedic stuff which all came out of Solidworks, even the bone models. And as a fledgling design consultant, a penny saved was a penny earned.

I could never have envisioned that I'd need to be handling files from Rhino and Blender. One thing I've found myself doing a bit of now is buying rigged Blender models and using them as props in my renderings. Hands, bodies, faces, etc. The problem, which might be obvious, is with Keyshot for Solidworks there's no direct way to take a model from Blender and go straight to Keyshot. I have to go through Solidworks. However, because Blender is mesh based, and Solidworks is exceedingly bad at handling meshes, it makes the workflow very tedious indeed. It sounds dumb saying it out loud; mesh-based models, loaded into parametric CAD, so I can load it into mesh-based rendering software.

Self-Reliance

While this kind of short-sightedness isn't in any way a dealbreaker, it's interesting to reflect on how I could have avoided painting myself into this corner.

One thing I talk about a lot to young designers is building self-reliance. I think because I've been burnt myself by being overly reliant on others, I've become a strong advocate for being capable of doing things yourself. It's not easy and it's not cheap to become self-reliant, but the autonomy and control it brings can be liberating. Buying Keyshot for Solidworks gave me the capability to create product visualisations myself, buying Keyshot Pro might have realised that capability to its fullest.

Perhaps how to look at every such decision point is by asking your/myself the question; "How might I maximise potential future opportunity, and can I afford that investment right now?". The $2000 (or whatever it was) I saved at the time is trivial compared to the extra faffing I have to do now.

Where There's a Will

I have figured out a decent Blender-Solidworks-Keyshot workflow though. It seems to work reliably, and because I couldn't find anything online when trying to solve the issues myself, I thought I'd do a quick rundown here. I realise this is for the seven people still using Keyshot for Solidworks, and if that's not you, feel free to stop reading here.

Let's get into it.

Blender Setup

This is the model I'll use for demo. I obviously won't go into detail in how Blender works. I will just say that Blender models do usually look great straight off the bat, so it's easy to get your expectations up for the result you'll end up with. That used to lead to some level of disappointment, but as I said I seem to have figured it out.

All these images are full-size screenshots, so if you want to get a better look, just open the image in a new window.

If you right click on the model and select Shade Flat you'll see what the mesh looks like and how it will import into Solidworks, and thus Keyshot.

If you're worried Solidworks won't be able to handle the mesh count, you can add a Boolean modifier to the object you're planning to export to remove what you don't need in your rendering. this is generally a good idea to speed up importing the file into Solidworks.

Note: I did try doing some remeshing in Blender to reduce the mesh size, but with the Keyshot trickery below I ultimately found it unnecessary. I also found that depending on the detail of the original file, a remesh would often obliterate some of it. It also makes it extremely difficult for Solidworks to load, and the file size becomes enormous.

Blender Export for Solidworks Import

Make sure you have the object/s selected and export the file as OBJ.

Ensure you have Selection Only, Normals (though I'm not sure this helps), and Apply Modifiers checked.

Load the file into Solidworks. How long this takes will depend on the number of triangles.

Once it's loaded just save it and get outta there.

Keyshot Trickery

Import the model into Keyshot. Either into a new scene or one that has existing parts in it, it doesn't matter. What does matter is making sure Cached tessellation from file is selected. Don't skip this detail, and below I'll show you why.

Once the model is loaded it renders flat because Solidworks destroys the normals data. Fortunately Keyshot, even Keyshot for Solidworks, has tools to fix this.

Select your imported mesh and select Edit Normals from the Geometry Tools drop down. Once the window loads, it'll show you the existing normals (ie. none) by the green lines extending perpendicular from the faces. You'll see on each of the vertices that there are multiple lines for each vertex. This means the edges of the faces are not tangent to each other and you get the flat look.

Select Calculate Vertex Normals. I've played a bit with changing Minimum Edge Angle, but usually 45deg is fine. If you have any areas of the model that change direction sharply, you may want to check the normals are converging in that region. If not, you may need to adjust this setting until they converge.

Ideally, every vertex now has a single green line. Check to make sure. It does help to turn off face normals.

Click Apply and you're done.

Of course, the result may not be perfect. You can see in the rendering at the top that there's still some mesh artifacts between the neck and the shoulder. But this is usually good enough for the work I do - especially once I add materials and textures.

Now here's a gotcha: If you had Calculate tessellation selected when you imported your mesh, this is something that can go wrong. You'll see that right in the middle of the forehead there are some vertices that are missing normals. No amount of tweaking of the Minimum Edge Angle will fix this.

And this is what it looks like when you edit the normals. Because some vertices are missing normals data, you still get these non-continuous face edges which, while better than looking flat, still don't look great.

As compared to the process I described above.

That's it. I hope this helps someone, like it could have helped me.

* Note: I'm not against paying maintenance, I just never saw the value in it. Still, now that Keyshot has moved to a subscription service I would have been stuck on whatever the last perpetual version was anyway. I'm unlikely to upgrade to a subscription seat of Keyshot either. Not that I think the monthly fee is unreasonable. The idea of being tied to software that I can't easily leave if the monthly fee does becomes unreasonable is not one I can support. I'll likely learn Blender for rendering if and when my current Keyshot version becomes unworkable.

ⓒ Lincoln Black 2024

Virmachi-Logo-White-Transparent

Virtimachi Pty Ltd

ABN 31 651 760 762

PO Box 7156 Kariong

NSW 2250 Australia