Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you may not be able to execute some actions.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
[EDIT]: in Sim4Life 4.0 (and above), the steps below are no longer necessary. The ApplyTransform() function can be directly used on an EntityGroup object:
ApplyTransform()
# Select "Duke" entity group duke_group = model.AllEntities()["Duke"] # apply transformation to each entity of the group x = 10.0 y = 5.0 z = 12.0 duke_group.ApplyTransform( Translation(Vec3(x,y,z)) )
[ORIGINAL POST] To apply a given transformation on a whole group of entities with Python, you have to use the ApplyTransform() function on each element of the EntityGroup object. What you can do is write a recursive function that does exactly that. Here is an example of such function:
def ApplyTransformRecursively(entity_group, transformation): if isinstance(entity_group, core.EntityGroup): for entity in entity_group.Entities: ApplyTransformRecursively(entity, transformation) else: entity_group.ApplyTransform(transformation)
You can use it like this:
# Select "Duke" entity group duke_group = model.AllEntities()["Duke"] # apply transformation to each entity of the group x = 10.0 y = 5.0 z = 12.0 ApplyTransformRecursively(duke_group, Translation(Vec3(x,y,z)))