The big SDF thread

Chisel 5.0 has been released! It’s another great update, with lots of improvements and additions. :dizzy:

Change log:

Chisel 5.0.0

Version 5.0 is about points. Tube, Lathe, Outline and the new Rail are made of points kept on the shape itself, and the Chisel tool has an Edit mode to select, move and remove them. Every modifier now has handles in the viewport, and a cutter shows an outline you can click.

New

  • Tube — a tube through points. Drag a point’s dot to move it and its ring to make the tube thicker or thinner there.
  • Lathe — a profile of points turned round an axis, solid or hollow, with a dial for the angle.
  • Outline — a closed outline of points, extruded by Depth.
  • Rail — a section swept along a path of points: Star, Polygon, Gear, Flower, Ratchet, or one you draw. Each point has a scale, and the Rail twists evenly from its first point to its last.
  • Text — use a Blender text object as a Chisel shape, with live depth and rounding.
  • Point kinds — a path point is Smooth, Corner or Free. A Free point has two handles, like a point of a Blender curve; a Corner rounds with the five profiles an Ngon’s corner has.
  • From Curve — make a Tube, an Outline or a Lathe from the selected Blender curves, point for point.
  • Edit on the Chisel tool — the Edit button (Tab on a Chisel shape) puts the tool on the points: click, Shift-click or box-select them, and drag the selected ones together.
  • Edit works on every selected shape — one selection and one drag act on the points of all of them.
  • Move Selected Points — G moves every selected point, of every shape and modifier, with the mouse; X, Y or Z keeps the move to a world axis, Shift moves finely. S scales the radius of the selected points, as dragging one of their rings does.
  • Remove Selected Points — X or Delete removes every selected point as one undo step.
  • Block mode — draw a box or a Cylinder like a blockout, pull its height, and add bevel, rounding and blend as you go.
  • Bisect gizmo, reworked — a blend dot, an arrow you click to flip the cut, rings that tilt the plane, and a dot on every point of a fence.
  • Array gizmo — dots for the offset, the number of copies and the smoothing; a circle array adds a radius dot and axis dots.
  • Bend gizmo — drag the ends of the centre line to set the angle and the arrow to slide the bend. New options: Direction, Center and Limits.
  • Twist gizmo — a dial at each end, and a line on the shape that shows the twist.
  • Solidify gizmo — a dot above the surface sets the wall thickness.
  • Cutter outlines — a shape that cuts, joins or embosses another one shows an outline in the colour of its operation, so you can see where it is and click it. Two styles, Outline and Wire, under Cutter Wires in the gizmo drop-down.
  • Right-click menu — a shape’s own choices (Rail Shapes, Path, Body) head its drags, and in Edit the menu leads with the selected points’ Point Kind and Corner Profiles.
  • The green bevel line rounds every corner of an Ngon at once.
  • Gizmo switches on the tool bar — three buttons show or hide the cutter outlines, the modifier handles and the shapes’ own handles; the drop-down beside them switches each gizmo on or off.
  • Drags show their value next to the cursor.
  • Tape tree in the 3D view — the whole scene’s tape as a tree, as text in the view’s top left corner with no background, under the Chisel tool, always open: every rendered shape with its stack in the order it is applied, by name only, the shapes it joins nested under it, a shared cutter under each stack that uses it, hidden shapes nothing uses under Unused. Click a row to select it — that row, so a shape used by two stacks is selected where you click; a selection made in the view or the Outliner lights every row of its shapes — (Ctrl: add or take away, Shift: every row from the active one to it), the arrow to open it, the sign to change how it joins. The top line shows the tape’s size (shapes that render / all shapes); “+ Add” adds a shape, cut into every selected row’s shape when rows are selected (change the cut in the redo panel); “+ Mod” adds a modifier to every selected shape, and each join in it (Difference, Union, …) lists the shapes to make one new cutter from for all of them. Right-click a row for its blend, smoothing, bevel and rounding. Drag a name onto a row to move it, or drag one of several selected rows to move them all, in order (the middle of a shape: into it; its top or bottom edge: before or after it; below the rows: on its own). It runs the height of the view, down to the redo panel; the wheel and the scrollbar scroll it. Switch it on or off with its icon, the first of the tool bar’s gizmo icons, or in the gizmo drop-down.
  • Every modifier shows its handles — a shape with two Arrays (or Bends, Twists, Solidifies, Sweeps, Lattices, Bisects) shows a set of handles for each. Select modifier rows in the Tape tree to see only their handles; select the shape (in the tree, the view or the Outliner) to see them all again.
  • Handles are easier to hit — each one answers the cursor from at least 14 interface pixels at any zoom.
  • Handles answer the cursor only near what is drawn, at any zoom: on millimetre parts a dot no longer takes clicks from across the view, a Tube’s or Rail’s radius ring can be grabbed on its line, and handles such as the Bend dial, the Solidify dot, the rounding handles and the Twist ends sit a few dot widths off the part instead of far away.
  • A still viewport sharpens to full resolution — about 0.3 s after the view stops, the reduced-resolution picture is replaced strip by strip with the same picture at full size. That takes under half a second on a light model, about 1.5 s on an engine of nearly 800 shapes and about 5 s on a scene of three engine blocks. Any orbit, edit or setting change goes straight back to the fast picture.
  • Duplicate as Boolean — Alt+D on the Chisel tool copies the active shape, with its own cutters, into its own stack as a Union blended by 0.5, and starts moving the copy.

