It all started with me speculating about SolidWorks’ use of Siemens’ Parasolid kernel and not Dassault’s V6 platform. Then to drive my point that this was a business issue and not a technical one, I used IronCAD as an example to show how a CAD system could easily switch between two modeling kernels, that too on the fly. Today, someone from IronCAD left a comment that confirmed my theory.
“[IRONCAD] Users can design their models using a specified modeling kernel. This provides them the ability to work in the most common kernel that they may end up exporting to downstream in the design (helping to eliminate translation issues). However, IRONCAD has technology to ‘Kernel Collaborate’ which is nearly invisible to the user. Kernel Collaboration means that IRONCAD can use both kernels to build the underlining solid model. For example: Say the user was working in ACIS to build their model. They add a blend to the model that ACIS cannot support for some reason. IRONCAD will automatically pass the operation to Parasolid to attempt the modeling operation. If successful, it will build the blend and maintain the model in ACIS. At this point, you might think I mistyped that. No I did not. The model is still in ACIS. However, the results of the body are made up of both Kernels. If the user exports to ACIS at this point, the result would still be the same since it is just the final b-rep body.
IRONCAD does not have many issues in translating back and forth between ACIS and Parasolid once the model is inside of IRONCAD. We maintain a common tolerance which reduces many issues found in direct translations. In most modeling cases, you can take an ACIS model and change its type to Parasolid and visa-versa without any issues. Of course there may be the rare exceptions to this but IRONCAD performs regular testing on this capability. Most cases where issues would occur would be in non-manifold conditions where ACIS can support and Parasolid does not, but this is not normally a common modeling case.”
This pretty much proves what I said earlier:
“The job of a modeling kernel is to end up with a valid watertight solid model, basically trimmed NURBS surfaces stitched together. A modeling kernel has very little to do with the presence or absence of parameters or history that makes up the recipe which cooks up that solid body, if any at all.”
I am not suggesting that the task of SolidWorks switching kernels is, in any way, an easy one. Just that it may not be entirely impossible to do so, as some might believe.