This has been the holy grail for CAD users since time immemorial. The ability to take data from a current version of your CAD system and allow users with a preview version to open it, use it and work with it as native data. And it’s not particularly common that this possible.
The reasons for this are pretty obvious once you look at the Terminator-like future events influencing the past type of conundrum. There are also very obvious reasons why CAD vendors aren’t all that keen. And by all that keen, I mean, they’d rather see their first born sent to the Mayans temples as an offering. But first, let’s explore why it’s often an issue. And to do that, you need to understand how forward compatibility works.
The mechanics of forward compatibility
Each CAD release has a specific set of features. Those features use a variety of operations, algorithms and other voodoo to create the geometry with each feature. Take the fillet for example. There’s a lot of options, switches and toggles to create a seemingly common feature. Call that Fillet 1.0. Release at a very specific point in time.
Now, as we all know, each feature in a system gets updated with each release (ok. maybe every two or three releases). That means that the recipe changes. You now have Fillet 2.0 released at a fixed point in time. Later than the previous version.
So what happens if you open a Fillet 1.0 feature in Fillet 2.0. It reruns the construction process. But it doesn’t do it using the Fillet 2.0 code. The new system will open and rebuild it (typically) using the Fillet 1.0 code which has been maintained. That is how it works when you open a SolidWorks 2009 file and get exactly the same geometry in SolidWorks 2013.
So let’s consider a release like SolidWorks or any of its competition. There’s 100s, if not 1,000s of features. With each release they stack up as they have for the above example. All that data is maintained and it ensures that you can pretty well guarantee forward compatibility. (it also partly explains why software gets bigger with each release).
So whats the deal with backwards compatibility?
This is the process of taking a file from a current version of software and opening it in a previous version. It sounds simple. But once you have a grasp of the understanding of how these things work, it’s pretty clear that it’s tough to do, particularly when you’re working with complex data like geometry.
If you have a Fillet 2.0 code, that will contain new elements, new options. Now unless you master a Dr Who like command of time and space, you can’t go back in time and have those same options and underlying code in Fillet 1.0. Why? Because the code simple didn’t exist when it was compiled.
That’s not the whole story is it?
No. Of course not. CAD systems don’t get updated that heavily and it should be possible to hook something together to allow it to work. But it doesn’t. Why? Because software vendors have a revenue stream to protect. If they allow users to open files from future versions, then some customers won’t or indeed need, to upgrade, to continue their subscription or maintenance payments.
A large part of how the CAD industry sales work is the endless march of updates. OEMS upgrade, so must others in the supply chain. Their suppliers must upgrade and away you go. It’s a self seeding eco system of upgradery and maintenance payments become a reliable revenue stream. Clever, innit.
But SolidWorks have done!
Yes!. Err. No. Err. Maybe. Let me explain. The basics are this: SolidWorks, with the 2013 release have introduced “Previous Release Compatibility.” Note that they’re not saying backwards compatibility for reasons that will become clear.
But let’s get the prerequisites out of the way first.
Service Packs & Shenanigans
The first and the big one, is that this only works between the current version and the last service pack of the last. So, for this seasons’ software, that’s SolidWorks 2013 and SolidWorks 2012 with service pack 5 installed. Furthermore, as most users will know, the last service pack from the previous release comes out shortly AFTER the new shiny release.
So I save as 2012?
No. Assuming that you have 2013 and the receiving party has SolidWorks 2012 SP5, then they should be able to to simply open the data. Whether that’s parts or assemblies (I’m waiting on clarification on drawings and how they work). Yup. File. Open. That’s it.
So what do they see?
What they’ll get is a perfect replication of the 2013 model. It’ll look like it, it’ll have all the product structure, all the colours, metadata, even all of the configurations of the file (if you allow it). It’ll essentially be the same as in SolidWorks 2013.
But with one very big difference.
What you won’t get it the full feature-level geometry description. That’s right. Just the b-rep geometry.
I’ll let you take that in for second.
So what CAN you do with it?
- Measure it.
- Render it.
- Add it to a higher level assembly
- Switch configurations (this is a new ability in 2013, to save config geometry with the file).
- Add Assembly level features (cut, chamfer, swept cut etc) – these will pass back when opened in 2013.
- You can also have that data updated and it’ll propogate. For example, if you build an assembly referencing a 2013 file, it’ll automatically load the new version. No need to retranslate (because it’s not doing anything).
- All the file references are maintained.
So what CAN’T you do with it?
- Edit feature level geometry. At all. Not even if you wanted to. Forget it. It’s “Read only”.
- Edit assemblies from a previous release (such as adding or deleting components).
- Pretty much anything else.
The clue is in the name
It’s referred to as a Read Only. That should tell you everything. It’s for bringing in and referencing. That’s all. It’s not backwards compatible. A better way to think of this is just like using a parasolid file from one version to another – with a few bells and whistles thrown in.
For some, this will be enough. For those with maybe a supplier that needs to read in their data, it’ll work just enough till the install catches up. For the vast majority, for those looking to work with clients or suppliers working on different versions, then it’s going to be a hopeless disappointment.
There’s very good reason that backward compatibility has been a stalwart of “most requested features”. Companies have different policies on upgraded and installation of releases. Some wait till the first or second service pack. Some upgrade every two years. And these are the subscription paying customers.
Remember: SolidWorks Service Packs are ONLY available to those customers on subscriptions.
Then there are those that slip off subscription. The economic apocalypse has meant that many organisations have a choice between upgrading their already functional CAD seats or letting staff go. What choice would you make? Yeah, you’ll stick with the software you’ve got, that works.
So, if you were thinking that backwards compatibility was finally here, you’d be wrong. What has arrived is a quick stop gap for organisations with different seat installations or maybe, if you’re lucky, a supplier/client relationship that’s just slightly out of sync.
The users that are familiar with how this works expressed a few things. Most of them are unprintable. Perhaps one summed it up best “Well, that was a waste of time. Back to the Save As Parasolid option.“