20151202

Computer Aided Design for the modern world - meet Onshape

Muggles generally don't use CAD software because the good stuff is expensive, and the free stuff sucks.  No matter what, it's always a pain to learn to use, and rarely geared toward more casual use.  You get what you pay for, information doesn't want to be free.  

"THAT'S never happened to ME before"

Last March, after spending nearly every waking moment of the previous three months at my tech support job un-fuckleing people's D.I.Y. Solidworks installs, I ran across something on the 'net that exploded my head. 

Professional grade CAD on the cloud.  For free.  Onshape



I know what you're thinking, "There's no such thing as a free lunch!  There is no such thing as the cloud, it's just someone else's computer..."  But that's just it.  Virtualization is exactly what the CAD industry needs. 

You see, Solidworks, just like every other big piece of software, is a jealous stampy elephant. "That elephant cost me thousands of dollars!"  How right you are, Homer.  This is a great clip, you'll know of my my plight immediately.  "And now I'll get my hands out with my face." 


Professional CAD software is capable of doing a great amount of work commanded by a skilled mahout, but be very cautious during musth season.  For Solidworks, typically 90 minute long, 5 GB installs of byzantine configs and unknowable dependencies can make for a lot of headache during software upgrade season for those experienced with the process.  Now imagine what happens when every Barney Fife in the engineering department takes a stab at the same software update on their own?  *shudder*

