IFC (IFC4X3_ADD2) under development Project Library Information

Projects may define libraries holding revisions of the project such as model servers or databases. Multiple libraries may be referenced to indicate multiple revisions, multiple branches, and/or multiple servers.

If IfcLibraryInformation is provided, the project must be retrievable (provided the user has access permissions) using values as follows:

IfcLibraryInformation HTTP Header Description
Location / fully qualified URL for retrieving (or updating) the project in the content type specified
Version ETag version stamp for qualifying a particular version, in a format specific to the server, which may be sorted by ordinal for comparison
VersionDate Last-Modified UTC date and time of file as recorded on server
Publisher (username) the account handle submitting a project revision is identified by the Identification of IfcPerson

The following standard HTTP operations may be supported by a server (in addition to any extended operations) for retrieving or updating such data given access rights:

HTTP Description
OPTIONS Determine the available HTTP operations.
HEAD Determine the latest version of a project without downloading it.
GET Download the latest version of a project (or specific version with ETag provided).
PUT Replace the project, clearing any version history. Servers may reject or otherwise modify such submitted content.
POST Upload a new version of a project, appending to version history. Servers may reject, merge, or otherwise modify such submitted content.
DELETE Delete the project.

The following standard MIME types may be supported by a server (in addition to any proprietary formats) for uploading and downloading data for use in the HTTP Accept header:

MIME Type Format
application/xml IFC-XML
application/step IFC-SPF

The following diagram shows the generic classes and relationships used when applying this concept. In addition, concepts may have particular importance to common or standardised industry practices and scenarios. For these specific usage scenarios, the table below shows a recommended list of general usage patterns that users may adopt.

G IfcContext IfcContext 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1] 6. LongName [0:1] 7. Phase [0:1] 8. RepresentationContexts [1:?] 9. UnitsInContext [0:1]      IsDefinedBy [0:?]      Declares [0:?] IfcRelAssociatesLibrary IfcRelAssociatesLibrary 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1] 5. RelatedObjects [1:?] 6. RelatingLibrary [1:1] IfcContext:HasAssociations1->IfcRelAssociatesLibrary:RelatedObjects0 IfcLabel_2 IfcLabel IfcContext:Phase1->IfcLabel_2:IfcLabel0 IfcLabel_3 IfcLabel IfcContext:ObjectType1->IfcLabel_3:IfcLabel0 IfcLabel_4 IfcLabel IfcContext:LongName1->IfcLabel_4:IfcLabel0 IfcLibraryInformation IfcLibraryInformation 1. Name [1:1] 2. Version [0:1] 3. Publisher [0:1] 4. VersionDate [0:1] 5. Location [0:1] 6. Description [0:1]      LibraryInfoForObjects [0:?]      HasLibraryReferences [0:?] IfcRelAssociatesLibrary:RelatingLibrary1->IfcLibraryInformation:IfcLibraryInformation0 IfcLabel_0 IfcLabel IfcLibraryInformation:Version1->IfcLabel_0:IfcLabel0 IfcPersonAndOrganization IfcPersonAndOrganization 1. ThePerson [1:1] 2. TheOrganization [1:1] 3. Roles [1:?] IfcLibraryInformation:Publisher1->IfcPersonAndOrganization:IfcPersonAndOrganization0 IfcDateTime IfcDateTime IfcLibraryInformation:VersionDate1->IfcDateTime:IfcDateTime0 IfcURIReference IfcURIReference IfcLibraryInformation:Location1->IfcURIReference:IfcURIReference0 IfcText IfcText IfcLibraryInformation:Description1->IfcText:IfcText0 IfcLabel_1 IfcLabel IfcLibraryInformation:Name1->IfcLabel_1:IfcLabel0 IfcPerson IfcPerson 1. Identification [0:1] 2. FamilyName [0:1] 3. GivenName [0:1] 4. MiddleNames [1:?] 5. PrefixTitles [1:?] 6. SuffixTitles [1:?] 7. Roles [1:?] 8. Addresses [1:?]      EngagedIn [0:?] IfcPersonAndOrganization:ThePerson1->IfcPerson:IfcPerson0 IfcIdentifier IfcIdentifier IfcPerson:Identification1->IfcIdentifier:IfcIdentifier0

General Usage


Edit on Github

Is this page difficult to understand? Let us know!