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: Plastic Threads
Hi everyone,
I've recently been messing around with FeatureScript and decided to make a thread feature for 3D-printed plastic parts. The general concept came from the ThreadCreator script written by David Cowden almost 8 years ago. His script works really well and has even more configurability than mine but I wanted to tap into a more specific market than his captures. This FeatureScript aims to create internal and external threads that can be printed and immediately threaded together with little to no post-processing.
You can find the FeatureScript here Plastic Thread. The document has many examples as well as the full code base. If you have any comments or concerns please leave them below.
Features:
- Automatic pitch definition for basic threads with optional user input
- Only one thread type: ANSI Standard (Could add more in the future if there is demand)
- Internal and External Threads
- Multi-start threads for ease of assembly
- Left/Right handed threads
- Configurable threaded length
- Mate point for easy mating of assemblies
- Precalculated thread tolerance for easy threading given no post-processing
Please don't use this to create threads for metal bolts or other metal parts you want to machine. I cannot ensure the threads work with CNC or metal 3D-printed parts.
To create threads, simply provide a cylindrical face representing the major diameter of an external thread or the minor diameter of an internal thread:
From there many options can be configured from the number of starts to the handedness of the thread, and the thread length. Create a mate point to easily add a mate connector to the center of the thread for use in an assembly.
If you have a bolt and a nut you can easily select both and create the same threads on each in one step.
The tolerance between both internal and external threads is handled right away by the script:
A function predetermines the tolerances and a tighter version of this function can be selected.
Some limitations associated with this FeatureScript are:
- Only one thread profile type. Even from Dave's Thread Creator script, there is no difference between the ANSI and ISO standard profiles (other than the naming convention).
- No tolerance input meaning you cannot change the backlash of the threads. Currently, a log function determines the tolerance and has 2 versions a default "loose" tolerance and an optional "tight" tolerance. The "loose" tolerance function is designed to work at any diameter and ensure the parts thread together even with a lower-quality print with a poor surface finish.
- Major/minor diameter input. I would like to add this in a future update
- No starting or ending chamfer inputs. Chamfers are predetermined by their location and the number of thread starts.
- Lead in input. (I don't find it useful enough for a 3D-printed part because it doesn't have to follow machining conventions. Also don't you just want your threads to end where you wanted them to)
- Intelligent feature naming. I couldn't figure out how to add a nice name to the feature when it was created so I didn't and instead, there is an option to show the pitch of the threads in a message.
- Thread clocking. I haven't added this yet. Let me know if it would be useful and I'll add it to my feature requests.
I have some additions in mind to make the script either more configurable or more robust.
Possible Future Additions:
- Major, and minor diameter inputs to control every dimension and aspect of the threads.
- Lead in functionality to make the threads prettier and maybe stronger.
- Partially threaded internal threads (I don't know what use this would have right now).
- Intelligent feature naming to make seeing the pitch easier.
- Thread clocking to move the start of the thread relative to the rest of the part.
You can find the FeatureScript here Plastic Thread. The document has many examples as well as the full code base. If you have any comments or concerns please leave them below.
Comments
I haven't actually had the need in a while, but one thing I could see is handling standard plastic bottle threads. They have a particular thread form and start/end which is a result of the keyway style cutters used to make the injection mold tools.
Here's a link to an older version of the standard.
Dope! Ty
Learn more about the Gospel of Christ ( Here )
CADSharp - We make custom features and integrated Onshape apps! Learn How to FeatureScript Here 🔴
I forgot to add the link to the post.
Plastic Threads
@S1mon,
It shouldn't be too hard to add the profile but the start/end will be fairly difficult to get parameterized. How do you normally model the start and end of those threads? Do you use a loft from the blunt end of the threads into the cylinder or is there another method you use?
@william_knoblauch
The ends are revolved to simulate the diameter of the cutter. I'm not sure what the typical cutter diameters are, but I think I may have stumbled on some spec drawings at some point with this info.