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)
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:
- 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.
- 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
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. =)
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.