Home Page > KernelCAD Components > DIObjectGenerator class
ObjectGenerator class
ObjectGenerator class
DIObjGenerator COM class allows creation of instances of objects, which are
not directly part of the rendered model. See also
Object Array sample and Cannon sample.
DIObjGenerator is an Object Generator, which allows creation of new
objects. In COM terminology DIObjGenerator is a Class Factory. It can
be instantiated in COM-enabled development environments by using either its Class ID or Program ID (see below). Note that
KernelCAD control does not have to be created in the application before creation
of the object.
In .NET environment DIObjGenerator can be created using standard new
operator as (C# example):
KernCADnet.DIObjGeneratorClass sect
= new KernCADnet.DIObjGeneratorClass();
Actual name of the wrapper class might be different in different versions of the
development environment. Refer to Object Browser in the project after adding a
reference to the KernelCADnet component (See Patch Tutorial).
In C++ the DIObjGenerator can be instantiated by using its Class ID and call
to CoGetClassObject() COM function. See Cannon sample
for details of implementation.
In native Visual Basic an instance of the class can be created using the Program ID
and CreateObject() API as follows:
Dim gener3D
As Object
gener3D
= CreateObject("KERNELCAD.DIObjGenerator.1")
DIObjGenerator implements a single interface IDIObjGenerator,
which can be obtained via call to CreateInstance() COM API in C/C++ or
a cast in other languages.
Create method of IDIObjGenerator can be used to create new instance of
objects. Types of objects, which can be
created using IDIObjGenerator are listed in
Object type enumeration.
IDs of DIObjGenerator
Class ID:
// {B38689B7-0560-441a-B735-0E68F0953587}
static const GUID CLSID_DIObjGenerator =
{ 0xb38689b7, 0x560, 0x441a, { 0xb7, 0x35, 0xe, 0x68, 0xf0, 0x95, 0x35, 0x87 } };
Program ID:
KERNELCAD.DIObjGenerator.1
These definitions can also be found in Samples\VC\Inclide\DIInterface.h file of
the installation directory.
|