- Change y-axis up to z-axis up
- Save a part template so that you can quickly make correctly oriented parts in the future
Explanation of the Problem
This weekend, I decided to tackle an issue I’d be running into with my 3D printing. Every time I would model something in SolidWorks, then import it into my slicing program, the part would rotate on the simulated build platform so that “up” was no longer “up”. It wasn’t a huge hassle to rotate the part back the way I wanted it to print, but it was an added step I didn’t want to deal with anymore.
Why was this happening? To answer that question requires a basic understanding of the .stl format that SolidWorks produces (and your slicing program ultimately uses for creating machine code). An .stl is essentially just a list of coordinates defining a bunch of surfaces. To define a surface, you need (at least) 3 defined points in space. For example, {(0,0,0);(5,0,0);(3,5,0)} could define a triangle where each coordinate within the curly brackets corresponds to a cartesian coordinate in an (x,y,z) space. The same triangle could be rotated around the x-axis by simply moving the last point to (3,0,5).
So when you save a SolidWorks part as an .stl, it takes all those surfaces you’ve created, generates a whole bunch of triangles, and and saves them in a cartesian coordinate space that’s consistent with the way your axes are defined.
Take another look at how the part sets in space within SolidWorks and within Simplify3D. In terms of X,Y,Z coordinates, it’s exactly the same! The problem is that the axes are oriented differently within the two programs. In Solidworks, the y-axis is “up”, but in the machine world, the z-axis is that one that goes “up”.
Solution
What needs to happen is that we have to tell Solidworks that we want to use the z-axis to represent “up” rather than the y-axis.
1. Open up a new part and orient your view so that you’re looking at the front plane.
2. Open up the Orientation menu by clicking the chevron at the top right corner of the view-change button shown above, or alternatively hit space, and click the Update Standard Views button.
A pop-up will tell you to “Select the Standard View you would like to assign the current view to”. Since the z-axis is pointing straight out of the screen, you want to assign the top view to the current view.
3. Click the icon for the topview, then click ‘Yes’ on the ensuing dialog box.
Everything will technically now work, but if you’ve been using SolidWorks for any amount of time, you’ll probably end up confusing yourself because the default planes are no longer correctly named. Easy fix, though, all you need to do is rename them.
4. Rename the Front Plane to the Top Plane and vice versa
That’s it! The only thing left to do is to save your part as a part template. Now you’ll never have to swap axes around to start a model that’s intended for a 3D printer ever again!
4. File > Save As > Save as type Part Templates (*.prtdot), and name it something like Part-3Dprint in the default directory.
Now, when you go to start a new part, select your 3D part template and get to creating! Happy printing!