General-purpose motion-analysis packages run on PCs. They are aimed at designers who want to try out a few ideas quickly. Other packages, designed for more demanding tasks, are available on Unix workstations. These might not only analyze loads on pivots and pins, but also optimize designs by determining the best length for moment arms, and so forth. Packages designed for use on PCs typically are mechanical dynamics simulators. The user defines objects with specified masses, then watches as the program shows what happens under given sets of conditions. Geometries can either be devised in the program itself or imported via .dxf files.

Models have physical properties that include mass, static and kinetic friction, elasticity, moment of inertia, and electrostatic charge. Available constraints in PC-based programs include pulleys, joints, dampers, ropes, inflexible rods, springs, actuators, and motors to join masses. Users constrain masses with pin, slot, keyed slot, and rigid joints, and specify forces acting on the model.

Motion simulators calculate equations of motion through numerical integration. Users define the time steps in the simulation to determine accuracy. Large time steps are acceptable for slowly moving objects, but may throw off accuracy. These simulators provide several different numerical methods that trade off accuracy versus speed of calculation.

PC-based motion simulators work strictly with 2D rigid bodies at this point. For situations where deflections play a part in the simulation, and where mechanisms move in 3D, workstation simulators are required. The two packages that are most well known are Adams from Mechanical Dynamics Inc. and Dads from Computer Aided Design Software Inc. Among the factors that distinguish these packages from PC-based versions is the use of high-level integration techniques such as implicit integration, useful for solving problems involving extremely stiff springs, high frequencies, or both.

A related kind of software called kinematic synthesis programs develop mechanism designs when given the parameters of the mechanism - number of links, number of joints and joint types, connectivity of links and joints, and specification of which links are grounded. Basic linkage types are defined within programs as kinematic chains. Component dimensions are not specified. The synthesis program then determines mechanism structures required to perform specific tasks.

Kinematic synthesis programs are used principally to design four-bar linkages, although some also synthesize six-bar linkages. At present, only one synthesis package is available for desktop use. It is strictly 2D, runs on Macintosh machines, and is primarily a teaching tool.