There are Python commands to apply Scaling, Translation, or Rotation transformations to any model entity.

- You first have to import the right module:

```
from s4l_v1.model import Vec3, Translation, Transform
```

- Then you have to define a transformation:

```
t = Translation(Vec3(-20, -16, 10)) # for a translation
t = Rotation(Vec3(0, 0, 1), numpy.pi / 4) # for a rotation of angle pi/4 around the z-axis
```

- Finally you can apply the transformation to a model entity:

```
case = model.CreateSolidBlock(Vec3(0, 0, 0), Vec3(40, 16, -140))
case.ApplyTransform( t )
```

For further example, users are encouraged to look at the tutorial Python Scripts, as described in section "2.19.2 Examples" of Sim4Life user manual:

Complete Python script examples can be found in the Public Documents folder of your system under:

\Sim4Life\3.4\Documentation\Tutorials\Tutorial Scripts.

Alternatively, access the Tutorials folder via the Windows start menu →→ All Programs →→ Sim4Life V 3.4 →→ Documentation →→Explore Documentation and open Tutorials | Tutorial Scripts. These scripts can be executed directly in Sim4Life and faithfully reproduce the workflow of many > of the provided tutorials. They contain diverse examples of:

- how to generate 3D model objects
- how to set up different types of simulations
- how to post-process the results

Note also that you can find documentation regarding the different possible transformation in the API Browser (click VIEW-> API Browser in the main menu) or type help(Translation) (for example) in the Console:

```
>>> help(Translation)
Help on built-in function Translation in module XCoreMath:
Translation(...)
Translation( (Vec3)translation_vec3) -> Transform :
Constructs a translation Transform given by a translation Vec3.
>>> help(Rotation)
Help on built-in function Rotation in module XCoreMath:
Rotation(...)
Rotation( (Vec3)axis, (float)angle_in_rad) -> Transform :
Constructs a rotation Transform given the rotation axis as a Vec3 and the rotation angle in radians.
Rotation( (int)axis, (float)angle_in_rad) -> Transform :
Constructs a rotation Transform given the rotation axis as an integer (0,1,2) and the rotation angle in radians.
Rotation( (Vec3)axis, (Vec3)origin, (float)angle_in_rad) -> Transform :
Constructs a rotation around the given axis at origin by given angle in radians.
Rotation( (Vec3)from_vector, (Vec3)to_vector) -> Transform :
<p>Constructs a rotation which maps from a given direction vector to another.</p><p>The rotation axis is chosen to be perpendicular to the plane defined by the two vectors such that the rotational path is the shortest.</p>
```