Search models, users, collections, and posts

Click button generator with spring or magnets

This model is created by Parametric Model Maker
Make Your Model

Print Profile(3)

All
A1 mini
X1E
X2D
H2S
X1 Carbon
P1S
P1P
A1
H2C
H2D
P2S
H2D Pro
X1
A2L

6x1mm spring - simplified
6x1mm spring - simplified
Designer
23 min
1 plate

5x1mm round magnets - simplified
5x1mm round magnets - simplified
Designer
23 min
1 plate

Holes examples
Holes examples
Designer
2.9 h
8 plates

Open in Bambu Studio
Boost
330
659
5
1
153
93
Released 

Bill of Materials

Maker's Supply Kits and Parts
Select all
0.3x3x10 mm (20PCS) - BB003
D5x1 mm Round Magnet (20PCS) - CA002

Description

Membership

Like my models? Please consider subscribing. This will help me dedicate more time to create new interesting designs. As a subscriber, you'll get my direct email for priority support, and you can gain access to high-res model files (STEP), original project files (F3D) and source code of my scripts (SCAD) and optionally a commercial license.

Join

 

This generator easily allows you to create custom click buttons compatible with Cherry MX button with various configurations, here's a complete guide to the generating parameters.

 

Subscribers to my Get to the source commercial membership can get access to the original .SCAD files and use OpenSCAD nightly builds to run them, if you don’t know how to do it, I wrote a full but simple step by step guide that you can find attached to this project.

Addendum

I also provide a Fusion 360 and a STEP file to use as reference for creating the holes to put the buttons in, to get them click on the dropdown arrow on right side of “Open in Bambu Studio” button and select Download STL/CAD Files from the menu.

Inserts

These parameters define what kind of internal mechanics you will use.

ParameterDescriptionunitminmaxdefault
insert_type

Defines the type of insert to add, this value can be:

  • Spring - use a compression spring;
  • Magnets - use two opposed magnets.
   Spring
spring_internal_diameter

The internal diameter of the spring, this defines the diameter of the pin holding the spring in place on the bottom piece. Preferably use a smaller value.

Setting this to zero will avoid pin creation.

This value is only used if insert_type is set to Spring.

millimeters05.73.2
spring_external_diameter

The external diameter of the spring, this defines the diameter of the hole in the middle piece.

This value is only used if insert_type is set to Spring.

millimeters066
spring_fill_pin

If the pin should be filled or only walls are created.

This value is only used if insert_type is set to Spring.

   false
spring_minimal_length

The minimal length the spring should achieve when compressed, this helps the generator determine the distance between the top of the hole in the middle piece and the bottom of the piece.

This value is only used if insert_type is set to Spring.

millimeters065
spring_hole_border

Set how high the walls around the hole in the middle piece are.

This value is only used if insert_type is set to Spring.

millimeters062
top_magnet_shape

The shape of the magnet in the middle piece, this value can be:

  • Round - for a circular magnet;
  • Rectangular - for a rectangular or squared magnet.
   Round
top_magnet_diameter

This parameter value meaning depends on the value set in top_magnet_shape:

  • Round - the value is the diameter of the circular magnet;
  • Rectangular - the value is the width of the magnet.
millimeters16.25
top_magnet_height

The height of the rectangular magnet.

This value is only used if top_magnet_shape is Rectangular.

millimeters163
top_magnet_thicknessThe thickness of the magnet.millimeters1301
top_magnet_cover

The quantity of material that is to be placed below the magnet.

Warning: when setting this to zero, magnets_tolerance is considered zero for vertical creation of this and the magnet will be exposed.

millimeters050.8
bottom_magnet_shape

The shape of the magnet in the bottom piece, this value can be:

  • Round - for a circular magnet;
  • Rectangular - for a rectangular or squared magnet.
   Round
bottom_magnet_diameter

This parameter value meaning depends on the value set in bottom_magnet_shape:

  • Round - the value is the diameter of the circular magnet;
  • Rectangular - the value is the width of the magnet.
millimeters16.25
bottom_magnet_height

The height of the rectangular magnet.

This value is only used if bottom_magnet_shape is Rectangular.

millimeters163
bottom_magnet_thicknessThe thickness of the magnet.millimeters1301
bottom_magnet_cover

The quantity of material that is to be placed above the magnet.

Warning: when setting this to zero, magnets_tolerance is considered zero for vertical creation of this and the magnet will be exposed.

