Drawings SDK Developer Guide > Getting Started with Drawings SDK > Determining which Libraries to Use
Determining which Libraries to Use

Core components

To build the most simple applications, one of the Drawings and all of the following Kernel libraries are required:

  • Drawings
    • TD_DbCore — Implements the core .dwg database functionality
    • TD_Db — Provides the functionality to initialize and uninitialize the core Drawings SDK runtime environment implemented in the following modules:
      • TD_DbIO.tx - Extension that implements file read-write components for .dwg, .dxf, and .dxb formats and some other file-related operation APIs. It can be loaded optionally as a TD_DbIO extension application.
      • TD_DbEntities.tx - Extension that implements the built-in entity set. It can be loaded optionally as a TD_DbEntities extension application.
      • ISM.tx - Extension that implements the raster image entity
      • WipeOut.tx - Extension that implements the WipeOut entity
      • RText.tx - Extension that implements the RText entity
      • ATEXT.tx - Extension that implements the arc-aligned text entity
      • SCENEOE.tx - Extension that implements a set of scene definition and rendering setting components
      • ACCAMERA.tx - Extension that implements the camera entity
      • AcMPolygonObj15.tx - Extension that implements the multi-polygon entity.
    • TG_Db — .dgn files support functionality
  • Kernel
    • TD_Alloc — Memory allocation
    • TD_Root — Core functionality
    • TD_DbRoot — Common database functionality
    • TD_Ge — Geometry classes (OdGe*)
    • TD_Gi — Entity vectorization classes (OdGi*)
    • TD_Gs — Graphical system classes (OdGs*)
    • TD_SpatialIndex — Spatial indexing support (OdSi*)

Optional modules

For extended functionality, in addition to the core libraries, you can use a wide list of optional libraries (modules) according to your application purposes.

Constraint solving functionality

The DbConstraints library contains an implementation of OdDbAssoc* classes (OdDbAssocNetwork and its child objects). They are responsible for:

  • Associative arrays.
  • Geometric and dimensional constraints. Note that the module contains IO and an API for these objects but no "solver" functionality. Solver functionality requires a third-party component. For example from Siemens or from Ledas: https://www.opendesign.com/members/marketplace.

Enablers

If support for Inventor and MDT entities is required, the following modules can be used:

  • AcIdViewObj — Inventor-exported entities support.
  • AutoSurfServices — AcAsSurfBody (MDT entity) enabler support.
  • AeciIb — An enabler for embedded raster entities exported to .dwg by Raster Design.

Underlays

Clients using underlays must link in these libraries according to the desired file format:

  • TD_DgnUnderlay (TG libraries would be also required).
  • TD_DwfUnderlay (DWF libraries would be also required).
  • PDFiumModule — PDF underlays support module based on the PDFium library.
  • PdfModuleVI — PDF underlays support module based on Visual Integrity FlySDK libraries.
  • PdfModuleVINet — Provides the functionality of the PdfModuleVI module in .NET classic and .NET SWIG projects.

Modeler geometry

  • ModelerGeometry — Main module for working with 3D object data in ACIS format. It uses the following Kernel SDK modules:
    • TD_BrepRenderer — Provides rendering functionality
    • TD_AcisBuilder — Provides functionality to convert SAT/SAB data
    • TD_BrepBuilder — Provides functionality to create Brep-based models
    • TD_BrepBuilderFiller — Provides helper functionality to fill BrepBuilder from OdBrBrep
    • OdBrepModeler — Provides native support of 3D solid operations: extrude, sweep and boolean operations)
    • TD_Br — Provides support of the OdBr interface
  • ModelerCommands — Optional module contains a set of modeler specific commands.

3D solid history

  • TD_3DSolidHistory — Contains enablers for the OdDb3dSolid history classes (limited functionality).

Imports

To enable PDF import, a client application should link in the following module:

  • TD_PdfImport.tx module

Clients using DGN import should link in this library:

  • TD_DgnImport

Clients using Collada import must link in this library:

  • TD_ColladaImport

Clients using DWF import must link in these libraries:

  • TD_Dwf7Import

Note: If DwfUnderlay, DwfImport and Dwf7Export are not used, then DWF-related modules can be omitted:

  • DWFCore
  • DWFToolkit
  • W3Dtk
  • WhipTk

Exports

To export .dwg data to Three.js format, the TD_ThreejsJSONExport is used.

Dynamic blocks

To support dynamic blocks, include this module:

  • TD_DynBlocks

Sheet sets

To support sheet sets, include this module:

  • TD_Sm

Model documentation

To support the model documentation feature, include the following module:

  • AcModelDocObj

Old-styled materials (AVE)

To support old-style materials, include this module:

  • TD_Ave

Fields evaluation

To support field evaluation, include this module:

  • TD_ExFieldEvaluator

Dimension blocks recomputing

To support dimension block recomputing, include this module:

  • RecomputeDimBlock

Grip, stretch, and snap points

The following module is a sample implementation of gripping, stretching, and snapping to points for a few simple entities:

  • GripPoints

Join entities

The following extension module provides join functionality for entities and allows searching for intersections between entities and uniting them in a single curve:

  • TD_DbJoinEntityPE

OLE support

Vectorization support for OLE objects on Windows can be obtained by including this module:

  • OdOleItemHandler

Source for this module is located in Examples/win/OleItemHandler. OLE support can be enabled by linking in the OdOleItemHandler module and registering "OdOleItemHandler" using the ODRX_DEFINE_STATIC_APPLICATION macro. For the DLL version of Drawings libraries, place the OdOleItemHandler.tx module in the same directory as the ODA DLLs (no explicit registration required).

Point cloud entity support

To support point cloud entities, the following extension module must be included:

  • AcDbPointCloudObj

Plot settings

To include support for plot settings, include this module:

  • PlotSettingsValidator

DGN components

The following libraries are used for building applications that work with .dgn files:

  • TG_Db — Contains .dgn database classes (OdDg*).
  • TG_Dgn7IO — Support for reading DGN files in v7 format.
  • TG_DwgDb — Support for drawing .dwg reference file attachments.
  • TG_ModelerGeometry — Provides a modeler implementation for DGN. This is the main module for working with 3D object data in ACIS and Parasolid formats. Support for ACIS data is implemented in the AcisBuilder module, and support for Parasolid data is provided by the PSToolkit module. For rendering both formats the TD_BrepRenderer module is used.
  • DgPlotStyleServices — Support for plot styles.
  • PSToolkit — The toolkit module to support Parasolid data stream.

Third-Party Libraries

Library Description Version License
CS-Map Online maps support 14.20/15.10 Autodesk® License
Curl Online maps support 7.64.0 MIT (or Modified BSD)-style license
LibXl Reading and writing Excel files 3.8.2 EULA
Oless Access to Microsoft Compound file for Windows platforms 3.12 MIT
OpenCollada Collada Toolkit (.dae import/export) 1.6.68 MIT
OpenSSL Cryptography functionality for non-Windows platforms (Activation procedure, .dwg passwords and signatures) 1.0.2r Apache License Version 1.0
PDFium PDF support functionality (converting to images, import, working with PDF underlays) version BSD-style
TinyXML Parsing XML files 2.6.2 ZLib
ZMQ Support of the zmq protocol. 4.3.1 LGPL

See Also

Downloading Drawings SDK

Loading Additional Modules

Building Applications

Copyright © 2002 – 2021. Open Design Alliance. All rights reserved.