algorithmic modeling for Rhino

Good News Everyone!


User Object V2.01

Example File

Three years ago I released the first offering of Dog Treat, a dog bone corner generator for Grasshopper. It’s saved me (and hopefully a lot of other people) a tremendous amount of time creating them by hand. Dog Treat was far from perfect, however it was good enough to use almost daily.

Three years is a long time. Since 2016 my Gh knowledge has expanded and I’ve seen how dodgy some of the scripting is. With this in mind I started work on a new build. Many things have been tweaked and some things have been rebuilt from the ground up.

Everything has been designed to be leaner and be a general solution to the problem of creating dog bone corners on geometry for quick, efficient and safe CNC fabrication.

Some of these things are:

  • Adding prompts about user geometry to make them aware about open curves, varying curve heights and if their geometry had been altered (mostly removing unnecessary points on curves).
  • Smooth Transfers.
    If you’re in a rush and need to speed through cutting, smooth transfers mean that a lead in geometry is now created alongside the actual dog bone arc. This means the router bit doesn’t have to come to a minute stop at every corner. This is turned on by default.
  • Acute Angle Condition
    If the angle between the two curves adjacent to a dog bone point is acute, previously the dog bone corner was useless. This was because the distance between the end points of the dog bone arc were less than the diameter of the router bit. There are many ways this condition could be addressed. I chose to circumscribe a larger arc based on the original angle between the adjacent curves. While it removes more material from the corner, it minimises tool wear and any potential for material to burn.
  • Single Curve
    A single curve can now be input into Dog Treat. It will be output with both internal and external treatments.

I’ll continue to update Dog Treat as the need arises, it’s become somewhat of a hobby now. Maybe one day it will become part of a Plug-in… once I learn to code it though!

Happy Treating!

Hi Everyone,

Here's a tool I've been working on for the past 4 months or so in my free time. It's a dog bone corner generator, however it's a little different to some of the existing ones. It's designed to be used for large amounts of geometry and as such, it avoids using any curve boolean operations that are computationally taxing. You don't have to split your curves up into internal and external lots either, it works it all out so you can be lazy. I've also incorporated Lunch Box's Object Bake Component for a one click operation that bakes geometry back out to Internal and External profile layers.

Let me know how it goes, will update where necessary.



Change Log

06/11/19 - Version 2.0 SECOND DINNER - Rebuild

29/09/17 - Version 1.3 - Now with smooth corners option, True for smooth default/False for original

18/05/17 - Version 1.2 - Now includes variable angle domain input (defaults at 90°) for angled corners

13/11/16 - slight change to enable acceptance of very large interior curves

Views: 2480

Replies to This Discussion


Nice update! It works fine, the only problem i see is that the curve seam should not be too near of the inside corners, it can make issues with lead in/out standard milling path.


Maybe there is a way to move the seam to an outside corner?

Thanks for the kind words. I've just included a small update for you. Let me know how it goes!

Thank you for sharing this great post, I am very impressed with your post, the information given is meticulous and easy to understand. I will often follow your next post. atari breakout






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service