Mark Boucher Mark Boucher

Understanding the 6 Degrees of Freedom

Understanding the principle of the 6 degrees of freedom is essential to aligning your part correctly on the Coordinate Measuring Machine (CMM). When a part is placed on the CMM the location of the part is not known. It must be defined by using several features known as datums.

The following is an excerpt from The CMM Handbook

Using The Correct CMM Alignment Principles

Understanding the principle of the 6 degrees of freedom is essential to aligning your part correctly on the Coordinate Measuring Machine (CMM). When a part is placed on the CMM the location of the part is not known.  It must be defined by using several features known as datums.

These datums are defined on the blueprint and must be measured to define the part’s location to the CMM’s home position. If a program were written without a complete datum alignment all the linear locations in your program would come from the machines home position and not from the locations given on the blueprint. The subsequent parts would have to be placed in the exact location and alignment for your program to work. Writing a datum alignment routine at the beginning of your program will allow you to place the part anywhere on the CMM surface plate and will insure that your part will be aligned properly and your program will run correctly each time.

There will be three alignment functions used to define the datums (1) Orientation – this will use a 3d element to align the part to a spatial alignment. (2) Alignment – an element is used to align the part square to a CMM axis. (3) Origin – this will determine where the zero point is set. CMM softwares use alignment dialog boxes that allow you to set all the required datum elements at one time.

Words To Be Familiar With

Alignment – A part must be aligned to the CMM axes before you can begin to fully measure your part. The alignment is based on the datums specified on the blueprint. This alignment routine will square the part to the CMM and set the reference point (Origin) for all other dimensions to be referenced to.

Datum – A feature on the blueprint that is designated with a Datum letter. This feature is used to establish an origin that will be used to reference all other dimensions from.

Origin – The part’s zero point. The reference point on a part where the all the datums converge. The origin is where all other features are dimensioned from.

Coordinate System – After your alignment is complete and your origin is set this is known as a coordinate system.

Rotational – This degree of freedom allows the part to rotate about a given axis.

Translational – This degree of freedom allows the part to move transitional along an axis.

 

These principles constrain the 6 degrees of freedom.

6 Degrees of Freedom 

When a part is held up in space it has “six degrees of freedom”, 3 Rotational and 3 Translational. The part can rotate about the X, Y, Z axes (rotational) and move along each of the three axes (translational). As shown below.

The part can rotate about the X, Y, Z axes and move along each of the three axes

In order to align a part to the CMM all degrees of freedom must be constrained, there are exceptions but, in our example, all must be constrained. For this example, we will place the part in a DRF, a datum reference frame. This will represent how we will constrain the degrees of freedom when we probe the part.

Placing the part on the surface plate or on a fixture constrains 3 degrees of freedom. The part can longer move up and down in Z (1 translation) or rotate about the X axis or about the Y axis (2 rotational).

Constraining 3 degrees of freedom

As you can see, we can still rotate about Z and move the part back and forth in the X and Y axes.

Constraining one side of the block will limit 2 more degrees of freedom. Removing the ability to rotate in the Z axis (1 rotational) and constrains the ability to move in the X axis (1 translational). The part can still move back and forth in the Y axis.

Constraining one side of the block will limit 2 more degrees of freedom.

 Constraining the last degree of freedom requires restricting the back-and-forth motion of the last axis.

Restricting the back-and-forth motion of the last axis.

Now all 6 degrees of freedom have been constrained. You can see how this is accomplished on an open surface plate setup by merely pushing the part against a knee block or some sort of fixture. With CMM software the constraining of features is done with probing the part.

Read More
Mark Boucher Mark Boucher

Control Movement of Pattern of Holes Using VB Script 

cmm-quarterly.squarespace.com/articles/control-movement-of-pattern-of-holes-using-VB-Script

The following is an excerpt from The CMM Manager Handbook

Scenario

The shop is targeting a test piece, and they will only use 1 part. This may require moving a pattern of holes around, the holes relationship will be the same, but the first diameter of each pattern will move in X or Y or both axes.

The drawing.

By moving diameter 1 up in Y and maybe over in X the part will be able to be used over and over until the desired dimensional results are achieved.


Here is the program order.

Complete an alignment in this case we used a 3-2-1 Alignment.

After Diameter 1 & 5 are measured the alignment origin is set to the subsequent diameter to maintain the hole spacing. The diameter spacing is 2.500 in X.

Then open VB Script dialog box and add VB Script just above the diameter measurements.

Var1 and Var2 control the X and Y of the Top Front Holes. You will be required to enter a value.

Var3 and Var4 control the X and Y of the Back Top Holes. You will be required to enter a value.

var1 = InputBox("Enter Offset in X in Direction For Front Top Holes -/+")

Var2 = InputBox("Enter Offset in Y in Direction For Front Top Holes -/+")

var3 = InputBox("Enter Offset in X in Direction For Back Top Holes -/+")

Var4 = InputBox("Enter Offset in Y in Direction For Back Top Holes -/+")

 

If Var1 the known offset of the diameter location offset is 0.00 then the OffsetX variable is the print callout of 1.00

