The Story
I am attempting to make a 3d representation of the following SUPER complicated model in a 3d-printer(.stl) friendly way. (I know it's not great quality, but it's literally the best reference image I could find!)
I've been busting my ass and learning a lot through trial and error, but here's what I have so far.
As you can see, it's curvy as heck and has lots of intersecting/overlapping geometry. I think it actually looks pretty good on screen, but unfortunately it doesn't transfer well to .stl at all.
The Problem
With a shape this complicated, I knew there was no way I could shape the curves by hand. I found some tutorials on using array and curve modifiers and I really just jump in and messed up a lot before I finally figured out how to make it at least look presentable. But now I've run into a whole new problem.
My "clever" approach was to do the whole thing with just a couple winding curves and the mirror modifier then hopefully purge all the intersecting geometry with Boolean Difference modifiers.
The issue I'm having is Boolean difference is giving me frustratingly inconsistent results. I don't know how to troubleshoot it, and I don't know of any other approach to salvage this model I've already sunk several hours of time into.
For some parts of the model, it works great, Especially ones with the curves and the spheres. In other places, specifically that big center cylinder and the curves with each other, the boolean modifier generates extra surfaces and deletes others.
Everything I'm reading now says boolean modifiers only work well with consistent, basic shapes. But how can I do what I'm trying to do without them?
Thank you so much in advance! It's my first post here, but it won't be my last!
(edited to add the .blend file)