This post will show how to open a scad file, customize it, save it to stl files to be printed on a 3D printer. Specifically, I will take a solid 3D scad model of a dagger and turn it into 4 pieces, top and bottom of the blade, and top and bottom of the hilt, so that it can fit the print bed of my Prusa i3 MK2S.
First, some background. I follow @joeltelling, the self described 3d printing nerd on twitter. He linked to a video he made with a cosplayer, Kato, where they 3d print a dagger. He links to the dagger in the description of the video, and I thought, cool, I haven’t tried to print a dagger, I should do that.
So, I head over to Thingiverse to download the Dark One Dagger. That is a picture of a painted version at the top by the dagger’s creator (I think). It looks pretty cool. I downloaded the files, went to pull them into my slicer, and… wait….what the heck is a .scad file? I haven’t been 3D printing for very long. I just got my Prusa MK2S printer this fall. I had only downloaded .stl files from Thingiverse, so I was a bit confused. I looked around the internet for a converter, but it looked like the best was was going to be to use the program OpenSCAD. Oh great, another 3D tool to learn. Turns out, it wasn’t that hard.
Head to the OpenScad website, and download a version for your OS. I go the OSX version. Now, a bit of a weird thing happened – it was in French. I still haven’t figured out how to select a different language, or download a different language. Oops. I still figured it out.
So after installing OpenScad, open the program. I guessed correctly that using the menu, Fichier / Ouvir … was the File / Open … dialog. I selected the scad file, and brought it in. Now, OpenSCAD is a bid different program. It contains the data for an object as a program. This is why this model on Thingiverse is able to be customized, such as the text on the blade. We can make these modifications right in the code! Here is a screen shot of part of the program screen.
If you look on the left, there is a variable called name that has a value of “The One”. It was “Melissa” when I opened the file. I changed it to print “The One” on the handle. I changed a couple of other numbers too, multiple_parts, and part, but not until I had tried the default values of 0, and 1. With the original values, and the whole dagger showing, I went straight to trying to create a stl. I used the menu Fichier / Exporter / Exporter comme STL… However, I got the message that the dagger wasn’t rendered yet. I first had to do that with Menu Conception / Rendu, or F6. This took awhile. After this, I was able to bring export it as an stl. I then opened it in the program Slic3r. This is an open source slicer. I have a version that came with my Prusa printer. You can use a different one, but I did use a feature called cut that I will talk about shortly.
So, now I had the model open in Slic3er. The whole dagger. Hmmm. This won’t print well.
I ran into two problems with this render. 1st, it was too big for the print bed. 2nd, it was going to have a ton of support material if I did it this way. I had expected it to be in 4 pieces, like in the video I had watched. It was split into top and bottom of the blade, and top and bottom of the hilt. Hmm… I did find an option called cut in Slic3r. This let me cut the dagger into two through the z-axis, which made two parts that could print flat, but it was still too big for the bed. Back to OpenSCAD.
Ok. The goal is to get 4 pieces that can print flat, and when arranged will fit on my print bed. I looked through the top of the code in the left panel and saw the two variables I mentioned earlier, multiple_parts, and part. After some experimentation, I found that if I opted to pick multiple_parts = 2, as the comment indicated, it would render the hilt and blade separately. So set the multiple_parts = 2, and part = 1. Press F6. That will render the blade as one piece. Export the stl file of the blade. Then change the variable part = 2. This will render the hilt as one piece. Export the stl file of the hilt. If you are so inclined, you could edit the code further to render each of the 4 parts separately but I figured I would just use the Slic3r cut function.
I then opened Slic3r again. I added the two stl files to the platter. Then select one of the pieces such as the blade, and use menu item Object / Cut… You can then set the z-axis point where you want to cut. I chose 1/2 of the height of the blade. 16.68 / 2 = 8.34.
After you hit the Perform cut button, you will have two parts of the blade, the top, and bottom. Then do the same with the hilt. It has a height of 32.88. So open the cut dialog and enter the z value of 32.88 / 2 = 16.44.
So, now you should have 4 pieces laying flat on the plater. I rotated and moved them around a bit so that I would have this.
We now have what we wanted. We have tops and bottms of both the hilt and the blade. They are lying flat on the bed, so there will be no supports needed. You can now sliced the model and generate the gcode. Put the gcode on your printer, and it will print all 4 pieces. When you are done, you can use crazy glue to put them together.
I was in too much of a hurry to see the print off the bed, that I forgot to take a picture. Here is one I just took.
If you look close, the blade seems pretty rough to me. I printed it with the default ‘optimal’ setting on the Slic3r. I am currently printing the blade again with the fine setting.
I hope this helps and your dagger (or what ever you had) turns out well.
Great write up! Thank you for doing this!