Rhino 7 wip trim

Hello @pascal

I recently came across a new command to create an untrimmed surface where the control points get rearranged in to a clean untrimmed surface after trimming.

Could you remind me where I can find this?!!


Hi Sach - testTrimRefit is probably what you’re after.



this seems to work very well. Are there more hidden gems you can share @pascal ?


Hi Gijs - there are… all in the test stage -

testSplitRefit - split a surface and get back untrimmed surfaces

testFitCurveToSurface - fits a curve on a surface to match the surface parameterization.

testFitCurveToEdge - as above but makes a new curve from an edge curve.

testFilletSrfCrv - creates a fillet from a surface to a curve that is not on that surface at a user defined radius:

testFilletSrfToRail - creates a fillet between two surfaces, letting the user define the rail on one surface. The fillet radius varies accordingly, there is no radius input from the user, only the rail shape.

testFilletSrfNonRational - Like the current ‘FilletSrf’ command but offers control of the arc section degree and the rail fitting (e.g. Bezier sections).



That’s the one.

@pascal a few notes:

commands ask to ‘pick’ rather than ‘select’ --> select is used normally for selecting things in Rhino

testFitCurveToSurface seems to do nothing
testFitCurveToEdge works well
testFilletSrfCrv works but…what’s the idea behind it?
testFilletSrfToRail works but gives only partial results. Fillet doesn’t extend all the way. Also when selecting the curve that is on the surface, then select the opposite surface first, then the surface that the curve was on, Rhino crashes. EDIT: actually it can also crash Rhino when picking in ‘right’ order I just found
testFilletSrfNonRational works but a few things should be changed:
UI should appear right after running the command, not after selecting the first surface.
When the UI appears, I cannot enter the radius by entering a number like with FilletSrf
Trim/Split: option could be done like FilletSrf

Hi Gijs - yes to all your points about ui, and more.

testFilletCrvSrf allows this type of fillet:

Degree 5 surface. Red = Input curve (projected), Cyan = testFitCurveToSurface:

Hope that helps some…


that’s nice to see. Strange name though. In SW it’s an option … keep edge. Would be better if it was integrated into FilletSrf eventually. It could in fact be an option for FilletSrf so that when it reaches the edge that it continues along it. I just tested it with a fillet that only partially can reach the edge and then depending on where you click it makes the part that works, the part that fails or both:
Where it fails the ball starts rolling on the wrong side of the edge it seems
TestFilletCrvSrf.3dm (135.9 KB)

Hi Gijs - Yep, on this one as things stand, you have to piece it together with several FilletSrfs.


Great stuff.
Is there any tool where you can fit a fillet/blend through 3 surfaces?
So if we imagine an extruded “U” shape with three surfaces.
A bit like the arc tangent to 3 curves tool… but for surfaces?

yes that would be nice too, like this in SW:


Hi Sach - nope… nothing on that yet I’m afraid.

just found that it didn’t work with two trimmed edges. So when it has 2 trimmed edges, I have to untrim 1 edge first then run testTrimRefit, then trim the other edge again and run testTrimRefit again. Other than that it is a very nice surface tool. The tool doesn’t give any feedback when it fails.

Yep - only one trim that crosses the entire U or V extents. Presumably it should be possible on either of two trims in the same direction - not sure beyond that.


that I was trying but that failed

Sorry to bump this old thread, but I couldn’t find any more info on these commands with a google search. Are there any resources on them at this point in time? Or would someone mind showing how these tools are supposed to be used in a video? If they are still in the WIP version, that is. :innocent:

Test commands are usually not intended for general use. Some test commands become regular commands, sometimes with different names. Some test commands are incorporated into other regular commands. Some test commands just disappear.