MiniCAD Sample
Source code for MiniCAD sample is available in Samples\VB
folder of the installation directory. We suggest to
copy whole VB directory to location outside of the installation
folder. MiniCAD is an Visual Basic 6.0 form-based application which
displays DI model using DG Kernel ActiveX control and allows to modify geometrical parameters of the
model.
Note that VB 6.0 samples require Common
Dialogs component enabled in the development environment
(details).
See also C# MiniCAD Sample, Visual
Basic .NET MiniCAD Sample,
Visual C++
MiniCAD Samples, All samples
Description
Implementation
Almost all functionality is implemented by MiniCADForm. Navigation through the interface
hierarchy is the most important task. InitModelInfo Sub retrieves m_iModel IModel interface. Interface to the current
entity is kept into m_iEntity. It is obtained by UpdateSectInfo Sub using call
m_iModel = KernelCADCtrl.GetModel();
The same Sub UpdateSectInfo acquires IAxiBase
interface using call
Set m_iAxiBase = m_iEntity
Prior to that we query the entity type with
m_iEntity.GetEntityType (szSectType)
to check if the entity is a "3DSection". Otherwise it is a Surface
of Revolution, which does not have base.
Interface List says that we can
reyrieve two more interfaces from from m_iEntity, namely
I3DObject and IStrip. This is the last job done UpdateSectInfo. Note that
m_iStrip interface is
implemented by object which represents cross-entity segment strip in case of
Generic 3D Entity and profile strip in case
of Surface Of Revolution.
Actual geometry changes are done in commandApply_Click() handler through
IElement interfaces
which are kept in m_iElemJoint and m_iElemSegment members. These are
obtained by UpdateJointInfo and UpdateSegmentInfo.
|