The test you are asking for can’t be run by anyone reading this: there is no panel in the post. Post M12 (or just the worst-curved region of it) as a .3dm and I will cut the representative stencil against your dimensions and hand back the DXF plus the distortion figures. Until then everything below is method rather than result — but the first item decides the whole job, and you can settle it yourself in about a minute.
Run UnrollSrf on M12 and read the number it prints
The command reports the area change in the command line — something like Area is 166.5231 sq mm (1.24% bigger after unrolling). On a genuinely developable surface you should see roughly 0.01% or less. Anything in the tenths of a percent means the panel is not developable and UnrollSrf is quietly approximating. That single number decides whether this is a one-hour job or the sectioning exercise you describe in the brief, and it decides it before anyone touches Grasshopper.
Do not use Gaussian curvature to judge this instead. Its numeric value scales with your units — the same surface reads a million times larger in 1/m² than in 1/mm² — so a “small” number proves nothing. Curvature and a look at whether one principal radius is effectively infinite is the honest check.
The projected circles will drift, and the reason is the projection
If the pattern was made with Project, those curves sit near the surface within tolerance, not exactly on it, and they do not develop in step with the surface underneath. The circles then land slightly wrong on the flat stencil in a way that looks like a flattening error and is not one.
The fix is UnrollSrfUV rather than UnrollSrf: it preserves the surface’s UV parameterisation, so the pattern can be carried across with FlowAlongSrf using the unrolled surface as the base, in either direction. Worth knowing that UnrollSrfUV is the same algorithm as Smash — one parametric direction treated as the ruling and the strip developed along it — whereas Squish is a different animal entirely, deforming the whole mesh. That difference is exactly what tells you how to cut the sections.
Sectioning, since the brief already assumes it
Cut the double-curved regions into strips along that ruling direction, narrow enough that curvature across the width is shallow. Each strip is then near-developable and unrolls with an error you can read off the command line rather than guess at. Strip width should be driven by the circle tolerance you need, not by the cardboard sheet size — that is the parameter worth fixing first, because it sets how many registration marks and overlaps you end up with.
Cardboard changes which Squish number matters
Squish reports a distribution, not a single figure: Compression: average=0.72%, maximum=3.12% (in 3% of pattern); Expansion: average=0.93%, maximum=3.83% (in 97% of pattern). On fabric the average is the useful number because the material takes up the difference. Cardboard does not stretch, so the maximum and the share of area at that maximum are what will show up as an out-of-round hole. A pattern with a comfortable average and a 4% local peak is the one that fails on the bench.
Squish accuracy is also set before Squish runs: mesh edges have to be clean before QuadRemesh, and target edge length has a working band you find by trial for the part’s scale rather than a default that works. Defaults are not a method here.
On the 1:1 DXF
Export as R12 Lines & Arcs rather than a natural spline export, turn off surface isocurves first so they don’t ride along, and verify rather than trust: What on each curve should say Valid Curve and Line or Arc, CurveBoolean with DeleteInput=All clears overlaps, and a solid Hatch that fills is proof the contour is actually closed. Also worth keeping contour resolution coarse where accuracy allows — long runs of tiny consecutive segments make a cutter stall in place, which on cardboard means a scorch mark.
For the physical check on the test piece, print it and hold it against the panel itself, not against another paper flattening.
Two questions, because both change what the test stencil should even be:
- Was the circular pattern made with
Project, or drawn as curves on the surface?
- What counts as pass on a circle — a diameter tolerance in millimetres, or roundness after installation?
I do computational geometry and fabrication tooling rather than boatbuilding patterns, and I will say plainly that Rhino is not where most of my paid work has happened — most of it is parametric systems where dimensions have to survive contact with a shop floor, like this configurator built for a racking manufacturer: Standes — 3D shelving configurator · Artur Smirnov. Post the panel and I will do the test piece; the numbers above are the ones I would be reporting back with.