Machine Tool Configuration
To build a virtual machine tool,
- Create a xml-based
.mt
file for the virtual machine. - Assign the machine tool by 【Option/ Machining Chain】.
Machine Tool Configuration XML File
The machine tool configuration XML File is a .mt
file.
See the following example:
Example 5-axis Machine Tool
Example content of .mt
file:
<?xml version="1.0" encoding="utf-8"?>
<XyzabcMachineTool>
<XyzabcChain>
<XyzabcChain>
<ChainCode>[O][Y][X][C][w];[O][Z][B][S][t]</ChainCode>
<IsVertical>true</IsVertical>
<TransformerX>
<DynamicTranslation Axis="(-1,0,0)" Len="0" />
</TransformerX>
<TransformerY>
<DynamicTranslation Axis="(0,-1,0)" Len="0" />
</TransformerY>
<TransformerZ>
<DynamicTranslation Axis="(0,0,1)" Len="0" />
</TransformerZ>
<TransformerA />
<TransformerB>
<DynamicRotation Axis="(0,1,0)" Angle_deg="0" Pivot="(-72.4,-177.4,225.94)" />
</TransformerB>
<TransformerC>
<DynamicRotation Axis="(0,0,-1)" Angle_deg="0" Pivot="(0,0,0)" />
</TransformerC>
<ToolBuckleTransformer>
<StaticTranslation Trans="(-72.4,72.4,176.44)" />
</ToolBuckleTransformer>
<TableBuckleTransformer>
<StaticTranslation Trans="(0,0,0)" />
</TableBuckleTransformer>
</XyzabcChain>
</XyzabcChain>
<AnchorToSolid>
<Entry Key="O">
<Solid>
<StlFile>PmcB1s/base.stl</StlFile>
</Solid>
</Entry>
<Entry Key="Y">
<Solid>
<StlFile>PmcB1s/Y.stl</StlFile>
</Solid>
</Entry>
<Entry Key="X">
<Solid>
<StlFile>PmcB1s/X.stl</StlFile>
</Solid>
</Entry>
<Entry Key="C">
<Solid>
<StlFile>PmcB1s/C.stl</StlFile>
</Solid>
</Entry>
<Entry Key="Z">
<Solid>
<StlFile>PmcB1s/Z.stl</StlFile>
</Solid>
</Entry>
<Entry Key="B">
<Solid>
<StlFile>PmcB1s/B.stl</StlFile>
</Solid>
</Entry>
<Entry Key="S">
<Solid>
<StlFile>PmcB1s/S.stl</StlFile>
</Solid>
</Entry>
</AnchorToSolid>
<CollisionIndexPairs AutoGenerate="True" />
</XyzabcMachineTool>
The capability of the elements are shown as following:
ChainCode: Chain code of machine tool. See ChainCode section.
IsVertical: Is the machine tool the vertical machine tool.
TransformerX, TransformerY, TransformerZ, TransformerA, TransformerB and TransformerC:
If the machine tool does not contain the motion component, leave the element null value, such as:
<TransformerA />
Otherwise, if the machine tool contains the motion component, i.e., the ChainCode contains the word, one of the word of {X,Y,Z,A,B,C}, the motion capability element has to be filled in the element.
DynamicTranslation: Motion capability element of linear motion.
- Len: The initial value of the motion.
DynamicRotation: Motion capability element of rotary component.
- Angle_deg: the initial angle of the motion.
- Pivot: The center of rotation.
-
Axis: Motion axis.
The direction of Axis is relative from the connected component that closed to the base component.
Tip
In most case, the direction of motion compenent that locates on the workpiece side should be inversed to obey the common NC convention.
ToolBuckleTransformer: The content element is StaticTranslation. Here set the position that equiping tool.
TableBuckleTransformer: The content element is StaticTranslation. Here set the position that equiping fixture or workpiece.
ChainCode Element
ChainCode is the chain code of machine tool. Each machine tool component is represented by a word embraced by brackets. The code must contain at least base, tool buckle and table buckle, where the word is O,t and w, respectively.
The case (uppercase/lowercase) of the words mattered.
The other common used words are shown as following:
- S is spindle.
- X,Y and Z are translational motion component.
- A,B and C are rotational motion component.
AnchorToSolid Element
AnchorToSolid Element defines the geometries of the virtual machine tool. If no geometry exist, leave the content to null is ok. The content is Entry elements. The Key attribute of Entry element should be identical to the word of ChainCode. If the component in ChainCode has no geometry, the corresponding Entry element is no need to exist.
Example Source
Example can be downloaded here: