ifcopenshell.api.document.assign_document
¶
Module Contents¶
- ifcopenshell.api.document.assign_document.assign_document(file: ifcopenshell.file, products: list[ifcopenshell.entity_instance], document: ifcopenshell.entity_instance) ifcopenshell.entity_instance | None ¶
Assigns a document to a list of products
An object may be assigned to zero, one, or multiple documents. Almost any object or property may be assigned to a document, though typically we’d only use it for spaces, types, physical products and schedules. Adding a new assignment is typically done using a document reference and an object. IFC technically allows association with a document information and an object, but this is not encouraged because it is not consistent with other external relationships (such as classification systems or libraries).
- Parameters:
product (list[ifcopenshell.entity_instance]) – The list of objects to associate the document to. This could be almost any sensible object in IFC.
document (ifcopenshell.entity_instance) – The IfcDocumentReference to associate to, or alternatively an IfcDocumentInformation, though this is not recommended.
- Returns:
The IfcRelAssociatesDocument relationship or None if products was an empty list or all products were already assigned to the document.
- Return type:
ifcopenshell.entity_instance
Example:
document = ifcopenshell.api.document.add_information(model) ifcopenshell.api.document.edit_information(model, information=document, attributes={"Identification": "A-GA-6100", "Name": "Overall Plan", "Location": "A-GA-6100 - Overall Plan.pdf"}) reference = ifcopenshell.api.document.add_reference(model, information=document) # Let's imagine storey represents an IfcBuildingStorey for the ground floor ifcopenshell.api.document.assign_document(model, products=[storey], document=reference)