PWI000110
this document applies to :
Gripe no 0000
PowerINSPECT 4.0 has the ability and to graphically represent the CMM on the screen and to simulate the movements of the machine along the programmed probe path. When PowerINSPECT is connected to the machine, the actual machine movements will also be mirrored in PowerINSPECT by moving the simulation model in real time.
For Excel report the concept of a template for the report was equal to the concept of a file. In the other words all the information that was needed for a report was kept in one file that was called the Excel report template. The concept of a report template for HTML reporting is different. A template is a set of files. This set is usually saved in a separate folder. It can be seen in the current implementation of HTML report and the folders like "Delcam2003" and "WebLike". By default it is assumed that there are at least three files in a template folder for example in folder Delcam2003: '''Delcam2003.pxm''', '''Layout.html''' and '''Styles.css'''. The template folder may also contain any additional files (mainly the image files) that are used in the report.
To select a model of the CMM, PowerINSPECT needs to read an MTD file.
There are two types of file that may be supplied; one can have the machine
model made up of boxes and cones and the other can read in triangle files (DMT
files) which contain the graphics for the different parts of the CMM. It is
not always possible for the user to generate DMT files, so this document
will explain how to build up a model using the boxes and cones concept.
The content of the MTD file will setup the Minimum and Maximum travel limits
allowed for each axis, the position of the attach point for the head (PH9,
PH10 etc), and the table attach point which specifies the position the mid
point of the X and Y axes and the position of the surface of the table. It
also enables the user to control the colour for each part of the machine
defined.
Before starting to build up a CMM model, it will make the values entered
into the MTD file much easier to understand if the datum of the model is
located at the Home position of the machine such that the centre of the
quill is at zero in X and Y and the end of the spindle is zero in Z. This is
assuming that the home position of the machine is the zero of the machine.
The MTD file will be created in the CMM folder.
Creating the MTD File: The MTD file is a text file and can
be created using a text editor such as Wordpad.
Open a file and start the file with the following lines:
<machine
xmlns="x-schema:PowermillMachineTool"> <!-- Where things are attached to the machine --> <head_attach_point PART="head" X="0" Y="0" Z="0" I="0" J="0" K="1"/> <!-- Table attach values are X and Y Mid travel position and Z distance from quill bottom to surface of table --> <table_attach_point PART="table" X="-237.5" Y="-187.5" Z="-405"/> |
At this stage, it is not important to set the values for X Y and Z in the
head_attach_point or the table_attach_point lines. It will be easier to set
these values once the model of the machine has been defined.
Comments can be entered into the file as follows:
<!-- comment here -->
The next part of the file will construct the static parts of the machine
which in this case will be the table of the CMM. Enter the following lines:
<!-- Static bits --> <machine_part> <model_list> <geometry> <!-- the Table --> <box X1="-640.0" Y1="-565.0" Z1="-605.0" X2="345.0" Y2="325.0" Z2="-405.0"/> <rgb R="60" G="60" B="60"/> </geometry> </model_list> </machine_part> <machine_part NAME="table"/> |
Between the <model_list> and </model_list> tags will be the definition of
the geometry of the machine. Each component of the machine will be defined
within the <geometry> and </geometry> tags. The table is constructed as a
three dimensional rectangle (a box). As shown above the box is constructed
from two points; the first point X1 Y1 and Z1 contain the minimum values of
the corner of the table relative to the zero position; the second point X2
Y2 Z2 contain the maximum values of the corner of the table relative to the
zero position.
The following line sets the colour to be used for the display of the table.
Supply the strength of the Red Green and Blue colours to be used using
values between 0 (zero) and 255. In this case 60 60 60 gives a dark grey
colour. Three zeros will set the colour to black and three 255 values will
set the colour to white.
This completes the construction of the static parts (the table). When the
machine moves, the table will remain stationary.
The next part of this file is going to construct the parts for the X axis of
the machine. These parts will only move in the X axis and will remain
stationary when the Y and Z axes are moved. This part of the file looks like
the following:
<!-- The Guts --> <machine_part> <axis> <control_info ADDRESS="X" MIN="-475" MAX="0" VALUE="0"/> <simple_linear I="1" J="0" K="0"/> </axis> <model_list> <!-- beam --> <geometry> <box X1="75.0" Y1="-570.0" Z1="181.0" X2="255.0" Y2="242.5" Z2="371.0"/> <rgb R="60" G="60" B="60"/> </geometry> <!-- inside leg --> <geometry> <box X1="80.0" Y1="157.5" Z1="-306.0" X2="255.0" Y2="237.5" Z2="181.0"/> <rgb R="253" G="232" B="157"/> </geometry> <!-- inside leg bottom --> <geometry> <box X1="-93.5" Y1="100.0" Z1="-405.0" X2="291.5" Y2="305.0" Z2="-306.0"/> <rgb R="0" G="0" B="255"/> </geometry> <!-- outside leg --> <geometry> <box X1="80.0" Y1="-565.0" Z1="-405.0" X2="255.0" Y2="-485.0" Z2="181.0"/> <rgb R="253" G="232" B="157"/> </geometry> </model_list> |
Between the <axis> and </axis> tags the X axis parameters are defined. The
Min and Max values set up the positions of the Minimum and Maximum values
that the machine can attain in the X axis. The maximum travel of the machine
in X is the difference between the Min and Max values which in this case is
475mm. The value for Value specifies the home position relative to the zero
position of the machine. This machine has its zero position at the home
position of the machine in X.
The I J K values specify how the simulated machine moves when it gets an X
axis move. In this case I is set to 1 and J and K are set to 0 (zero) which
will cause the simulation of the machine to move along the X axis only. If I
is set to -1 then the machine will move in the opposite direction in X.
As with the definition of the table, the geometry of the X axis components
will all be defined within the <model_list> and </model_list> tags.
The X axis components are made up of 4 pieces of geometry, all boxes. The
syntax for these pieces is the same as for the table. In this case the beam
is defined using a dark grey colour, the inside and outside legs are defined
using a creamy colour and the bottom of the inside leg is defined using a
blue colour.
Note that there must not be a closing tag for the <machine_part>
tag in this part of the file as the X Y and Z axes definitions need to be
linked together.
The next part of this file is going to construct the parts for the Y axis of
the machine. These parts will only move in the X and Y axes and will remain
stationary when the Z axis is moved. This part of the file looks like the
following:
<machine_part> <axis> <control_info ADDRESS="Y" MIN="-375" MAX="0" VALUE="0"/> <simple_linear I="0" J="1" K="0"/> </axis> <model_list> <!-- Z Axis Cover Bottom --> <geometry> <box X1="-80" Y1="-75" Z1="132" X2="50" Y2="75" Z2="397"/> <rgb R="253" G="232" B="157"/> </geometry> <!-- Z Axis Cover Middle --> <geometry> <box X1="-80" Y1="-75" Z1="397" X2="63" Y2="75" Z2="450"/> <rgb R="253" G="232" B="157"/> </geometry> <!-- Z Axis Cover Top --> <geometry> <box X1="-57" Y1="-75" Z1="450" X2="63" Y2="75" Z2="1000"/> <rgb R="253" G="232" B="157"/> </geometry> <!-- Y Axis Bearing 1 --> <geometry> <box X1="50" Y1="-138" Z1="287" X2="74" Y2="138" Z2="397"/> <rgb R="157" G="157" B="157"/> </geometry> <!-- Y Axis Bearing 2 --> <geometry> <box X1="74" Y1="-138" Z1="372" X2="256" Y2="138" Z2="397"/> <rgb R="157" G="157" B="157"/> </geometry> <!-- Y Axis Bearing 3 --> <geometry> <box X1="256" Y1="-138" Z1="287" X2="281" Y2="138" Z2="397"/> <rgb R="157" G="157" B="157"/> </geometry> <!-- Y Axis Bearing 4 --> <geometry> <box X1="63" Y1="-89" Z1="397" X2="290" Y2="89" Z2="470"/> <rgb R="157" G="157" B="157"/> </geometry> <!-- Y Axis Bearing 5 --> <geometry> <box X1="63" Y1="-75" Z1="470" X2="88" Y2="75" Z2="1000"/> <rgb R="157" G="157" B="157"/> </geometry> </model_list> |
In the same way that the X axis components were defined, the Y axis
components are defined as above including the setting of the Y axis limits
and the home position specified by the Value figure.
The final part of this file is going to construct the parts for the Z axis
of the machine. These parts will move in the X Y and Z axes. This part of
the file looks like the following:
<machine_part> <axis> <control_info ADDRESS="Z" VALUE="-79" MIN="-325" MAX="0"/> <simple_linear I="0" J="0" K="1"/> </axis> <model_list> <!-- Quill --> <geometry> <box X1="-33.5" Y1="-30" Z1="0" X2="33.5" Y2="30" Z2="905"/> <rgb R="60" G="60" B="60"/> </geometry> </model_list> <machine_part NAME="head"/> </machine_part> </machine_part> </machine_part> </machine> |
This machine only has the quill which is able to move in all three axes
so the last portion of the file only defines the geometry for the quill.
Again the Z axis travel limits are set here as well as the home position
specified by the Value figure. However the home position is affected by the
size of the head that is going to be mounted on the end of the quill. As the
datum for the head needs to be the centre of rotation and pivot of the head,
the figure entered for Value will be the position of the datum of the probe
head relative to the end of the quill, hence the -79 figure.
The </machine_part> end tags are entered here for all three axes.
As the datum for the simulated model is set to the centre line of the
quill in X and Y and on the end of the quill in Z, then the values entered
for X Y and Z will be 0 (zero). In Z, the top face of the probe head will be
located on the end of the quill.
The Table Attach Point is used when auto positioning the CAD file in
PowerINSPECT. The X and Y values define the position of the mid point of the
machine travel in X and Y relative to the CMM model datum. The Z value
specifies where the surface of the table is relative to the end of the
quill.
Save this file into the CMM folder and call it (for example)
Bridge_Machine.mtd.
The above descriptions will now have created a CMM Simulation Model for a
bridge type of CMM. In PowerINSPECT, select the Simulator tab and then press
the Change Model button and select the file Bridge_Machine.mtd.
The CMM model is made up of blocks of three dimensional geometry which are either rectangular boxes or circular geometry such as cylinders or cones. There are two geometry type available; Box and Cone.
Box Syntax:
The Box geometry enables square or rectangular blocks to be created such
as the CMM table.
<box X1="n" Y1="n" Z1="n" X2="n" Y2="n" Z2="n"/>
where: X1="n" Y1="n" Z1="n" defines the minimum position of the corner of
the box relative to the CMM datum
the values specified for
n must be enclosed within double tick marks (").
X2="n" Y2="n" Z2="n"
defines the maximum position of the corner of the box relative to the CMM
datum
the values specified for
n must be enclosed within double tick marks (").
Cone Syntax:
The Cone geometry enables round components (conical or cylindrical) to be
created.
<cone X1="n" Y1="n" Z1="n" R1="n" X2="n" Y2="n" Z2="n" R2="n"/>
where: X1="n" Y1="n" Z1="n" defines the minimum position of the end of the
cone relative to the CMM datum
the values specified for
n must be enclosed within double tick marks (").
R1="n" defines the radius
of the cone at the minimum position of the cone
the value specified for n
must be enclosed within double tick marks (").
X2="n" Y2="n" Z2="n"
defines the maximum position of the end of the cone relative to the CMM
datum
the values specified for
n must be enclosed within double tick marks (").
R2="n" defines the radius
of the cone at the maximum position of the cone
the value specified for n
must be enclosed within double tick marks (").
Note: To define a cylinder, then use the Cone geometry and set the
values for R1 and R2 to be the same.