Skip to content

How to future-proof your modeling engine for freeform surfaces

← Back to blog | Spatial Team | 04-05-2026

If you're building or maintaining a 3D modeling engine, you've probably already hit the point where simple prismatic geometry stops being enough. Freeform surfaces, organic shapes, scanned meshes, and mixed-representation assemblies keep pushing the boundaries of what traditional kernels can handle. This guide breaks down the six architectural areas that matter most, with a bias toward practical trade-offs over theoretical purity.

Hexagon pattern 1


1. Hybrid geometry representations: pick one and lose


Why a single representation is a trap

Betting on a single geometry representation is probably the biggest architectural mistake we see teams make. It feels clean at first — pick B-Rep or mesh, build everything around it, ship fast. Then reality shows up. A customer sends a scanned point cloud that needs to blend with parametric CAD. Another needs subdivision surfaces for organic shapes alongside precise analytical geometry. Your clean architecture becomes a conversion bottleneck, and you're writing glue code for the next two years.

Real modeling workflows are messy. They mix boundary representation (B-Rep) for precision, mesh for simulation and rendering, and subdivision surfaces for freeform organic shapes. The question isn't which representation is "best" — it's whether your kernel can hold all of them without falling apart at the seams.

This is where hybrid modeling stops being a buzzword and starts being an architectural requirement.


How Spatial's kernels handle this

At Spatial, we've approached this from two directions. CGM Modeler handles B-Rep with full NURBS surface support and polyhedral models through CGM Polyhedra, all accessible through the same C++ interfaces. You don't need separate pipelines for separate representations. ACIS takes a similar approach: polyhedral modeling lives alongside B-Rep through ACIS Polyhedra, and its Laws functions let you define custom procedural geometry that the kernel treats as a first-class citizen.

The practical test: can your engine work with mixed representation types in the same model, moving between polyhedral and B-Rep data without lossy conversions at every step? If not, you're going to have problems as workflows get more heterogeneous.

We'd push back on any architecture that forces a representation choice at the foundation level. The surface types your customers need in three years aren't the ones they need today. Building for representation flexibility now is cheaper than retrofitting it later.


2. Continuity management: what survives the operation matters


A quick refresher on why continuity matters

Continuity gets talked about like it's a checkbox — "yes, we support G2 continuity" — when the real question is far more interesting and far more revealing of a kernel's quality.

G0 means surfaces touch (positional continuity). G1 means they share a tangent direction across the boundary. G2 means curvature is continuous — no abrupt changes in reflection lines. G3 gives you continuous rate-of-curvature change, which matters for Class A automotive surfaces where light reflections need to flow without any visible disruption.

Most kernels can represent high-continuity surfaces. That's table stakes.


The question most teams forget to ask

What continuity does the kernel guarantee after you perform operations on those surfaces?

You built a beautiful G2 fillet network. Now Boolean it with another body. Offset it. Trim it. What's left?

CGM Modeler's advanced surfacing operators — blending, covering, sweeping — are designed to preserve geometric integrity through chains of operations, not just at the moment of creation. The goal is that downstream features inherit the quality of upstream surfaces rather than silently degrading them.

We've seen teams build impressive surface creation tools that produce gorgeous initial geometry, only to watch quality fall apart the moment someone runs a Boolean or a shelling operation. The modeling kernel's job isn't just to create good surfaces. It's to keep them good while you do real work on them.

If you're evaluating kernels, don't just test surface creation. Create a complex G2 surface network, run twenty operations on it, then check what you actually have. That's the test that matters.



3. Modularity and embedding: learning from expensive mistakes


The build-vs-buy decision that costs teams years

There's a case study we keep coming back to because it's painfully common. FVA GmbH, a German engineering software company focused on drivetrain simulation, built their own custom geometry handling. It worked for a while. Then their requirements grew, edge cases multiplied, and they hit walls that would've taken years of dedicated geometry development to break through. They moved to ACIS and got back to building what actually differentiated their product.

The "build vs. buy" decision for geometry kernels is one of the most consequential architectural choices a software team makes, and teams consistently underestimate what "build" actually costs over a decade.


What embedding-first design looks like

