Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. 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_sebesta167kenn_sebesta167 Member Posts: 73 ✭✭
edited January 16 in General

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

Comments

  • EvanReeseEvanReese Member, Mentor Posts: 2,211 ✭✭✭✭✭

    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!

    Evan Reese
  • kenn_sebesta167kenn_sebesta167 Member Posts: 73 ✭✭

    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.

  • jelte_steur814jelte_steur814 Member Posts: 255 PRO
    edited January 17

    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…

  • martin_kopplowmartin_kopplow Member Posts: 596 PRO

    That's a nice and useful one. Been doing this the derive-and-boolean way many times. Thank you for sharing! :0)

  • martin_kopplowmartin_kopplow Member Posts: 596 PRO

    @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.

  • kenn_sebesta167kenn_sebesta167 Member Posts: 73 ✭✭

    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?)

  • kenn_sebesta167kenn_sebesta167 Member Posts: 73 ✭✭

    I've been programming the latter suggestion, but I think the former suggestion is even better. Lemme mull on effort vs. reward.

  • EvanReeseEvanReese Member, Mentor Posts: 2,211 ✭✭✭✭✭

    @kenn_sebesta167 Some ideas for handling your edge case:

    1. A bit of work, but you could copy the adjacent faces, and trim the hole out of them so it fills back in (same way it would if you deleted the hole with the Delete Face feature set to Heal). Then you can extrude up to that surface body and delete the body.
    2. Possibly easier, but less good would be to measure the distance to the nearest part of the hole exit edge and just extrude that length instead of up_to_surface.

    Evan Reese
Sign In or Register to comment.