Monday 3 October 2011

SolidWorks - Beyond Kernels

SolidWorks has been an enviable product for many CAD Software developers and companies for many reasons - Ease of Use, Rich Feature / Functionality and above all empowering users with a voice that the developers listen to all the time.

When Parametric Solid Modelling was in its birth pangs, kernels, architecture, operating systems were discussed threadbare to focus on the inherent power of visualization in enabling design of better products.

It is well known that SolidWorks has been leveraging on the Solid Modelling strengths of Parasolid, Surfacing capabilities of ACIS (Spatial) and Advanced Math Libraries of CATIA to put SolidWorks on steroids as we know it today. Just looking at the Installation directory and DLL's installed would throw light on the above statement.

For many years, SolidWorks has not really been relying on any particular kernel for its existence and growth. A cursory view of features such as Multi-body parts, deformable solids, n-sided patch fill would help users understand the versatility of features that have made users love SolidWorks the way it is today.

Upward Compatibility between different releases while protecting legacy data is a de facto essential that every CAD Software developer understands and accepts. Market always determines the choice and popularity of a particular shift. Cases in point are SDRC/Ideas and CATIA V4 to V5 transformation, not to metion CADDS after Parametric Technologies acquired it.
SpaceClaim uses ACIS from Spatial (owned by Dassault). Can SpaceClaim open 3D models of any CAD toolkit and still edit and change features? Yes. Why? Not because of the Kernel per se, but how the Kernel is put to use for a specific intent by the CAD Software developer.

At the user level or for that matter at the IT Data Management level, no one is really worried about the internal architecture or function calls of their underlying engine as long as the User level functionalities and flexibilities are protected, enhanced and stabilized. Even API calls from top-level user routines can be protected during version enhancements as we have seen before. When SolidWorks started it was just Parasolid. Did the user really know or get a knee-jerk reaction when SolidWorks started empowering its users with features based on multi-kernel strategy?

Whispers and innuendo's about the future SolidWorks releases may be making the rounds for reasons beyond objectivity, but SolidWorks knows that its objective is to deliver on one thing - A Pleasant User Experience. Kernels are just that - lying underneath and delivering what their masters - the code developers want. Users could not care less.