Saturday, April 11, 2015

Transfer of dimensions: a simple example


Transfer of dimensions: a simple example

Suppose that the task at hand is to manufacture a lot of several thousand parts, as pictured below in figure 1. In that figure, only the dimensions of interest for this exposition are indicated. Those dimensions have been carefully determined by a designer, based on his best knowledge, applying state of the art technology. Those dimensions happen to be all 10 mm, with a tolerance of ±0.1 mm. This means that the part is expected to function properly if those dimensions are kept between 9.9 and 10.1 mm.


Fig. 1. A design showing the functional dimensions of a part.

Suppose that, for the purpose of manufacturing those parts, the manufacturing people in the factory request that the print, as used in the process, be modified so that all the dimensions are taken from the left end of the part, as shown in figure 2. They request that a drawing be prepared for the manufacturing process, based on the original functional design, so that their work can be facilitated. For example, they want to know how long the part should be, if their initial manufacturing operation is to cut the part and machine it to the final length.

It is clear that the nominal dimensions have to be 10, 20 and 30 mm. The question that is unclear is how the values of tolerances are affected by the change in dimensioning. The new tolerances are represented by the variables x, y and z, as indicated in figure 2. It is the purpose of this article to show how the new values for the tolerances can be calculated.


Fig. 2. The design is changed, to show all the dimensions measured from the left end of the part.

The two dimensions that have been replaced still must be met, as they were in the original design. The tolerances in the modified drawing will have to be such that conditions A y B, as shown in figure 3, have to be the result of the calculations for the new tolerances.

Let’s suppose that –in a first approach– we decide that the tolerance for 10 mm (variable x) will be half of that for 20 mm (variable y), and then it would be fair to give the dimension of 30 mm a tolerance z that is three times the value of x. Somehow it makes sense to assign tolerance values that are directly proportional to the magnitude of the nominal dimensions. A better approach would be to assign tolerances following the practices of the ISO sistem of limits and fits (ISO 286-1 and ISO 286-2), but let’s assume that we are satisfied now by making the tolerances directly proportional to the nominal dimensions, in this first approach to the problem. It will be shown that this will lead to an overconstrained problem. Thus, we would have the following equations:

y = 2 x
[1]
z = 3 x
[2]

In figure 3 shown below, the two functional conditions A and B are established, being those that were originally specified in the original design. Their values are as follows:

Condition A (maximum value)  = AMAX  = 10.1

Condition A (minimum value)   = Amin      = 9.9  

and the same values apply in this case for condition B, by the original design.
That is, BMAX = 11.1, and Bmin = 9.9 mm.


Fig. 3.    The dimensions that have been replaced in the original design still have to be met, and are now functional conditions A and B, indicated with the wide block arrows in this figure.


It must be kept clear that conditions A and B will no longer appear in the design that must be produced in the shop floor, and inspected for approval. The manufacturing can be done according the the instructions in the shop floor, but the inspection must comply with what is specified in figure 1.  

From figure 3, we can see that satisfying condition A implies the following expressions: 
(20 + y) – (10 – x) ≤ AMAX = 10.1
[3]


(20 – y) – (10 + x) ≥ Amin   =  9.9
[4]



And then, in order to satisfy condition B, we write the next two equations:

(30 + z) – (20 – y) ≤ BMAX = 10.1
[5]
(30 – z) – (20 + y) ≥ Bmin   =  9.9
[6]

The resulting expressions can be presented in matrix form, as a system of four equations with three unknowns, as follows:

2 x
- y
= 0
[7]
3 x
-  z
= 0
[8]
x
+ y
≤ 0.1
[9]
y
+z
≤ 0.1
[10]

 

This system is overconstrained. There are more mathematical constraints than variables. Sound judgement has to be applied to solve it. There are standard mathematical procedures to deal with this kind of problems, but fortunately this one is easy enough to be solved without resource to advanced knowledge.

Now it is only necessary to realize that constraints [9] and [10] are more important, for the purpose of complying with the design specifications shown in figure 1, than equations [7] and [8], since these latter equations were only suggested by common sense.
An easy way to work around the problem is to replace equations [7] and [8] by the following much simpler requirements:


xy
[11]
yz
[12]

In the following section it will be shown that a valid solution could be given by x = 0.04, y = 0.04 and z = 0.06 mm.
Results
Figure 4 shows a result that is consistent with the previous calculations. It can be easily verified that conditions A and B are correctly met.

Fig. 4.    The results of the calculations for transfer of dimensions with the new tolerances.
The figure 4 above complies with the original design specifications that were shown in figure 1. However, figure 1 is not equivalent to figure 4. The relationship of equivalence or compliance works only in one direction. That is, figure 4 complies with the functional requirements of figure 1; those requierements were the functional conditions A and B.
It must also be noticed that sizable portions of the tolerances originally specified in figure 1 are no longer available for the process, after the original dimensions have been transferred. This is an unavoidable result of transfering dimensions with tolerances. The smallest dimension, which originally was 10 ±0.1 mm, has now been transferred to become 10 ±0.04 mm, thus giving up 60% of the tolerance.
Another valid solution, different from that shown above in figure 4, could have been x = 0.05, y = 0.05 and z = 0.05 mm. However, it is better to assign a slightly larger tolerance to the larger dimension of 30 mm, and tighter tolerances to the smaller 10 mm and 20 mm dimensions. There are multiple solutions, but once one solution is chosen, the manufacturing must proceed according to that particular solution.
However, regarding the inspection procedures and gages used to measure the parts in the production process, those must be strictly based on the original functional drawing, which is the design shown in figure 1.


Conclusion
Transferring dimensions with tolerances is sometimes unavoidable, when the manufacturing process requires the transfer to be done to make some process possible. Sometimes the transfer is only convenient for purposes of inspection. The least expensive manufacturing process is often that in which the transfer of design specifications can be avoided. 
The motivation to write this article came from multiple occasions in which the author, when inquiring practicing engineers in industry, professors in academia or engineering students, has presented the problem of transfering the design specifications shown in figure 1 to the form of figure 2. Unfortunately, and so far without exception, the quick answer has been as shown in figure 5, which is incorrect, as the reader can now see.
Fig. 5.    An incorrect solution to the problem, which is often encountered in practice.
The author of this article has often encountered quality problems in manufacturing industries, problems that can be traced back to inappropriate knowledge of the little known –albeit simple– subject of transfer of dimensions.


References:


1. Jiménez, Pierre. Acotación Funcional. Ed. Limusa, México, 1985.
2. Chevalier, A. Guide du dessinateur Industriel, 2003.

3. Chevalier, A. Tecnología del diseño y fabricación de piezas metálicas. Ed. Limusa,      1998.

Monday, April 6, 2015

Transfer of dimensions: a simple problem


Transfer of dimensions is often necessary in manufacturing processes.
Unfortunately, most of the professionals and technicians that I've met
haven't heard about it, even when they are involved in design and
manufacturing work.

I have often applied the simple problem posted here, in order to test for the
most basic understanding of design and manufacturing processes.

However, when I have presented this problem to persons who should be
experts in solving manufacturing problems, such as university professors
(and some of them have been teaching drafting, design and manufacturing for
many years), I have found that they have no knowledge of this matter.

My intent is to promote better understanding of manufacturing problems.
Please click on the figure below, in order to read or print the problem.

________________________________________________________________


Suppose that the task at hand is to manufacture a lot of several thousand parts as pictured below in figure 1. In that figure, only the dimensions of interest for this exposition are indicated. Those dimensions have been carefully determined by a designer, based on his best knowledge, applying state of the art science and technology. Those dimensions happen to be all 10 mm, with a tolerance of ±0.1 mm. This means that the part is expected to function properly if those dimensions are kept between 9.9 and 10.1 mm.


Fig. 1. A design showing the functional dimensions of a part.

 

Now assume that, for the purpose of manufacturing those parts, the manufacturing people in the factory floor request that the print, as used in the process, be modified so that all the dimensions are taken from the left end of the part, as shown in figure 2. The challenge is to calculate x, y and z.

 
Fig. 2. Design is modified, to show all the dimensions measured from the left end of the part.
 
 
________________________________________________________________
 
Multiple solutions are possible for the problem, but there are few truly correct
solutions, and I've found that most engineers totally miss the point of this problem.
 
The cost of mechanical manufacturing is increased very much, by lack of
knowledge about functional dimensioning and transfer of dimensions.
 
My next post in this blog will present the solution of this problem.
 
The best book to learn about functional dimensions and transfer of dimensions
is in the French language, "Guide du dessinateur industriel", by A. Chevalier.
There is a translation to the Spanish Castilian language, "Dibujo Industrial",
published by Limusa.
 


Friday, November 7, 2014

C++ Visual Studio programs to plot shear force, bending moment and elastic curve for loaded beams.


