DATAKIT API  V2025.1
Datakit API

Datakit API allows you to read data coming from many software in the same way:

  • You have to Enable the readers you want to use and then Start the Api.
  • When API is started you can Use OpenDocument() method to read a file.
    This method recognizes file format and calls the corresponding reader to give you an assembly tree.
  • From assembly tree, you choose the component you want to read and call ReadComponent method to get Construction tree.
  • From this second tree, you call Get.. method on node following his type to make the reader access to full data information.
  • You have to close opened component with EndComponent() and opened document with EndDocument() method to free data used by the reader.
  • In the end, you need to stop the API.


    All classes except Dtk_API and Dtk_readers are handled via Smart Pointers.
    You have to use the Create method to handle them. They are deleted automatically when they are not used any more.



ObjReader::Enable
static Dtk_bool Enable()
Dtk_SearchFileEnum::ReadPathSearch
@ ReadPathSearch
Definition: dtk_api.hpp:54
Dtk_API::EndDocument
Dtk_ErrorStatus EndDocument(Dtk_MainDocPtr &inoutDocument)
Close a Document.
Dtk_Info::FindAttribute
Dtk_ErrorStatus FindAttribute(const Dtk_string &name, Dtk_Val &val) const
CgrReader::Enable
static Dtk_bool Enable()
SmgReader::Enable
static Dtk_bool Enable()
Dtk_ID
uint32_t Dtk_ID
Definition: define.h:689
write_mesh_solid
int write_mesh_solid(Dtk_mesh *tm)
Dtk_mesh_face
This is a high level face class.
Definition: util_mesh_dtk.hpp:870
Dtk_Info::GetName
Dtk_string GetName() const
Retrieves the entity name.
NavisReader::Enable
static Dtk_bool Enable()
Dtk_StandardRevolutionSurface
This is the Revolution Surface Class. U parametrisation : revolved curve parametrisation V parametris...
Definition: util_geom_dtk.hpp:1105
LavaReader::Enable
static Dtk_bool Enable()
JtReader::Enable
static Dtk_bool Enable()
CgmReader::Enable
static Dtk_bool Enable()
Dtk_Text::TextSubType
DTK_Text_subtype & TextSubType()
Retrieves the text subtype - get/set -.
get_tesselationSuppressDuplicateFace
Dtk_bool get_tesselationSuppressDuplicateFace()
: return current status of suppress duplicate face option default value is enable to deactivate this ...
GltfReader::Enable
static Dtk_bool Enable()
StlReader::Enable
static Dtk_bool Enable()
Dtk_CompositeText::GetNumTexts
Dtk_Size_t GetNumTexts() const
Retrieves the texts number.
tess_set_optimize_mesh
void tess_set_optimize_mesh(int ival)
: Activate or not the optimization of the vertex map
Dtk_API::AddSearchPath
Dtk_ErrorStatus AddSearchPath(const Dtk_SearchFileEnum::RecursivityEnum &inRecursivityEnum, const Dtk_string &inPath)
Add search path to find missing files.
Dtk_SearchFileEnum::RootFolderFirstRecursivity
@ RootFolderFirstRecursivity
Definition: dtk_api.hpp:48
Dtk_SmartPtr::IsNotNULL
Dtk_bool IsNotNULL() const
Definition: util_ptr_dtk.hpp:119
SwReader::Enable
static Dtk_bool Enable()
_3dmReader::Enable
static Dtk_bool Enable()
tess_set_Ratio
void tess_set_Ratio(double tol)
: define a ratio
tess_ShellToMesh
Dtk_ErrorStatus tess_ShellToMesh(const Dtk_ShellPtr &inShell, Dtk_MeshPtr &outMesh, Dtk_Int32 *outIsSolid)
: Make Tesselation from a Dtk_shell and create a Dtk_MeshPtr if available
CerconReader::Enable
static Dtk_bool Enable()
Dtk_Info::GetPersistentName
Dtk_string GetPersistentName() const
DTK_TRUE
#define DTK_TRUE
Definition: define.h:727
Dtk_Symbol
This is the general symbol class. It's basically composed of Dtk_CompositeText and geometrical elemen...
Definition: util_draw_dtk.hpp:6505
Dtk_API::StartAPI
static Dtk_API * StartAPI(const Dtk_string &inTemporyDirectory, Dtk_ErrorStatus &outErrorCode, const Dtk_string &inCustomerID=Dtk_string())
Start DATAKIT API.
DTK_Text_subtype::IsTolBloc
Dtk_bool IsTolBloc() const
Tell if the associated Dtk_text is part of Tolerance Block group - into Dtk_Dimension -.
F3dReader::Enable
static Dtk_bool Enable()
DTK_FDT_MODIFIER
DTK_FDT_MODIFIER
This is the several tolerances modifiers list.
Definition: util_draw_dtk.hpp:63
Dtk_UInt32
uint32_t Dtk_UInt32
Definition: define.h:688
Dtk_string
This is a high level string class.
Definition: dtk_string.hpp:58
Dtk_FCFFeatureIndicatorType
This is the Feature Indicator. It is part of the Dtk_FCFFeatureIndicator. .
Definition: util_draw_dtk.hpp:5898
Dtk_Size_t
size_t Dtk_Size_t
Definition: define.h:712
PlmXmlReader::Enable
static Dtk_bool Enable()
Dtk_Text::GetInfo
const Dtk_InfoPtr & GetInfo() const
Retrieves the text infos - read only -.
Dtk_Text
This is the base text class. It's part of Dtk_CompositeText. It's used into a lot of 2D Entities It c...
Definition: util_draw_dtk.hpp:1126
Dtk_status
Definition: dtk_status.hpp:16
CatiaV4Reader::Enable
static Dtk_bool Enable()
Dtk_Body::Create
static Dtk_BodyPtr Create()
Create a body.
StepReader::Enable
static Dtk_bool Enable()
Dtk_API::EndComponent
Dtk_ErrorStatus EndComponent(Dtk_ComponentPtr &inComponent)
EndComponent.
Dtk_API::OpenDocument
Dtk_ErrorStatus OpenDocument(const Dtk_string &inInputFile, Dtk_MainDocPtr &outDocument)
Open a Document (call EndDocument to close it)
DTK_FALSE
#define DTK_FALSE
Definition: define.h:728
DTK_TYPE_SYMBOL
@ DTK_TYPE_SYMBOL
Definition: define.h:409
Dtk_bool
char Dtk_bool
Definition: define.h:725
Dtk_string::OpenFile
FILE * OpenFile(const Dtk_string &inRights) const
File Utility : Open a file with the given rights.
Dtk_Symbol::Create
static Dtk_SymbolPtr Create()
Base constructor.
RevitReader::Enable
static Dtk_bool Enable()
Dtk_API::ActivateSearchFileEngine
void ActivateSearchFileEngine()
ProeReader::Enable
static Dtk_bool Enable()
CaddsReader::Enable
static Dtk_bool Enable()
tess_InitTesselation
int tess_InitTesselation(Dtk_string inWorkingDirectory, double inTolerance)
Init the tesselation library.
Dtk_Double64
double Dtk_Double64
Definition: define.h:699
DwgReader::Enable
static Dtk_bool Enable()
InvReader::Enable
static Dtk_bool Enable()
ProCeraReader::Enable
static Dtk_bool Enable()
get_tesselation_activateSplitMode
void get_tesselation_activateSplitMode(int &outmode, double &outratio)
: read value of splitting of surface
DTK_ISERROR
@ DTK_ISERROR
Definition: dtk_status.hpp:9
DTK_TYPE_NURBS_SURFACE
@ DTK_TYPE_NURBS_SURFACE
Definition: define.h:495
Dtk_Val
Definition: dtk_val.hpp:67
UgReader::Enable
static Dtk_bool Enable()
Dtk_Val::GetInt
int GetInt(Dtk_status &st=Dtk_status::GetDefaultStatus()) const
tess_getBoundariesFromMeshFace
void tess_getBoundariesFromMeshFace(const Dtk_MeshPtr &mesh, const Dtk_mesh_face *inFace, Dtk_tab< Dtk_tab< Dtk_PolylinePtr > > &outBoundaries)
: reorder the polylines of a Dtk_mesh_face into correct loop
Dtk_API::ManageSearchFile
void ManageSearchFile(Dtk_SearchFileEnum::Status inStatus)
Dtk_API::GetAPI
static Dtk_API * GetAPI()
Get DATAKIT API.
CatiaV5Reader::Enable
static Dtk_bool Enable()
tess_ComputeNormalesFromSurface
int tess_ComputeNormalesFromSurface()
: Check value of option compute normales of vertex from real surface
IgesReader::Enable
static Dtk_bool Enable()
Dtk_Node
This is the Node Class The Dtk_Node object is used to retrieve informations in a Dtk_ComponentPtr obj...
Definition: dtk_maindoc.hpp:230
Dtk_Int32
int32_t Dtk_Int32
Definition: define.h:687
CatiaV6Reader::Enable
static Dtk_bool Enable()
TesselationIsStarted
Dtk_ErrorStatus TesselationIsStarted()
: Check if tesselation is initialized
DTK_TYPE_FACE
@ DTK_TYPE_FACE
Definition: define.h:141
Dtk_mesh_face::get_id
int get_id()
Return the face Id.
DTK_Text_subtype::IsTolUpperTol
Dtk_bool IsTolUpperTol() const
Tell if the associated Dtk_text is part of Tolerance Upper Value group - into Dtk_Dimension -.
Dtk_Preview
This is the Dtk_Preview class.
Definition: util_ent_dtk.hpp:688
Dtk_Lump::Create
static Dtk_LumpPtr Create(const Dtk_BodyPtr &inParentBody)
Create a lump in a body.
IfcReader::Enable
static Dtk_bool Enable()
Dtk_SearchFileEnum::AdditionalPathSearch
@ AdditionalPathSearch
Definition: dtk_api.hpp:55
Dtk_SmartPtr::DtkDynamicCast
static Dtk_SmartPtr< T > DtkDynamicCast(const Dtk_SmartPtr< T2 > &p)
Definition: util_ptr_dtk.hpp:101
end_stl_fic
int end_stl_fic(int *ient)
Dtk_Hyperbola::Create
static Dtk_HyperbolaPtr Create(const Dtk_Hyperbola &inToCopy)
Dtk_ErrorStatus
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
DcmReader::Enable
static Dtk_bool Enable()
PsReader::Enable
static Dtk_bool Enable()
Dtk_API::SetSearchPositionMode
Dtk_ErrorStatus SetSearchPositionMode(Dtk_Int32 inPosition, Dtk_SearchFileEnum::PriorityModeEnum inSearchEnum)
Set Search Position.
Dtk_SmartPtr
Definition: util_ptr_dtk.hpp:37
set_tesselationSuppressDuplicateFace
void set_tesselationSuppressDuplicateFace(Dtk_bool inBval)
: Enable or disable the suppression of duplicate face before tessellation
Dtk_SearchFileEnum::LocalSearch
@ LocalSearch
Definition: dtk_api.hpp:53
reinit_SplitMode
void reinit_SplitMode()
: disable splitting of surface
Dtk_string::c_str
const char * c_str() const
Retrieve the ASCII conversion string.
Dtk_API::SetInternalReadPathSearchFlag
void SetInternalReadPathSearchFlag(Dtk_bool inActivationFlag)
Allow Internal Read Path Search for files of assembly.
Dtk_GraphicalData
This is the Dtk_GraphicalData Class. The Dtk_GraphicalDataPtr object is used to store preview data It...
Definition: dtk_graphical.hpp:27
tess_disableTolAngular
Dtk_bool tess_disableTolAngular()
: return state of Angular tolerance method
Dtk_Val::GetString
Dtk_string GetString(Dtk_status &st=Dtk_status::GetDefaultStatus()) const
Dtk_FCFFeatureIndicatorType::Dtk_FCFFeatureIndicatorTypeEnum
Dtk_FCFFeatureIndicatorTypeEnum
Definition: util_draw_dtk.hpp:5901
CerecReader::Enable
static Dtk_bool Enable()
Dtk_pnt
This is a mathematical point class.
Definition: dtk_pnt.hpp:22
type_detk
type_detk
Definition: define.h:32
set_TesselateSurfaceMethod
void set_TesselateSurfaceMethod(int ival)
: select computation method for surface tesselation
DTK_Text_subtype
This is the DTK_Text_subtype class. It's used to provide semantic data about Dtk_Text type....
Definition: util_draw_dtk.hpp:1012
Dtk_Parabola::Create
static Dtk_ParabolaPtr Create(const Dtk_Parabola &inToCopy)
CreoviewReader::Enable
static Dtk_bool Enable()
Dtk_CompositeText
This is the composite text class. It's basically a Dtk_Text Container. This class represents a group ...
Definition: util_draw_dtk.hpp:1557
CheckUseEdgeTolerance
Dtk_bool CheckUseEdgeTolerance()
: return current status of if we use the tolerance of edge and face read from the part available valu...
DTK_TYPE_EDGE
@ DTK_TYPE_EDGE
Definition: define.h:128
Dtk_Val::GetDouble
double GetDouble(Dtk_status &st=Dtk_status::GetDefaultStatus()) const
tess_ComputeBoundariesFromMesh
int tess_ComputeBoundariesFromMesh()
: Check value of option memorize noundaries of mesh
Dtk_tab< Dtk_pnt >
Dtk_API::ActivateKeepKernelData
void ActivateKeepKernelData()
Keep Kernel Data option (see "How to use KeepKernelData option")
Dtk_SearchFileEnum::Enable
@ Enable
Definition: dtk_api.hpp:63
Dtk_API::ClearSearchPriority
Dtk_ErrorStatus ClearSearchPriority()
Clear Search Priority.
Dtk_API::SetAdditionnalPathSearchFlag
void SetAdditionnalPathSearchFlag(Dtk_bool inActivationFlag)
Allow Additionnal Path Search for files of assembly.
Dtk_tab::size
Dtk_Size_t size() const
Returns the size of the array.
Definition: util_stl_dtk.hpp:502
FbxReader::Enable
static Dtk_bool Enable()
DTK_NOERROR
@ DTK_NOERROR
Definition: dtk_status.hpp:10
tess_set_angular
void tess_set_angular(double angle)
: Set angle for cord heigh ratio method
Dtk_API::StopAPI
static void StopAPI(Dtk_API *&inAPI, Dtk_bool inWriteTimeInLog=1)
Stop DATAKIT API.
Dtk_CompositeText::GetInfo
const Dtk_InfoPtr & GetInfo() const
Retrieves the infos.
tess_EndTesselation
void tess_EndTesselation()
Free the data used by tesselation library.
Dtk_API::ReadComponentGraphic
Dtk_ErrorStatus ReadComponentGraphic(const Dtk_ComponentPtr &inComponent, Dtk_GraphicalDataPtr &outGraphicalData)
Read graphical data from Component (Call EndComponent to free data allocated)
init_stl_write
int init_stl_write(Dtk_string sfic)
Dtk_ToleranceSpecificationContainer::TypeEnum
TypeEnum
Definition: util_draw_dtk.hpp:6197
tess_set_MaxSize
void tess_set_MaxSize(double tol)
: sets maximum size of triangles
tess_disableTolLinear
Dtk_bool tess_disableTolLinear()
: return state of linear tolerance method
Dtk_FCFFeatureIndicatorType::GetIndicatorType
const Dtk_FCFFeatureIndicatorTypeEnum & GetIndicatorType() const
Retrieves the IndicatorType semantic Type - Read Only -.
Definition: util_draw_dtk.hpp:5976
Dtk_tab::at
T & at(Dtk_Size_t k)
Definition: util_stl_dtk.hpp:396
dtkNoError
@ dtkNoError
Definition: error_dtk.hpp:140
VdaReader::Enable
static Dtk_bool Enable()
Dtk_Info::GetId
int GetId() const
SolidEdgeReader::Enable
static Dtk_bool Enable()
Dtk_API::ReadComponent
Dtk_ErrorStatus ReadComponent(const Dtk_ComponentPtr &inComponent, Dtk_NodePtr &outRootNode)
Read Component from Assembly Tree (Call EndComponent to free data allocated)
set_tesselation_activateSplitMode
void set_tesselation_activateSplitMode(const int inmode, const double inratio)
: memorize option for splitting of surfaces before tessellation
Dtk_FCFFeatureIndicatorType::CreateGeometries
Dtk_ErrorStatus CreateGeometries(Dtk_tab< Dtk_CurvePtr > &outGeoms) const
Process IndicatorType Related geometries.
Dtk_dir
This is a mathematical direction class.
Definition: dtk_dir.hpp:15
tess_set_linear
void tess_set_linear(double tol)
: Set tolerance for linear tolerance method
Dtk_API
Definition: dtk_api.hpp:75
Dtk_Volume::Create
static Dtk_VolumePtr Create(const Dtk_BodyPtr &inParentBody)
Create a volume in a body.
Dtk_API::SetLocalPathSearchFlag
void SetLocalPathSearchFlag(Dtk_bool inActivationFlag)
Allow Local Path Search for files of assembly.
AcisReader::Enable
static Dtk_bool Enable()