Every once in a while, a question comes up on the forum or through other paths about the orientation of the global coordinate system and related view triad in SolidWorks. Users wonder why the Y-axis is pointing up and X-Z represents the top plane or table top when looking down from the top, while in some other CAD or CAM systems they may have used, the Z-axis is pointing up and X-Y represents the top plane or table top. Well, unfortunately, there are at least two defacto "standards" in the modeling industry for the orientation of the global coordinate system. I call them the Y-up and Z-up coordinate system standards. Both of these coordinate systems are right hand rule coordinate systems, they just happen to be rotated differently. So, neither of these systems is "wrong" and as they say, that is the great thing about standards...so many to choose from .
The good news is that there are a couple of ways to overcome issues users may encounter while working with SolidWorks alone or in conjunction with other systems because SolidWorks uses a Y-up coordinate system as default.
Switching SolidWorks to use a Z-up coordinate system:
You can switch SolidWorks to emulate a Z-up coordinate system. This can be done for any individual part or assembly document or you can do it in your part and assembly templates so all new parts and assemblies have this orientation.
Image of empty SolidWorks document before changing orientation:
To switch to a Z-up coordinate system for all new part documents:
- Open a new part.
- Hit the spacebar and pin the View Orientation dialog.
- Double click on Front to switch to a front view.
- Shift click on the z-axis of the view triad (looks like a blue ball at the center of the triad from this angle in the lower right corner of the screen) to rotate the view 90 degrees. An alternative method is to use Alt-leftarrow on the keyboard 6 times to rotate the view 90 degrees (assuming the setting for arrow key view rotation in Tools->Options->System Options->View is set to the default value of 15 degrees).
- Single click on Top in the Orientation dialog and then select the Update Standard Views button (second one on the Orientation dialog). This command updates the view orientations so the view you are looking at (rotated Front view) is now considered the Top view.
- Rename the default planes to be correct for the new orientation. You can rename each default plane by single clicking twice on the name in the FeatureManager tree or one single click once and then select F2. The mapping is Front becomes Top, Top becomes Right, and Right becomes Front.
- Save the part as a new template or overwrite your original template.
Image of empty SolidWorks document after changing orientation and renaming planes (I also rotated the view for the screenshot so Z is facing up in the viewport):
To switch to a Z-up coordinate system for an assembly, repeat steps 1-7 for a new assembly document.
To switch any existing part or assembly to a Z-up coordinate system, open the document and perform steps 2-6. Unfortunately, these models are already built using references to the original planes and orientation so you cannot easily re-orient the original features. However, if you do want to re-orient the solid or surface bodies, you can use the Move/Copy Body feature which will add a feature that rotates the bodies. Also note that using the "Update Standard Views" option on existing files can drastically affect drawing views created from the part/assembly in question (a warning message indicates this when using the command) so be careful in making this change if you do have drawings of the particular model.
Exporting Data into a Different Coordinate System:
If you have models built in the Y-up system that you need to export to a CAD/CAM system that uses Z-up coordinates, you can do so by first making a Coordinate System at the origin that has the Z-up. To do so:
- Create a Coordinate Systemleaving the coordinate system origin blank and selecting the right plane as the X axis and the front plane as the Y-axis.
- When exporting to formats like IGES, STEP, etc. using Save As, choose the Options button and set the Output coordinate system to the newly created coordinate system.
If your preferred approach is to use the Y-up global coordinate system for general modeling, but still want to easily export to a Z-up system, you can create and save the Z-up local coordinate system into your part and assembly templates and use that for exporting without having to create it in every part.
I hope this helps working in whichever global coordinate system you prefer.