SolveSpace Logo SOLVESPACE -- parametric 2d/3d CAD
Examples
Tutorials
Features
Download
Reference
Technology
Library
Forum
Contact
USER FORUM

(you are viewing a thread; or go back to list of threads)

Threaded Rod (by Jan Hamal Dvořák)
Hi, I have gotten myself familiar with SolveSpace recently. It's a lot more fun than FreeCAD, which I never managed to grok. Thanks for the good work!

I have an issue, though. Helixes.

It is basically impossible for me to work with threaded rods and the corresponding nuts, because even the simplest boolean operations tend to leave naked edges. What bothers me most, though, is that it is completely random. When I extend the helix a 0.1mm, the problematic edges might shift or disappear completely.

How do you deal with this?

There are some similar issues reported on Github, but it does not seem as if anyone is working on it right now. I don't feel very confident in my math and C++ to help either.
Mon Aug 29 2022, 12:24:52
(no subject) (by Paul)
Some helix tips:

Never use a white sketch line as the axis for a helical extrusion. The NURBS code doesnt handle that case correctly (revolve does).

For threads it is probably best to make a rod and then a helical cut (difference) to create the threads. You can also try to make a cross section and make a threaded rod in one operation, but that creates a highly twisted surface that is more likely to fail later.

Use the pitch parameter in the text window.

Chord tolerance setting can affect success of boolean operations. Seemingly randomly.

Helices are not perfect. They are split into N sections so no section is more than 90 degrees. This means changing length affects the entire length in subtle ways.

Helices are imperfect. NURBS can not exactly represent them, so there are tiny variation (oscilations) in pitch along them. A nut will probably have slight interference when placed on a bolt in assembly.

You might also try "force NURBS to triangle mesh" but I consider that a last resort.
Mon Aug 29 2022, 12:56:34
(no subject) (by Jan Hamal Dvořák)
Thanks for a reply, Paul.

> Helices are not perfect. They are split into N sections so no section is more than 90 degrees. This means changing length affects the entire length in subtle ways.

That explains it!

I have been doing it like that all the time (after reading up here and on Github) and the topology is easily broken even then. Check out the screenshot. This is with current master on Fedora 36, compiled in Release mode.

Funnily it's all proper triangles and a similar situation a little bit higher has been resolved correctly.
Mon Aug 29 2022, 13:38:14, download attachment SolveSpace-Helix-Bug.png
(no subject) (by Paul)
I meant to say N equal sections, so if one end is fixed and the pitch is fixed, dragging the new end will subtlety affect the fixed end since the NURBS patches are all changing in their (equal) number of degrees.

We dont just add a new segment every 90 degrees and leave the old ones. I thought this preferable to having really short 0.1 degree sections in some cases. The 90 degree thing could be reduced or made a setting since smaller angles would reduce the deviation from a perfect helix, but more sections seems like an invitation to more failures.
Mon Aug 29 2022, 15:55:15
(no subject) (by Jan Hamal Dvořák)
> The 90 degree thing could be reduced or made a setting since smaller angles would reduce the deviation from a perfect helix...

It sure did help! I have decreased it to 22.5° and the helix went mostly fine even over 500mm at 2mm pitch. It failed to enter the rod properly, though, so I had to fiddle with the origin to rod distance.

The number of vertices makes it unusable, though.

Well, I'll limit myself to precisely modeling only the parts where it's absolutely necessary.

Thanks for your help, I am quite new to modeling. :-)
Tue Aug 30 2022, 04:42:10
Post a reply to this comment:
Your Name:
Your Email:
Subject:
(no HTML tags; use plain text, and hit Enter for a line break)
Attached file (if you want, 5 MB max):
© 2008-2022 SolveSpace contributors. Most recent update June 2 2022.