KernelCAD Documentation

DInsight Home
Skip Navigation Links.
Start page
Quick Start
Installation
Overview of the software
What is new
Collapse KernelCAD ModelsKernelCAD Models
Collapse KernelCAD ComponentsKernelCAD Components
KernelCAD Control
KernelCAD .NET Control
Methods and Properties
Menu
Model Explorer
Birds Eye View
Programming
Direct User Access
Direct Operations
Interface Queries
Printing Support
Data Types
Modes of KernelCAD Control
DIObjectGenerator class
Properties
FlatObjectArray Poperty
Context
64 bit development
Dual Mode
Initialisation Context
Overlay Editor
Memory Management
Input validation
Collapse Advanced functionalityAdvanced functionality
Collapse InterfacesInterfaces
Alphabetical list
I3DGrid
I3DBugger
I3Dpt
IAxiBase
IAxis
IBoolSection
IBoolSectionEx
IBoundary
IColor
IConstraint
IData
IDiffSurface_KC
IDIFont
IDraw
IDrawUtil
IDraw2
IElem
IElement
IKCLine
ILightSource
ILocation
ILocationEx
IMaterial
IMetrics
IMetrics2
IModel
IModel2
IModelEx
IPatch
IKCPathCollisionDetector
IProfiles
IPropertyArray
IPropertyArray2
IStdShape
IStrip
ISurface
IText
ITexture
ITransform
IUnknown
Collapse Open Cascade TechnologyOpen Cascade Technology
Collapse DataData
Collapse MovementMovement
Collapse FramesFrames
Collapse Oriented ObjectsOriented Objects
Collapse SectionsSections
Collapse GeneralGeneral
Collapse Topological InterfacesTopological Interfaces
Collapse Viewing InterfacesViewing Interfaces
Collapse Lines And CurvesLines And Curves
Collapse Symmetry InterfacesSymmetry Interfaces
Collapse Clipping plane interfacesClipping plane interfaces
Collapse AlgorithmsAlgorithms
Collapse 2D Geometry2D Geometry
Collapse Programming Samples and TutorialsProgramming Samples and Tutorials
Collapse OverviewOverview
Collapse DeploymentDeployment
Collapse .NET Samples.NET Samples
Collapse C++ SamplesC++ Samples
Collapse Visual Basic SamplesVisual Basic Samples
Collapse Delphi SamplesDelphi Samples
Collapse 3D Debugger3D Debugger
Collapse DeploymentDeployment
Licensing
Model Viewer
Open C++ Source
Technical Support
Skip Navigation LinksHome Page > Open C++ Source
KernelCAD Developer

C++ source code

This topic describes the open parts of the C++ source code available in this version

Third party open source

In the current version there are two major open source components used in KernelCAD. Both can be modified and recompiled to run with KernelCAD. They are Open Cascade Technology and Open Graphics Rendering Engine (Ogre)

Both components have minor modifications, without which KernelCAD will not work. The source code, projects and other related data required to build the componets are included in: KC_5_2_ThirdPartySrc.zip available from the downloads page: http://dynoinsight.com/ProDown.htm

The downloaded files must be extracted into the KernelCAD installation folder. The default KernelCAD location C:\Projects\KernelCAD_5_2\ should be the target folder for the zip extraction. The final directory structure must include C:\Projects\KernelCAD_5_2\ThirdParty\

The included projects and solutions must be compiled with Visual Studio 2013

Open Cascade Technology

This release is based on the OCCT v6.9.1.

Open solution C:\Projects\KernelCAD_5_2\ThirdParty\OCCT\adm\msvc\vc12\ OCCT.sln and build Win32 or x64 release configuration to obtain the new binaries.  The compiled target files will replace installed ones located in C:\Projects\KernelCAD_5_2\Bin and will have TK_*.dll names.

Ogre

The source code is based on v1.10 of Ogre. To build: Open solution C:\Projects\KernelCAD_5_2\ThirdParty\Ogre\Builds\OGRE.sln and build Release Win32 or x64 configuration. The solution uses precompiled binaies for Ogre dependencies. They might need to be rebuild if your compiler version is different. The solutions are located in C:\Projects\KernelCAD\ThirdParty\Ogre\Ogre\Dependencies\src\

C++ interface of KernelCAD

C++ interface of KernelCAD is a collection of C++ declarations and related files, which allows direct access to KernelCAD classes. It makes possible creation of custom objects and other extensions of all KernelCAD features. There is also numerous functionality which becomes available, which othersise is not exposed via the interface hierarchy.

Please contact us about obtaining the relevant source code