Write docs for owner API module

This commit is contained in:
Dion Moult
2022-12-14 15:58:31 +11:00
parent 05cd11ae12
commit a5a1ef2e8e
24 changed files with 696 additions and 103 deletions
@@ -22,11 +22,45 @@ import ifcopenshell.api
class Usecase:
def __init__(self, file, **settings):
def __init__(self, file, actor=None, ifc_class="IfcActor"):
"""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.
:param actor: 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.
:type actor: ifcopenshell.entity_instance.entity_instance
:param ifc_class: Either "IfcActor" or "IfcOccupant".
:type ifc_class: str, optional
:return: The newly created IfcActor or IfcOccupant
:rtype: ifcopenshell.entity_instance.entity_instance
Example::
# 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)
ifcopenshell.api.run("owner.edit_role", model, role=role, attributes={"Role": "ARCHITECT"})
# Assign that organisation to a newly created actor
actor = ifcopenshell.api.run("owner.add_actor", model, actor=organisation)
"""
self.file = file
self.settings = {"actor": None, "ifc_class": "IfcActor"}
for key, value in settings.items():
self.settings[key] = value
self.settings = {"actor": actor, "ifc_class": ifc_class or "IfcActor"}
def execute(self):
actor = ifcopenshell.api.run("root.create_entity", self.file, ifc_class=self.settings["ifc_class"])