Performance

  • Lathes render about four times faster.
  • Tubes are several times faster to work out, and long wires many times faster.
  • First start after an update or a driver change takes about 8 s instead of 90.
  • Blender starts faster with Chisel enabled.
  • Objects with many parts drag more than twice as fast.
  • Most edits update only what changed.
  • Orbiting is about 6–8 % faster; scenes without Arrays or Lattices orbit and drag up to three times faster.
  • Scenes with many objects prepare each frame faster.
  • Chisel needs about 90 MB less graphics memory.
  • Convert to Mesh: Marching Cubes at resolution 512 needs about 80 MB instead of 1.1 GB, and the Adaptive mesher is up to seven times faster.
  • Baking is about 40 % faster per map with a Rendered viewport open.
  • F12 starts in under 0.1 s from a Solid viewport.
  • Switching between the viewport and F12 no longer recompiles shaders.
  • Shapes made from a mesh are prepared several times faster.
  • Opening a light file after a heavy one is fast again.
  • Converting several objects or baking several maps no longer pauses between them.
  • Saving the shader cache and reading back proxy meshes no longer pause Blender.
  • Gizmos stay smooth on large lattices and n-gons.
  • Edit no longer stalls on every mouse move with many Ngons selected.
  • Outline, Ngon, Text and Lathe shapes draw about twice as fast; large models gain a few percent.
  • Dragging part of a model redraws only the part of the view that changed: up to 15 % faster.
  • Rendered shading is about a third faster in scenes made only of spheres, boxes, cylinders, capsules, tori and unrounded cones joined by booleans (no curve shapes, Mirror, Array or other point modifiers); their hard edges also lose a thin light line.