millimeters050.8
magnets_toleranceThe tolerance of magnets sizes in every direction.millimeters00.50.2
full_base

Special mode, if activate the middle part will be created without legs.

This value is only used if insert_type is set to Magnets.

   true

Top piece

ParameterDescriptiondefault
top_simplifyIf this is enabled, a simplified version of the top piece is rendered, the simplified version is easier to print but has lower details. Results will still be fully compatible with Cherry MX buttons, but will not be exactly the same.true

Middle piece

ParameterDescriptionunitminmaxdefault
middle_pin_heightThe height of the pin for button cap insertion. This is the part that will be on top of the button.millimeters0103.7
middle_pin_shape

The shape of the pin at top of the button, this value can be:

  • Cross - the standard Cherry MX-compatible cross;
  • Circle - a simple cylinder;
  • Square 45° - a square pin rotated by 45° degrees;
  • Square horizontal - a square pin parallel to piece lines;
  • Rectangle - a rectangle with proportions of the middle piece itself.
   Cross
middle_pin_widthThe width of the top pin, scaled accordingly.millimeters0.45.14

Bottom piece

ParameterDescriptionunitminmaxdefault
bottom_pin_height

This defines the height of the bottom pin.

If this value is set to zero, the pin is not created.

millimeters0103
bottom_pin_diameter

The diameter of the bottom pin.

This is only used if bottom_pin_height is not set to zero.

millimeters1.2103.85
bottom_flatIf enabled, removes alignment plates on the bottom for a flat surface.   false
clipsEnables//disables lateral clips creation   true
clip_depth

The depth of the clip.

A value for this parameters must be considered sufficient enough so that they are not too delicate but not excessive so that they are not too hard.

millimeters0.431.6
clip_hole_depthThe depth of the hole the clips are created.millimeters0.583.7
reinforce_towersAdds a wall behind the towers avoiding them to be too delicate and break away easily.   true
bottom_simplify

If this is enabled, a simplified version of the bottom piece is rendered, the simplified version is easier to print but has lower details. Results will still be fully compatible with Cherry MX buttons, but will not be exactly the same.

This includes:

  • bottom_pin_height is considered set to zero hence bottom pin is not created;
  • bottom_flat is considered enabled hence bottom alignment plates are not created;
  • clips is considered disabled hence clips are not created;
  • reinforce_towers is considered enabled hence created.
   true

Other settings

ParameterDescriptiondefault
render_quality

Choose the quality of generation of the objects, the higher quality the more memory/time generation will take.

This value can be:

  • Draft;
  • Printable draft;
  • Normal;
  • Good quality;
  • High quality;
  • Very high quality.

My advice is to find your settings for the whole object using Normal rendering, then switching to High quality or even higher when ready to export.

Normal
top_colorThe color to use for top piece in Assemble View. Does not affect exported file.Lavender
middle_colorThe color to use for middle piece in Assemble View. Does not affect exported file.Firebrick
bottom_colorThe color to use for bottom piece in Assemble View. Does not affect exported file.Light Steel Blue

 

Where to buy inserts

You can buy inserts directly from MakerWorld/Bambu Lab under the Maker's Supply section or you can find them:

Amazon

 

IT

DE

6x10mm springs
5x1mm magnets

 

AliExpress

6x10mm springs
5x1mm magnets

 

The Amazon and AliExpress links above are part of the affiliate program. I may earn something from your purchase, please consider this as another way to show your appreciation for this model. You will not be charged anything more.


 

 

Boost Me (for free)

Want to show your appreciation for my work? Consider sending me a boost. This encourages me to keep creating beautiful, useful models and scripts, and to share them with full documentation as I always have.

 

 

Show me your appreciation: buy me a coffee.

https://buymeacoffee.com/zizzo81

 

 

 

All my models are proudly created in Italy with .

 

Comment & Rating (5)

(0/1000)

License

If you want to use this model commercially, please join my membership.
Join Now
This user content is licensed under the MakerWorld Exclusive License.

You may create derivative works based on this object, provided that all such derivative works are published exclusively on the MakerWorld platform and include proper attribution to the original creator. You may not share, upload, host, distribute, or publish this object—or any derivative work of this object—on any other digital platform, marketplace, or distribution channel. Commercial use of this object and any derivative works is strictly prohibited. This includes, but is not limited to, selling, renting, sublicensing, or using the object in any context in which you receive monetary compensation or other financial benefits.