CURVE mode¶
Press 5 (or Tab from PATCH — it toggles between the two). CURVE is where
mesh density actually comes from, and where you split a patch into something
the fill can handle.
A curve is one boundary segment of a built patch — one CAD edge, fitted as a line or an arc. It is CAD truth: rigid, refit onto the surface. You do not move it, you decide how it is sampled, and the interior follows.
Built patches only
CURVE works on patches that really exist in the mesh. Fill first (PATCH), then tune.
Spans and contour¶
| Gesture | Effect |
|---|---|
| LMB / Shift+LMB / Ctrl+LMB | select / add / remove curves |
| LMB drag | box-select curves (front-facing only — nothing hidden behind the shell) |
| Alt+LMB | select the tangent chain — the curves that continue the clicked one smoothly in the CAD, arcs and straights alike (below). Shift+Alt adds |
Shift+G |
select every curve like the hovered one |
| Shift+Wheel | span — segment count of the selected curves, ±1 |
| Ctrl+Wheel | contour — redistribute the samples, count unchanged |
| Alt+Wheel | core span — the interior tube between the two selected curves, ±1 (below) |
E |
type the spans — digits, Enter; every selected curve lands on that exact count |
F |
reset the selected curves (span + contour) back to computed; a joined curve goes back to its pieces |
Shift+F |
join the selected pieces of a broken curve into one (below) |
Ctrl+C / Ctrl+V |
copy the span of the curve under the cursor / paste it onto the selected curves as an exact count |
Select Similar here matches by what a curve is: the same segment type,
open or closed alike, and the same length within a tolerance (F9 to widen
it). A closed ring's length stands in for its radius, so "all the rims of this
bore size" is one keystroke — and it works on OBJ imports too, no CAD oracle
needed. The result replaces the selection; accumulate with Shift+LMB.
That pairs with the wheel and E: Shift+G the run of same-size rims, then
one gesture tunes them all — the finer-grained sibling of the PATCH-mode
mass tweak.
The copy reads the hovered curve, so the selection stays the paste target.
Tangent chains¶
Alt+LMB on a curve selects every curve that continues it smoothly in the CAD: through each junction where exactly one other curve carries on tangent (within 10°). It is the chain a CAD package calls tangent chain — a fillet's edge running arc → straight → arc is one chain, the way it reads on the part.
- The walk judges the CAD curve itself, not the current span dots, so the same click selects the same chain before and after you retune its spans.
- A corner stops it, and so does a fork — a point where two curves both continue smoothly. The chain never guesses a branch, so it is the same whichever of its curves you click.
- It runs through patches you have not built yet, so a run is not cut in two by a gap in the fill; only the curves of built patches end up selected.
Ctrl+Alt+LMB is the separate ring select (parallel profiles), unchanged.
One buffer per session, shared with the PATCH-mode U/V copy
(PATCH); nothing under the cursor
or an empty buffer → Blender's own Ctrl+C / Ctrl+V.
Span is the count. It propagates to every patch sharing that curve, and the weld between them is preserved — that is the point of tuning at the boundary rather than inside one patch.
Contour is the distribution: bunch samples where the curve bends, thin them where it runs flat. Orthogonal to span, so the two never fight.
CAD seams. The seam of a wrapped CAD surface (a cylinder wall, a revolved
band) appears as a curve once the patch is built. On a tube its count is
the axial row count; on a smart-filled wall it is the lattice's own row count
along the seam, and the fill lays its banks at exactly that — the number you
see is the geometry. The first span notch takes the seam over from there
(rows on a tube, banks on a wall); X on such a seam puts it back to
automatic — every seam of that patch together.
By default spans are not guessed from radius but from silhouette error: a
curve gets the count that holds its chord within an absolute tolerance of the
true arc. Small arcs stay cheap, large arcs stay round, and the result does not
change when the model's overall size does. The tolerance is the
SILHOUETTE_TOL setting, expressed in the CAD's own working units (0.05 by
default — 0.05 mm on a millimetre-authored model).
Joining a curve cut in pieces¶
A CAD curve often arrives in pieces: a face split in the CAD and glued back, an edge the author never rebuilt. Each piece is a curve of its own with its own span, and the break stays a vertex in the mesh.
Select the pieces end to end, press Shift+F. They become one curve on
every patch that shares them, laid evenly along the whole length, and one span
wheel or E tunes it. The joined curve stays selected. A flat stub at the end
of an arc (a fraction of a millimetre the CAD left at a fillet's end) counts as
part of the arc.
- A third patch keeps its corner. Usually the face across was split at the same point, so a patch there has a corner on the curve. The joined curve takes a vertex at that point for it, and the seam stays closed — no T-junction.
Ftakes it apart. On a joined curve,Fgives back the pieces with their own settings. Undo works both ways.- Covers work as usual. A cover over the patches around the break reads the
joined curve as one;
Xon the cover gives the join back as it was.
Refused, with the reason in the HUD line:
| Refusal | Why |
|---|---|
| the curve turns at the break | a real corner, not a break |
| a straight meets an arc | two curves by kind; a straight stays a straight |
| no patch runs through | four patches meet at the point |
| two breaks a hair apart | a sliver between them; later |
| a frozen patch, a cover's side, a ring | unfreeze it; a cover's side is one curve already; a ring keeps two breaks |
Ring anchor¶
A closed ring — a bore rim, a round hole — has no natural start point, so its sampling can begin anywhere, which shows up as a rotated vertex ring.
A— hover the ring, press: the anchor lands on the ring sample nearest the cursor.- Alt+
A— clear the anchor of the hovered ring, or all of them when hovering nothing.
Bridge exports carry no parametric seam for rings, so this is a manual call by design.
Region split¶
This is not a cut
C does not slice geometry like a modelling loop cut. It draws a region
curve: a new boundary that partitions the patch. Each region is then
classified and filled on its own and welded at the seam — so both sides can
come back different from what was there before, by design.
That is how a face with a cut-out or an awkward feature gets a sane result: not one heuristic covering everything, but a smaller, honest problem on each side. Expect "re-decide both sides", not "an edge loop appeared".
C arms the split. Hover a built patch and the chord previews live,
perpendicular to the mesh flow.
| While armed | Effect |
|---|---|
| LMB | commit it — and stay armed for the next one |
C |
toggle auto ⊥ chord ⇄ 2-point mode |
| Ctrl+Wheel | spin the auto chord off perpendicular |
| Shift+Wheel | span count of the next split |
| Ctrl (held) | snap the chord's end to the nearest boundary vertex (sticky) |
In 2-point mode each click snaps to the nearest boundary span vertex and the curve
runs strictly between them. A tube (a closed wall with two rims) takes no
split — its fill is a bridge that ignores cuts, and C says so instead of
storing a dead one.
X deletes a selected region curve. Only your own committed ones are
deletable — a CAD curve stays put and the operator says so.
De-feature¶
Some detail is not wanted as geometry at all: a shallow pocket or a notch that will be baked into the normal map, a boss you optimise away, a slot the low-poly does not need. Filling it and covering it later leaves its topology inside the cover. De-featuring it — the CAD term for exactly this — takes it out of the topology: its curves and its patches are gone, and the face around is built as if nothing had ever been cut there.
Select curves of the feature, press Alt+F. (In PATCH mode Alt+F is
Cover; one key, the mode decides.) The
patches around must be built. One curve of an outline is enough — everything
it cuts off from the rest of the part goes; curves of several features remove
them all at once.
What the picked curves close:
| You pick | Result |
|---|---|
| a closed loop on a face — a pocket, a boss, a hole's rim | the hole in that face closes |
| an open run — a notch or a groove that runs out of a face | the face's edge is restored across the gap: the interrupted edge continued (a straight stays straight, an arc keeps its curve), otherwise a straight between the run's ends |
| a slot or a hole through the part, picked on one face | that face closes; the walls stay, so from the other side it reads as a blind hole. Pick the other face's curves too (now or later) and that side closes, taking the walls with it |
Only what you pick closes. The far side of a through-hole stays open unless you pick it, or switch on Close the far side (N-panel → Fill options, off by default) to close both faces with one pick.
The closed face is a cover: one live patch
with the face's own fill, spans and seams, so everything a cover does works on it.
X on it brings the feature back exactly as it was; undo works both ways. A face
that is already under a cover can host a removal too — the cover is made again
with the feature taken out.
Closing a gap¶
Closing a slot that cuts through an edge of the part can leave an opening that
no CAD face covers: the top and the chamfer the slot split end at its walls,
and the walls are gone. Two ways to close it, both with the same Alt+F:
- The face whole — when the opening sits between two flat halves of one
face (the halves the slot split), select both halves in PATCH mode and press
Alt+
F, or pick the opening's edges in CURVE mode. The halves and the gap become one cover: one fill and one UV chart, as if the face had never been split. On the low-poly there is no gap, so there is no seam either. - A free patch — any other flat opening: pick the curves around it (a closed chain, or open runs that are joined end to end and closed by a straight). A patch with no CAD face behind it is laid there, filled with triangles (Quad works too; Loft and Smart fill need a CAD surface under the patch and say so), selectable and removable like any patch. Keep it for real holes: where the opening only parts two halves of one face, the face whole above is the clean result.
Only flat openings close this way for now.
Refusals are loud — a coloured line in the HUD block on the left says what was not understood (a curve that bounds nothing, a hole's wall picked alone, a selection in two places).
Side roles and core span¶
When you want a quad highway through a patch instead of a graded fill, mark the sides:
| Panel button | Meaning |
|---|---|
| Flow | this side feeds the quad core verbatim |
| Relief | this side absorbs the transition |
| Clear | remove the role |
Two opposite Flow sides plus a core span route the patch to the quad-highway fill. Roles are per patch: the shared curve keeps its seam contract and the neighbour is unaffected.
Core span sets the patch's interior resolution directly. Select the two opposite curves you want to reduce, run it: both are marked Relief, the boundary is kept verbatim, and an N-span interior tube is joined to each selected curve through a transition band. The seam still welds at full boundary resolution — nothing is sub-split behind your back.
Alt+Wheel does the same from the wheel. The number reads on the pair as
core N next to the span labels: it starts at the pair's own span and only
goes down from there — the core reduces, it never grows past the sides, and at
the pair's span the patch simply fills plain again. The core belongs to that
pair: pick the other pair of the same patch, Clear the roles, or F-reset
one of its curves, and it starts over from the new pair's span.
Where the gesture cannot apply it says so — a coloured line in the HUD block on the left, not just the status bar: the selection must be two curves of one patch, and the two other sides (the caps the interior grid runs between) must carry equal spans — Shift+Wheel them equal first. That equality is a limit of the highway grid, kept on purpose.