The short version

Parasolid if robustness matters most and royalties fit your pricing. ACIS as a close commercial alternative. Open CASCADE if royalties would break your model and you can fund a hardening layer. The decision is driven more by your pricing model than by technical merit.

This choice gets made early, is expensive to reverse, and is usually argued on technical grounds when the commercial constraints matter more. Here is an honest comparison.

Side by side

ParasolidACISOpen CASCADE
OwnerSiemensSpatial (Dassault)Open Cascade SAS / community
LicenceCommercial, royaltyCommercial, royaltyLGPL (open source)
Boolean robustnessExcellentExcellentGood; needs hardening
API ergonomicsC, terse but consistentC++, well structuredC++, verbose and dated
DocumentationStrong, licensedStrong, licensedUneven; community-supplemented
SupportCommercial SLACommercial SLACommunity or paid contract
Upfront costHighHighNone
Per-seat costRoyaltyRoyaltyNone
Source accessNoNoYes

The question that actually decides it

Not "which is most robust" but "does a per-seat royalty survive my pricing model?"

  • Selling perpetual licences at ₹3–15 lakh per seat? A royalty is a manageable percentage.
  • Selling SaaS at ₹2,000/month? A per-seat royalty may exceed your gross margin entirely.
  • Shipping embedded in hardware at volume? Per-unit royalties compound fast.
  • Building an internal tool with 20 users? Royalty is trivial and robustness wins.

Model this before you evaluate technically. Teams routinely spend months benchmarking kernels, choose the best one, then discover during contract negotiation that the royalty structure is incompatible with how they sell. Run the commercial arithmetic first — it eliminates options faster than any benchmark.

Where Open CASCADE genuinely costs you

OCCT is a serious kernel used in shipping products, and treating it as a free lunch is the mistake. The realistic costs:

  1. Boolean failures on real geometry Operations that succeed on clean models fail on customer files with tangencies and slivers. You will build fallbacks and repair logic.
  2. API surface area Verbose, with sharp edges around memory and exception handling. Most teams write a wrapper layer rather than calling it directly.
  3. Performance tuning Some operations are slower than commercial equivalents and need profiling and caching.
  4. Documentation gaps You will read source to understand behaviour more often than with a commercial kernel.
  5. No SLA When a boolean fails in production, it is your engineering problem, not a support ticket.

Open CASCADE does not remove the cost of a kernel. It converts a royalty into engineering salary — which is the right trade for some businesses and the wrong one for others.

LGPL: what it actually requires

OCCT is LGPL, which is more permissive than GPL but not unconditional. In broad terms, dynamic linking lets you keep your own code proprietary, while static linking imposes additional obligations, and modifications to OCCT itself must be made available.

Get this reviewed by a lawyer, not a forum post. Licence obligations depend on how you link and distribute, and the details matter commercially. This is a genuinely important question for any product you intend to sell, and it is cheap to answer properly at the start.

Choosing by product shape

Your productSensible defaultWhy
High-priced desktop CADParasolid / ACISRoyalty is absorbed; robustness is the differentiator
Low-priced or freemium SaaSOpen CASCADERoyalty would exceed margin
Embedded / high volumeOpen CASCADE or customPer-unit royalties compound badly
Internal engineering toolCommercialFew seats; engineering time is the scarce resource
Narrow geometry domainCustom kernelProblem may be small enough to own outright
Browser-based (WASM)Open CASCADEEstablished WASM builds; no per-user royalty

Protect yourself whichever you pick

  • Abstract behind your own interface. Do not scatter kernel calls through your codebase — it makes any future change catastrophic.
  • Build a regression suite of real geometry early, including the ugly files. This is how you detect robustness problems before customers do.
  • Design the failure path. Operations will fail; decide what the user sees and how state stays valid.
  • Benchmark on your own models, not vendor demos.

Deciding on a kernel for a product? Tell us your pricing model and geometry needs — the commercial constraint usually settles it quickly. See our CAD kernel service, or read what a CAD kernel actually is.

Frequently asked questions

Parasolid has the strongest general reputation for boolean robustness, largely because of decades of hardening against real customer geometry. ACIS is close. Open CASCADE is capable but needs a hardening layer in production. Robustness differences show up on degenerate geometry, not on clean test models.
It is open source under LGPL, so there are no royalties. But "free" ignores the engineering cost of working around its rough edges — most teams shipping OCCT products invest significantly in a wrapper and robustness layer. Budget that rather than assuming zero cost.
Technically yes, practically it is a major project. Kernel APIs differ fundamentally in topology representation and tolerance handling, so a switch touches most of your geometry code. Abstracting behind your own interface from day one makes it survivable but does not make it cheap.