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 Feature: 3D Printed Hole

EvanReeseEvanReese Member, Mentor Posts: 2,186 ✭✭✭✭✭
edited January 2022 in General
I finally made time over the holidays to knock out a feature I'd been wanting to write for a while. It automates the process of converting round holes to a droplet shape so they 3D print cleanly without support material. I made a video tour here to show off all the bells and whistles. Go get the feature here. Let me know what you think!
It does this to holes:


Evan Reese

Comments

  • MichaelPascoeMichaelPascoe Member Posts: 2,012 PRO
    Yess!  Thanks @Evan_Reese


    Learn more about the Gospel of Christ  ( Here )

    CADSharp  -  We make custom features and integrated Onshape apps!   Learn How to FeatureScript Here 🔴
  • matthew_stacymatthew_stacy Member Posts: 487 PRO
    Nice work @Evan_Reese!  Can you offer any guidance on how much 'tear-dropping' is required to maintain clearance for a round pin?  I realize that there are a gazillion variables involved from printer and material characteristics to hole size and orientation. 

    But if you were looking for minimal modification on a Ø1/4" hole, perpendicular to the build-direction what would you recommend?
  • EvanReeseEvanReese Member, Mentor Posts: 2,186 ✭✭✭✭✭
    I'll probably just leave the Overhang Angle at 45° pretty much always, and then not think too much about how tilted the holes are or aren't since the feature automatically adjusts the amount of tear-dropping for you based on the hole angle. You still need to design the hole with some clearance to the shaft before using this feature. I'd probably start with 0.2mm for a rigid connection or something like 0.5mm for something meant to slide, but if I wanted to dial it in I'd do a test print with lots of holes slight variations in clearance to find the best one. Did that answer the question you asked?
    Evan Reese
  • matthew_stacymatthew_stacy Member Posts: 487 PRO
    I'll probably just leave the Overhang Angle at 45° pretty much always, and then not think too much about how tilted the holes are or aren't since the feature automatically adjusts the amount of tear-dropping for you based on the hole angle. You still need to design the hole with some clearance to the shaft before using this feature. I'd probably start with 0.2mm for a rigid connection or something like 0.5mm for something meant to slide, but if I wanted to dial it in I'd do a test print with lots of holes slight variations in clearance to find the best one. Did that answer the question you asked?

    Answered.  Thanks @Evan_Reese.
  • mahirmahir Member, Developers Posts: 1,309 ✭✭✭✭✭
    Nice. I've never even seen that type of hole for 3D printing. But I could have definitely made use of it and will do so in the future.
  • EvanReeseEvanReese Member, Mentor Posts: 2,186 ✭✭✭✭✭
    I like it. I'm not sure if it's the first place I learned about it, but Angus from Maker's Muse explains it well. It's not just about overhang angles, it's also about how it's hard to approximate a round hole by slicing it into layers. https://youtu.be/j6508J94VsA
    Evan Reese
  • sebastian_glanznersebastian_glanzner Member, Developers Posts: 425 PRO
    @Evan_Reese
    Thanks for the amazing Feature-Script! 
    I just used it in a print  :)
  • EvanReeseEvanReese Member, Mentor Posts: 2,186 ✭✭✭✭✭
    @Evan_Reese
    Thanks for the amazing Feature-Script! 
    I just used it in a print  :)
    Nice! glad it was useful
    Evan Reese
  • marshall_polandmarshall_poland Member Posts: 10 PRO
    Fantastic, I will use this a lot @Evan_Reese ! I just posted an improvement suggestion exactly for this, but will remove it since this covers it about perfectly.
  • EvanReeseEvanReese Member, Mentor Posts: 2,186 ✭✭✭✭✭
    wohoo! thanks for letting me know.
    Evan Reese
  • STEGSTEG Member, User Group Leader Posts: 103 PRO
    edited March 15
    Great work! 👍

    Truncate is what I was doing manually.
  • EvanReeseEvanReese Member, Mentor Posts: 2,186 ✭✭✭✭✭
    Glad to hear it
    Evan Reese
  • jelte_steur814jelte_steur814 Member Posts: 232 PRO
    edited April 23
    Hi @Evan_Reese

    I always use the 'truncate' setting of your 3D printed holes feature but have had it fail on me a couple of times.
    I've copied and changed the code to make it more robust.

    Moreover in one of my cases the evDistance in getPrinterZDirection function failed and it caused the whole feature to fail. I've haven't solved the rootcause  but made it so the feature still resolves. (couldn't quite figure out why the evDistance failed)

    I'd love for the community and you to benefit from my improvements rather than just forking another version off that won't benefit from future improvements.

    Can i share it with you to integrate it when you find the time?

    kind regards

    Jelte
  • EvanReeseEvanReese Member, Mentor Posts: 2,186 ✭✭✭✭✭
    Hi @Evan_Reese

    I always use the 'truncate' setting of your 3D printed holes feature but have had it fail on me a couple of times.
    I've copied and changed the code to make it more robust.

    Moreover in one of my cases the evDistance in getPrinterZDirection function failed and it caused the whole feature to fail. I've haven't solved the rootcause  but made it so the feature still resolves. (couldn't quite figure out why the evDistance failed)

    I'd love for the community and you to benefit from my improvements rather than just forking another version off that won't benefit from future improvements.

    Can i share it with you to integrate it when you find the time?

    kind regards

    Jelte
    Thanks for looking into it! I'd be happy to incorporate improvements. Go ahead and share it with me if you don't mind. The more you can do to explain what you changed an why the better too.
    Evan Reese
  • EvanReeseEvanReese Member, Mentor Posts: 2,186 ✭✭✭✭✭
    Thanks again to @jelte_steur814 for the code edits to mitigate some of the failure cases! I've got his code implemented and running in the newest version of the feature.
    Evan Reese
  • jelte_steur814jelte_steur814 Member Posts: 232 PRO
    awesome @Evan_Reese

Sign In or Register to comment.