Both ACIS and CGM are SDKs designed from the ground up for embedding. That's a different animal from a geometry library that got retroactively opened up for external use. Embedding-first design means clean API abstraction layers, sensible memory management patterns, and the ability to extend kernel behavior without forking it.

ACIS's Laws functions deserve specific mention. They let you define custom mathematical functions that the kernel evaluates natively — custom curve laws, surface laws, even procedural geometry that participates in Booleans and other operations as though it were built-in geometry. That's extensibility at the right level: deep enough to matter, clean enough not to create maintenance nightmares.


The maturity factor

ACIS has over 30 years of production history. CGM is the kernel running inside CATIA and SOLIDWORKS — two widely-used, demanding CAD environments. When we say these kernels have seen your edge case before, it's not marketing language. It's statistics. Thirty years of customers sending in corrupted files, degenerate geometry, and numerically hostile models builds a robustness that no amount of clever initial design can match.

The upgrade path from a mature kernel is something teams forget to evaluate. When new surface types or representation standards emerge, a maintained SDK adds support and you pick it up at the next version. With a homegrown solution, you're writing that support yourself — assuming you even hear about the new standard in time.


4. Interoperability: where clean theory meets dirty data


The gap between "supports STEP" and "handles real STEP files"

We could write an entire article just about the distance between "my kernel can import STEP files" and "my kernel can import the STEP files that actual customers actually send." That distance is vast, and it's where most modeling pipelines quietly fall apart.

3D InterOp exists because Spatial has spent over 20 years learning exactly how wide that gap is. It supports all major CAD formats, gets used by over 300 companies, and — the part that matters for freeform surface work — includes automated healing and repair.


Why freeform surfaces are where imports break

Freeform surfaces are where B-Rep models are most fragile. A trimmed NURBS surface with a complex boundary has more ways to be slightly wrong than a simple extruded box. Gaps between faces that are technically within tolerance but cause downstream Boolean failures. Surfaces whose parameterizations don't quite agree at shared edges. Self-intersecting trim curves that look fine in a viewer but break when you try to offset them.

We've written extensively about this problem because it keeps coming up:

Your customers' data will come from systems you haven't heard of yet, in format versions that don't exist yet, with quality levels that would make your test suite weep. Building on a translation layer with two decades of real-world exposure is worth more than building on one with a clean architecture and no production mileage.


5. Tolerance handling: the invisible architecture decision


Why fixed tolerances break down

Tolerance management only gets attention when something goes wrong — and by then, it's usually baked so deeply into your architecture that fixing it means rewriting half your kernel.

The core tension: mathematical geometry is exact, but computer arithmetic isn't. Every geometric operation introduces tiny errors. Over chains of operations, those errors accumulate. Your tolerance strategy determines whether that accumulation is graceful or catastrophic.

Most kernels use fixed tolerances — they pick a number, and geometry is considered coincident if it's within that number. Simple, predictable, and fragile. When imported geometry arrives with tolerances that don't match your kernel's assumptions, you either reject it or loosen your tolerances globally, which degrades everything.


CGM's tolerant modeling approach

CGM takes a different approach. Rather than demanding that all geometry meet a fixed tolerance, the kernel accepts tolerant topology inputs and works to improve tolerances as operations proceed. If two edges are within a loose tolerance after import, subsequent operations tighten that tolerance where possible. The model gets better over time rather than worse.

CGM's default operating range handles 1µm precision with a maximum model size of 1km. That range covers everything from microfluidic chip features to architectural-scale building models, without requiring you to choose a scale at initialization time or maintain separate tolerance regimes for different parts of your model.

For freeform surfaces specifically, tolerance handling interacts with everything else in this article. A G2 surface network with loose edge tolerances isn't really G2 — it just looks G2 until you zoom in or try to manufacture it. The kernel's ability to maintain and tighten tolerances through operations is what keeps your continuity guarantees honest.



6. Performance at scale: when your test model isn't enough


Specific decisions that affect freeform performance

We should be honest: performance is the section where every vendor says "we're fast" and nobody believes anybody. So instead of general claims, here are the architectural properties that matter for freeform surface work at scale.

