Filleting Tangent Surfaces

Yes, for that reason I proposed a “Group” option along with “Join”, because the former will keep the newly created fillets as individual surfaces.

Does it work on Rhino 6?

1 Like

Yes, this python script was written for Rhino 6.
The real question is how well does it work in Rhino7. From what I have observed the edge and vertex definitions are pretty screwed up in Rhino7 and the WIP8. It seems to me that those new edge definitions are bound to cause errors that don’t exist in previous versions.

The example file I posted earlier is a Rhino6 file: fillsrf_examples.3dm (1.0 MB)
As far as I can tell Rhino7 and 8 make very close to the same fillets on these models as Rh6 does, but I don’t know how well it will perform on models created in Rh7 and Rh8. Maybe there will be some Rhino7 user feedback on that question.

Yes I understand what want to do.

The way I look at it you should be able to use a macro (on a button or alias) that goes something like this:
! selnone -selname “check” pause delete
-RunPythonScript “[put your File Path here]\Test\” _MultiPause
_selnone -selname “fillet*” group
selnone -selname “sidecrvA*” pause -selname “sidecrvB*” pause
join enter

But that doesn’t work because Rhino thinks the last lines of the macro is the user attempt at input for the script.
I think that is a bug. At the very least the _MultiPause command should prevent the macro from proceeding to the next line until the RunPythonScript command is finished.

IMO this is a bug but I imagine McNeel will claim it is done by design for unfathomable reasons.

So for now you will need to create a different button or alias that has whatever macro you want to run after the Runscript completes and that will add one unnecessary step to the process. .


I also noticed that macros could be added before a script, not not after it. This is pity, because so many scrips could benefit from some extra macro… :slight_smile:

1 Like

great video, you can trim by a surface edge as crv input without duplicating the borders, simply type CRV in the command line when asked for trim input.

you can also double click an edge to select a chain.


I use both of the methods you mentioned above, this is why I made the macro I mentioned in post #8 (! _Split _Pause _Curve), which I use most often from splitting.
Couple of years ago I also made a dedicated topic with a request for the hidden options “crv” and “srf” to be finally made visible. :slight_smile:


Even faster if you use sub object select on the surface edge!


Hi @jim! A dumb question probably but how one can set the radius for the fillet?

1 Like

Added as a feature request-


Simply write the desired number in the Command line. :smiley:


Thanks Bobi! I knew it was a dumb question :smiley:
just came back from holidays so excuse me :slight_smile:


Holidays? What a great reason to be slightly absent. :smiley:


Hello Jim
Thanks for answer the my question.
How can ı install phyton version on my rhino ?

1 Like

To use the script, you have to do the following steps:

  1. Save the script in some folder where you will keep it forever. Note that if you move or delete that file, the script will no longer work.

  2. Copy the directory where the file is saved.

  3. Open Rhino, then choose which icon you want to customize and hold Shift, then click with the right mouse button. That opens the icon editor.

  4. Paste the following text inside the “Command” field:
    ! Selnone -Selname “check” Pause Delete
    _-RunPythonScript “D:\YourDirectory\”

Replace “YourDirectory” with your own directory which you already copied in step #2.

  1. Press the “OK” button to confirm the changes and close the icon editor.

  2. Open a nice drink. :clinking_glasses::wink:


If you have Rhino6 then python should already be installed.
In addition to the good advice from Bobi on how to make a toolbar button to run the script you can also make an alias to run the macro. You might call the alias fx and then when you type fx in the command line the macro will run.

If you are a long time user of FilletSrf command you will understand the procedure for making fillets with this script. If not experienced with FilletSrf then what you do is to click on two surfaces that you wish to connect with a fillet and the script will make the fillet for those two surfaces as well as all the fillets for neighboring surfaces that are tangent. If the surfaces don’t have good tangent continuity the fillet string will either end or continue with a gap in the string if the tangency error is small. The file fillsrf_examples.3dm (1.0 MB) has a few examples that will allow you to practice and get the hang of where to click to get the script rolling.


Amazing work, thanks for sharing.

would love to see a command line option in the script to allow for using g2 blends instead of defaulting to circular fillets… g2 blends are so much prettier…


Untitled.3dm (28.8 KB)
I can’t do it , I have two box that intersect, I tried it with join and unjoin boxes

Jaw dropping awesome!

Thanks Jim, I love it, great work! The gap dots are super helpful as well.
Thanks for sharing this script!

1 Like

Hi Jim, just saying thank you also. A lot of thought must have went into this.—-Mark