r/FreeCAD•
mathrick

Parametric radial features: how to make my timing pulley a single body?

Hi, I'm pretty much still a giant noob. I've got the hang of constraint-based sketches and parametric design (love it, especially since I'm a programmer by day). I've used it to design a parametric GT2 timing pulley keyed by the number of teeth. I put down the reference profile dimensions in a spreadsheet, then used that to model a single tooth profile. However, here's where I run into trouble:

  • I can't create rotational features directly in the sketch, which is what Fusion 360 folks do in this situation. So I can't just make the outline of the entire pulley, then pad it
  • Instead, I tried padding a single slice, then applying Polar Feature on the pad. This kinda works, but it creates a part which is still visibly composed of 54 individual slices (screenshot)

https://preview.redd.it/br4haciii6g61.png?width=1006&format=png&auto=webp&s=b724aaf9789adf49b3dd4f5986783b11cd47d17d

I've tried doing weird workarounds like creating a larger solid, subtracting the pulley shape from it (to create a "mould"), then subtracting that from another solid (to make a "cast"), but no matter what I try, it always seems to preserve the same number of constituent chunks. I also tried using Polar Array from Draft workbench, but that has the same result (in addition to complaining about App::Link target being outside allowed scope).

How do I make my pulley into a single, contiguous solid? In addition to the annoying appearance, this seems to have practical considerations for slicing for 3D print, and every other part of FreeCAD (such as Tech Draw workbench) still see it as composed of 54 individual chunks, which makes it hard to impossible to manipulate in many instances. I'm using the official 0.19 Linux AppImage, though I'm willing to give a different branch a go (I will probably give realthunder's builds a spin just for the Configuration Table functionality).

Link to the FCstd file with the model

EDIT

Two solutions:

  1. By using Draft to apply Polar Array to the sketch, rather than the pad, then converting the resulting draft back to a sketch, it's possible to get a full outline that can then be padded. Example file. Note: I ran into issues with the sketch derived from the draft not always updating when I change the parameters, so this might not be a full solution.
  2. As u/BrandonGene points out, by changing Refine to True in Polar Array's properties, the extra faces can be removed. This is a general solution applicable in many situations. Example file

Posted Feb 8, 2021, 4:29 AM UTC · edited

38
BrandonGene•

Setting the 'Refine' property of the polar pattern to 'true' combines the disparate faces. This is a handy setting to keep an eye on pretty often, actually. Generally, if I want fewer edges on a part, I scuttle around the tree looking for everything that I can refine. Just tested (thank you for uploading the file!) and it worked for me on the ASM3 branch. Also, big upvote for a very well formed question. =)

3
mathrickOP•

Ahh, that's good to know, thanks! I also managed to solve it another way, by going sketch → draft → polar array → sketch → pad, instead of sketch → pad → draft → polar array. This way I can get the result of polar array in the sketch, although it's a pretty clunky workflow.

1
gnosys_•

there is an addon for making gears called Gear and it does parametric timing gears among other nifty things.

1
mathrickOP•

Right, but AFAIK, it doesn't do GT2 pulleys, at least not 54 tooth ones, which is the part I need to replicate. Plus, I'd like to know how to do it properly in FreeCAD myself, since this is a more general problem I expect to run into in the future as well.

2
gnosys_•

GT2 pulley

the icon for the timing gear option literally says "GT" on it, there are presets for GT2 GT3 and GT5, you can modify every dimension of the tooth geometry parametrically after that, tooth count and width are arbitrary

as for generating radial geometry there are many ways to skin a cat, i might make a polar array of geometry to cut from the edge of a cylinder.

1
mathrickOP•

You're right, I missed the GT profiles. It was still a learning experience though :)

1
SameDaySS•

Pardon me for not staying on-track with your question, but why do you want radial lines?

In Part design would

Create a Body.
Create an OD circle.
Pad to thickness.
Create a close-tooth profile on the face of the pad at the OD/PCD radius.
Pocket that tooth.
Use Polar to make 54 teeth.
Done in 2-minutes, or am I missing something?

1
mathrickOP•

I'm not sure I understand your question, what radial lines are you referring to? I don't want those 54 lines to be visible, and I was asking about removing them. I started with the (positive) outline of the tooth, rather than (negative) outline of the valley, which is why I needed help fusing those 54 individual chunks into one solid body. You're probably right that starting with a negative feature to pocket would have avoided the need to refine the resulting solid.

1