Kubotek readies KCM next-generation 3D geometry kernel

GraphicSpeak talks with KCM developer and CEO Paul Stallings.

paul-stallings
Paul Stallings

Stated most simply, CAD tools are built on a geometry kernel, a software component that defines how the geometry that makes a model is created.

The birth of a new geometry modeler is no small event, certainly not for the companies that take on such an investment, and not for the potential customers, many of whom are depending on older modelers such as ACIS and Parasolid that are showing their age.

Kubotek’s VP of R&D Paul Stallings isn’t afraid of tackling the job. In fact he relishes it, and believes CAD is ready for a significant update. Stallings is the CEO and lead developer for the KCM geometric modeling kernel and the Kubotek subsidiary which will be selling the modeler.  He also heads development for Kubotek’s CAD product KeyCreator, KCM’s first major customer.

Stallings has experience with geometry kernels, he was at Spatial Technologies, which developed ACIS before being acquired by Dassault Systemes in 2000.

KCM, a new 3D modeler kernel for a new generation of hardware requirements and customer expectations. (Source: Kubotek)
KCM, a new 3D modeler kernel for a new generation of hardware requirements and customer expectations. (Source: Kubotek)

Stallings says the new KCM kernel will be able to solve many problems for developers and customers who are struggling with common problems such as interoperability and the difficulty of taking advantage of modern hardware. KCM is targeted at CAD/CAM, ray tracing, robotics, analysis and other 3D applications and can be integrated in current products as well as used to develop brand new products. Primarily KCM is working with companies in the manufacturing and mechanical fields rather than AEC.

But, a new kernel?

KCM was built to address several problems including interoperability problems between CAD files, inefficient code, inflexibility, and old fashioned approaches. The commonly used modelers ACIS and Parasolid were developed in the late 80s. Since then they’ve been forked and patched and tweaked, but there are few people who were there from the start and who are still active. Furthermore, says Stallings the standard modelers were developed by companies that intended for their CAD products to win – there wasn’t much thought given to interoperability. The reality is that companies are working in multi-CAD environments and file exchange problems result in lost productivity.

KCM has been developed with the goal of working with multiple data formats. It is a variable precision modeler. One of the difficulties in working between different CAD formats is that the different modelers that create files operate with different approaches to precision. Stallings says he is confident that KCM will successfully handle most files, but when there is an issue, the KCM translators provide feedback on exactly what didn’t work.

The first and most obvious customer for KCM is Kubotek’s KeyCreator. Stallings says KCM has other customers, but it does not have permission to talk about them.

Modern architecture

The modelers underlying all of the major CAD products today were originally developed before the arrival threading and multi-processor for mainstream products.

The modelers, including Dassault’s CGM and ACIS, and Siemens’ Parasolid have been updated to be “thread-safe” so software can take advantage of multi-processing without encountering race conditions, i.e. situations when threads might influence each other and cause unexpected results. (The conflicting threads are “racing” to get done first).

Stallings argues the way modelers have been made thread-safe also makes them less efficient. Older modelers use mutual exclusion (mutex) logic, which hold up operations to wait for another operation to finish to avoid unexpected results, but this might also cause a performance hit. Stallings says KCM is mutex free. He says read-only operations and/or operations which only create but do not modify existing geometry and topology can safely be called from multiple processors without conflicts.

From the perspective of a mature industry like CAD, this is a modern issue and there is still work to be done. Stallings says in most cases KCM customers now have to write their code to explicitly call multiple processors, but ongoing development will enable KCM to do the calling for the customer. There will continue to be times, says Stalling, when customers might want to do the work themselves. KCM will enable implementation either way, automatic or customized by the customer.

Stallings says KCM has an analysis customer who is finding dramatic speed-up. As they add additional processors, they’re seeing 10x increases in performance. Multi-processing doesn’t help all CAD processes but it does come in handy for parallel processes like analysis and rendering.

The company will be offering options that can be purchased with the KCM kernel or separately including:

  • CAD Translators with read/write options for ACIS, Parasolid, IGES, STEP, STL, OBJ, and read-only options of CADKEY, CATIA, Inventor, ProE/Creo, KeyCreator, NX, SolidWorks.
  • KCM Display to create display views for the KCM modeler which supports different rendering modes and creation, selection and modification of objects and view manipulation.
  • KCM Dialog – a very simple yet powerful way of creating dialog box interfaces in a cross-platform environment.

KCM geometric modeler and options are available immediately. For more information on KCM, including the KCM Data Sheet, Blog, and White Paper visit KCM3D.com.

Issues of church and state

One of the major selling points that Stallings talks about is that the leading modelers were created by companies that had a vested interest in a CAD product using the engine. The Parasolid modeler was owned by UGS and the ACIS modeler developed by Spatial had funding from a major client, Autodesk.

Stallings contends that ACIS did not have direct modeling because Autodesk was concerned about its adoption by competitors. So, the question needs to be asked, since KeyCreator is KCM’s major client isn’t there a danger that the modeler is developed to serve KeyCreator more than other customers? Not surprisingly, Stallings says no. The difference he says is that Stallings works for Kubotek, not KeyCreator and he directly reports to Naotake Kakishita, president of Kubotek USA. “I enjoy the luxury of being independent from the management of the KeyCreator sales team, leaving me able to treat them like a customer and not as boss.” Stallings adds that Mr. Kakishita has had a dream to create a geometric modeler and supports Stallings in putting the modeler first. He says the KeyCreator sales team adds their requests in the development queue like any other KCM customer.

Stallings has been working on KCM for about 9 years with a team of about 12 to 13  people. He says he took over the development of KeyCreator two years ago. He notes that having a commercial CAD product working on your modeler is helpful, if not necessary to creating a good modeler. “Without a full blown CAD customer, a modeler would never be pushed hard enough to make it commercially viable,” says Stallings who points out that ACIS benefited from Autodesk and Parasolid was improved by input from UGS and later SolidWorks.

Perhaps one of the most important qualities of KCM for many customers is that it’s living code. KCM is updated every night. It does not have versions, it’s continuously rebuilt and tested on 36 processors at Kubotek’s headquarters in Marlboro, Massachusetts. As a result, says Stallings, what’s checked in is always current and the code will never go dark. Multi-processing is an integral part of KCM from inception.

Stallings says KCM is able to work directly with customers. “With each customer, we’ll sit down with them, and we’ll talk about what their needs are.” One thing he says they all need is someone who can actually help them. He says, “we refer to some of these other modelers as the black hole. The people who know how the code works, they’re gone.

What do we think? 

This is the start of a long journey for KCM. It makes sense that most of their customers are adding the KCM modeler, and not replacing their old modeler. It’s a big and potentially dangerous bet to replace the kernel. As an example, witness the considerable angst from SolidWorks customers who feared parent company Dassault would replace Parasolid with their own CGM modeler. Instead, we’ve seen Dassault built modules to work with SolidWorks using CGM.

However, the time feels right for change. There are opportunities to take advantage of new hardware architectures including multi-processor CPUs, GPU compute, and cloud computing. We’re seeing new companies like TinkerCAD, SpaceClaim and Onshape arrive to challenge the incumbents and we’re seeing venerable companies like Autodesk, PTC, and Dassault scramble to reinvent themselves (or buy competitors) before some upstart presents a dangerous challenge.

It is no secret that CAD tools can be so much better than they are now. There is great opportunity for tools that can make better use of point clouds, animation, rendering, integrated analysis, etc. A new modeler can provide a new start.

For additional reading:

Does the CAD world need another geometry kernel?

http://p-hamilton.blogspot.com/2013/01/the-geometry-kernel-and-what-it-means.html

http://www.spatial.com/blog/3d-modeling/multi-processing-acis-and-cgm