# Parametric vs mesh modeling: why Meshra parts stay editable

A mesh is a frozen triangle surface with no memory of how it was built. A parametric CAD solid keeps every dimension as a named, editable number instead.

---

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.

<TryMeshra />

## 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](/blog/3d-printing-tolerances-parts-that-fit) 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](/blog/stl-vs-step-which-file-format) 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](/templates) 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](/pricing) for the
current allowances, or [sign up](/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.