The problem is, Solidworks essentially forces everyone to upgrade at the same time, since new files aren't very backwards compatible with old versions.  If your customer sends you a part file in 2016 format and you're still on 2014, you're faced with a nontrivial maintenance fee if you want to ever see your customer's files (thanks for changing the policy this year, D'assault!).  With Onshape, you're always on the latest greatest version, no matter what. 

We all have our own tech support horror stories, so I won't bore you with mine other than it saddens me to consider how much of my life has been spent watching status bars slowly creep across a screen. 

My biggest complaint has been the physical size of the hardware.  Yes, we've come a long way since the days of PDP-8, I should be grateful for the 15 lb monster of a workstation laptop I dragged around.  When nVidia mailed a Grid Server to my office a few years ago, I couldn't be more excited.  "Wow, now I can do my CAD on a thin client!".

I never got to use the damn thing, the project was canceled only a few months in.  It would have made one helluva bitcoin miner.

During my travels to San Francisco this past April, I made my pilgrimage to the infamous Noisebridge Hackerspace to teach a CNC machining class.  Their machine is pretty much what got me started down this crazy hacker journey a few years ago.

While visiting, I was showing off Onshape to one of the local denizens.  "Oh wow, it works on ChromeOS," he remarked.  I didn't notice at first the Chrome terminal I was using for Onshape.  That's when it all hit me.  "Why in the world am I carrying around this Death Star laptop when all I need is a connection to the internet?"

I totally understand that Computer Aided Design is number-intensive, requiring unobtanium graphics cards that are optimized for doublelong precision numbers so your designs remain accurate to half a wavelength of ultraviolet.  I don't  understand needing two hard drives in a laptop anymore, like my workstation came equipped with.  When you think about it, though, most of the machine is pretty much unnecessary at this point in history, if you've got enough AWS space to throw at it.

"But the cloud could go down", or, "I want all my data to be mine, private and nobody else's."  Yes, that's one small price to pay for this awesome "freemium" tool.  You're not Boeing, you don't need 100% uptime, iron-clad data control for your trinkets.  If you do, Onshape offers services just for that. 

"Back in my day, I had to scrimshaw custom ring tones in raw MIDI, and I was happy about it!"

 We simply don't live in those dark days anymore. 

After a few years as a professional Solidworks user, I find that Onshape meets most of my needs about 80% of the time with 80%  the package (subjetive, i know).  I also feel that at least 80% of the basic skillset between Solidworks and Onshape transpose, even some of the hot keys are the same (that's more objective).  Here's an interesting fact, the founder of Onshape, JON HIRSCHTICK, is also the founder of Solidworks, which he funded with his earnings from his time on the MIT blackjack team.

Don't get me wrong, Solidworks is a great program, there's a reason it's a de facto industry standard.  What I'm saying is that maybe you don't need the ultradeluxe simulation package if all you need to do is make some trinkets for your mom on your Makerbot.  The nice thing about using Onshape is that when you're ready for more, you can go straight to using Solidworks with a existing skillset.

Working in the machine shop, my job is to make shapes defined by their size and dimensions.  "I need a half inch thick gasket three inches around with four quarter inch bolt holes evenly spaced around the perimeter"

Here's your gasket, maybe you'd like to describe it more fully, there's some dangling dimensions
 
 That's why I think the 3d printer is so nifty, it trivializes what used to be a long arduous process to make a complex shape.  The 3d printer can easily produce shapes that traditional processes can't begin to touch. 



Powerful CAD is the only way to interact with 3D printers, unless you like scrimshawing megabytes of raw G code. 

If low level is your thing, there's always OpenSCAD.  See that script on the left side, that's how you program in OpenSCAD.  Not graphically, in raw code.  No thanks.  Nope.



While writing this blog, I grabbed a random complex model from GrabCad, in this case a 3D printer assembly, in a neutral file format, and imported the same file both into Solidworks and Onshape.  Onshape cleverly integrates a file management system, with many models already uploaded and available for everyone to integrate in their designs.  For this test, I used a file from another source, in a non-native format.

In a dramatic show of mettle, I raced the two side by side, and even let Solidworks have a head start on rendering the file while the same one uploaded (200+ MB) to Onshape.  This is the result. 


After 30 minutes of waiting, Solidworks still could not render the file.  I'll be honest and say I'm not using an Solidworks-approved graphics card, but isn't that type of problem what we're trying to move away from?   I'm pretty sure that Sketchup, TinkerCAD, etc., would also fall flat on their respective faces, assuming they can handle STEP files at all. 

When Solidworks crashes, it can be catastrophic.  Your data is lost, your setting are buggered, hours of work vaporized.  At the very least, you probably have to restart the program, or reboot your computer.

With Onshape, if EVERYTHING goes wrong, all you do is reload the browser window.  After about 40 hours of solid use, I have yet to run Onshape so hard into a wall that it seemed unstable in any way.  I'm sure if I tried hard enough, I could DDOS myself by dividing by zero in a variable somewhere, but truthfully it's an amazingly robust program.  When you make an error that would cause Solidworks to puke buffer overflow all over itself, Onshape politely stutters, and simply refuses to render the last command (consistent architecture on the cloud is a bit more predictable?).

These are using the same data, Onshape on the left, Solidworks on the right.

Your 3D printer is useful for so much more than printing Yoda heads you downloaded from Thingiverse.   Combine the printer with some baseline 3D CAD skills, and suddenly your lowly Bukobot is a much more capable machine.  If you have a little bit of motivation to learn modern, powerful CAD like Onshape, then your only limitation is your imagination and patience.  Plus, you get a neat transposing skill set, having basic Solidworks skills without the Solidworks price tag.

evolution of a combat robot

As with any piece of software, there's still a bit of a learning curve involved.  Luckily, there's THOUSANDS of Solidworks users sprinkled throughout the world who can give cursory advice, lots of resources available online to learn the software, and we're starting to see Onshape classes being offered at hackerspaces around Southern California.  It's mostly a matter of getting out there and using it. Everyone has stuff they want to 3D print, this is one more excuse to make the cool things you've always dreamed of. 

Have you ever struggled with needing a part of a specific size and shape, that doesn't exist anywhere in the world?  Using your 3D printer, along with Onshape, can easily solve those problems which has haunted many nearly-finished projects that only needed a simple PCB standoff with offset holes.  Onshape isn't perfect, nothing is (what IS perfect?), but it's a great way to get your feet wet with industrial-grade 3D modeling software without getting hosed.