I created ball raceway with helical sweep cut.
I can't manage to assembly 20 balls onto the raceway.
All balls must touch each other and must be tangent to the worm gear.
I tried to get curve from helical sweep but i couldn't achieve it.
(Image below is just for illustration)
assembly and parts attached.
Have you tried to pattern the balls along a curve? You can use the dimension that represent the distance along a curve to pattern it.
What version are you using and is it the full version or academic version?
A quick study of the problem at hand shows you can do the following.
You have to generate a centerline curve for the helical sweep in the worm_gear model. I did this with a pair of surface features and intersected them. I could also use an edge. However you get this feature is acceptable but it represents the centerline of the ball bearings.
in the assembly, place a point along the helix. You want to be sure to select the "intent curve" or apply the "tangent" rule so the entire helix will be referenced in the assembly.
Now pattern the point x20 using the "along" dimension for the original point. Be sure this is not set to Ratio, but rather use Real. The value of the spacing dimension is now "8".
Add a datum point in the center of the ball. Mate the point in the ball to the original point in the assembly. Orient the ball bearing's axis (parallel to the shaft axis, for instance) and orient a datum plane from the ball to the shaft. This will fully constrain the ball.
Next, pattern the ball. If you version supports it, you should get a reference option by default for the pattern. it will follow the point pattern. If not, you will need to use a point location. I am not sure if you need to jump through further hoops to get points to work, but we can leave it at this until you try it.
It looks like you have WF5/Elements Pro.
BTW: I see there needs to be a slight offset in the assembly. You will have to manage this in your helix generation.
To get the balls tangent you need to account for the curvature of the spline.
If 8mm is the diameter of each ball the point spacing along the spline will be slightly larger. How much depends on the helix advance and helix diameter.
True, but in working with them, the balls will generally be tangent to the worm gear, but have a little clearance between balls, to prevent binding and friction.
As I understood what Antonious did, the balls in the model interfere with each other because the arc length spacing along the curve is set to what the chord length should be. For a given chord length (ball-center to ball-center) the arc length should be a larger value.
How about copy and trim the helical curve first using trim with the datum points as trimming objects, and then take the length measurement between these points as a parameter?
This can be done at the lead-screw level and maintained with relations.
As far as I can tell, this is correct and fully parametric.
Funny thing is, I can change the 12.0 and nothing updates until I exit and return to the sketch.
However, I can unlock the 12.0 and drag it an everything updates.
Love the power of sketches
Good idea, this would be sorta like a driving model or skeleton model of the assembly, cause it really seems like you can project to whole thing into 2D, and drive it from there.
The sketch could be used to drive a bunch of coordinate systems on which you can place the balls then.
True... I like maintaining assembly intent at the part level whenever possible. I am not good at passing the relation/parameter onto the next level, however. Some concise help with that would be appreciated.
As for driving the mating conditions at the assembly level, the point pattern along the initial helix works well using the reference pattern at the assembly. I have to assume it works just as well if the reference pattern is defined at the part level since that has been core functionality of patterns for a long time. The only thing about point mating is that you still need orientation. Axis alignment (parallel) and a plane parallel seem to work find for this.
The original model is not set up this way and is part of the reason I had trouble with creating the helix after the fact. This model really needs a master helix from which all other feature are derived. In this case, a datum curve from equation is likely the best "skeleton feature" from which the rest of the model is derived... and even tested for robustness of the modeling by changing the parameters and seeing that everything follows.
Another thing I couldn't do with the assembly was to move the balls along the helix. Drag component didn't seem to want to grab the center of the ball. I'd like to see this function. I am not sure where the limitation was.
I wasn't actually thinking mechanism.
I attached a model similar to what I was thinking. I put the balls in the part model just for now. Just about everything is driven through relations. It takes into account just about everything mentioned in this thread.
I did learn something. If you look at the way I created the "lead-out" for the helix cut, you will find a surface helix based on the master helix. You will also find a revolved surface that has the lead-out profile. When I intersect these two surfaces to generate a curve, it takes - f o r e v e r - to define a sweep along the resulting curve . I opted to trim the surface helix with the revolve surface to provide an edge instead. This was - m u c h - more efficient!... yet it failed when I modified the revolve surface... so I then created the "intent chain" to drive the helix cut.
Attached is a full version Creo 2.0 part model.