B-Rep vs mesh in AI generation: why it matters
AI tools that output B-Rep geometry give you real CAD. Tools that output mesh give you a pile of triangles. The difference decides whether the output is useful or decorative.
Quick answer
B-Rep (Boundary Representation) output from text-to-CAD tools contains mathematically exact surfaces, edges, and faces that can be filleted, chamfered, dimensioned, and manufactured. Mesh output (STL/OBJ) is a triangle approximation with no edge or face information, unsuitable for engineering edits or precision manufacturing.
A colleague sent me a text-to-3D model of a motor housing last year. Beautiful render. Smooth surfaces. Nice chamfers on the top edges. He was proud of it. I imported it into Fusion 360, tried to select the top face to add a mounting boss, and watched my cursor highlight one triangle out of about six thousand. There was no top face. There was no edge. There was no chamfer. There were six thousand triangles arranged to look like a motor housing from the outside, and on the inside there was nothing. No structure. No information. No engineering value whatsoever.
That's the difference between B-Rep and mesh. It's not a file format argument. It's not a niche technical distinction that only geometry nerds care about. It's the difference between getting real CAD output from an AI tool and getting a triangle costume that looks like CAD output in a screenshot. If you're evaluating text-to-CAD tools and you don't understand this difference, you'll waste time, money, and patience on output that can't be used for the thing you actually need it for.
What B-Rep actually is#
B-Rep stands for Boundary Representation. It's the way professional CAD software describes solid objects. A B-Rep model defines a solid by describing its boundaries: the surfaces that enclose the volume, the edges where surfaces meet, and the vertices where edges converge.
The key word is "mathematically exact." A cylindrical hole in a B-Rep model is defined by an axis, a radius, and two bounding planes. The cylinder is exactly cylindrical. Not approximately cylindrical. Not close enough if you squint. The math says it's a cylinder, and any CAD software that reads the model knows it's a cylinder, can measure its radius to arbitrary precision, and can perform operations on it as a cylinder.
A fillet in B-Rep is a tangent-continuous surface that smoothly blends between two faces. The software knows where the fillet starts, where it ends, and exactly what the curvature is at every point. You can change the radius and the fillet recalculates. You can suppress it and the original sharp edge comes back. You can dimension it on a drawing and the dimension is exact, because the geometry is exact.
This is what Fusion 360, SolidWorks, CATIA, NX, Creo, and every other parametric CAD system uses internally. When you sketch a circle, extrude it, and cut a hole, you're building B-Rep geometry. The commands are just user-friendly ways to construct and modify the boundary surfaces, edges, and vertices that define the solid.
What mesh actually is#
A mesh describes a shape using small flat polygons, almost always triangles. The surface of the object is approximated by gluing triangles together at their edges and vertices. More triangles mean a closer approximation to the true shape. Fewer triangles mean a blockier, more faceted result.
A cylindrical hole in a mesh isn't a cylinder. It's a polygon tube. The "circular" cross-section is actually an octagon, or a 16-gon, or a 64-gon, depending on how fine the mesh is. At high triangle counts, it looks circular on screen. But the data says it's a polygon, and any software that reads the mesh sees a polygon, not a circle.
There's no face information in a mesh. There are triangles. What looks like the "top face" of a box is actually a cluster of triangles that happen to be coplanar. A mesh viewer can shade them the same color to suggest they're a face, but the mesh format contains no concept of "face." It doesn't know which triangles belong together. It doesn't know that a group of triangles is supposed to be flat, or cylindrical, or tangent to the neighboring group.
STL, OBJ, and glTF are mesh formats. They store triangles. That's what they do, and they do it well enough for their intended purposes: 3D printing, game engines, visual effects, and web visualization. What they don't do, and can never do, is store the kind of geometric information that engineering requires.
Why this matters for AI-generated geometry#
When an AI tool generates geometry, the representation it produces determines everything that happens next. This is not a downstream concern. It's the core architectural decision that separates tools that produce engineering-grade output from tools that produce screenshots.
A text-to-CAD tool that generates B-Rep internally, like Zoo.dev with its KittyCAD kernel, produces output that lives in the same geometric world as your Fusion 360 or SolidWorks models. The STEP file you download contains real surfaces, real edges, real faces. You can import it, select a face, extrude a boss off it, cut a slot through it, fillet the edges, and dimension the result. The AI's output becomes a starting point that you can develop into a finished part using normal CAD operations.
A text-to-3D tool that generates mesh, which includes most tools branded as "AI 3D" or "text-to-3D," produces output that lives in the rendering world. The OBJ or glTF file you download looks like geometry. On screen, it is indistinguishable from real CAD. You can rotate it, zoom in, admire the surface quality. But the moment you try to do anything engineering-related, the illusion breaks. There are no faces to select. No edges to fillet. No dimensions to measure with confidence. The output is a visual artifact, not an engineering object.
The text-to-CAD vs text-to-3D comparison covers the tool-level differences. Here I'm focused on the geometry itself, because the geometry is what you're left with after the demo is over and you need to make something real.
The operations that expose the difference#
If you're not sure whether a particular AI tool's output is B-Rep or mesh, try these operations. They'll tell you in about thirty seconds.
Select a single planar face. In B-Rep, one click selects the entire face as a single entity. In mesh, one click selects one triangle, or the software groups nearby coplanar triangles and highlights a rough approximation of the face. If you see triangle edges inside what should be a flat surface, you're looking at mesh.
Measure a circular feature. In B-Rep, the measurement tool reports an exact diameter or radius, because the geometry is a true circle or cylinder. In mesh, the measurement tool either refuses to measure (because there's no circle, just a polygon), or gives you an approximate value derived from the triangle vertices. If the measurement of a "10mm hole" comes back as 9.87mm or varies depending on where you click, you're measuring mesh.
Try to add a fillet. In B-Rep, select an edge, specify a radius, and the fillet operation creates a new tangent-continuous surface. In mesh, the fillet tool either won't activate (because there are no edges in the geometric sense, only triangle boundaries), or it produces a horrifying result that looks like someone tried to smooth a brick with a belt sander.
Try to modify a feature. In B-Rep, you can grab a face and push-pull it to change a dimension. The surrounding geometry updates to maintain continuity. In mesh, moving vertices distorts the surrounding triangles. There's no parametric relationship between features, because there are no features. There are only triangles.
If the AI tool's output fails these tests, it doesn't matter how good the preview looked. You don't have CAD geometry. You have a mesh, and you'll need to rebuild the part from scratch if you want to do anything engineering-related with it.
The conversion problem#
"But can't I just convert mesh to B-Rep?" People ask this a lot. The answer is: sort of, badly, and not for the reasons you'd want.
Mesh-to-B-Rep conversion, sometimes called "reverse engineering" in CAD software, tries to fit mathematical surfaces over the mesh data. The software looks at a cluster of triangles that seems roughly cylindrical and attempts to fit a true cylinder to them. It does this for every recognizable surface region, then tries to trim and join the surfaces into a valid solid.
For simple shapes with high-quality mesh data, this can work. A box becomes a real box. A cylinder becomes a real cylinder. You get faces and edges that behave properly.
For anything beyond trivial geometry, it falls apart. Blended surfaces where fillets meet become ambiguous. Small features get lost or misinterpreted. The topology of the resulting B-Rep depends heavily on the conversion algorithm's guesses, and those guesses are often wrong in ways that make the output harder to edit than if you'd just rebuilt the part manually.
I've spent hours trying to convert mesh models to B-Rep in Fusion 360's mesh-to-solid tools. The resulting solids have too many faces, strange surface patches, and edge topology that makes a feature tree cry. For a quick visual check, maybe acceptable. For further engineering work, almost never worth it. The text-to-CAD file formats post covers the specific format considerations, but the rule of thumb is this: B-Rep converted from mesh is a poor substitute for B-Rep generated as B-Rep.
What the AI generation methods produce#
The different approaches to AI geometry generation produce different representations, and knowing which is which saves you from disappointment.
Neural B-Rep generation, which is what Zoo.dev does, produces B-Rep directly. The AI model is trained to output boundary representations, not meshes. The geometry goes through a B-Rep kernel (in Zoo's case, the KittyCAD geometry engine) that validates the topology and ensures the result is a valid solid. The output is native B-Rep, and the STEP file you get contains real surfaces and edges. This is the gold standard for text-to-CAD output, and it's still rare.
Code generation approaches, like tools that generate OpenSCAD scripts or FreeCAD Python macros, also produce B-Rep, but indirectly. The AI writes code, the code runs in a CAD kernel, and the kernel builds B-Rep geometry from the operations in the script. The output quality depends on the quality of the generated code and the capabilities of the kernel. OpenSCAD's kernel handles CSG well. FreeCAD uses OpenCascade, which handles more complex geometry but has a steeper API. Either way, the final output is B-Rep because the kernel produces B-Rep. The how text-to-CAD works post covers these approaches in more detail.
Mesh generation, which is what most "AI 3D" tools use, produces triangle meshes. This includes tools like Meshy, Tripo, and most of the flashy demos you see on social media. The AI models used here are typically derived from image generation architectures adapted for 3D, and they output point clouds or signed distance fields that get converted to mesh. There is no B-Rep anywhere in the pipeline. The mesh is the final product.
Some tools blur the line by generating mesh and then running a mesh-to-B-Rep conversion as a post-processing step. This produces output that technically contains B-Rep data, but with all the quality problems I described above. If the tool's marketing says "STEP export" but the underlying generation is mesh-based, approach the STEP output with suspicion. Open it. Try to select faces. Try to fillet an edge. Let the geometry speak for itself.
The manufacturing gap#
This is where the B-Rep vs mesh distinction stops being abstract and starts costing money.
A CNC machine cuts geometry using toolpaths calculated from surface data. The CAM software needs to know exactly where each surface is, what its curvature is, and where it meets neighboring surfaces. B-Rep provides this information exactly. The toolpath calculation is precise, the cuts are clean, and the machined part matches the model within the machine's tolerance.
Generating toolpaths from mesh data is possible but degraded. The CAM software has to work with triangle approximations of the surfaces, which introduces errors that depend on the mesh resolution. At high enough resolution, the errors are small. But "high enough" for machining means much finer mesh than what most AI tools produce, and even then, the triangle facets can leave visible artifacts on machined surfaces, especially on curved features. Any machinist who has received a mesh file when they expected a STEP file has a story about this, and the story usually involves a sigh.
For 3D printing, mesh is fine because the layer thickness and nozzle width are larger than the mesh faceting. For sheet metal, you need real surfaces to define bend lines and flat patterns. For injection molding, the mold tool designer needs exact surface data for the cavity. For any manufacturing process more precise than FDM printing, B-Rep is what the process expects, and mesh is a workaround at best.
The practical takeaway#
When evaluating a text-to-CAD tool, or any AI tool that claims to generate CAD geometry, the first question is: does it produce B-Rep or mesh?
If B-Rep: the output can participate in engineering workflows. You can edit it, feature it, dimension it, tolerance it, and manufacture from it. This is text-to-CAD in the meaningful sense.
If mesh: the output is for visualization, quick concept checking, and 3D printing. It cannot be meaningfully edited in CAD software. It cannot be reliably manufactured to tolerance. It is text-to-3D, regardless of what the branding says.
The text-to-CAD guide ranks tools partly on this basis, because no amount of prompt cleverness or UI polish changes what the geometry fundamentally is. A nice interface on top of mesh output is still mesh output. A rough API that produces B-Rep is still B-Rep.
I'd rather have ugly B-Rep than beautiful mesh. You can fix ugly geometry. You can't fix the wrong representation. That motor housing my colleague sent me? He ended up rebuilding it in Fusion 360 from scratch. The mesh version sits in a folder somewhere, looking gorgeous, doing nothing. That's the most expensive kind of useless.
Newsletter
Get new TexoCAD thoughts in your inbox
New articles, product updates, and practical ideas on Text-to-CAD, AI CAD, and CAD workflows.