Community Tip - Your Friends List is a way to easily have access to the community members that you interact with the most! X
We want to assemble a chain in a curve using a curve pattern. But the pitch distance is not equal in the straight line and in the curved path. It is the same along a straight line and varies along curved paths. This is critical assembly and so we should assemble the chain as exactly as they are in real assembly. How to assemble a chain in a curve using a curve pattern without changing the pitch value?
A picture may help, but have you tried a point pattern on a curve? You can control the point spacings with relations or with sketch constraints depending on how you want to set it up. The picture below isn't a chain but it shows that you can pattern on points that are non-equally spaced while following the direction of the curve.
The problem is that the length of the link is linear (straight line), and that distance can't be done simply using points on a curve spaced on the length of the distance between points on the curve itself. On a small sprocket radius, the length between points will be a good percentage larger than on a large sprocket radius where the curve is almost a straight line, and then there is the fact that in most runs there IS a straight section. On a drivetrain that has numerous sprockets it becomes extremely complex. Therein lies the problem.
We can pattern on a curve but as you told it is non equally spaced. we need a pattern which is equally spaced.
What you are looking for is a curve pattern based on cord length, which Creo currently does not have. Even if it was available, I don't think it would be completely accurate, though it may be close enough for your needs. The length around a chain path varies slightly as the chain rotates around the sprockets because the straights between the sprockets is not tangent to the arc of the sprocket. The only way to get super accurate is to sketch the path using cord segments around the sprocket curves (only good for that position). Adjustable tension sprockets are used to make up for manufacturing tolerances, making a super accurate representation less necessary.
I've held off mentioning this, but since you are broaching the subject, there's also the catenary effect on chains or any suspended flexible object. Are they going to model that, too?
Every machine I've worked on that used a chain or timing belt for its drive mechanism either had an adjustable sprocket in at least one position, or a tensioning pulley along one of the straight lengths.
Hey Ken! Oh man, I had to look up "catenary". Nice to have a fancy technical word for the effect we all see daily in life! Yeah, it's not an easy problem for sure. And you're right, every system of belt or chain drive MUST have an adjustment somewhere to account for changes in overall length as the chains individual links wear (contrary to popular opinion a chain does NOT actually "stretch"), and to account for production tolerance in the chain length and position of the sprockets and idlers.
Hi Frank,
Yeah I had a problem along the lines of this, trying to figure how much cable is needed for a drooping arrangement, etc. and that led me to the catenary curve. It's a nice word and pretty interesting, so I remember it.
Funny you mention the "stretch" thing. I had a somewhat testy argument with someone who was backseat driving when I was rebuilding a machine. Insisted that chain stretches, etc. A measurement of brand new chain for a few hundred links and the removed one for the same number of links showed virtually zero difference in length, even though the old chain had actually broken.
I've thought about this particular modeling endeavor a bit and imagine it would have to be some sort of custom program that lays each link onto the curves. Like a tesselation of the curves with fixed length linear edges. Algorithmically something like:
* Take last end vertex and make it start vertex for new link.
* Find point on curve that is linear edge length distance from start vertex.
* Set that point as last vertex
* Put in link with pins at start and end vertices.
* Repeat for next link, etc.
This would be a toughie, I don't know how you would do it in Creo. Maybe punch the curve data out to an external program that generates a point array? You'd need some sort of feedback to tell you you had the correct setup to yield an integer number of links, etc. Easy to talk about, very difficult to implement.
Many years ago when I worked in earthmoving equipment, we used big chain and sprockets. The chain would wear with use and we called it stretch. It was more about the wearing the pins and bearing and rollers and sprocket. We had a manual tensioning pulley that was adjusted as needed to prolong the usable life. For the initial design, we would calculate the length by hand (including catenary sag) and then usually round up to the nearest reasonable number of links. We didn't need anything near perfection, we just needed to be close enough and then we could add a link if needed. When we moved to Pro/E, we never modeled the full chain, just enough to clarify the installation. A few links usually around the sprocket and the adjust idler and the rest was just a single line curve representation.
Yeah, it's a difficult one for sure. I think I might have a solution, at least for one particular "degreed" instance in a run. I mean, you wouldn't me able to drag a link at the assembly level and have the whole chain move....I think, but I think you could pick one particular position of the chain and have all the links be positioned correctly. with all the pins concentric with the holes.
Being in the motorcycling world, chains are a simple fact of life. I took a 114 (I think) link 530 chain that had over 20k miles off and laid it down next to the new chain I was installing, and there was a noticeable difference in overall length when the worn one was pulled tight. Not a big difference, but I could see it. I've had the same argument with people that while chains get LONGER, they don't actually stretch. I've seen some 530 chains listed as having 12,000lbs tensile ratings. Yeah, you're NOT going to stretch that with a motorcycle engine. I have to explain to them (usually sloooowly) that what actually happens is that wear at all the 228 different pin/home interfaces accumulates to make the chain longer. *Sigh*
But in chain link hole we assemble mandrel and it's position should be accurate. Also if you take curve 3d pattern in a cam we assemble rollers and all other components will be assembled with respect to that position. So for our application it is important to be accurate.
AFAIK, not possible in basic Creo. Perhaps you can hire someone who can program a custom solution for you. You should post on the product ideas form and point out that this is something that Solidworks seems to be able to do.
CAN Solidquirks actually CORRECTLY do this?
I don't know if it can do it perfectly, or correctly, whatever that means. I don't have it and so I don't know the details - however, the help link I attached to my comment showcases the tools and options available to a machine designer if they use Solidworks, and I strongly suspect that one can get pretty good accurate results - easily! In comparison, you have to be a wizard at Creo patterns to get a decent looking result.
PTC, like any other company, should probably review what competitors offer and copy them whenever feasible.
That's what we asking. Also we created a case (case id: 15964039), posted idea, posted topics without any solution yet. This problem is addressed PTC many years ago but no action is taken till now.
This you-tube video shows how you can model idealized chain-links accurately at part level, with some degree of semi-automation (UDFs+mapkeys) - suggesting that the process of generating / updating a good looking representation of a chain does not have to be super painful in Creo.
If you need assembly level modeling, then semi-manual techniques such as copy+paste function / mapkeys / use of interfaces - they could also get you the design and iterative updates fairly quickly.
Last thing I would add is that I think perhaps you should keep it simple (and tedious). Trying to automate everything by stringing together multiple patterns / groups of link-strings and gluing it all with relations seems like a project that is tempting to undertake and may work but will end up being a nightmare to manage in the future by someone else taking over the design.
In thinking about it some more, even if a link was exactly 1" between pins, you can't even define the curve path in increments of 1", because you're measuring the curve length between points as if it were a string, but the distance between pins on a link is a strictly linear dimension. So, while and interesting and quick take on things, it's not "correct", especially where the chain wraps around a small sprocket. The error gets progressively worse the smaller the sprocket.
Yep. Somehow you need to work backwards from chord length x number of links to the sum of the arc lengths along the path those will follow when all connected (wrapped around whatever.)
It would be really, really interesting to know if Solidworks actually has this correct in their component pattern.
Agreed. This one intrigues me though, might have to play with it...
I think Solidquirks "cheats", and has something "close enough" but that's easy to do. That seems to be the theme with them, don't quite actually do it, just do it close enough to fool the novices, but make it real easy to do.
Solidworks example. Notice that the curve length doesn't drive pattern quantity. It's up to the end user to have total curve length right or the first and last links won't line up correctly. On the other hand, it's fully mechanized (draggable) with no extra effort.
https://youtu.be/etEZEP4Lkk0?t=2741
Interesting, and looks pretty easy, but without being able to measure things I'm not sure it's correct. If it IS this easy and correct, PTC needs to really get their act together....soon. Between the lack of solid-body cuts and this, S/W is starting to show MORE capability than Creo....not good.
To improve this method, sketch out the cords around the sprockets and make the straight runs a multiple of the link length. The patterning should work well as long as you start at the start point of the curve.
May take a little time (20 min) to update when the chain length needs to be changed but not a complete redraw.
PTC Creo can implement a tool using this concept.
I'm sure they could. However don't hold your breath. Writing the code and ensuring it works well with everything else will take plenty of time once it gets to the top of their improvement list. It will also, most likely, be added only to a new release making the wait even longer for most. (I am still working with 4.0, 8.0 is out, and they are working on 9.0)
Using the "work around" that works best for you until the functionality is created is your only option at this time.
But, don't give up the fight, it is the squeakiest wheel that gets the grease first (hopefully).
We have posted it in idea suggestion but only from Creo parametric, they told to post this in this 3d part assembly design.
Hmmmm, I just had an idea that might solve this...
Any solution from PTC?
LOL You must be new here...🤣 Don't hold your breath, I've never seen a PTC employee solve any major geometry problem here.
I'm a bit late to the game on this one, but wanted to share an old post I posted years ago for FIRST Robotics teams.
https://community.ptc.com/t5/PTC-Education-Forum/Video-Tip-How-to-model-a-3D-chain-drive-in-Creo-Pro-E/m-p/123088
I finally watched the video.....aaaannnd the guy cheats and makes the last link longer to compensate. FAIL.
I'm not saying there's an easy way to do this, and I'm not saying Solidquirks solution is correct because I haven't seen it, but there has to be a way to do it correctly. Hmmm....