DATAKIT API  V2025.2
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 (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 
222  {
223  IfcBeam,
225  IfcColumn,
226  IfcCovering,
228  IfcDoor,
229  IfcFooting,
230  IfcMember,
231  IfcPlate,
232  IfcRailing,
233  IfcRamp,
235  IfcRoof,
236  IfcSlab,
237  IfcStair,
239  IfcWall,
240  IfcWindow
241  };

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 ( 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:231
Ifcw::IfcRamp
@ IfcRamp
Definition: IFCWriter.h:233
Ifcw::IfcMember
@ IfcMember
Definition: IFCWriter.h:230
Ifcw::IfcRoof
@ IfcRoof
Definition: IFCWriter.h:235
Ifcw::IfcFooting
@ IfcFooting
Definition: IFCWriter.h:229
Ifcw::IfcStair
@ IfcStair
Definition: IFCWriter.h:237
Ifcw::IfcBuildingElementProxy
@ IfcBuildingElementProxy
Definition: IFCWriter.h:224
Ifcw::IfcSlab
@ IfcSlab
Definition: IFCWriter.h:236
Ifcw::IfcRailing
@ IfcRailing
Definition: IFCWriter.h:232
Ifcw::IfcCovering
@ IfcCovering
Definition: IFCWriter.h:226
Ifcw::IfcWindow
@ IfcWindow
Definition: IFCWriter.h:240
Ifcw::IfcStairFlight
@ IfcStairFlight
Definition: IFCWriter.h:238
Ifcw::IfcColumn
@ IfcColumn
Definition: IFCWriter.h:225
Ifcw::IfcWall
@ IfcWall
Definition: IFCWriter.h:239
Ifcw::IfcCurtainWall
@ IfcCurtainWall
Definition: IFCWriter.h:227
Ifcw::IfcRampFlight
@ IfcRampFlight
Definition: IFCWriter.h:234
Ifcw::IfcDoor
@ IfcDoor
Definition: IFCWriter.h:228
Ifcw::IfcBeam
@ IfcBeam
Definition: IFCWriter.h:223