3D Precise Mesh addresses the meshing side of performance, which matters because freeform surfaces produce vastly more complex meshes than prismatic geometry. A single organic shape might generate more triangles than an entire mechanical assembly. Adaptive mesh refinement — concentrating elements where curvature demands it and using larger elements on flatter regions — is the difference between a mesh that's tractable and one that buries your solver.


Exact predicates and polyhedral reliability

On the polyhedral side, CGM Polyhedra uses exact predicate technologies for operations like Booleans on mesh data. Exact predicates mean these operations don't fail due to floating-point edge cases — they just work, every time. The performance cost of exactness has dropped enough that it's no longer a meaningful tradeoff for most applications.

The real performance test isn't your benchmark model. It's whatever nightmare model your most demanding customer sends you in eighteen months. We'd encourage testing with degenerate geometry, models that have thousands of tiny sliver faces, surfaces whose parameterizations span ten orders of magnitude. If your engine handles those gracefully, it'll handle the clean stuff effortlessly.


Where this all leads


Future-proofing a modeling engine for freeform surfaces isn't about picking the right feature list today. It comes down to three things:

  • Flexibility in representation — because the geometry types you need will change
  • Robustness in operations — because creating surfaces is easy and keeping them valid through operations is hard
  • Modularity in architecture — because rebuilding your geometry foundation is something you want to do exactly zero times

At Spatial, we've watched enough teams learn these lessons the hard way that we're fairly opinionated about it. The teams that succeed long-term are the ones who build on SDKs designed for this problem rather than assuming they can solve computational geometry as a side project.

One last piece of practical advice: test with your ugliest data, not your cleanest demos. The clean stuff always works. Future-proofing means the ugly stuff works too.


Ready to future-proof your modeling engine?

You might also like...

9 Min read
3D Modeling
1. Hybrid geometry representations: pick one and lose Why a single representation is a trap Betting on a single...
How to add feature recognition and direct editing to your application without building it yourself
9 Min read
3D Modeling
Why you shouldn't build feature recognition and direct editing from scratch If you're building engineering software —...
5 Min read
3D Modeling
What is digital manufacturing? Here’s a simple digital manufacturing definition: the process of using computer systems...
5 Min read
3D Modeling
Software components are like the stage crew at a big concert performance: the audience doesn’t see them, but their...
Application Lifecycle Management Flow
4 Min read
3D Modeling
When you hear the term, Application Lifecycle Management (ALM), you likely think about the process that a software...
8 Min read
3D Modeling
What is Computer Aided Manufacturing The CAM Market Who Uses CAM Software? Trends in CAM What do CAM Software...
9 Min read
3D Modeling
SLS in Additive Manufacturing is used to convert 3D CAD designs into physical parts, in a matter of hours.
8 Min read
3D Modeling
There’s a lot of confusion around what the terms additive manufacturing and 3D printing mean.
4 Min read
3D Modeling
Additive manufacturing, often referred to as 3D printing, is a computer-controlled process for creating 3D objects.
5 Min read
3D Modeling
Take a fresh, new sheet of paper, and fold it in half, like you’re making a paper airplane. Place the folded paper on...
6 Min read
3D Modeling
Table of Contents Simulation in CAD Who Uses Simulation Modeling? Key Benefits of Simulation Modeling Challenges in...
8 Min read
3D Modeling
What do you do? What Exactly is FEM? What You Need to Know About Choosing a FEM Modeler FEM and Partial Differential...
5 Min read
3D Modeling
Computational Fluid Dynamics (CFD) is a type of analysis that provides insight into solving complex problems, and...
2 Min read
3D Modeling
WRL files are an extension of the Virtual Reality Modeling Language (VRML) format . VRML file types enable browser...
Voxel model example
3 Min read
3D Modeling
Voxels are to 3D what pixels are to 2D. Firstly -- let’s examine what pixels actually are. Everything you see on your...
Point_cloud_torus
2 Min read
3D Modeling
Point-cloud modeling is typically used in the process of 3D scanning objects. Rather than defining surfaces through...
Polygonal Modeling
2 Min read
3D Modeling
Polygonal (or polyhedral) modeling is the most common type of modeling for video games and animation studios. This type...
aerodynamics-CFD
9 Min read
3D Modeling
Computational fluid dynamics (CFD) is a science that uses data structures to solve issues of fluid flow -- like...