Tutorial 21: Reverse Engineer Cams

<< Click to Display Table of Contents >>

Navigation:  Getting Started Tutorials - MechDesigner >

Tutorial 21: Reverse Engineer Cams

Reverse Engineering Cams

Frequently, OEMs need to improve the performance of existing machines. They can achieve the best and quickest results if they improve the motion design and then manufacture new cams.

To do this, OEMs may also need to reverse-engineer the original cam and the cam-follower's motion. MechDesigner has many tools that can help you to reverse-engineer the cam-follower's motion from the shape of the cam.

Reverse-Engineering Cam Motions

We can identify a Standard, or Traditional, motion-law from its acceleration graph. However, when we reverse-engineer a cam, we must usually start with the cam's shape. And, it is almost impossible to identify the motion-law from only the shape of the cam.

Complications that arise when trying to find reverse-engineer the motion of a cam.

Motion-Law and the Cam:

The shape of the cam is not its motion-law. The motion-law may have been defined for the cam-follower or for the tooling. Thus, unless you know the layout of the cam, cam-follower, and mechanism to move the tooling, you may not easily find the motion-law from the shape of the cam.

Measurement Errors:

Dimensional differences may result from:

measurement errors - from physical mistakes and from the limited repeatability and accuracy of the measurement device

cam wear - wear will be different at different places along the cam profile.

damage to the cam.

Discrete CMM measurement of a Cam

The acceleration that is calculated for a cam-follower from measured data at discrete points along a cam is usually noisy (spiky). This is because we must numerically differentiate the measured displacement data two times.

It is possible of course to filter the result to better identify the underlying acceleration.

We have found it best to fit a smooth curve to the original data, from which we can find the acceleration.

MechDesigner's definition of Reverse-Engineer a Cam

1.Measure the cam to find its 'shape'

2.Measure the positions of the cam-follower, the cam, the cam-roller diameter, and the basic motion range of the cam-follower.

3.Fit-a-Curve to the CMM data.

4.Use the new curve to identify the cam-follower's original motion-timing and motion-laws.

5.Improve the cam-follower's motion-timing and motion-laws (to reduce the peak acceleration, peak velocity, pressure-angle, contact-force, contact-stress, harmonic-content, ....) within the limits of other mechanisms on the machine.

6.Re-manufacture the Cam.

Thus, improve the performance specification of the machine.

Reverse-Engineering a Cam in MechDesigner.

Please follow these steps to reverse engineer a cam with MechDesigner.



Cam Measurement

If you do not have a drawing of the original cam, you must measure its shape.

To get the best results, use a CMM (Coordinate-Measuring-Machine) to measure the cam profile.

Cam and Cam-Follower Mechanical Arrangement

To get the best results, we need to represent at the design arrangement of the cam and the cam-follower. We should be able to model them in MechDesigner.

If the cam-follower is an oscillating cam-follower, we need:

the distance between the cam's rotational center and the oscillating center of the cam-follower arm

the distance between the center of the cam-follower roller and the oscillating center of the cam-follower arm.

the radius of the cam-follower, and get its part-number.

the minimum and maximum radius of the cam.

If the cam-follower is a reciprocating cam-follower, we need:

the offset between the cam-follower's sliding axis and the cam's center of rotation

the offset between the center of the cam-follower roller and the cam-follower's sliding -axis.

the radius of the cam-follower, and get its part-number.

the minimum and maximum radius of the cam

Other parts in the kinematic-chains:

To get the best results, measure the distance between each fixed center, the position of slides, and the length of each part in the cam-follower's kinematic-chain.


1.Build the cam and the cam-follower kinematic-chains : Represent the mechanism(s) you have measured on the machine.

2.Import a Point-Cloud : Add a Point-Cloud FB to the rotating 'Cam-Part'; Edit the Point-Cloud dialog-box to import data you have measured for the cam-profile. Use the Point-Cloud dialog-box to fit a Curve to the Point-Cloud data.

- or -

2.Import a DXF Drawing of the Cam; edit a CAD-Line to show the DXF drawing of the cam. Convert DXF Entities to MD sketch-elements. Make a sketch-loop to represent the cam. Add a Profile element to the sketch-loop that represents the cam.

- or -

2.Use 'Import SolidWorks Sketch'; edit a Part to import a SolidWorks sketch of the cam. Make sure the imported sketch is a sketch-loop. Use Merge-Point, if needed. Add a Profile element to the sketch-loop that represents the cam.

3.Add a Magnetic-Joint FB to pull the Cam-Follower onto the Curve (derived from the Point-Cloud) or the Profile element (derived from the DXF), and to 'Drive' a Motion-Dimension FB.

4.Connect wires from the Motion-Dimension FB that is driven by the Magnetic-Joint to a Graph FB to plot the cam-follower's motion - its displacement, velocity and acceleration.


1.Use the 'Data Transfer Table' to import the plot / data from the Graph FB

2.'Put the Data' in the table to a Z-Raw-Data 'motion-law' (segment type) (this is to make sure you do not lose the data if you close MechDesigner).

3.If necessary, 'Get the motion' from the Z-Raw-Data (if the Data Transfer table is empty after closing MechDesigner).

4.Add a new Motion and Motion tab and 'Put the data' as an 'Overlay Trace'.

5.Edit the new motion so that it becomes almost the same as the 'Overlay Trace'.

MotionDesigner - MechDesigner Interaction

1.Build a new model with new kinematic-chains to represent the Cam and Cam-Follower again.

2.Put the Joints and Parts in the same positions as those in the original kinematic-chain.

3.Add the new motion, which is similar to the Overlay-Trace.

Now there are two motions to compare - one driven by the Magnetic-Joint and the other by the new motion.

Improve the New Motion

1.Make sure the new motion is continuous in at least acceleration.

2.Reduce the number of segments

3.Balance the new motion to reduce peak accelerations and velocities

4.Change motion-laws to suit the application

5.Check the Pressure Angle and Radius of Curvature to make sure they are acceptable.

Export the Cam to SOLIDWORKS

Use a Cam-Data FB and Cam-Coordinates dialog to export the Cam to SOLIDWORKS.


If necessary, 'mirror' the cam to put it in the correct orientation for machining.

Add various details - bore, boss, key-way, , dowel holes...to make a full cam model

From the model, add a drawing with tolerances

Export to CAM


Generate the G-Code that is needed for CNC Machine.

If necessary, reverse the cam surface data to cut the cam with 'climb' or 'conventional' milling.


Machine the Cam.