DG Kernel Documentation

Skip Navigation Links.
Skip Navigation LinksHome Page > Samples and Tutorials > Sample List Search Documentation


Sample Description Difficulty
BoolOp Demonstrates programming of Boolean Operations Medium
Clip Clipping Planes Simple
Cloud Building surfaces from point clouds. Minimal Bounding Box Simple
Collision Usage of IMetrics for Collision Detection Medium
Collision Path Demonstrates programming of Path Collision Detection. Medium
Console Demonstrates using DGK component for calculations in a command line application. Simple
Curves Demonstrates different methods of Curve construction, access to its properties and visualisation. Medium
Data Flow Programmatic Import / Export. Splitting unlinked meshes Medium
Diff Surface Demonstrates usage of IDiffSurface_KC for local approximation of a meshed surface with a  bspline patch Simple
DIView DG Kernel control as resizable view. Programming gradient background. Printing support Simple
eMotion Boolean Operations in simulation of CNC machining. Programming of 3D movements and CAM Effects. Advanced
Euclidean Shortest Path Demonstrates usage of IEuclideanShortestPath_KC. Medium
Face Construction of curves on surfaces via pcurves and projection. Building BRep faces. Medium
Light Properties of light sources. Material. Programming of Context Menu Simple
Lines Line Strips Simple
LowDim Programming of Point Sets Simple
Measure Programmatic creation of measurements and measurement-style labels Simple
Mesh Ops Demonstrates extraction of submeshes Simple
MeshMods Direct manipulation of surface and handling of selection events Simple
Metrics Distances between objects Medium
MiniCAD Parametric modifications of 3DS and SOR objects. Object movements Medium
Modal Modal Mode and movement constraints Medium
Morph Mesh manipulation. Exploring meshed surface. Shading Advanced
Object Array Dynamic object creation and manipulation of child/parent hierarchy Medium
OCCT Bridge Direct access to OCCT technology via ITechnology_DG. Customisation of OCCT functionality Medium
Ogre Bridge Direct access to Ogre technology via ITechnology_DG. Customisation of Ogre functionality Medium
Patch Tutorial Hello World kind of tutorial on creating a DG Kernel-based application from scratch Simple
Pick Different methods of runtime object and point selection. Events Medium
Pipes Programming of Pipe Geometry Medium
Point Of View User manipulation and programming of View Points Medium
Profile Modification of profiles of 3DS objects Medium
Rotation View point manipulation Medium
Selection Handling selection events Simple
Shape Explorer Browsing sub shape hierarchy of bspline objects. u,v parameters. Simple
Shape Builder Runtime construction of BRep shapes. Standalone shapes. Medium
Shape Mods Different methods of entity modification and managing references to its attributes Simple
Solids Advanced operations on solids Advanced
Strip Topology Dynamic modification of surface structure Medium
Surface Metrics Demonstrates  usage of ISurfaceMetric_KC for calculation of projection of points and curves to surface of an object Simple
Surfaces Various ways of construction of bspline surfaces Simple
Texture Textures of surfaces Medium
Transform Scaling, translation, rotation, offset and other transformations of surfaces. Operations with transforms and frames (C#) Simple
WpfCAD Usage of DG Kernel in a Windows Presentation Framework application Simple
View Point View point manipulation Medium
Zoom Programming of zoom and view point Medium

For simplicity samples do not contain much of validation code. For production it is strongly recommended to add checks for success of interface query, assumptions about structure of the model etc

Language mapping examples

Below are samples of the same piece of code, which hides the first object in the model in different languages.

Visual Basic 6  (*.frm)

Dim iModel As IModel
Set iModel = m_KernelCADCtrl.GetModel
Dim iSection As ISection
Set iSection = m_iModel.GetSection(0)
iSection.SetVisible False

Visual Basic .NET (*.vb)

Dim iModel As IModel
iModel = m_KernelCADCtrl.GetModel()
Dim iSection As ISection
iSection = iModel.GetSection(0)

C++  (*.cpp)

IModel* iModel;
iModel = (IModel*)m_KernelCADCtrl.GetModel();
ISection* iSection;
iModel->GetSection(0, &iSection);

Native Delphi (*.pas)

iModel : IModel;
iSection : ISection;
iModel := m_KernelCADCtrl.GetModel();
iModel.GetSection(0, &iSection);

Delphi .NET (*.pas)

iModel : IModel;
iSection : ISection;
iModel := m_KernelCADCtrl.GetModel();
iModel.GetSection(0, iSection);

C# (*.cs)

IModel iModel;
iModel = (IModel)m_KernelCADCtrl.GetModel();
ISection iSection;
iSection = iModel.GetSection(0);