Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Migrating projects from SolidWorks to Onshape: what gets lost and needs fixing by hand
julian_todd
Member Posts: 5 ✭
in General
I'm trying to move a colleague's project from his years of work based on a single private copy of Solidworks to Onshape so that the rest of the team can engage with it. He gave me a dump of 120 sldprt and sldasm files in a zip file. Eventually I got it all imported into Onshape, subject to a few issues which I got immediate help on by posting feedback from the window.
I presume the workflow for moving stuff from Solidworks to Onshape is pretty important, so it would be better for the system to make a few suggestions when such a file fails to import instead of providing a tab with a blank page and just the file name.
There's very little special documentation on this matter other than the paragraph in yellow on this page about the name of the top level assembly file: https://cad.onshape.com/help/#uploadfiles.htm
Then there's the question of what exactly has been imported.
You know that pointless dialog box you get when you're in Word and you save as rtf?:
"The document may contain text content that will be lost upon conversion to the chosen encoding..... Do you want to continue saving the document?"
This is sad because the file converter ought to know exactly what kind of text content will be lost (if any) and be able to provide some guidance instead of creating this state of FUD.
But in Onshape we don't even get this blanket warning, let alone anything targeted to the particular file that has been imported.
It turns out that my file has hundreds of parts in it which are all in the right places, however each individual component pulls apart when I click and drag it rather than moving as a rigid assembly. The assembly is missing all the mates.
According to the Help feedback person: "Unfortunately the only system capable of fully reading in SolidWorks' mates is SolidWorks. We're exploring the ability to bring them in properly, but that functionality is a long way off."
Here's the question: Is it possible for me to put them all back in by hand if I opened the Onshape version next to the Solidworks version and went through the model bit by bit?
It depends.
It depends on (1) how many missing mates there are, (2) whether there are any mates in the model that lack an equivalent in Onshape, and (3) whether there are any other elements in the Solidworks file that I don't know how to find and replicated over by hand.
These are the three issues that I have to contend with in the decision of whether to push forward with fighting for a conversion, or continue to live with the current user on his single Solidworks model no one else can help with.
So here's my ask:
Please can we have a special Help page detailing the risks and challenges for importing from Solidworks files, which includes some tips and tricks as to what to look for and how hard it's going to be? This page should be linked to from the imported file tab, because that's when it's most relevant. (Of course, make this documentation for any of the other file types first if it is more dominant in your user stats.)
Secondarily, can we have a technical report on the imported file tab stating what components were found, what didn't get imported, and the levels of approximation made to unsupported entities that did get imported. Information that helps me to decide whether it's stuff I can deal with, or whether it's not worth it the hassle. That kind of thing.
Has anyone else been through this process of bringing in a Solidworks model and gave up half way through? If so, what got in the way?
I presume the workflow for moving stuff from Solidworks to Onshape is pretty important, so it would be better for the system to make a few suggestions when such a file fails to import instead of providing a tab with a blank page and just the file name.
There's very little special documentation on this matter other than the paragraph in yellow on this page about the name of the top level assembly file: https://cad.onshape.com/help/#uploadfiles.htm
Then there's the question of what exactly has been imported.
You know that pointless dialog box you get when you're in Word and you save as rtf?:
"The document may contain text content that will be lost upon conversion to the chosen encoding..... Do you want to continue saving the document?"
This is sad because the file converter ought to know exactly what kind of text content will be lost (if any) and be able to provide some guidance instead of creating this state of FUD.
But in Onshape we don't even get this blanket warning, let alone anything targeted to the particular file that has been imported.
It turns out that my file has hundreds of parts in it which are all in the right places, however each individual component pulls apart when I click and drag it rather than moving as a rigid assembly. The assembly is missing all the mates.
According to the Help feedback person: "Unfortunately the only system capable of fully reading in SolidWorks' mates is SolidWorks. We're exploring the ability to bring them in properly, but that functionality is a long way off."
Here's the question: Is it possible for me to put them all back in by hand if I opened the Onshape version next to the Solidworks version and went through the model bit by bit?
It depends.
It depends on (1) how many missing mates there are, (2) whether there are any mates in the model that lack an equivalent in Onshape, and (3) whether there are any other elements in the Solidworks file that I don't know how to find and replicated over by hand.
These are the three issues that I have to contend with in the decision of whether to push forward with fighting for a conversion, or continue to live with the current user on his single Solidworks model no one else can help with.
So here's my ask:
Please can we have a special Help page detailing the risks and challenges for importing from Solidworks files, which includes some tips and tricks as to what to look for and how hard it's going to be? This page should be linked to from the imported file tab, because that's when it's most relevant. (Of course, make this documentation for any of the other file types first if it is more dominant in your user stats.)
Secondarily, can we have a technical report on the imported file tab stating what components were found, what didn't get imported, and the levels of approximation made to unsupported entities that did get imported. Information that helps me to decide whether it's stuff I can deal with, or whether it's not worth it the hassle. That kind of thing.
Has anyone else been through this process of bringing in a Solidworks model and gave up half way through? If so, what got in the way?
0
Comments
Did you try importing that into a part studio? I would consider bringing the top level into a part studio first, and then creating an assembly studio from that part studio next. In the assembly studio you'll be able to very quickly "connect" a lot of parts together using the group function. This will save massive time for components that end up with no relative motion between them. Then you'll be able to focus on the specific mates that involve motion.
As always, there are lot's of helpful users here on the forums just waiting for a challenge and love to pitch in if needed. You can explain your specific problem and then can post public examples of solutions to them. You can also make your document public as a way of asking for help and users can give very focused help. Or... if it can't be public you can find users you trust and invite them into the design to help you. While in the design together, you could enter the follow me mode and watch exactly what it is they are doing. That last part is far better than a white paper if you ask me...
I agree with @pete_yodis that something you should try is to export the SWX assembly as a Parasolid. This should bring the file into Onshape as a single multi-body file with the parts in the same location they were in in SWX. If they still move around you could perhaps select them all and freeze/fix them in place.
Saplingstore.com
Migrating a model from one CAD system to another only gets you a dumb solid. The only exception to this is if the destination CAD system has the ability to read and interpret the native file from the originating system. I am not aware of a mainstream CAD system that can do this with 3D parametric files. This is just another fact of life of current CAD technology.
SolidWorks has a utility, FeatureWorks, that assists in running through a dumb solid and converting it into a parametric file, but it requires a considerable amount of interaction. Unless you were the one to create the file in the first place it is unlikely you'll end up with a parametrically identical file in the new system. It might be functional, but it won't be the same with the same constraints and design philosophy.
If someone can develop software to read and interpret a current file from the mainstream CAD systems and recreate it in their CAD system they will have a goldmine.
To be honest, I don't see it being realistic expectation to Onshape to read native sw files in with history and mates. It would be nice but handling all those versions and following them in future would need a team for this particular task.
What I have done:
- with simple parts, import dumb solid create new sketch, grab the shape with use/project tool, extrude new part and delete imported body
- with complex parts, try to manage with direct editing or make some coffee and recreate during night (consider as exercise )
- with assemblies, use group mate for all static parts (before moving anything) and recreate motion mates
Our industry is an interesting one. It is both very mature (on the installed-cad side) and very fragmented - many products use common components (eg NX, SolidEdge, SolidWorks and Onshape all use Parasolid as their kernel) and yet we cannot exchanged data with things like features and mates.
Why is that? The answer is that things like Parasolid have a LOT of global settings AND individual calls (eg 'Loft') have many more parameters. The odds that two products will use exactly the same global settings and expose exactly the same parameters for a feature and use exactly the same defaults where a parameter is not exposed, are close to zero. Because of that, no importing product can guarantee that the geometry that they recreate will be the same as the geometry generated in the originating system. For that reason, the CAD industry just passes bodies which we can guarantee will be the same.
Ok, so what is the 'best' way to bring in SolidWorks data?
1) Parasolid is the best format period. It includes part names, part colors and assembly hierarchy.
2) When importing, check the box acknowledging that the source system uses positive Y as up (Onshape uses positive Z as up).
3) If you are importing a single assembly that doesn't move and will be used in it's entirety - select the import option to collapse to a single part studio
Let's assume that you have now imported your entire SolidWorks assembly as multiple sub-assemblies in an Onshape document.
1) There are no features on any of the parts. To make edits here, use the very powerful direct editing tools - here is a video that gives you a high level overview of what's possible - https://www.onshape.com/videos/direct-editing
2) All parts are floating by default. At each sub assembly level, select one part to be 'fixed' in space.
3) The biggest time saver will be 'group'. At each level of sub-assembly, any collection of parts that move together with a fixed spatial relationship, should be in a group. Now the position and orientation of all the parts in the group are controlled by a mate to any one member.
4) Rebuild the mating relationships at each sub level subassembly - starting at the lowest level and working up
5) Remember, Onshape mates are very different from the low-level mates you are used to. Often two or three low level mates can be replaced with a single Onshape mate. Imagine the classic block-with-a-hole. Imagine two of these in an assembly and you wanted to mate them in an assembly such that the holes line up and they cannot rotate about the common axis. Using low level mates i would need a concentric between the holes, a coincident between the touching faces and a parallel between two of the faces of the cube. That's 3 mates. In Onshape, a single Fixed mate would do this. If the distance between the blocks can change (sliding along a rod through the holes), simply change the Onshape mate type to 'Slider'. If you want the distance to change and be able to rotate about the common axis, change the mate type to cylindrical. In each case, a SINGLE Onshape mate replaces 3 low-level mates.
That's about it. That is the lowest effort path to re-creating a SolidWorks assembly in Onshape.
We are working night and day here to bring you new functionality and new workflows and are delivering on about a 3 week cycle.
We love these forum posts and don't forget to vote for the new functionality that you want in the enhancements area.
Have fun - Philip . . .