Module Contents

ifcopenshell.api.owner.add_actor.add_actor(file, actor=None, ifc_class='IfcActor') None

Adds a new actor

An actor is a person or an organisation who has a responsibility or role to play in a project. Actor roles include design consultants, architects, engineers, cost planners, suppliers, manufacturers, warrantors, owners, subcontractors, etc.

Actors may either be project actors, who are responsible for the delivery of the project, or occupants, who are responsible for the consumption of the project.

Identifying and managing actors is critical for asset management, and identifying liability for legal submissions.

  • actor (ifcopenshell.entity_instance) – Most commonly, an IfcOrganization (in compliance with GDPR requirements for non personally identifiable information), or an IfcPerson if it is a sole individual, or an IfcPersonAndOrganization if a specific person is liable within an organisation and must be legally nominated.

  • ifc_class (str, optional) – Either “IfcActor” or “IfcOccupant”.


The newly created IfcActor or IfcOccupant

Return type:



# Setup an organisation with a single role
organisation = ifcopenshell.api.run("owner.add_organisation", model,
    identification="AWB", name="Architects Without Ballpens")
role = ifcopenshell.api.run("owner.add_role", model, assigned_object=organisation, role="ARCHITECT")

# Assign that organisation to a newly created actor
actor = ifcopenshell.api.run("owner.add_actor", model, actor=organisation)