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
Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5096).
Hierarchy
- TObject
- TPersistent
- TComponent
- TIfcPersistent
- TIfcRoot
- TIfcDefinitionSelect
- TIfcObjectDefinition
- TIfcContext
- TIfcProject
Overview
Methods
| Protected | function WantsGlobalId: Boolean; virtual; |
| Protected | class function IfcClassName: String; virtual; |
| Protected | function WantsGlobalId: Boolean; override; |
| Public | constructor Create(AOwner: TComponent); override; |
| Public | destructor Destroy; override; |
| Public | function BuildNode(const Mapping: TCastleIfcMapping): TTransformNode; virtual; |
| Published | procedure AddIsDecomposedBy(const ChildObject: TIfcObjectDefinition); |
| Public | constructor Create(AOwner: TComponent); override; |
| Public | destructor Destroy; override; |
| Public | function BuildNode(const Mapping: TCastleIfcMapping): TTransformNode; override; |
| Public | constructor Create(AOwner: TComponent); override; |
| Public | procedure SetupUnits; |
| Public | function ModelContext: TIfcGeometricRepresentationContext; |
| Public | function PlanContext: TIfcGeometricRepresentationContext; |
| Public | procedure SetupModelContext; |
| Public | function BestContainer: TIfcSpatialElement; |
Properties
| Published | property GlobalId: String read FGlobalId write FGlobalId; |
| Published | property OwnerHistory: TIfcOwnerHistory read FOwnerHistory write FOwnerHistory; |
| Published | property Name: TIfcLabel read FName write FName; |
| Published | property Description: TIfcText read FDescription write FDescription; |
| Published | property HasContext: TIfcRelDeclares read FHasContext write FHasContext; |
| Published | property IsDecomposedBy: TIfcRelAggregatesList read FIsDecomposedBy; |
| Published | property Decomposes: TIfcRelAggregatesList read FDecomposes; |
| Published | property HasAssociations: TIfcRelAssociatesList read FHasAssociations; |
| Published | property ObjectType: TIfcLabel read FObjectType write FObjectType; |
| Published | property LongName: TIfcLabel read FLongName write FLongName; |
| Published | property Phase: TIfcLabel read FPhase write FPhase; |
| Published | property RepresentationContexts: TIfcRepresentationContextList read FRepresentationContexts; |
| Published | property UnitsInContext: TIfcUnitAssignment read FUnitsInContext write FUnitsInContext; |
| Published | property IsDefinedBy: TIfcRelDefinesByPropertiesList read FIsDefinedBy; |
| Published | property Declares: TIfcRelDeclaresList read FDeclares; |
Description
Methods
| Protected | function WantsGlobalId: Boolean; virtual; |
|
If Strictly following the spec, this should be only defined for TIfcRoot, because only IfcRoot has GlobalId. In reality, we need GlobalId at TIfcPersistent to load some files, and we sometimes need | |
| Protected | class function IfcClassName: String; virtual; |
|
Name for the IFC standard, used in IFC files. By default, this is just ClassName with prefix 'T' removed. | |
| Protected | function WantsGlobalId: Boolean; override; |
|
This item has no description. Showing description inherited from TIfcPersistent.WantsGlobalId.
If Strictly following the spec, this should be only defined for TIfcRoot, because only IfcRoot has GlobalId. In reality, we need GlobalId at TIfcPersistent to load some files, and we sometimes need Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1656). | |
| Public | constructor Create(AOwner: TComponent); override; |
|
This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1828). | |
| Public | destructor Destroy; override; |
|
This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1829). | |
| Public | function BuildNode(const Mapping: TCastleIfcMapping): TTransformNode; virtual; |
|
This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1830). | |
| Published | procedure AddIsDecomposedBy(const ChildObject: TIfcObjectDefinition); |
|
Add given TIfcObjectDefinition instance to the IsDecomposedBy list of this object. Adds also new intermediate TIfcRelAggregates instance. This shall be used to add top-level IfcSpatialStructureElement instances to the project, e.g.:
See also
Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1873). | |
| Public | constructor Create(AOwner: TComponent); override; |
|
This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5053). | |
| Public | destructor Destroy; override; |
|
This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5054). | |
| Public | function BuildNode(const Mapping: TCastleIfcMapping): TTransformNode; override; |
|
This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5055). | |
| Public | constructor Create(AOwner: TComponent); override; |
|
This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5098). | |
| 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 . Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5106). | |
| 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 Call SetupModelContext to make sure this is non-nil. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5117). | |
| 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 Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5124). | |
| 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. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5130). | |
| 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 Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5138). | |
Properties
| Published | property GlobalId: String read FGlobalId write FGlobalId; |
|
Globally unique identifier for the object instance. Note: Not declared as TGUID, because TGUID cannot be published, but also we don't really need it: for our purposes, this identifier is just an arbitrary string. Note: IFC 4.3 specification puts this only at IfcRoot, not at every IFC class. But testcase https://github.com/buildingsmart-community/Community-Sample-Test-Files/blob/main/IFC%204.0.2.1%20(IFC%204)/ISO%20Spec%20archive/wall-with-opening-and-window.json (from IFC 4.0) shows this can be present at any IFC class, in particular TIfcGeometricRepresentationContext. In fact, TIfcGeometricRepresentationContext needs to have IFC JSON documentation says this, which seems to (unfortunately it is not unambiguous enough...) allow this at any IFC class: "Whereas the | |
| Published | property OwnerHistory: TIfcOwnerHistory read FOwnerHistory write FOwnerHistory; |
|
Information about the current ownership of that object. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1659). | |
| Published | property Name: TIfcLabel read FName write FName; |
|
This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1661). | |
| Published | property Description: TIfcText read FDescription write FDescription; |
|
This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1662). | |
| Published | property HasContext: TIfcRelDeclares read FHasContext write FHasContext; |
|
References to the context providing context information such as project unit or representation context. It should only be asserted for the uppermost non-spatial object. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1847). | |
| Published | property IsDecomposedBy: TIfcRelAggregatesList read FIsDecomposedBy; |
|
References to the decomposition relationship being an aggregation. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1850). | |
| Published | property Decomposes: TIfcRelAggregatesList read FDecomposes; |
|
References to the decomposition relationship being an aggregation. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1853). | |
| Published | property HasAssociations: TIfcRelAssociatesList read FHasAssociations; |
|
Reference to the relationship objects, that associates external references or other resource definitions to the object. Examples are the association to library, documentation or classification. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1858). | |
| Published | property ObjectType: TIfcLabel read FObjectType write FObjectType; |
|
The object type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5060). | |
| Published | property LongName: TIfcLabel read FLongName write FLongName; |
|
Long name for the context as used for reference purposes. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5063). | |
| Published | property Phase: TIfcLabel read FPhase write FPhase; |
|
Current project phase, or life-cycle phase of this project. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5066). | |
| Published | property RepresentationContexts: TIfcRepresentationContextList read FRepresentationContexts; |
|
Context of the representations used within the context. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5069). | |
| Published | property UnitsInContext: TIfcUnitAssignment read FUnitsInContext write FUnitsInContext; |
|
Units globally assigned to measure types used within the context. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5072). | |
| Published | property IsDefinedBy: TIfcRelDefinesByPropertiesList read FIsDefinedBy; |
|
Set of relationships to property set definitions attached to this context. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5075). | |
| Published | property Declares: TIfcRelDeclaresList read FDeclares; |
|
Reference to the IfcRelDeclares relationship that assigns the uppermost entities of included hierarchies to this context instance. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 5079). | |
Generated by PasDoc 0.17.0.snapshot.