If var1 = 0 then

OffsetX = 1.0

End If

If Var1 greater than 0.00 then the OffsetX variable is the print callout of 1.00 + the input of Var1 (The known offset positive value)

If Var1 > 0 then

OffsetX = 1.0 + Var1

End If

If Var1 less than 0.00 then the OffsetX variable is the print callout of 1.00 + the input of Var1 (The known offset negative value)

If Var1 < 0 then

OffsetX = 1.0 +(Var1*1)

End If

 

If Var2 the known offset of the diameter location offset is 0.00 then the OffsetY variable is the print callout of 1.00

If Var2 = 0 then

OffsetY = 1.0

End If

If Var2 greater than 0.00 then the OffsetY variable is the print callout of 1.00 + the input of Var2 (The known offset positive value)

If Var2 > 0 then

OffsetY = 1.0 + Var2

End If

If Var2 less than 0.00 then the OffsetY variable is the print callout of 1.00 + the input of Var2 (The known offset negative value)

If Var2 < 0 then

OffsetY = 1.0 +(Var2*1)

End If

If Var3 the known offset of the diameter location offset is 0.00 then the OffsetX variable is the print callout of 1.00

If var3 = 0 then

OffsetX3 = 1.0

End If

If Var3 greater than 0.00 then the OffsetX variable is the print callout of 1.00 + the input of Var3 (The known offset positive value)

If Var3 > 0 then

OffsetX3 = 1.0 + Var3

End If

 

If Var3 less than 0.00 then the OffsetX variable is the print callout of 1.00 + the input of Var3 (The known offset negative value)

If Var3 < 0 then

OffsetY3 = 1.0 +(Var3*1)

End If

 

If Var4 the known offset of the diameter location offset is 0.00 then the OffsetY variable is the print callout of 19.00

If Var4 = 0 then

OffsetY4 = 19.0

End If

 

If Var4 greater than 0.00 then the OffsetY variable is the print callout of 19.00 + the input of Var4 (The known offset positive value)

If Var4 > 0 then

OffsetY4 = 19.0 + Var4

End If

 

If Var4 less than 0.00 then the OffsetY variable is the print callout of 19.00 + the input of Var4 (The known offset negative value)

If Var4 < 0 then

OffsetY4 = 19.0 +(Var4*1)

End If

Read More
CMM Manager Mark Boucher CMM Manager Mark Boucher

How To: Operation Planner

Do you manufacture parts in distinct operations? Is the part also inspected after / during each of these distinct manufacturing operations? Are you creating unique CMM-Manager programs for each operation? If so, there is a better way

Do you manufacture parts in distinct operations? Is the part also inspected after / during each of these distinct manufacturing operations? Are you creating unique CMM-Manager programs for each operation? If so, there is a better way


...Meet Operation Planner...


Operation Planner allows user to effectively create sub-programs from one main program. The main benefits include the speed at which sub-program (Operation Plan) is created, and the fact that only one program must be maintained. Imagine the amount of effort required for a Drawing Revision change if you are using multiple programs, with Operation Planner you just change the main program and all Operations Plans automatically update.

Create a complete inspection program in the usual manner. Think First Article or Last Article inspection here... Just create a program that inspects and reports all characteristics on drawing.

  1. Define the Operation Planner Safe Cube. This is a cube in which the probe will move outside in the case that measurement operations are skipped during Operation Plan execution - more on this later.

Create Operation Plan by multi-selecting (use Shift or Ctrl keys) Operations from the Program Database, right click and choose Operation Plan. Important - Typically you will choose the first few Operations in Program including the main Alignment. See examples for Op 10 and Op 20 below.

- Select Operations 1-17, right click Operation Plan

- Select Operations 1-10 & 21-38, right click Operation Plan

Now you can run each Operation Plan by clicking Operation Planner button from Ribbon Tab>Program>Operation Planner>Operation Planner. Select the Operation Plan you'd like to run and press Run button.

Also notice the "Keep original paths for consecutive measurement" check-box. When unchecked each measurement operation will include a clearance move (before and after) outside the current Clearance Cube. Checking this box will allow originally planned paths to execute for consecutive program operations, thus maintaining a more efficient probe path. In general, the Clearance Cube is used when any portion of the original program is skipped, thus allowing safe program execution even when tip angle is different from one block of program to the next. In the Operation Plan shown below, the Probe will move outside of Clearance Cube as the program skips from Operation 10 to Operation 21.

Now you have one CMM-Manager program that allows running 5 different part configurations.

  1. Complete Part - Run the program as usual.

2. Op 10 - From Operation Plan choose Op 10 and press Run button

3. Op 20 - From Operation Plan choose Op 20 and press Run button

4. Op 30 - From Operation Plan choose Op 30 and press Run button

5. Op 40 - From Operation Plan choose Op 40 and press Run button

Do you need to provide a simple User Interface for Shop Floor users to find and Run programs? Check out Shop Floor Launcher. You can even recall Operations Plan from Shop Floor Launcher

Read More