Nobody is ever likely to put up their hands and declare, “My CAD is fast enough!” Performance, while very subjective and dependent on so many factors, can be the difference between a good product design experience and a bad one.
That’s why Onshape – the only product development platform that runs entirely in the cloud – is designed from the ground up to outperform your desktop-installed CAD and PDM system. That’s a very bold statement and one that is likely to provoke a number of counterarguments in the comments, so let me explain myself, starting with the technologies we use to achieve this.
Onshape uses Amazon Web Services (AWS) for our cloud computing infrastructure. AWS has a world-class infrastructure that provides security, high availability and a global network of data centers connected by high-speed networks. The core of AWS is their “Elastic Compute Cloud” (EC2) service. Onshape uses EC2 for a virtually limitless supply of computing resources.
The Onshape platform is broken up into many services that work together to deliver a single CAD and data management experience. Each of these services is comprised of a pool of machines all running exactly the same software. Unlike file-based CAD where you can only do one thing at a time, our automation continuously manages this pool of resources so that none of our customers need to wait.
It’s like a highway that keeps getting wider as the traffic increases. Need 100 lanes? We’ll keep expanding the highway as needed, and we do it in minutes. Our architecture allows us to scale up to handle whatever workloads we need to process.
This wide highway of computing resources has other intrinsic benefits. In many cases, we can divide up the work for a single customer and parallelize it across many machines. This is more than just the equivalent of a multi-core CPU running on a desktop computer. This parallelism fundamentally changes the way CAD operations are computed, managed and used – substantially reducing the time it takes to do many compute-intensive tasks.
Getting your work done faster isn’t only about raw speed. Even if you are able to drive at 100 mph on much of your trip, but then spend the rest of it sitting in traffic, your overall throughput suffers. Onshape was designed to have high availability. This means that there are many servers all doing the same job. If one machine fails, another identical machine will instantly pick up the slack. If the pool of resources gets too shallow, our automation will add more machines within minutes. With file-based CAD, you’re stuck with limited computing resources and all the inherent instabilities that come with such complex software.
A software crash is like a traffic jam. You need to wait for the crash to finish and then reload your whole design and hope that nothing needs to be rebuilt or repaired. Does Onshape crash? Yes, while we do our best to prevent crashes, this can happen on rare occasions. However, because of the infrastructure we put in place, you may not even notice. One thing’s for sure: You won’t lose any data and you can pick up exactly where you left off within seconds.
Many users of file-based CAD put off upgrading software for as long as possible. It’s incredibly disruptive and time consuming. Once you are finally on the new software, you need to go through all of your models, check that they all regenerate the same way they did before the upgrade, and fix any that are broken (assuming you still have the previous version of your software installed so you can compare the before and after for each model).
With Onshape, we deploy new software every 3 weeks. This isn’t a fad or something new we’re trying – we’ve been doing it since 2014. In fact, our 100th 3-week iteration is imminent!
We put a lot of effort into making our updates non-disruptive so you can just keep working. Since we are cloud-based, we spin up hundreds of new machines with the latest software update in parallel with the old machines and manage the flow of customer traffic from one “lane” to another. Your experience as a customer? Always the fast lane. You have no downtime from the software change and since we have automation that tests every model against the new software before we deploy it, you shouldn’t have to spend time fixing up broken designs.
Now that you know how Onshape works, let's take a look at how these technologies can help you in your day-to-day design activities.
Onshape is hardware-agnostic: You can run it on Mac, PC, Linux and Chromebook through a web browser or via dedicated apps on iOS and Android tablets and phones. This is made possible by the way Onshape is architected – all modeling tasks and view generation are performed in the cloud and only tessellated graphics are sent to the browser or mobile device. This means that fewer computing resources are required locally, so for smaller projects, an inexpensive Chromebook will perform quite nicely. For larger assemblies, you will be dependent upon the power of your graphics card and the amount of RAM your browser consumes, so it is always advisable to check first before you buy a new machine.
This platform independence is great for both Onshape’s Support team and a customer’s IT team. Many CAD vendors maintain a list of supported computer and graphics card combinations that they test their annual releases against. If this list changes or you don’t have an exact match, getting support may be a problem, and refreshing hardware is expensive and painful. With Onshape, it is very rare that an issue can be attributed to an end user’s hardware, so finding and resolving errors is faster and easier. This is especially easy as a customer can share a troublesome Document with a support engineer with the click of a button.
In addition, as Onshape upgrades the class of server being used for computation or database storage (as we have done multiple times), our users benefit from improvements in performance without needing to upgrade any local hardware.
Multithreading and Parallelism
CAD programs are predominantly single-threaded, meaning they mostly only run on one CPU core at a time. There are some ways in which multiple processors can be used at the same time, such as splitting some geometric operations across multiple processors, or spinning off some tasks independently. But using a machine with 8 cores generally will not make your design 8 times faster than a machine with 1 core.
When Onshape rebuilds a Part Studio, it uses a single geometry server (and multiple processors where possible). However, an Onshape Document can contain many Part Studios and assemblies and each one is assigned its own geometry server. Updating a Part Studio in one tab will automatically rebuild the assembly in another, using those other servers. If multiple people are editing the same Document at the same time, any rebuilds occur only once and the results are sent to all the connected clients.
Multiple servers can and do work together when designing a single part in Onshape and the separation from the client helps a lot with the overall experience. Much of this results in subtle effects that you may not notice at first, but will truly appreciate if you ever have to go back to using desktop CAD. For example, if you edit the very first sketch in a part with a long feature tree, the model may take a few seconds to completely rebuild. With desktop CAD, you just have to sit there and wait for it to finish. With Onshape, you could create a new feature before the model geometry has even appeared. You could switch to another tab and continue working on a different model, or even close the Document completely while the part is still regenerating, and the finished model will be there the next time you open it!
One of my favorite features while designing is Onshape’s “Final” button that appears in every feature dialog. This enables me to tweak the feature I am editing and instantly view the downstream effects of any changes. The servers are busy building that final model, while my laptop continues accepting changes to other parameters, with graphics updating as the server provides results.
Working with desktop CAD involves more than just designing. There are many ancillary issues that go along with it that you probably just accept as the price of using CAD.
CAD files represent the biggest problem. Opening and saving files is a time-killer: Large assemblies can take several minutes to check out of a PDM system, copy locally to your hard drive and open in your CAD system. It takes even longer to save, copy back to the PDM server and check back in.
Since desktop CAD is renowned for crashing, many users save their designs often, sometimes after every change. If you have to wait 30 seconds every time you save, plus several minutes every time you check-in, it soon mounts up.
Onshape doesn’t use files to store your design data, it uses a highly performant and distributed database architecture that records every design change as it happens. There is no save button in Onshape and no waiting for a save operation to complete. Every change is saved to the database and replicated across multiple, geographically separated data centers in a matter of milliseconds. If you have multiple people working on the same design, it records every change with a name and a timestamp. You can use this data as an audit trail and you can also use it to back out of any changes, essentially giving you unlimited undo/redo.
Collaborating with files means making copies and sending them via email or some other insecure method. Files can be out of date the moment you send them, so manufacturing the wrong part is an easy mistake for a supplier to make.
Onshape’s collaboration tools enable immediate sharing of data with view or edit permissions with the click of a button. You don’t have to waste any time preparing files, emailing them and asking your supplier to install software to view them.
Any comparison between desktop and cloud is likely to be subjective and there may well be some operations where desktop CAD is faster. The purpose of this article is to detail and explain the benefits of cloud CAD, the technology we use and to highlight many of the areas you may not have even considered before. And this is just a brief overview – there are many more benefits besides.
What we’ve discussed above is only the overall design time. If you add up software downloads, installations, service packs, copying, saving, locking, searching for and emailing files, software compatibility, crashes and countless other desktop CAD fallouts, then net time spent finishing your time-critical projects in Onshape will be considerably less. And that is where performance really matters.
Why not experience the difference for yourself? Request an Onshape Trial today!
(Curious about how things in Onshape work “under the hood?” Let us know what you’re curious about either in the comments below or in the Onshape Forums and we may explore your topic in a future blog post.)