Onshape Featurescript Belt Calculator

Hello all, I recently finished the initial version of my Onshape featurescript belt calculator. This is my first ever featurescript project, so I’m excited to be sharing it with the FRC community.

https://cad.onshape.com/documents/9cffa92db8b62219498f89af/w/06b332ccabc9d2e0aa0abf88/e/29b8ab37be03b929639dfcd5

You can add the featurescript belt to your toolbar by searching “FRC Belt Calculator” in the add featurescript menu in Onshape. You can also find the document itself, and the accompanying configurable parts, under the name “FRC Belt Calculator - Alex Kempen”.

Basic Features

  • Create GT2 and HTD belts based on the number of teeth of the belt, and the teeth of your two pulleys
    • You can also enable belt teeth, although this is very performance intensive and has a significant impact on regeneration times
    • Choose to only allow belts sold by VEXpro or REV

  • Position the belt by selecting a point or mate connector for the first pulley, and an axis or point (circular face or edge, point, or mate connector) for the second pulley to orient towards
    • You can also enter an offset for the belt, which is measured from the center of the belt automatically
    • You can also choose to measure the offset from the side of any inserted VEXpro or Custom pulleys (except Vexpro pinions)

Advanced Functionality

  • Automatically choose the belt size closest to the distance between your two positioning selections

    • Can also choose to get the next largest or next smallest belt
    • The automatic belt selector will also honor COTS belt only selections; for example, locking belt sizes to VEXpro belts only will cause the automatic selector to choose from only VEXpro belts
  • Automatically display the center to center distance of the belt, and warns the user if the belt center to center does not match the distance between selections

  • Insert and configure custom pulleys optimized for 3D printing, based on a modified version of @Ty_Tremblay’s MKcad configurable pulleys

    • Enable and configure the pulley width, flange width, bore type, and bore diameter of each custom pulley
    • You can also insert standard VEXpro pulleys and pinions, although this is not typically recommended since COTS parts should usually stay out of part studios
    • Choose whether to make the belt and configured pulleys one composite part, to make assembling multiple belt runs more straightforward

These features should greatly improve upon the traditional belt workflow by removing the need to use a third party belt calculator like the WCP belt calculator to get appropriate belt center to center distances.

Configurable Parts

I’ve also created several configurable parts which may be of use, all of which can be found in the FRC Belt calculator document. Most notably, I’ve created a configurable belt, which should allow you to place standard belts into assemblies directly.

You can also find an updated version of @Ty_Tremblay’s MKcad configurable pulley generators, where I’ve merged the GT2 and the HTD versions into one, standardized the options between them, and changed some of the behind the scenes values to work better for featurescript.

Furthermore, I have also created configurable part studios of all of the VEXpro GT2 and HTD pulleys. There is one with all of the VEXpro GT2 pinions and pulleys, one with all of the VEXpro HTD pulleys for 9mm wide belts, and one with all of the VEXpro HTD pulleys for 15mm wide belts. These should make the process of finding the appropriate VEXpro pulley to insert into an assembly a much more straightforward experience.

Thanks to Ernie Huerta for creating the original Creo belt calculators which inspired this one. Thanks to Andrew Kempen for helping me with some of the automatic belt selector code, and to Everen Wegner for helping with bug testing and refining the UI design.

If you have any feedback or suggestions for improvement, please let me know. I hope you enjoy using the calculator!

24 Likes

Top tier. Well done

1 Like

This looks magnificent!

Any chance we could also get the AndyMark lineup added? Their 15mm width HTD belts have several lengths that are missing on the current list, the 42T pulley is ubiquitous having been in every KoP drive system since 2013 or 2014, and the 93T 9mm width belt they use on TileRunner was a just-right length on our 2019 intake.

I know GT2 is where the game is headed, but this year more than ever it’ll be helpful for teams to be able to clean out the fridge a bit!

3 Likes

While it might be a bit much to ask, you could also try to do anything that actually exists on vbeltguys… unfortunately there’s not a great way to do that without doing some web scraping.

1 Like

Andymark belts shouldn’t be too much of a problem. I’ll add them in the next feature release. I’ll see what I can do about the Andymark pulleys as well.

1 Like

For the Vbeltguys ask, here’s the list of all belts from them available between 0-1000t for 9mm and 15mm width 5M (HTD-compatible)

[24, 25, 36, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 140, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 158, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 172, 173, 174, 176, 178, 179, 180, 182, 184, 185, 186, 187, 188, 190, 192, 193, 195, 196, 198, 200, 204, 205, 207, 208, 210, 212, 216, 218, 220, 221, 222, 223, 225, 226, 227, 229, 230, 232, 235, 236, 237, 239, 240, 242, 245, 247, 248, 250, 252, 254, 256, 259, 260, 267, 270, 275, 276, 278, 280, 284, 285, 290, 291, 298, 300, 304, 305, 306, 317, 319, 320, 323, 334, 337, 338, 340, 344, 346, 350, 356, 358, 360, 374, 376, 379, 389, 392, 400, 420, 422, 432, 450, 470, 475, 500, 505, 530, 550, 560, 582, 624, 640, 651, 674, 680, 686, 750, 754, 760]

4 Likes

This is excellent! Terrific Job!

Got a chance to play with this a little bit more. One of the tips I might add would be to add a range just under the calculated c-c (probably down to -.07" or so) that doesn’t raise an error. There are many reasons to run lower c-c distances, such as reducing current draw on high-speed mechanisms like intakes.

I really like the integrated custom pulleys, but I’m not a fan of deriving COTS pulleys for something like this-- I consider that a bad habit since it can easily result in duplicate geometry.

Nice work!

At this current point in time, I’m kinda hesitant to add the V-belt guys to the calculator. This is for a few reasons. First of all, their catalog is very large, which I could see causing issues due to the size of the drop down, particularly on smaller screens.

Also, and please correct me if I’m wrong, I’m not sure of how many teams actually use them for belts. I’ve personally never heard of them before, but I also don’t make a habit of asking where teams get their belts at competition, so I just don’t know how popular they are in FRC.

In the interim, since they do sell so many sizes of belts, it should be relatively straightforward to simply use the custom belt length option, and then round off to the closest belt size manually. I know it’s a little more tedious, but I’m thinking it shouldn’t be to awful to use.

If anyone else does use them, and would like to see their catalog added, please let me know, and I’ll definitely take another look at adding it.

We’re almost exclusively going to be ordering from vbeltguys in the coming months, since they’re way cheaper and offer more variety than frc specific suppliers

1 Like

Alternatively, you could have a checkbox for custom belt sizes, and have people input their own tooth counts

You can already select “custom belts” to enter any belt size you want, rather than choosing a supplier, like Rev belts only or VEXpro belts only. The main benefits of adding a supplier is that it changes from a filed to a drop down, and the auto belt chooser will only return the selected supplier’s belts, making it easier to find the best belt length for your needs.

I’ll look into adding the Vbelt guys then, eh chic should be a problem unless the drop down becomes to large and goes off the screen.