DATAKIT API  V2025.1
Ifcw Namespace Reference

Exported APIs for Ifc (.ifc) Write Library. More...

Namespaces

 classification
 

Data Structures

class  IfcCalendarDate
 This class represents an IFC date.
. More...
 
class  IfcElement
 This class provides several parameters for the next ifc entity to be written, as its custom property set, level, classification.
It must be provided to Ifcw::InitObject method. More...
 
class  IfcType
 A IfcType is used to define the common properties of a certain type or style of an entity that may be applied to instances of that entity type. More...
 
struct  ProjectInformation
 This struct enables the user to define global properties regarding the project, construction site and building.
It is used in the Ifcw::InitWrite method. More...
 
class  WriteOptions
 This class provides several options to tune the IFC Writer.
It must be provided to Ifcw::InitWrite method. More...
 

Enumerations

enum  IfcBuildingElement {
  IfcBeam, IfcBuildingElementProxy, IfcColumn, IfcCovering,
  IfcCurtainWall, IfcDoor, IfcFooting, IfcMember,
  IfcPlate, IfcRailing, IfcRamp, IfcRampFlight,
  IfcRoof, IfcSlab, IfcStair, IfcStairFlight,
  IfcWall, IfcWindow
}
 This enum provides commonly used ifc building elements types, to define entities to be written.
It is used in the Ifcw::SetIfcBuildingElement method. More...
 

Functions

DtkErrorStatus EndObject ()
 Ends the current object. More...
 
DtkErrorStatus EndWrite ()
 Creation of the output file and free the Ifc Writer
More...
 
DtkErrorStatus InitObject (const IfcElement &inParameters)
 Initialize an ifcobject with various information. More...
 
DtkErrorStatus InitWrite (const Dtk_string &inOutputFile, const Dtk_string &inLogFile, const WriteOptions &inOptions, ProjectInformation *inProjectInfo=nullptr)
 Initialize the Ifc Writer and the IFC version you want to write. More...
 
Dtk_ErrorStatus WriteEntity (const Dtk_EntityPtr &inEntity, const Dtk_transfo &inMat=Dtk_transfo())
 Write the entity provided in parameter. The entity corresponds to current object geometry (e.g: a Dtk_MeshPtr()) More...
 
Dtk_ErrorStatus WriteType (const IfcType &inType)
 Write the type provided in parameter. The type can exists by itself without having entities related to it. More...
 

Detailed Description

Exported APIs for Ifc (.ifc) Write Library.

Enumeration Type Documentation

◆ IfcBuildingElement

This enum provides commonly used ifc building elements types, to define entities to be written.
It is used in the Ifcw::SetIfcBuildingElement method.

See also
https://standards.buildingsmart.org/IFC/DEV/IFC4_3/RC1/HTML/schema/ifcproductextension/lexical/ifcbuiltelement.htm
Enumerator
IfcBeam 
IfcBuildingElementProxy 
IfcColumn 
IfcCovering 
IfcCurtainWall 
IfcDoor 
IfcFooting 
IfcMember 
IfcPlate 
IfcRailing 
IfcRamp 
IfcRampFlight 
IfcRoof 
IfcSlab 
IfcStair 
IfcStairFlight 
IfcWall 
IfcWindow 
247  {
248  IfcBeam,
250  IfcColumn,
251  IfcCovering,
253  IfcDoor,
254  IfcFooting,
255  IfcMember,
256  IfcPlate,
257  IfcRailing,
258  IfcRamp,
260  IfcRoof,
261  IfcSlab,
262  IfcStair,
264  IfcWall,
265  IfcWindow
266  };

Function Documentation

◆ EndObject()

DtkErrorStatus Ifcw::EndObject ( )

Ends the current object.

Returns
dtkNoError if it is OK.

◆ EndWrite()

DtkErrorStatus Ifcw::EndWrite ( )

Creation of the output file and free the Ifc Writer

Returns
dtkNoError if it is OK.
Remarks
used as the last function used for the writer.

◆ InitObject()

DtkErrorStatus Ifcw::InitObject ( const IfcElement inParameters)

Initialize an ifcobject with various information.

Parameters
[in]inParameters: The parameters you want for the object to be written (see IfcElement class)
Returns
dtkNoError if it is OK.
Remarks
To close the current object you will need to call EndObject() function .

◆ InitWrite()

DtkErrorStatus Ifcw::InitWrite ( const Dtk_string inOutputFile,
const Dtk_string inLogFile,
const WriteOptions inOptions,
ProjectInformation inProjectInfo = nullptr 
)

Initialize the Ifc Writer and the IFC version you want to write.

Returns
dtkNoError if it is OK.
Parameters
[in]inOutputFile: Output file name
[in]inLogFile: Log file
[in]inOptions: options to tune the IFC Writer
Remarks
This function is the first call for the writer, it must me called after Dtk_API::StartAPI(...)
See also
WriteOptions

◆ WriteEntity()

Dtk_ErrorStatus Ifcw::WriteEntity ( const Dtk_EntityPtr inEntity,
const Dtk_transfo inMat = Dtk_transfo() 
)

Write the entity provided in parameter. The entity corresponds to current object geometry (e.g: a Dtk_MeshPtr())

Parameters
[in]inEntity: The Entity to be written
[in]inMat: The matrice that needs to be applied before the writing
Returns
dtkNoError if it is OK.
Remarks
This function is used to write entities (only Dtk_MeshPtr ).

◆ WriteType()

Dtk_ErrorStatus Ifcw::WriteType ( const IfcType inType)

Write the type provided in parameter. The type can exists by itself without having entities related to it.

Parameters
[in]inType: The ifcType to be written
Returns
dtkNoError if it is OK.
Remarks
Should be used before WriteEntity if the entity to be written uses the current ifcType.
Ifcw::IfcPlate
@ IfcPlate
Definition: IFCWriter.h:256
Ifcw::IfcRamp
@ IfcRamp
Definition: IFCWriter.h:258
Ifcw::IfcMember
@ IfcMember
Definition: IFCWriter.h:255
Ifcw::IfcRoof
@ IfcRoof
Definition: IFCWriter.h:260
Ifcw::IfcFooting
@ IfcFooting
Definition: IFCWriter.h:254
Ifcw::IfcStair
@ IfcStair
Definition: IFCWriter.h:262
Ifcw::IfcBuildingElementProxy
@ IfcBuildingElementProxy
Definition: IFCWriter.h:249
Ifcw::IfcSlab
@ IfcSlab
Definition: IFCWriter.h:261
Ifcw::IfcRailing
@ IfcRailing
Definition: IFCWriter.h:257
Ifcw::IfcCovering
@ IfcCovering
Definition: IFCWriter.h:251
Ifcw::IfcWindow
@ IfcWindow
Definition: IFCWriter.h:265
Ifcw::IfcStairFlight
@ IfcStairFlight
Definition: IFCWriter.h:263
Ifcw::IfcColumn
@ IfcColumn
Definition: IFCWriter.h:250
Ifcw::IfcWall
@ IfcWall
Definition: IFCWriter.h:264
Ifcw::IfcCurtainWall
@ IfcCurtainWall
Definition: IFCWriter.h:252
Ifcw::IfcRampFlight
@ IfcRampFlight
Definition: IFCWriter.h:259
Ifcw::IfcDoor
@ IfcDoor
Definition: IFCWriter.h:253
Ifcw::IfcBeam
@ IfcBeam
Definition: IFCWriter.h:248