Search models, users, collections, and posts
Recommendation
Creator’s Club
Creators & Fans
Show Your Make
Off Topic
Post Details
Create customizable models using Parametric MM
Create customizable models using Parametric MM

You've probably seen models on Maker World that have a "Customize" button. When the user clicks it, they see a UI where they can tweak parameters, live preview the changes, and then download their customized model to print.

 

I always wondered how people created customizable models, and I couldn't find clear documentation in one place that walked through the process and all the available features. I just built my first customizable model, so I documented how it worked. It's a really cool system that opens up all sorts of new options for models.

 

Here's the model that I created that shows how this looks on Maker World: https://makerworld.com/en/models/1250464-cute-desk-nameplate-generator-for-teachers-kids

 

In simplest terms, customizable models are scripts written in OpenSCAD. OpenSCAD is a free programming tool for describing CAD models as code. Maker World runs your OpenSCAD code inside their Parametric Model Maker app and displays the result for the user to download. So if you can write an OpenSCAD script to generate your model and if you can make the model parameters into variables, Maker World will let users manipulate those variables in a nice UI and download a printable 3mf file.

 

It's like scripting your model's feature timeline. If you imagine the steps you take in Fusion or OnShape to model something, in OpenSCAD those steps become lines of code. So instead of clicking the Sphere tool and then dragging out the dimension to 20mm to create a sphere, you would add a line of code to your script that says sphere(d = 20); to get the same result.

 

How do I learn how to write OpenSCAD scripts?

  • There are some good OpenSCAD tutorials on YouTube. This is the easiest way to get a feel for how it works and what you can do.
  • OpenSCAD has documentation and a cheatsheet online.
  • Or you can just use ChatGPT! Describe the object you want to model and ask ChatGPT to create an OpenSCAD script for you. It usually takes some tweaking from there, but it's a good way to get started.

How do I test my script as I develop it?

  • You can run your script in OpenSCAD on your own computer as you develop.
  • Or you can run it in MakerLab's Parametric Model Maker in your browser - you don't even need to install OpenSCAD.

What version of OpenSCAD is Maker World compatible with?

  • The OpenSCAD project is in a weird state. The last official version was released in early 2021, but they have daily development versions that have added a lot of new features since then. Maker World seems to be compatible with the 2021 release, so just stick with the official release for now.

How do I embed my OpenSCAD script in my MakerWorld listing and get the "Customize" button to appear?

  • Create a new listing on MakerWorld but upload the *.scad file instead of a *.3mf file. The system will automatically recognize the *.scad file and add a 'Customize' button to the MakerWorld listing.

Do I get MakerWorld points when people use the Customize button?

  • Yes!

I want to customize the menu choices available to the user in the customizer. How do I control the UI?

  • Variables that you put at the top of your script will show up as editable options in the UI automatically. To customize how those options appear (to make sliders, drop-down boxes, color pickers, embedded help, etc.), you have to add special comments to your code that tell Maker World which UI widgets to display.
  • The easiest way to see how to format your magic comments is to click the "Sample Code" icon in the very bottom left of the Parametric Model Maker UI. It will load sample code in your editor that shows all the different possibilities.
  • Mostly, they follow the same syntax that OpenSCAD itself uses for custom UIs: https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Customizer

For example, here's how to create a UI widget that lets the user choose between three different model sizes from a dropdown list with Large, Medium, and Small options:

 

// Select which size you want
Box_Size = 10; // [10:Large, 5:Medium, 1:Small]

 

I want users to be able to customize text on the model. Which fonts are available for my script?

  • You can only use the fonts that Maker World has installed. Luckily, they include most of the fonts on Google Fonts. You can find the exact list of font names by going to the parametric model maker and clicking the "Book" icon in the bottom left and then clicking the "Third-party fonts" menu option.

Can I use my own custom fonts? I want to make a sick Avatar logo generator, so I really need the Papyrus font.

  • No, sorry. You can only use the fonts pre-loaded by Maker World, but they have several thousand.

Can I let the user choose their own font from a list?

  • Yes! See above about customizing the UI. Adding // font after a variable turns it into a font selector in the UI.

Can I use third-party libraries in my OpenSCAD script?

  • You can only use the specific OpenSCAD libraries that Maker World has installed, but they have most of what you might want. Right now, they have:

Can users upload logos to my script so I can emboss them on my model?

Can I create models that use multiple colors/multiple filaments?

Can I create models that use more than one build plate? And can I customize the print settings in the downloadable 3mf file?

Hope that helps! I had a lot of fun playing with the Parametric Model Maker, so hopefully this helps someone else give it a try.

Share
88
11
0
Comment (11)
@BaDoink you should really do a YouTube video tutorial on this. for sure it would get monetized. I would watch it a number of times lol. tech isn't my wheelhouse but I don't have a choice. lol
2
Reply
@ryanvaz hi Surrey can you please send me some gift card codes i am a young creator looking to buy filimant
1
Reply
@OldDogNewTricks lol
0
Reply
The account has been deleted :
0
Reply
@3DDesigns1100 Thank you so much I have been trying figure out openscad for a week now. this is super help full
0
Reply
@3dWerks I've just started out my OpenSCAD journey and loving it. Even got some some recognition with a participation award on my second project for the Future Cities contest. I wish I had seen this post sooner as it would have helped me with lots of little things (like the 3MF creator options or the included libraries). The dearth of documentation from MakerWorld is puzzling! Thank you so much for pulling this together
The poster has replied
0
Reply
@surrey_homeware Sweet, I'm glad it was helpful. it does feel like a documentation page is totally missing for it.
1
Reply
@Filament_dude nice👍
0
Reply
@OldDogNewTricks Amazing write up. Definitely going to bookmark this. Thank you
0
Reply
@ozarkexpedition Great article on the PMM!
0
Reply
@JJCL what do you make models on?
0
Reply
No more data
Trend
PrintClinic
Weekly Roundup
1
the Great Benchy Nations
4 k
2
HideAndSeekChallenge
2.9 k
3
Questions
1.2 k
4
Theprintertribes
775
5
Newmodel
605
6
Contests
380
7
Face Reveal
326
8
Bonbon
314