Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
[New Featurescript] Tapless 3D printed "threads"
kenn_sebesta167
Member Posts: 73 ✭✭
Inspired by https://www.youtube.com/watch?v=HgEEtk85rAY, I published a featurescript to add profiles to any cylinder. It was a fun, albeit longer-than-anticipated, experience. Hope it's useful to someone out there!
Tapless 3d printed threads: https://cad.onshape.com/documents/1e451ed1452487dd6118fbbe/v/f256a4b1f28a31352b415f29/e/d5a5f79d9a758c2c8ecf5ab6
2
Comments
Nice one! I learned a new technique today and you've already made the automation for it. Thanks for sharing!
I also didn't realize that Thomas was back on Onshape after that "NoShape" video a while back, which I'm glad to see!
Oh, wow, glad that this is already being appreciated.
I've also found my first edge case. When there's a shoulder, as below, the logic for the extrusion bounds fails. I don't know how to make the extrusion stop at the shelf, so the extrusion's boolean union fails. Specifically, I don't know how to programmatically select the shelf. My only idea right now is to revamp the dialog to force the user to choose the faces to extrude between, but that seems silly for 99% of use cases.
Very nice! when I saw the video, I immediately thought: "that calls for a featurescript!". So you beat me to it!
I would mostly apply these to holes made with the native hole feature. would you be able to (with edit logic function) automaticall set the 'thickness' of the cam?
Playing with it, the native hole should be set to 'clearance' I guess. Perhaps you could add this to the documentation?
PS. perhaps you should share this FS in the youtube comments as well…
That's a nice and useful one. Been doing this the derive-and-boolean way many times. Thank you for sharing! :0)
@kenn_sebesta167 maybe you could make the shoulder case a general option when you add a check box that lets users specify "partial teeth", which would not only apply to your edge case but to all holes where we would not want the teeth over the hole length. In case a user checks the "partial teeth" box, you'd ask for boundary faces (or planes, or mate connectors …). Or you could just have a depth / starting offset option that is off by default.
My sense is a lot of people don't use the native hole feature, esp. it's new version which is much harder to use for the lay modeler, so I didn't want to wed my featurescript to it.
I do automatically set the tooth thickness as a function of the cylinder radius, although that's obviously problematic for the variety of radii which might all represent a single "hole" class, e.g. close, normal, and loose fittings for an M3. If you were to do a loose fitting, you might find that the default thickness isn't enough, although that's why I included a setting to massage the tooth thickness a little larger or smaller (also helps with printers of varying tolerance).
(Regarding the youtube comment, I did post one yesterday! But it seems not to be present. Is it possible that youtube no longer allows links in comments? Or that a comment w/link needs to be approved by the OP?)
I've been programming the latter suggestion, but I think the former suggestion is even better. Lemme mull on effort vs. reward.
@kenn_sebesta167 Some ideas for handling your edge case: