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 motion-law from its acceleration graph. However, when we reverse-engineer a cam, we must normally start with the cam's shape.

Motion-Law and the Cam:

The motion-law is not the shape of the cam, of course: the motion-law at best defines the motion of the cam-follower. It may actually be the motion-law of the tooling. Thus, unless you know the positions and basic dimensions of the cam and cam-follower, you may not easily find the motion-law from the shape of the cam.

Measurement Errors:

Dimensional differences may result from:

measurement errors - both from physical mistakes and from the limited resolution or accuracy of the measurement device
cam wear - the wear will be different at different places along the cam profile.
damage to the cam.

Why we should not use direct measurements from CMMs

When we calculate acceleration of a cam-follower from measured data it is usually 'noisy'. This is because you must numerically differentiate the measured displacement data two times to calculate acceleration. It may be difficult to identify its motion-law. It is possible of course to filter the result to better identify the underlying acceleration. However, 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 and 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.

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 centre and the oscillating centre of the cam-follower arm
the distance between the centre of the cam-follower roller and the oscillating centre 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 centre of rotation
the offset between the centre 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 centre, 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 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.

Tutorials and Reference Help Files for MechDesigner and MotionDesigner 14.2 + © Machine, Cam, Mechanism, and Motion Design Software by PSMotion Ltd