Appendix H

What Are Kernels?

If you have taken an active interest in 3D CAD software and are learning what is “under the hood,” then you may have read or heard about kernels. What are they and what do farming and planting terms have to do with software? Well, as you may have already deduced, the word kernel is a metaphor for describing the heart of the software, a starting point from which everything else grows, the same as a kernel of corn. This analogy is quite accurate: A 3D modeling kernel is the computer code that depicts the “brains” of any 3D software package, such as CATIA, NX, Pro/Engineer, SolidWorks, Inventor, and of course AutoCAD.

As it turns out, kernels are quite rare. This is because they are extremely difficult, expensive, and labor intensive to develop from scratch. As a result, while hundreds of 3D capable CAD software applications are available, there are only a small handful of kernels. If you wanted to start a new CAD company and develop a competitor to any of the established products, then chances are good that you would simply purchase a kernel license and design your software around the kernel, not try to create your own. In many cases, this is indeed what happens in the industry.

Why would kernel developers license their kernels, as opposed to using them for just their own CAD programs? Well, for starters, they do use them in such a way, and most kernel developers have a popular 3D CAD program for sale. But, the licensing fee to “rent out” kernel code is substantial, so they do this as well to increase the revenue stream.

What customers get when they purchase the kernel is a large chunk of code made up of what are called classes and components—essentially mathematical functions that perform specific modeling tasks. The CAD company then writes its own code to interface with the kernel via numerous APIs (application programming interfaces) and essentially creates the new software around the kernel.

This new CAD software is unique, according to the design philosophy and talent of the CAD company, and may be different in how it operates compared to another company’s software that uses the same kernel. In essence, however, most modelers are essentially the same, and one can switch relatively easily from, say, CATIA to NX or Pro/Engineer. All three of these software applications feature parametric modeling, part trees, dimension-driven design, and other hallmarks of solid modeling. The differences are chiefly in the interfaces, ease of use, extra features offered with each package, and of course price.

One notable exception is AutoCAD. The kernel it uses, called ACIS, is made by Spatial Technologies. Its modeling methods are somewhat different than the other kernels on the market, giving AutoCAD a unique (and not necessarily the best) approach to 3D. Other, more high-end kernels include Parasolid (used by NX, SolidWorks, and SolidEdge), Granite (used by Pro/Engineer), and CAA (used by CATIA). Autodesk set out to develop its own kernel in recent years, and the fruit of that labor is in its Inventor software.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.217.17