Machine Simulation
Machine Simulation
Folder Structure 10
*.mtd File Structure ........................................................................................... 10
Machine description 14
Description of PostProcessor Solver 17
Description of the attach points ......................................................................... 18
Creating the tool-change point ................................................................. 21
Description of static elements ........................................................................... 25
Transparency or opacity of the machine parts (if necessary) ................... 29
Collision detection .................................................................................... 31
This guide describes how to create an MTD file and how to modify an existing
MTD file to suit a particular application. It includes descriptions of the components
of MTD files and machine tool simulation.
To use this guide, you must have:
▪ A CAD model for the machine tool. This includes the spindle, machine head,
table and any other aspects of the machine you want to simulate, such as the
bed and the housing.
▪ A technical data sheet, with information about:
▪ Axis limits.
▪ Axis lengths.
▪ Dimensions.
▪ Home positions (distance between table and spindle).
▪ Coordinates of the tool changes.
▪ CAD models of the external components. This includes items which are not
linked to the machine tool, such as fixtures and controllers.
▪ A Text editor and source code editor, such as Notepad++, for use with
Microsoft Windows.
Zero Position
This is the position you want the machine tool to return to when you click Home
in PowerMill. It is the position of the model that makes up the machine tool as it
appears in PowerShape.
If the World Workplane position or the Zero position are incorrect, save the
parts of the machine in the correct position. This also applies to PowerShape: you
can move or rotate parts of machine to the correct position.
Incorrect World Workplane position:
In some cases, there are machines with more than 6 axes that are not kinematic.
In this case, use another capital letters, such as D, F, and G.
The *.dmt file contains triangles: the more triangles, the better the simulation
appears. However, with more triangles, the simulation and collision-checking run
more slowly.
Choose a tolerance value:
▪ A tolerance value of 0.025 mm is recommended as a good balance between
quality and file size for: upper surfaces of table, spindle and some other
important parts in simulations (the movable parts in working area).
▪ A tolerance value of 0.05 mm is recommended as a good balance between
quality and file size for: parts of linear and rotary movements (X-axis; Y-axis;
Z-axis and additional equipment).
▪ A tolerance value of 0.25mm is recommended as a good balance between
quality and file size for static parts, logo, base, cnc controller and other
stationary elements.
If the simulation runs too slowly, reduce the triangulation tolerance value. All
parts included on *.mtd should not occupy more than 3-5 MB of memory.
The tolerance values are specified in the PowerShape Options dialog. To view or
change the settings, select File > Options > Application Options > Data Exchange
> Triangle/Mesh.
▪ A folder containing all of the *.dmt files for the machine tool.
▪ The *.mtd file which describes the kinematics of the machine tool.
When you want to create an *.mtd file, you can install the text editor on your
computer, for example Notepad++
▪ The name of the person that tested the *.mtd file (if necessary).
POST is the most important part here as it tells PowerMill how or where to drive
the machine tool simulation. You must have the correct string in the MTD file as
PostProcessor is used to drive the MTD file. What you see in PowerMill is also
what the post outputs to the machine. Without that string, you cannot guarantee
that the MTD and the posted code match.
Below the text example of PostProcessor Solver:
<machine xmlns="x-schema:PowermillMachineTool" POST="pmpMultiaxis.*">
Also, without the DPP solver, you cannot use the orientation vector functionality.
If you
change the direction of the vectors in the head_attach_point line for this
machine, I="0" J="0" K="1" on I="1" J="0" K="0" this gives:
You can change the value of the I, J and K vectors to create *.mtd machines with
non-standard kinematics.
Tool change simulation is available from PowerMill 2015 R2. This is an important
function for difficult projects.
The tool change command is: MOVETO X735 Y0 Z500 B-90 C270.
<machine_part>
<model_list>
<dmt_file>
<path FILE="machine/part_1.dmt"/>
<rgb R="0" G="140" B="255"/>
</dmt_file>
</model_list>
</machine_part>
Where:
▪ <path FILE="machine/part_1.dmt"/> . This line gives the location of the
machine part.
▪ <rgb R="0" G="140" B="255"/> . This line gives the colour of machine
part.
A colour in the R (red) G (green) B (blue) colour model is described by indicating
how much of each of the red, green, and blue is included. The colour is expressed
as an RGB triplet (r,g,b), each component of which can vary from zero to a
defined maximum value. If all the components are at zero the result is black; if
all are at maximum (255), the result is the brightest representable white.
Use the most important static part at the end of static block. For example:
base, table, pallet etc.
Below is an example of the full text of the static block:
<!-- ===== The static bits ===== -->
<machine_part>
<model_list OPACITY="10">
<dmt_file>
<path FILE="Hermle_C12_SRT320/housing.dmt"/>
<rgb R="250" G="250" B="250"/>
</dmt_file>
<dmt_file>
<path FILE="Hermle_C12_SRT320/door.dmt"/>
<rgb R="240" G="240" B="240"/>
</dmt_file>
<dmt_file>
<path FILE="Hermle_C12_SRT320/handle.dmt"/>
<rgb R="255" G="0" B="0"/>
</dmt_file>
</model_list>
Collision detection
The static parts are used for detailed visualization of the machine and for
determining the correct workspace for simulation. Simulating the machine
movements is important for the detection of collisions for all types of machines
tools (3-axis, 4-axis, 5-axis and others).
PowerMill does not detect collisions with static elements (it is dangerous,
especially for the five-axis machine tools).
See the next example with CMS_Antares Head-head machine (the table part is
not moveable).
Using Machine Tool Position in PowerMill enables you to change the Z axis
position. If you move the Z axis down (simulation of collision Z-axis_head with a
table), the collision is not detected in PowerMill.
When a collision occurs, the colliding parts of machine are coloured and a warning
message is displayed:
All static parts of machine, which are located at working area, must be described
as above.
This topic looks at the main types of machine tools (kinematics and structure).
Every *.mtd that you create differs, depending on the configuration of the
machine tool. This is important for 5 axis machine tools, where the axes are
defined in the *.mtd as head or table entities. For 5 axis machines there will be 3
different configurations:
▪ Head-Head.
▪ Head-Table.
▪ Table-Table (Trunion).
Below are three examples showing how the different configurations can be split
into head and table components. Machine tools are not limited to these
configurations; they are given as a guide:
This example begins with the Y axis. The component model that makes up the Y
axis acts as the parent component upon which the remaining axial components
for X and Z are attached. You must give each axial component a definition:
<axis>: Used to define an axis. Within this we need to give an axis a name, a
value, limits and a movement vector.
T
his Hermle machine tool has:
Centre of table: X=0; Y=0; Z=0.
Centre of spindle: X=0; Y=220; Z=430.
Below is a text of description of the Y-axis:
<machine_part>
<axis>
<control_info ADDRESS="Y" VALUE="220" HOME="0" MIN="-220"
MAX="220" />
<simple_linear I="0" J="1" K="0" />
</axis>
<model_list>
<dmt_file>
<path FILE="Hermle_C12_SRT320/y-axis_head.dmt" />
<rgb R="185" G="185" B="185"/>
</dmt_file>
</model_list>
You can use different colours for each part, but can’t use different OPACITY.
OPACITY are applied for all parts in one <model_list>.
VALUE does not always need to be presented in origin position. You can
use the command HOME to define this position.
The most important parameter for each machine is distance between the upper
surface table and the spindle nose. This distance is called Spindle Nose to Table.
These values define the limits of the Z-axis: Zmin and Zmax, relative the centre
of the table (X=0; Y=0; Z=0).
The information about the Spindle Nose to Table can be given by drawings stating
the travel range of each axis. Below is an example of Okuma_Millac_33TU.
The example above (Z-axis_head on the previous page) shows a list of three
models that are used to make up the Z-axis of the machine tool: z-axis_head,
cooler, spindle. The remaining components are axial.
The a-axis_table is the primary (or parent) component for the table assembly.
Therefore, before you close the a-axis machine_part, open a new machine_part
for the c-axis_table component.
At the end of the block, "The table" you must use <machine_part
NAME="table"/> this line defines the parts of the machine as "The Table" (all
parts previously described: a-axis_table.dmt and c-axis_table.dmt) and
connects them with the solver of PowerMill and PostProcessor.
This example uses the same definitions that were used with the machine head
components. However, one difference highlighted is when you use a negative
vector for the linear and rotary movement. In our case, a-axis_head and c-
axis_head has negative direction.
All axes (linear and rotary) included in "The Table" should move in
opposite direction therefore need use minus for I, J or K vectors.
The full text of the Table section is:
<!-- ===== The table ===== -->
<machine_part>
<axis>
<control_info ADDRESS="A" MIN="-115" MAX="115" />
<simple_rotary X="0" Y="0" Z="80" I="-1" J="0" K="0" />
</axis>
<model_list>
<dmt_file>
<path FILE="Hermle_C12_SRT320/a-axis_table.dmt"
/>
<rgb R="140" G="140" B="140"/>
</dmt_file>
</model_list>
<machine_part>
<axis>
<control_info ADDRESS="C" />
<simple_rotary X="0" Y="0" Z="0" I="0" J="0"
K="-1" />
</axis>
<model_list>
<dmt_file>
<path FILE="Hermle_C12_SRT320/c-
axis_table.dmt" />
<rgb R="200" G="200" B="200"/>
</dmt_file>
</model_list>
<machine_part NAME="table" />
</machine_part>
</machine_part>
When you create an *.mtd file you need to know the exact location of the head
attach point, rotation centre and axis values. We can do this in PowerShape by
creating some simple geometry at any points of interest.
The following examples demonstrate how to identify the coordinates for different
types of machine tool.
The rotation of A-axis_head occurs around the X axis. Therefore the directions of
the vectors are: I=”1” J=”0” K=”0”.
Use positive value of vectors for movement parts of head. Use negative
value of vectors for movement parts of table.
Then you must create some simple geometry (a line or an arc, for example)
where you can easily identify the exact location for the centre of rotation:
Then we activate LCS-2 and double click on short line. See result below:
License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS
OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR
"LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR
OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS
PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU
ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS
LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO
BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF
SUCH TERMS AND CONDITIONS.
Can I use content from Autodesk online help to create new materials for
a specific audience?
Yes, if you want to help a specific audience learn how to optimize
the use of their Autodesk software, there is no need to start from
scratch. You can use, remix, or enrich the relevant help content and
include it in your book, instructions, examples, or workflows you
create, then Share-Alike with the community. Always be sure to
comply with the terms of the Creative Commons license under
which the learning content is released.
Trademarks
The following are registered trademarks or trademarks of Autodesk,
Inc., and/or its subsidiaries and/or affiliates in the USA and other
countries: 3ds Max, ADSK, Alias, ATC, AutoCAD LT, AutoCAD,
Autodesk, Autodesk Construction Cloud, Autodesk Forge, Autodesk
Fusion 360, BIM 360, BuildingConnected, Civil 3D, Dancing Baby,
The (image) Eagle, FBX, FeatureCAM, Flame, FormIt, Forge, Forge
Devcon, Forge Fund, Fusion 360, Glue, Green Building Studio,
ICMLive, InfoWater, InfoWorks, InfraWorks, Innovyze,
Instructables, Inventor, Make Anything, Maya, Moldflow,
MotionBuilder, Mudbox, Navisworks, Netfabb, PartMaker, Plangrid,
PowerInspect, PowerMill, PowerShape, Pype, RasterDWG, Redshift,
RealDWG, ReCap, Revit, Shotgun, SketchBook, Spacemaker,
Tinkercad, TrustedDWG, VRED. All other brand names, product
names or trademarks belong to their respective holders.
Disclaimer
THIS PUBLICATION AND THE INFORMATION CONTAINED HEREIN IS
MADE AVAILABLE BY AUTODESK, INC. "AS IS." AUTODESK, INC.
DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
REGARDING THESE MATERIALS.