This Visual Studio C++ project can be used to plot any function, as long as it can be
programmed using C++. I use it to plot diagrams for the design of loaded beams in
mechanical structures.

It is relatively easy to plot diagrams for shear force, bending moment and elastic curves of loaded
beams, particularly when the reactions at the supports of the beams are determined simply by the methods of statics. Examples using Matlab have been posted in this blog before.

Now there are two applications that work together to produce those diagrams, useful for analysis
and design of loaded beams.

The Visual Studio .NET projects Mechanics1 and Graph are compressed in the file Graphs.zip
in the following page:

http://www.ricardoavila.org/mechanics

There is a Word file (Graph_readme) there in the compressed file, with instructions on how to use
the Visual Studio C++ applications.

The results of using those files are the responsibility of the user.

Saturday, August 23, 2014

Design of beam: diagrams using Matlab, Hibbeler's F1.7 problem, page 38.


Matlab program to plot the mechanical diagrams for Hibbeler's
"Mechanics of Materials",
8th. edition, problem F1.7, page 38.

For this problem we assume a maximum distributed load
w = 12000 N/m.

The resulting forces in the vertical supporting rods are:
Rod AB force = 12000 N.
Rod CD force = 24000 N.
_________________________________________________________________
 
% hibbeler_f1_7.m
% Joel Aguinaga / Ricardo Avila, 18 Aug. 2014
% Fundamental Problem F1.7, Hibbeler's
% "Mechanics of Materials", 8th. edition, page 38


clc
clear

disp(' ')
disp('Hibbeler''s Fundamental problem F7.1 ')
disp('"Mechanics of Materials", 8th. edition, p.38 ')
disp('******************************************** ')
disp(' ')

% Data pre-processing
delta_x = .01;  % Define step of discretization for x-axis
x = [ 0: delta_x: 6]';  % Generate x-axis discretization.

N = size(x, 1);  % Calculate size of the discretization
V = zeros(N, 1); % Fill with zeros variable in memory: shear force. 
M = V;           % Memory required to store Bending Moment.
y = V;           % Memory to store elastic curve information.

% Material and Geometric Constants:
E = 200E9;  % Assume a steel beam, for Elastic Modulus
I = 1;      % Moment of inertia is not determined, use unit value
EI = E * I; % Multiply those values

% Data processing section of program: 
% ____________________________________________________________
V = -1000* x.^2 + 12000;    % Equation for Shear Force curve
M = -333.3333* x.^3 + 12000*x;  % Bending Moment equation.

% The elastic curve resulting from double integration,
% following Euler's method: EI * (d2y/dx2) = M(x).
y = -16.6666* x.^5 + 2000 *x.^3 - 50400 *x;

% Divide elastic curve by EI
y = y / EI;

% Post-processing section of program:
%_____________________________________________________________




% Plot the Shear Force Diagram
figure(1)
plot(x, V, 'r', 'linewidth', 3)
grid
title(' Shear Force Diagram')
xlabel('x, m')
ylabel('V, N')

% Plot the Bending Moment Diagram
figure(2)
plot (x, M, 'b', 'linewidth', 3)
grid
title('Bending Moment Diagram')
xlabel('x, m')
ylabel('M, N-m')

% Plot the Elastic Curve Diagram
figure(3)
plot (x, y, 'k', 'linewidth', 3)
grid
title('Elastic Curve Diagram')
xlabel('x, m')
ylabel('y, m')

% Find and display the minimum value of elastic curve
y_min = min(y)

% Find and display the maximum value of bending moment
M_max = max(M)

disp(' ')
disp('**********************')
disp('Successful Program Run')


Figure 1. Shear Force Diagram:
 
 
 
Figure 2. Bending Moment Diagram:
 




Figure 3. Elastic Curve Diagram:
 





Monday, May 12, 2014

2D truss: Solution using Principle of Virtual Work with Matlab program


This Matlab program gives the solution to problem 11.3-12 of the
textbook "Mechanics of Materials", by Roy R. Craig, Jr., 2nd. edition, 2000.

Units are US customary system, Lb and inch.

Areas of elements:
Element (1):  1    in^2
Element (2):  1    in^2
Element (3):  1.5 in^2
Element (4):  1.5 in^2

NODES OF STRUCTURE (TRUSS):
Node A = Node 1. Coordinates: (0, 0, 0)
Node B = Node 2. Coordinates: (40, 0, 0)
Node C = Node 3. Coordinates: (0, -30, 0)
Node D = Node 4. Coordinates: (70, -30, 0)

