A developer working at a desk with source code shown on dual monitorsExplainers
Photo via Pexels

Parametric vs mesh modeling: why Meshra parts stay editable

Meshra Team8 min read

Type "generate a 3D model" into most AI tools today and you get a mesh: a shape that looks convincing from a distance and turns out to be a dead end the moment you need to change anything about it. Type the same request into Meshra and you get something different underneath, even though the preview in your browser looks similar at first glance: a parametric solid, built from named dimensions that can be edited and re-executed forever.

This distinction, mesh versus parametric, is the single biggest thing separating "AI made me a cool-looking blob" tools from "AI made me a part I can actually use." It is also mostly invisible until the moment you need to move a hole 3 mm to the left, and suddenly it is the only thing that matters.

What a mesh actually is

A mesh is a surface made of triangles. Nothing more. Open an STL file, the most common mesh format, and you will find a flat list of triangle vertices and nothing else: no units of measurement guaranteed, no record of how the shape was designed, no concept that "this hole" is 5.2 mm because it needs to clear an M5 screw. Every curve you see in a mesh, a rounded corner, a cylindrical hole, a smooth dome, is an approximation built from enough small flat triangles to fool the eye. Zoom in far enough on a "round" hole in a mesh and you will see a polygon, not a circle.

That is not a design flaw. Meshes were built for exactly one job: describing a surface well enough for a 3D printer's slicer to convert it into printable layers, or for a game engine to render it quickly. For that job, a dense triangle mesh is fast, universal, and completely sufficient. Every slicer, every mesh viewer, and most online model marketplaces speak mesh natively.

The problem is what a mesh does not carry: history. A mesh has no memory of the operations that produced it. It does not know that a cylindrical pocket started as a 5 mm diameter, or that a wall is 3 mm thick because that is what your printer can hold reliably, or that two holes are 40 mm apart because that is the mounting spacing on the bracket they need to fit. All of that intent evaporates the moment the shape gets tessellated into triangles. What is left is geometry with the reasoning stripped out.

What a parametric solid actually is

A parametric solid is the opposite: geometry that still remembers why it looks the way it does. When Meshra generates a part, it is not painting a picture of a shape. It is writing a small engineering program in CadQuery, a Python-based CAD scripting language that drives the same OpenCascade geometry kernel used by professional CAD software. That program is a sequence of real operations: sketch this profile, extrude it 12 mm, bore a 5.2 mm hole at this position, fillet this edge by 2 mm.

Alongside the code, Meshra extracts a parameter manifest: every meaningful dimension in that program (wall thickness, hole diameter, hole spacing, overall length) becomes a named, typed value with sensible limits, exposed to you as a slider in the builder's param drawer. The exported geometry itself is a boundary representation (B-rep), the same exact-geometry format professional CAD tools use internally, not a lossy triangle approximation. That is also why Meshra can hand you a real STEP file next to the STL and GLB, something a mesh-only generator has no way to produce, because it never had exact geometry to begin with.

Why you cannot cleanly edit a mesh after the fact

Say a mesh-generated bracket comes out with a mounting hole 3 mm off from where it needs to be. Your options are limited and all of them are bad. You can try to drag vertices around in a mesh editor and hope the surrounding triangles still form a watertight, printable shape, which is fiddly, error-prone, and gets worse the more complex the region is. You can try to boolean-cut a new hole and patch over the old one, which risks leaving gaps or non-manifold edges that will make a slicer choke. Or, most commonly, you just regenerate the whole part from a new prompt and hope the AI gets it right this time, burning another generation and giving you a completely new random shape with no guarantee the rest of the part stayed the same.

None of those are editing. They are all reconstruction, because a mesh was never designed to be edited after the fact. It is a snapshot of a final surface, not a record of intent.

Why a parametric part re-executes instantly and for free

A parametric part does not have this problem, because moving that hole is not a geometry-editing operation at all. It is changing one number in the parameter manifest and running the same program again. In Meshra, dragging a slider in the param drawer sends the new value to /api/update-params, which creates a ParamSnapshot and re-executes the exact same CadQuery code with the new parameter value. The hole moves, every other dimension in the part (wall thickness, fillets, the other hole) stays exactly where it was, and the whole part rebuilds from the geometry kernel in a fraction of a second.

The important part is what does not happen: no LLM call. Re-executing a parametric part with new dimensions is a deterministic run of the same program, the same kind of operation your computer does instantly and for free every time, not a fresh AI generation. You can drag a slider back and forth fifty times trying to get a fit just right and it costs nothing and burns no generation quota, because nothing is being regenerated from scratch. The AI's job ended the moment it wrote the parametric program; from there on, changing a dimension is just software running software.

When a mesh is genuinely the right tool

None of this makes meshes bad. For a specific category of shape, a mesh is not just adequate, it is the more natural representation. Organic, sculpted, or decorative forms like a stylized figurine, a piece of wall art with a flowing freeform silhouette, or a one-off sculptural vase rarely have "named dimensions" in any meaningful sense to begin with. Nobody is going to slide a parameter to make a dragon sculpture's wing "3 mm longer" in a way that means anything; the whole point of that shape is its overall silhouette and surface detail, not a set of engineering measurements. For those cases, a mesh workflow, sculpt the shape, export a mesh, print it, is simpler and more direct than forcing the object through a parametric feature tree it was never going to need.

When parametric wins

The moment a part has to fit, mount, or mate with something else, the calculus flips completely. A phone stand has to hold a specific phone's width. A wall bracket has to clear a specific pipe diameter and line up with specific screw holes. An enclosure lid has to seat against its base with a specific clearance, not too loose and not so tight it needs force. Every one of those is a dimensional relationship to something in the real world, and real-world things do not match your first guess on the first try. You measure, you print a test fit, it is 0.3 mm too tight, you adjust, you print again.

That iteration is exactly where the mesh-versus-parametric gap becomes the whole game. With a parametric part, "0.3 mm too tight" is a slider drag and an instant, free re-execution. With a mesh, it is a new generation, a hand mesh-edit, or living with the bad fit. Our post on 3D printing tolerances and how to design parts that fit together walks through that exact adjust-and-retest workflow in more depth, including typical clearance ranges to start from.

How to tell which one you are looking at

A simple test: can you name the number that is "wrong" about a shape, and would changing just that number make sense without touching anything else? If yes (a hole diameter, a wall thickness, an overall length, a mounting spacing), you want a parametric part. If the honest answer is "the whole silhouette needs to feel different," you are describing a sculpting problem, and a mesh tool is the right one. Format matters here too: if you are unsure whether a given file will hold up under later edits, our post on STL versus STEP covers how to tell an exact-geometry file from a mesh approximation just by looking at what it exports.

Most things a hobbyist maker actually needs, brackets, enclosures, mounts, adapters, spacers, are functional parts with real dimensional requirements, which is exactly the category where parametric modeling pays for itself on the first fit test, let alone the second or third. Browse the template gallery to see the kind of parts that start from an already-exposed parameter set, or describe your own part in plain English and get a parametric solid back with every dimension already on a slider. Free and Maker plans include generations to get started; check pricing for the current allowances, or sign up to save your part and keep tuning it after the first print.

A mesh is a picture of a shape. A parametric part is a set of decisions you can still change your mind about. For anything that has to fit something else in the real world, that difference is the whole reason to reach for one over the other.