Welcome to MCAD Central

Join our MCAD Central community forums, the largest resource for MCAD (Mechanical Computer-Aided Design) professionals, including files, forums, jobs, articles, calendar, and more.

Register Log in

Four Link Mechanism Design Using BMX


New member
I am trying to design a 4 link mechanism with a coupler
point. There are defined constraints for the coupler
curve, it has a lateral constraint and has to raise to a
defined height. There is also a constraint on the initial
height and overall length of the mechanism (starting
location of the coupler point). I have created loop
closure equations relating all 4 links and angles. This
seems next to impossible to figure out by hand or try to
write a program to do it. How can I get BMX to figure out
the proper link lengths to fit the given parameters? Is
it possible to do this?

Just so you know, I have already made a best guess
skeleton mechanism and created several measurements
relating the coupler point to its start point, angle
travel, etc. Motion analysis features for the lateral
movement, vertical and angle measurements have also been

Please let me know if a drawing or assembly file is
required for help.

Thank you


This is a GREAT problem. Dr. Andreas Vlahinos and I developed a method for optimizing mechanisms using BMX and MDX. This work was presented at the 2004 PTC/USER World Event.

Basically, you want to create an objective function that can be minimized. In this case it is an error function abs(current distance to desired location). Let BMX minimize this error function and by altering the lengths of linkages (or locations of hard-points) subject to your constraints. Please let me know if this makes sense to you.

Be careful, however, optimal solutions can be fragile. Small tolerances in the locations or lengths may destroy the eventual desired solution. This is an entirely different class of problems. This is a current area of interest for me...


New member
I already have the function for the location of the coupler
point. It is based on the crank, rocker and coupler
vectors. I wouldn't know how to enter it in to ProE though
since it is in complex algebra form. Can ProE handle
imaginary numbers? Or do I have to translate it into an i+j