Roller Chain Parametric Design

Show off your FreeCAD projects here!
User avatar
Posts: 606
Joined: Fri May 17, 2013 3:54 pm
Location: Manhattan New York

Roller Chain Parametric Design

Postby ppemawm » Sun Oct 30, 2016 7:24 pm

A client required 3D models of several different roller chain assemblies for use in advertising graphics. Creating one complete roller chain assembly was enough of a challenge due to limitations of Draft->PathArray that must be used for the chain components [ viewtopic.php?f=3&t=18024 ]. Also, determining the center distance and number of links for given sprocket tooth numbers is not a trivial problem. As a result, a spreadsheet was created to calculate all of the key dimensions and to iterate on the center distance until an even number of links was achieved.
Spreadsheet used to calculate the required center distance. All inputs are shown in the blue cells. All else is calculated. The center distance is updated by imputing the calculated center distance as the estimate until an even number of links are achieved and the calculated center distance does not change. This is a bit of a slow process because the model is updated for every change in the spreadsheet.
Picture2.jpg (206.67 KiB) Viewed 4791 times
Once the calculated and estimated center distances are the same (within 3 decimal places), the necessary values for the roller chain model are transferred to the PartDesign->Sketches using Expressions.
Picture3.jpg (202.42 KiB) Viewed 4791 times
Several different arrangements can be generated with the spreadsheet including constant speed and speed increasing or speed decreasing.
Picture1.jpg (171.5 KiB) Viewed 4791 times
As you can see in this detail closeup there is a small error in placement of the components at the point of tangency due to limitations of the PathArray. Only one point on the object (center of symmetry) can be aligned with the path whereas two points (roller centerlines) must be aligned for a roller chain link.
Picture4.jpg (34.86 KiB) Viewed 4791 times
To get a complete model, a duplicate copy of the link array must be Draft->downgraded twice to get individual solids of all the links. (Note that the links are overlapped due to the approach used for the PathArray). The even and odd numbers of the solids are then collected in two compounds and copied. These can then be easily moved into proper position using Placement properties to create near / far and inside / outside set of links.
Picture5.jpg (104.79 KiB) Viewed 4791 times
The 2 Mb file can be found here: ... FCStd?dl=0

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6706 (Git)
Build type: Release
Branch: releases/FreeCAD-0-16
Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
"It is a poor workman who blames his tools..." ;)
Posts: 9120
Joined: Mon Dec 12, 2011 4:45 pm

Re: Roller Chain Parametric Design

Postby triplus » Mon Oct 31, 2016 1:00 am

Nice example on how different workbenches and tools can be used in a single task. I didn't test it and i don't remember if i did that in the past. But i did remembered this thread:


Maybe you could try the macro to see the results it produces!