mating threads

Does anyone have an example of how to create multiple assembly configurations that represent 2 threaded parts (male and female) that thread together at different, with a distance mate controlling the thread depth? An example might be a jack screw where the body is fixed and the screw itself threads in and can be adjusted by "turning" the screw down to a specific height. Normally I wouldn't care about matching up the actual threads in simple cases, but in this case I need to have various configurations where the male part maintains the proper axial alignment with its mating part, no matter what distance is input. I could probably manually calculate the angle for each increment, based on my known travel distance and the thread pitch, etc., and then use an angle mate in addition to my distance mate, but I was hoping that there was a magic solution that would mate the geometry of the treads and determine the radial orientation based on simply varying the distance constraint.

Hopefully this description makes sense to someone out there. Anybody have experience with this type of problem, or am I just "screwed" doing it the hard way?

Reply to
Josh
Loading thread data ...

If you don't already have the threads modeled, I'd recommend doing the calculations. Long helical sweeps are performance killers.

If you have the thread modeled, the thread flank needs to be a continuous face for the range of motion you will use. Mate a sketch point or other point-like entity to the thread flank. This may result in odd behavior of the mates, such as large changes causing rebuild errors. I'm not sure about that, since I've never tried configurations on such geometry.

Reply to
Dale Dunn

I am pretty sure you can do what you are after by using an equation to drive your angle mate. Set your distance mate to be configuration specific, and your angle mate to all configurations. The equation that would drive the angle mate would look something like this: "angle dimension" = (distance*tpi-int(distance*tpi))*360. Under some unpredictable circumstances, this will require a ctl-q when switching configurations to update properly, but sometimes it works all on its own.

Reply to
Brian

Thanks for the advise guys. I'll let you know how it goes. I hope to get back to this by tomorrow.

Reply to
Josh

Well, I first tried using mates, with no luck (probably a way to make this method work, but I gave up early and moved on). Next, I tried using an equation and it seems to work well now.

I didn't quite understand your (Brian's) example equation above (maybe because I didn't have experience using SW equations until now), but using the following equation I achieved satisfactory results...

"D1@Angle1"=("D1@Distance1"/"D4@Helix/Spiral1@bag_stop_movable.Part")*360+.0001

or more generically speaking...

ROTATION ANGLE = (AXIAL TRAVEL DISTANCE/PITCH)*360

NOTE: "D4@Helix/Spiral1@bag_stop_movable.Part" is a direct reference to my pitch dimension in one of the parts, which should hopefully allow me to change the pitch downstream, without messing up my mates (the pitch is something that I plan to fine tune later, so wanted this parametrically linked).

ALSO NOTE: One puzzling thing was, without the "+.0001" at the end of the equation, my result in the default configuration set the angle to zero, since the distance was zero, which the equation editor did not like. The following error was displayed: "This equation evaluates to a value that lies outside the modeler resolution", so I just added .0001 to the end result since this slight angle shift wouldn't really be noticed in my assembly.

Any idea why this was a problem, since SolidWorks normally allows angles to be set to zero, right?

Thanks again for your help!

-JOSH

Reply to
Josh

Basically the equation I gave stripped off the integer value for rotations >1. A rotation >1 would give an angle >360 and SW does not like that. So, for example, if it took 4.3 rotations to achieve your distance, the equation would only return the .3 ... or 108 degrees. You may need to do something similar unless your rotation angles never exceed 360 degrees.

Reply to
Brian

Why not use a design table with the above mentioned equations in it? Excel is much easier to use. All you need is a value for how many turns into the material the thread is engaged (in a decimal value). From that you should be able to figure out the Distance Mate value and the Angle Mate value....Obvously you'd also need a cell to enter in the threads/distance.

Ken

Reply to
Tin Man

Brian,

My assembly (in this case) should actually not ever exceed 360 degrees of rotation, however I am still interested in your method for this and other cases, since it seems to be better math. Can you please explain it to me once more, with an example. Sorry I'm not getting it exactly from your previous descriptions.

Much thanks,

-JOSH

Tin Man,

Thanks for the tip. I haven't tried design tables in a while, but I can see where this may be helpful.

-JOSH

Reply to
Josh

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.