All elements are straight links of steel, with modulus of elasticity E = 30E6 Lb/in^2.
The structure is a truss, with pins joining the elements at the nodes A, B, C and D.



ANSYS SOLUTION FOR LOAD STEP (LS) 1:


Matlab program:
______________




% craig_11_3_12.m
% Ricardo E. Avila Montoya / Luis Adan Villa Chaparro
% University of Ciudad Juarez, Mexico. 9 May 2014
% e-mail: ricardo_avila@hotmail.com
% Chihuahua, Mexico

% The method of virtual work is applied to solve a 2D
% structure, formed with elastic links pinned at their ends.

clc
clear

A = [1; 1; 1.5; 1.5];      % in^2, Area of link elements.
E = 30e6;                  % Lb/in^2, Elastic modulus of steel. 
L = [40; 42.426; 50; 70];  % Lengths of link elements.
K = A * E./L;              % Calculate element stiffness.

% Initialize the Stiffness Matrix
SM = zeros(4, 4);

% Build the Stiffness Matrix
SM(1, 1) =       K(1) + .5 * K(2) + .64 * K(3);
SM(1, 2) =            - .5 * K(2) + .48 * K(3);
SM(1, 3) =            - .5 * K(2);
SM(1, 4) =              .5 * K(2);
SM(2, 1) = SM(1, 2);
SM(2, 2) =              .5 * K(2) + .36 * K(3);
SM(2, 3) =              .5 * K(2);
SM(2, 4) =            - .5 * K(2);
SM(3, 1) = SM(1, 3);
SM(3, 2) = SM(2, 3);
SM(3, 3) =              .5 * K(2)              + K(4);
SM(3, 4) =            - .5 * K(2);
SM(4, 1) = SM(1, 4);
SM(4, 2) = SM(2, 4);
SM(4, 3) = SM(3, 4);
SM(4, 4) =              .5 * K(2);

% Forces applied on the structure
RHS = [0; 0; 0; -2000];

% Calculate and display displacements of nodes B and D 
disp('Displacement of nodes B and D, inch')
format long

% Solve the system of linear equations using Matlab algorithm
% (use the inverted backlash Matlab operator for matrix solution)
U = SM\RHS

% Calculation of forces
K2_sqrt_2 = K(2)/sqrt(2); % Auxiliary arithmetic operation

Force_Matrix = [ K(1)       0          0          0
                -K2_sqrt_2  K2_sqrt_2  K2_sqrt_2 -K2_sqrt_2
                 .8*K(3)    .6*K(3)    0          0
                 0          0          K(4)       0 ];
% Calculate and display vector of forces for the elements             
Force_vector = Force_Matrix * U

% Calculate stress in link elements of 2D structure:
Stress_in_elements = Force_vector ./ A

disp('________________________________')
disp('Successful run of Matlab program')

_______________________________________________________________
ANSYS ANIMATION OF DEFORMED RESULTS:


 
___________________________________________________________________
ANSYS results for displacements of the nodes:

 PRINT U    NODAL SOLUTION PER NODE

  ***** POST1 NODAL DEGREE OF FREEDOM LISTING *****                           

  LOAD STEP=     2  SUBSTEP=     1                                            
   TIME=    2.0000      LOAD CASE=   0                                        

  THE FOLLOWING DEGREE OF FREEDOM RESULTS ARE IN GLOBAL COORDINATES           

    NODE      UX          UY          UZ          USUM 
       1   0.0000      0.0000      0.0000      0.0000   
       2  0.62222E-02-0.14469E-01  0.0000     0.15750E-01
       3   0.0000      0.0000      0.0000      0.0000   
       4 -0.31111E-02-0.29459E-01  0.0000     0.29623E-01

 MAXIMUM ABSOLUTE VALUES
 NODE          2           4           0           4
 VALUE   0.62222E-02-0.29459E-01  0.0000     0.29623E-01
_________________________________________________________________

ANSYS results of forces and stresses in the elements of the truss:


 PRINT ELEMENT TABLE ITEMS PER ELEMENT

  ***** POST1 ELEMENT TABLE LISTING *****                                     

    STAT    CURRENT     CURRENT
    ELEM    FORCE       STRESS 
       1   4666.7      4666.7   
       2   2828.4      2828.4   
       3  -3333.3     -2222.2   
       4  -2000.0     -1333.3   

 MINIMUM VALUES
 ELEM          3           3
 VALUE   -3333.3     -2222.2   
 MAXIMUM VALUES
 ELEM          1           1
 VALUE    4666.7      4666.7