About Machine Documents

Machine documents contain the strain values for each eigenstrain along with data for how multiple eigenstrains are positioned.

Machine documents are xml files that contain rules for applying eigenstrains to the model for pattern-based simulations or for trajectory-based simulations. A single machine document can contain information for both types of simulations. Once an expert creates a machine document, you can use it in any Distortion Checker simulation.

This page discusses:

See Also
Workflow

Machine documents include two types of objects, library and activation.

You select and attach one or more appropriate machine documents in the DELMIA Powder Bed Fabrication application. You can then select the correct document for your particular build via the machine object.

Library Objects

Library objects contain the principal strain values (E11, E22, E33, E12, E13, and E23) for each eigenstrain. They also contain patch information that indicates the size and rotation of small sections. The patch information assigns each eigenstrain to cover one small area of the 3D printed part.

Activation Objects

Activation objects can contain both scan strategy and rule description definitions; these definitions are used, respectively, for pattern-based and trajectory-based simulations. For example, a trajectory-based simulation ignores any scan strategies in the machine document.

Scan strategies describe the bounding box of the model in pattern-based simulations. They apply the pattern patches from the library to the printed part. Scan strategies can also contain a relative rotation angle between layers. If you do not specify a rotation angle, there is no change in rotation between layers.

Rule descriptions tell a trajectory-based simulation to search for a laser rule defined in the Powder Bed Fabrication app. A rule description can contain information about the rule type and minimum and maximum laser power. Once a matching laser rule is found, a specific eigenstrain is applied whenever that rule is active in the model. The criteria are optional, and the app finds the first rule that fits the criteria. For example, if you want to use the same eigenstrain value for every laser rule, you would not specify the rule type or the maximum and minimum power. If you want to have different eigenstrains for different types of laser operations, you could specify multiple rule criteria with different rule types, such as contouring versus hatching. For even finer control, you can specify the power range for which each eigenstrain is active.

Machine Document Example

The following image shows two eigenstrains, positioning data, and a strain patch.

The xml file data below includes both a scan strategy (<ScanStrategy>) for pattern-based simulations and rule descriptions <RuleDescription> for trajectory-based simulations that match the data from the image.

<Root> <Library>
  <Eigenstrain>
    <Name>EigStrain1</Name>
    <Description>First_Eigenstrain</Description>
    <E11>-0.003</E11>
    <E22>-0.006</E22>
    <E33>0.0</E33>
    <E12>0,0</E12>
    <E13>0,0</E13>
    <E23>0,0</E23>
  </Eigenstrain>
  <Eigenstrain>
    <Name>EigStrain2</Name>
    <Description>Second_Eigenstrain</Description>
    <E11>-0.004</E11>
    <E22>-0.007</E22>
    <E33>0.0</E33>
    <E12>0,0</E12>
    <E13>0,0</E13>
    <E23>0,0</E23>
  </Eigenstrain>
  <StrainPatch>
    <Name>ChessBoard_1</Name>
    <Description>ChessBoard_1</Description>
    <StrainEntry>
      <EigenstrainName>EigStrain1</EigenstrainName>
      <XMin>0.0</XMin>
      <XMax>0.005</XMax>
      <YMin>0.0</YMin>
      <YMax>0.005</YMax>
      <InitialRotation>0.0</InitialRotation>
    </StrainEntry>
    <StrainEntry>
      <EigenstrainName>EigStrain2</EigenstrainName>
      <XMin>0.005</XMin>
      <XMax>0.01</XMax>
      <YMin>0.0</YMin>
      <YMax>0.005</YMax>
      <InitialRotation>45.0</InitialRotation>
    </StrainEntry>
    <StrainEntry>
      <EigenstrainName>EigStrain1</EigenstrainName>
      <XMin>0.005</XMin>
      <XMax>0.01</XMax>
      <YMin>0.005</YMin>
      <YMax>0.01</YMax>
      <InitialRotation>90.0</InitialRotation>
    </StrainEntry>
    <StrainEntry>
      <EigenstrainName>EigStrain2</EigenstrainName>
      <XMin>0.0</XMin>
      <XMax>0.005</XMax>
      <YMin>0.005</YMin>
      <YMax>0.01</YMax>
      <InitialRotation>90.0</InitialRotation>
    </StrainEntry>
  </StrainPatch>
</Library>
<Activation>
  <ScanStrategy>
    <PatternPatch>ChessBoard_1</PatternPatch>
    <XMin>-1000.0</XMin>
    <YMin>-1000.0</YMin>
    <ZMin>-1000.0</ZMin>
    <XMax>1000.0</XMax>
    <YMax>1000.0</YMax>
    <ZMax>1000.0</ZMax>
    <RelativeRotationAngle>67.0</RelativeRotationAngle>
  </ScanStrategy>
  <RuleDescription>
    <EigenstrainName>EigStrain1</EigenstrainName>
    <RuleType>Contouring</RuleType>
    <MinPower>100.0</MinPower>
    <MaxPower>500.0</MaxPower>
  </RuleDescription>
  <RuleDescription>
    <EigenstrainName>EigStrain2</EigenstrainName>
    <RuleType>Hatching</RuleType>
    <MinPower>100.0</MinPower>
    <MaxPower>500.0</MaxPower>
  </RuleDescription>
</Activation>
</Root>