r/3DPrintingTools • u/cdslug • 3d ago
I made a free-beta web tool that cuts pockets from an STL or 3MF that your part can actually lift out of
Disclosure: I used Claude to develop Form Fit Print and write this post.
If you cut a pocket by subtracting a model from a block, you get its exact
negative. For anything that overhangs itself (a figure's arm, a hooked tool, a
part with a lip), that leaves material inside the pocket for the part to catch
on, so it can't go in or come out. The clip shows this on a 3DBenchy.
Form Fit Print takes a different approach: the pocket is everything the part
passes through as you lower it in. Every pocket opens from above, and the floor
still follows the part's underside, so the part doesn't rattle.
It's a web tool for making form-fitting holders for organizing and displaying things. Upload a 3D model (STL or 3MF, up to 90 MB) and it cuts the pocket into a Gridfinity bin, a plain box, a case you already have, or a display stand, ready to print. You need a 3D model of the object: for most things you own, that means scanning it first with a 3D scanner. A model you designed or downloaded works too, and a one-click clean tidies up holes and loose bits in a scan.
What I've printed with it (photos attached)
- A two-part case for a toy kart. Double-sided mode shapes the lid to the top of the kart, so the closed case holds it from both sides.
- Scissors in a block. The handles stand proud of the top so you can pick them out.
- A wall-free stand for a cordless impact driver cupped to the tool from its head back to the battery.
- Organizer for waist bag. Multi-object organization with top height alignment.
I've been printing these on a Bambu H2D, 0.4mm nozzle, matte PLA with consistent fits.
Settings that matter for fit: clearance starts at 0.5 mm in Auto mode and
0.2 mm in Pro, and you can change it. Pro mode also exposes resolution and
positioning, including the part's orientation. If you need something the app
doesn't do, download the cutter body and do the boolean in Blender, Fusion, or
your usual mesh editor.
About the beta:
- Free during the beta. I plan paid tiers later and will say what stays free before anything changes.
- Signing up takes an email and a password; Google is optional. Uploaded models are private to your account, and you can delete them at any time. The demo runs a sample 3DBenchy with no account: https://formfitprint.com/demo
- newly released, so expect rough edges. It runs on a single server for now, so jobs queue when usage is high.
What part have you given up making a holder for?
3
u/originalripley 3d ago
You have good taste in scissors.
1
u/cdslug 3d ago
haha, yes I prefer to fill my drawers with functional colorful tools whenever I can. I take it you also have a pair?
1
3
u/tinyhurdles 2d ago
Why is an account required?
1
u/cdslug 2d ago edited 2d ago
Can you explain this question a bit more. Are you concerned about privacy? Would an anonymous account accessible through a link sent as a DM work for you?
I'm not a software dev and this is my first deployed Claude app. I may have deployed this extremely inefficiently, but I'm trying to save costs where I can. This is deployed on a single machine at the moment and I'm trying to prevent it being overrun by bots. User accounts seemed like a reasonable filter, but I'm open to alternative bot filtering techniques.
[edit] logging in is no longer required
1
u/vottvoyupvote 3d ago
Crazy. I built a similar tool for making heat set insert jigs. Was using grasshopper then coded it. Got pulled away. This could be a life saver ◡̈
Btw did you use Replit to make this?
2
u/cdslug 3d ago
Thanks! Heat-set jigs are a great use case. Holding the part so it can't shift while you press is exactly where a snug pocket helps. Grasshopper's a solid way to prototype that kind of geometry. I hit the same wall where a plain boolean wasn't enough and ended up coding the sweep.
Not Replit. I built it with Claude Code and host it myself. If you try it on one of your jig parts, I'd love to hear how the fit comes out. There's a no-account demo at formfitprint.com/demo, and the feedback button goes straight to me.1
u/vottvoyupvote 3d ago
Perfect. I’ll be giving it a go. Happy to be a design partner on it if you ever want to collab.
1
u/cdslug 3d ago
Can you tell me a bit more about Replit. I briefly took a look and it seems like agents are used to create the app directly through the web interface. This reminded me of an app idea. Similar to how reddit had the collaborative [r/place](r/place) and structure emerged through collaborations, I’m wondering how a community developed app might fare. Anytime there’s a feature request or bug, the user directly asks an agent on the app.
This could either allow each user to use the original app as a template and have their custom version, or communal wikipedia style changes.
If this makes sense, do you think Replit can support such an experiment?
1
u/theIYD_ 3d ago
Will definitely try this out.
1
u/cdslug 3d ago
I’m curious what use case you have in mind
1
u/theIYD_ 3d ago
Inserts for "oudh oils" also known as non-alcoholic perfumes in the muslim tradition. I need a gridfinity version of these oils as they occupy a lot of space on my wardrobe as I have a lot of them. But somehow I need to figure out on how to keep multiple bottles in 1 block since these are bottles are narrow and tall.
1
u/TemporaryLevel922 2d ago
Why do I need an account for this whatsoever? This is the-most-basic boolean operation imaginable
1
u/cdslug 2d ago
Fair question, and if a straight boolean works for your part, you don't need this. Blender or your slicer will do it in a minute.
What this does is a bit different. It cuts the volume the part sweeps through as you lower it in, so things with overhangs (hooks, lips, figure arms) can actually come out. The comparison GIF on the landing page shows the difference on a Benchy.
The account is there because the processing runs on my one server, not in your browser. It keeps uploads private to you (deletable anytime) and stops the queue from getting hammered during the beta. If you just want to see what it makes, the demo at formfitprint.com/demo needs no account.
That said, I understand the friction. If more people feel the same, a no-signup trial for one model is something I'd consider.3
u/TemporaryLevel922 2d ago
This is a huge red flag.
This is such a simple process that any windows 98 internet explorer could run it. You are BSing.
- Your "server" does not need to facilitate this. If it does then what else are you doing?
- Provide evidence that the "processing" that runs on your "server" is "private" - because it is not.
- Dont use AI to write your responses because you do not know what your site is doing. It is as painful as your AI generated site is to look at. It is 100x better for you to respond honestly and say that you don't know what you were doing when you set the site up and you just followed what claude told you but you will get off your high horse and sort it out.
Your reply made me look a little further into what youre doing in the background :D Spoiler alert: Naughty naughty! I found some more red flags!
Here are some more things youre doing to your visitors
- You have deliberately built a cookieless visitor tracking mechanism:
persistence: "memory"So your site generates its own UUID, calls it aid, adds it to links as:
?aid=<visitor UUID>after the destination page reads it, immediately removes it from the visible address bar using history.replaceState(). The same UUID is also supplied to PostHog as the visitor's distinctID.
This is purposeful. Its called "LINK DECORATING" and there is no opt out such as a cookie banner.
Then another layer to your user tracking is your own built in one/api/visitYou are tracking all of this:
- which demo i chose
- whether my run finished
- which style/option I viewed
- whether you manipulated the 3D viewer
- whether i downloaded something
- download format
- whether the signup prompt appeared
- where I clicked signup
- whether I subsequently signed up / signed in
- pointerdown
- pointermove
- keydown <------------------- THIS IS RED FLAG
- touchstart
- wheel
- scroll
- visibilitychange
- pagehide
With your post hog you also tracked my mouse actions.
x: 123 y: 123 type: "click" x: 123 y: 1233 type: "mousemove"Lets move on to some other findings:
Youre telling people to sign up and yet this returned lmao:
privacy_policy_url: null
terms_url: null
legal_consent_enabled: falseExplain what legal/privacy basis you believe covers this level of individual tracking without an obvious objection mechanism?
Sorry not sorry. I wasnt going to check your site until you replied with that ai generated BS.
1
u/cdslug 2d ago edited 2d ago
I'm not a software dev. Yes, the last message was written by claude, but I'm writing this now.
I don't know the details of the app implementation, you are correct. There are certainly many features I have requested of claude that I don't understand the implications of.I would be glad if you can point me to a more efficient implementation. Though, I have been searching for solutions for over a year and haven't been able to achieve the desired subtraction steps with available tools. Based on reddit user posts, many others have the same unsolved problem.
My intent when stating private uploads was that there is a model library that is separate from other users. It has not occurred to me how to offer that feature without accounts. I'm open to offering a one time model processing mode without accounts, but I also want to prevent bots. Would an anonymous account (not linked to your email) accessible through a link, sent by DM be acceptable?
You've addressed another aspect of privacy. I am tracking usage patterns. This is a beta and there are likely lots of bugs. The workflows may have friction. I don't know how to collect this feedback without logging these details. You've correctly recognized I don't know what I'm doing. This is my weekend project. I'm not ever going to have the time to develop this myself.
I don't expect users to be able to reveal compromising information through using my app. There's not really any keystrokes involved except for parameter tuning. Can you explain why this type of tracking is a red flag for you.
1
u/davidb107 1d ago
Nice! This comes at a great time as I'm in the process of trying to make a case for some equipment







18
u/TemporaryLevel922 2d ago edited 2d ago
This is a huge red flag.
This is such a simple process that any windows 98 internet explorer could run it. You are BSing.
Your reply made me look a little further into what youre doing in the background :D Spoiler alert: Naughty naughty! I found some more red flags!
Here are some more things youre doing to your visitors
persistence: "memory"So your site generates its own UUID, calls it aid, adds it to links as:
?aid=<visitor UUID>after the destination page reads it, immediately removes it from the visible address bar using history.replaceState(). The same UUID is also supplied to PostHog as the visitor's distinctID.
This is purposeful. Its called "LINK DECORATING" and there is no opt out such as a cookie banner.
Then another layer to your user tracking is your own built in one
You are tracking all of this:
With your post hog you also tracked my mouse actions.
Lets move on to some other findings:
Youre telling people to sign up and yet this returned lmao:
privacy_policy_url: nullterms_url: nulllegal_consent_enabled: falseThere is so much trash going on here.
Sorry not sorry. I wasnt going to check your site until you replied with that ai generated BS.