Custom 3D Printed Shoe Configurator

Hello everyone,

I am new to Babylon.js and am super excited to build my first web app.

My goal is to build a custom 3D printed shoe configurator similar to Nike By You which I see makes use of Babylon.js

The very basic features of the app include choosing a shoe type (boot or sneaker), shoe size, and then choosing between different displacement textures to the sole. When the user is happy, they can export their shoe as an STL.

I’m wondering if anyone could help me understand if this would be feasible, any idea of how long this would take, and any tips or resources to get started.

Many thanks,

why do you need to export an STL? Normally , online configurators are using models optimized for realtime display, not for manufacturing.

Anyway its impossible to answer how long it will take , its like asking “how long is a piece of string” but I can say this, whaever time frame you think it is upfront … it will probably be 10 times longer :wink:


Thank you so much for the response!

Your words have been duly noted, haha!

The STL is needed so that the shoe can then be 3D printed - the actually shoe shape is seamless.

Have you made anything similar to this?

This is very feasible, but having built a few configurators, there are a few challenges that you would run into, and those are mostly not visualization related but inherent to your project.

Since you need to generate an STL for different sizes, you’d need to have a base model of the sole for each footwear type and size. It’s not as simple as scaling one base model since every size is built around a size-specific last - unless of course you just need an approximation.

Then you need to apply a displacement map to create the relief in actual 3D model, not just shaders - Babylon won’t really help with that, but that’s pretty straightforward (with some 3D math).

Once you have a generated model, next steps should be easy - could just export a GLTF from Babylon on the fly and convert that to STL (using… ahem… ThreeJS :smiley:)

How long? With testing, QA, UAT, could be 2-3 months total project (and there is a lot more than just coding involved…)


Thank you for your response,

Very much aware of the varying lasts and am currently working on that part thankfully!

If you don’t mind expanding, I would be interested to know more about the displacement part, the goal is to be able to have a slider where the user can increase or decrease the size of the chosen displacement pattern and a another slider to choose how much the pattern fades from the bottom to the top of the shoe - would this be particularly difficult or just a bit more 3D math?

Also really great to know about the STL part, really appreciate it :slight_smile:

OMG. You realize you are using words that cannot be allowed here: Th**J :rofl:
Jokes apart, what about STLExport? Didn’t have a chance to try it so far but it supposed to be made for that, isn’t it? May be worth checking it out?

1 Like

That is just so bloody true :sweat_smile: I would say from 3 to 10… but then, you could even add a multiplier to it depending on your client :joy:

Here are some links suggested from which can help you to make the first step in your project! :slight_smile:

Chapter 2 - 3D | Babylon.js Documentation (

Is it possible to develop this kind of 3D configurator? - Questions - Babylon.js (

Roadmap to develop a 3D configurator - Questions - Babylon.js (

Pally Pallet Builder | Online Pattern Builder | Rocketfarm

this one is quit promissing: store.js - nodebox - CodeSandbox

Uh oh. Didn’t realize we had one too, may be it’s been a while since I looked

  • cue in Homer disappears in bushes gif *

I don’t know if it’s any good, as I said. Originally, it was @Pryme8 contribution. Knowing a little of what he does, I thought it might be worth considering… but that’s really all I can say. Meanwhile, have a great day :sunglasses:

1 Like

The STL Exporter should work. I know in the past someone has used to 3d print things, but its been years since then. I doubt anything would have changed though.

1 Like