Onshape...On Point at Getting into Shape

03 April 2017

You deserve strong friends,
they'll do the heavy lifting,
but at their leisure

I've been using Onshape since the beta (about 2 years ago now, I think), and while I'm sure there are plenty of other (more thorough) reviews online nowadays, I thought I'd chip in my two cents. I had originally picked up Onshape just to try out, then decided to adopt it more aggressively when the prospect of losing my Solidworks license through grad school became more and more real (yay graduation), and now I'm still using it exclusively for my side-projects at home. For my use cases, past and present, there were and still are many cons that go with the pros, but overall, I think Onshape is a solid, dependable, and incredibly accessible CAD option that should be sufficient for the the vast majority of basic design/CAD needs. Now, I certainly haven't exhaustively tried all of Onshape's features (not even close), so I can't say I've stress-tested all of its capabilities, but I'd argue that my applications have been more intensive than the average hobbyist, and I'm pretty confident that Onshape (to the extent that I used it) could've replaced Solidworks for all of my needs in graduate school.

Summary

In a nutshell, Onshape is basically Solidworks-lite in the browser, which isn't surprising given that it's founded by former Dassault employees. To get it to work in the browser, much of the processing/rendering requirements are fulfilled by remote servers instead of the local machine, allowing it to run (at least in a usable manner) on low-spec machines that shouldn't have any business running CAD. For me, this was the most intriguing aspect of the product. That said, it seems like the primary motivation in building Onshape for the web was to make collaboration and version control easier, making product data management (PDM) a more integrated experience. Aside from some basic testing, I can't speak much to that last point, but it certainly seems like a more fluid collaboration experience than any other option currently available.

The Awesome

For me, the ease of design sharing is my favorite aspect of Onshape. I was deep in the development of the Yale OpenHand Project and was having issues disseminating the designs. Screenshots weren't sufficient, and not everyone had access to Solidworks, and while we eventually settled on using Github to allow users to preview the STL's in 3D, the experience was lacking. It felt like no one could get a proper sense of our project until they actually built it. With Onshape on the other hand, you just need a browser to view and properly explore any part/assembly, and the mobile app meant that you could even show off designs on your phone. I actually took advantage of that in several of my onsite interviews to better discuss some of my past side projects. Maybe my age is showing, but I still remember back how excited I was as an undergrad when someone showed me that Solidworks had a viewer app that could run on netbooks, and now I can tweak CAD files through my phone while sitting on my bus commute to work. Crazy.

A (good) shock for me was when I found out that I could run Onshape fairly reliably on my Chromebox at home. Assemblies still struggled to load, but editing parts was certainly manageable, which was great for either minor changes to some of my larger projects or simpler prototypes in their entirety. Including the cost of the monitor, Onshape makes it such that for basic maker projects, you could have a pretty capable CAD machine for less than $200 USD.

Currently, I'm committed to using Onshape for all of my side projects, and have already used it to design/prototype 2 custom 3D printer designs in their entirety. I think it's the ideal CAD complement to 3D printers, given how efficient and quick it is to make simple part iterations, in particular ones similar to those on /r/functionalprint.

Couple of other minor things I liked:

Not having to hold shift when selecting multiple entities

Not having to carry files on a USB drive when I go print or lasercut things

Ease of using Mate Connectors in place of feature-based mates

Having relations consistently available on the top bar

Dimensions maintain the original equation input instead of just the resolved solution

Single button to toggle visibility of all planes

Extruding a feature surface w/o having to create an independent sketch

The Not-so-awesome

No matter who you are, no matter what network you're on, the lag will eventually get you. In my opinion, that's simply the cost you pay for any cloud-based solution. Delays by themselves, like rebuilding in Solidworks, aren't so bad by themselves. It's those situations when you're trying to draw a curve and the cursor/screen stutters that really messes up your flow. I'm really curious whether that's an issue with server availability or just an issue with WebGL. I wonder if the lag associated with computations and constraint resolution can be minimized by having the local machine calculate a quick approximation and then updating it with a more accurate solution later. There must be some HMI tricks in terms of timing the lag where possible. However, for now, hiccups are just a part of the Onshape experience. (Full disclosure: I typically have lower-tier internet, so that could be the primary culprit, though I've heard this primary complaint from people using Onshape professionally as well)

Couple of other minor things I disliked:

Not being able to click on the smaller of overlapped entities

Zoom wheel direction being opposite of Solidworks

Have to hide the planes at the start of each new part

Not quite the same level of parametric equations functionality as Solidworks (I really like my equations)

Multi-body parts not rigidly connected when inserted into assemblies

Can only apply different colors to separate bodies, not just extrudes or features