These days, I'm using 3D printed mandrels to manufacture all of my non-BATES motors. These mandrels are easy to make, reusable, and produce a high quality propellant surface. There are a few tricks that I've learned along the way that will be helpful for anyone looking to replicate my results.
The first set of tips come in during the design phase of the geometry and the mandrel itself. I've found that for all but the highest-thrust motors, it is advantageous to use an aft-finocyl design where the core consists of both a cylindrical section and a finocyl section. This increases volume loading, extends burn time, and makes the printed part of the mandrel smaller, saving print time and making it easier to release. A full-length star or finocyl mandrel will have to be printed in multiple sections on most printers, while a 30%-core-length aft finocyl mandrel can probably be printed in one piece and combined with an off-the-shelf rod to form the rest of the core. If you do have to print the mandrel in multiple sections, I recommend including alignment pins and a hole down the middle so the sections can be glued onto a nylon rod or wooden dowel (provided you can find a straight one). In either case, I've typically included a 0.01" taper over each 6" of the printed section of the mandrel to aid in release. This isn't strictly required as I've had success without it, but it seems to make it easier.
When it comes to printing the mandrel, use the smallest layer size your printer can support. I've printed most of my mandrels at 100um or 125um layer height and do this whenever possible. I printed one at 250um when I was in a hurry and while it did release, it left visible layer lines on the propellant face. You want the surface to be as smooth as possible, so use low accelerations and speeds to avoid ringing on the corners of the part. Similarly, use a filament that yields a smooth surface. If the surface comes out rough, or you had to print the mandrel in multiple sections, be sure to sand the surface and seams until smooth. I have used some mandrels without sanding, but I think the results end up better when you sand up to 800 grit. Alternatively, post-processing the part with vapor smoothing could be a good idea, but I haven't personally tried this.
Here's an example of one of my mandrels ready for use. I printed it in one piece on a large printer, and included holes on both ends, one for attaching an aluminum rod for the cylindrical part of the mandrel, and the other to couple into the bottom plate. The step on the bottom plate fits tightly into the liner and reserves the same amount of space that the step on the nozzle will take up. Once the mandrel is fit into the bottom plate, I wrap a collar of masking tape around it so the mandrel can't float up as the propellant is poured in. I typically also print a custom funnel (pictured below) that both makes it easier to pour the propellant in and centers the mandrel.
Once the mandrel is assembled, you will want to apply several complete coats of a mold release like Mann 200 or Stoner E236. I missed a spot on a mandrel once and the propellant stuck, damaging the grain on release. Once the propellant is poured and cured, I start by removing the top plate, the tape retaining the bottom plate, and then the bottom plate itself. I find that binder often seeps under the mandrel, so I remove this layer to make sure I can see the whole mandrel profile. I then align a die plate (pictured above) with the mandrel, and then use bar clamps between the plate and the other end of the mandrel to push it out. The die plate is important because it ensures the load is distributed between the entire propellant face and the liner. As you start to apply force, there should be a moment where the mandrel pops free, after which you'll be able to push it out by hand. This is especially true for tapered mandrels.
The length of the grain should already be right if the aft plate's step was the proper length and the correct amount of propellant was poured in. The grain is now ready to fire, with none of the face trimming and associated waste that comes with BATES grains. With these tips and some iteration on your own printers and propellant formulas, you should be able to cast high quality monolithic grains with complex core geometries. Feel free to reach out with questions or to share your own results!