Class TIfcProject

Unit

Declaration

type TIfcProject = class(TIfcContext)

Description

Context for information to be exchanged or shared, it may represent a construction project but does not have to.

Note that this initializes property Name to 'My Project', as the project name must be non-empty (at least for conversion scripts on https://github.com/buildingsmart-community/ifcJSON and https://github.com/michaliskambi/ifcJSON ). This is the same initial project name as used by BonsaiBIM.

Spec: https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcProject.htm

Hierarchy

Overview

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure SetupUnits;
Public function ModelContext: TIfcGeometricRepresentationContext;
Public function PlanContext: TIfcGeometricRepresentationContext;
Public procedure SetupModelContext;
Public function BestContainer: TIfcSpatialElement;

Description

Methods

Public constructor Create(AOwner: TComponent); override;

This item has no description.

Public procedure SetupUnits;

Setup units, following metric system and radians. This matches glTF, X3D and CGE conventions.

Valid IFC project must have units defined. BonsaiBIM expects it. See also valid notes on https://stackoverflow.com/questions/51665572/required-data-for-ifc .

Public function ModelContext: TIfcGeometricRepresentationContext;

Find a 3D TIfcGeometricRepresentationContext called "Model" in the project. This should be used to add all new 3D models to the project.

Returns Nil if not found, which can happen only temporarily when the IFC file is constructed – eventually, all valid IFC files should have a mandatory 3D context, see https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcGeometricRepresentationContext.htm .

Call SetupModelContext to make sure this is non-nil.

Public function PlanContext: TIfcGeometricRepresentationContext;

Find a 2D TIfcGeometricRepresentationContext called "Plan" in the project. This should be used to add new 2D plans to the project.

Returns Nil if not found. This is normal, 2D (plan) context is optional in IFC.

Public procedure SetupModelContext;

Add a 3D geometric representation context named "Model" to the project, which should be used for models displayed in 3D view. Does not add it if the project already has a suitable 3D context with this name. Makes ModelContext non-nil.

Public function BestContainer: TIfcSpatialElement;

Find TIfcSpatialElement where it seems most suitable to insert new elements. This is just a guess, a proper IFC editor should allow user to choose it, as there may be multiple valid choices (e.g. TIfcSite, TIfcBuilding, TIfcBuldingStorey).

Returns Nil if we cannot determine it.


Generated by PasDoc 0.16.0-snapshot.