Fixed

  • Tubes showed a ring at each point where the radius changed.
  • Rail — a smooth join that reaches past a Rail’s flat end (a blend wider than the Rail, a groove cut with a Rail, two Rails end to end) makes a clean fillet; it used to draw a flat terrace with a sharp edge past the end.
  • Rail — a blend wider than a Rail no longer draws a crease ring round the foot of a Rail standing on its end, or a line along a lying one’s sides.
  • Thin tubes and long wires broke up into beads.
  • A tube split into balls with a hard seam where a fat point sat close to a thin one.
  • A tube pinched into a hard line where it was fatter than its own bend or folded back onto itself.
  • Solidify on a revolved profile showed a thin rod along the axis.
  • Bend handles jumped or vanished during a drag, and a bend could wrap the shape into ghost copies.
  • Carve left lumps or shells inside the pocket.
  • Circle arrays: raising Smooth creased the surface between the copies or filled the middle of the ring.
  • Arrays cut off copies that overlap, lean across the array direction or reach over the centre of a circle.
  • Two Arrays on one shape broke its shading: one Array’s copies were cut off where they reached towards the next copy, and only one of the two blended its copies.
  • Convert to Mesh and proxies lost copies when a Mirror or a deform sat below an Array.
  • Baking right after an edit gave a different result from baking a moment later.
  • F12 ignored render-only visibility and excluded collections.
  • F12 Render Region shifted the border.
  • Esc did not cancel an F12 render while shaders compiled.
  • F12 kept an extra copy of the image after it finished.
  • Rendered shading did not fill very large frames.
  • Large rotations left stale pixels around nearby shapes.
  • Opening a file or disabling Chisel started a stray proxy rebuild.
  • Editing one part right after rotating the whole object rebaked everything.
  • Dragging Smooth on one shape re-synced the whole scene.
  • Going back to an earlier position was slow after other edits.
  • Dragging a value made the Properties editor flip between tabs.
  • Recovery from graphics errors is more reliable.
  • Orthographic views and cameras shaded soft, with a blurred bevel round every hole and edge; they are now as sharp as perspective.
  • Hiding a collection with its eye in the Outliner left its shapes in the viewport.
  • A shape alone in its object with a thin wall or plate (a shelled belt, a 2–3 mm plate) broke into dashes or vanished once its detail was baked.
  • A lone Lathe, Outline, Tube, Rail, Ngon or Text, or a lone shape with a point modifier, Solidify or smooth cut, showed dark arcs or missing slivers when seen at a grazing angle.
  • The 33rd and later shapes of an object drew light grey whatever their material, and a Mix Shader overlay was dropped on objects of more than 32 shapes.
  • A Mix Shader overlay could vanish from every object: after opening a file, the first object Chisel drew decided whether any of them showed it.
  • F12 renders depended on the frames before them: the first render of a session, or the first frame of an animation, differed from the next one. Every F12 frame is now the same exact image.
  • A model built in millimetres (Unit Scale 0.001) got far finer automatic cells than the same model in metres for parts larger than about 0.36 m, and about four times the work.
  • Opening or rendering a very heavy model could make Windows reset the graphics driver. The GPU work is now split so that no single piece of it runs near Windows’ 2-second limit.
  • A shape turned inside a parent scaled unevenly (its matrix sheared) drew only in part or not at all: its distance read up to several times too long and the render stepped through it.

Changed

  • Curve, Curve Tube and Curve Revolve are gone; Outline, Tube and Lathe replace them.
  • Gone with them: shaping a path in Blender’s curve Edit Mode, the live link to a Blender curve, and Convert Legacy Curve. From Curve takes their place.
  • A shape’s points are edited in Edit: an Ngon’s dots no longer show in Object.
  • Dragging an Ngon’s vertex: Ctrl snaps, Alt slides it along an edge, Shift is precision.
  • Sweep points: Ctrl slides a point along its segment, X / Y / Z lock the drag to an axis, Shift is precision.
  • Lathes have sharp rims; the thin bevel the old Curve Revolve put on them is gone.
  • Outlines keep their corners where a curve runs into them.
  • Tubes and Lathes blend at their true size, so a smooth join against one looks a little tighter.
  • Emboss and Engrave colour only the raised top or the recessed floor. Tick Color Edge on the modifier to colour the step too.
  • Array Smooth no longer swells where three or more copies meet.
  • The dots on modifier targets are off by default, now that cutters show their outline.
  • The Array buttons in the pie drag along their axis.
  • Resolution default is 40% (was 30%) and Min Resolution 30% (was 20%). A scene that never set them follows.
  • A view shows at most 100 point handles of the selected shapes: the active shape’s always, the others’ a whole shape at a time. Click a shape to bring its points.
  • F12 draws the exact surface, never the baked approximation the viewport uses. On a very heavy single object, renders after the first can take longer (the Subaru block at 1080p: about 1 s → 4–6 s per frame, depending on the view).
  • The World Cell Size tooltip says what the value is: the cell for an object one Blender unit across.

Compatibility

  • Blender 4.5.7 and newer — wheels for Python 3.11 and 3.13, on Windows, Linux and macOS (Apple silicon).
  • Files from 4.x open in 5.0. Their Curve, Curve Tube and Curve Revolve shapes become Outline, Tube and Lathe when the file is opened, point for point, and a notice lists what was converted. Saving the file keeps the new shapes.
  • A curve that was animated keeps the form it had when the file was opened.
  • A shape that cannot be converted (linked from another file, more segments than its shape holds, an empty curve) keeps its data and is not shown; its panel says why.
  • A Curve Revolve’s Rounding is not carried over: a Lathe’s Side Rounding rounds the edges of the cut faces on a partial turn.
4 Likes