Offset - Consistent Distance

Hello awesome developer community! I haven’t made a feature request before, and I think I’ve been using Sketchup for about eight years now, but my last pain point in a consistent workflow is with a needed offset feature and I was hoping you could help me. Either by telling me my request is simple and I can figure out how to do it myself, by doing it, or by telling me it’s just not going to happen.

I have 2D placeholders in all of my models to make building a layout easier. I start in 2D and I use buffer zones to ensure I have adequate spacing between my models. I used to build those buffer zones with offset, until one day I realized that if my goal was to keep 6’ etc between models, then the corners of my buffer zones were overkill. It’s a fairly minimal difference, but check out the pictures to see what I mean.

Offset creates straight lines, I want an offset that holds a specific distance from lines. Basically if you were to take a circle with an origin on the line I want to offset and move it around the square, the outline is the style of offset I’m looking for.

So, is this do-able? Can I figure out how to do it myself? Does it already exist? Do I need to give up on my dream of speeding up my workflow? Thank you for your time and help in looking at this, I hope you have a brilliant week and weekend.

It might be possible to do it with a Ruby script.

Thank you for the response! Ruby novice possible? I posted because I was emboldened by Chris Fullmer’s words on the Getting Started with the Ruby API. I took two programming classes at Georgia Tech more than a decade ago and I can write a lovely query. That’s the extent of my ability at the moment with any kind of scripting.

Thank you,

You might be more advanced than I am at writing scripts. I would think you could look at some existing scripts to get some ideas.

Thank you for the advice. I’ll start digging through the Getting Started section.

Everyone Reading,
If you’ve done something like this already and have advice on an existing script to start from, I’d love to hear from you.

Thank you,

It occurs to me that offset merely places a new edge at the specified distance from the original edge and then extends (or in the case of an interior offset, truncates) those edges until they meet. We’ve all seen the weird shapes that can occur. I know of no other software that does it differently. But that isn’t unusual, since I’ve experience with only a few CAD and graphics software packages.

But what Aaron wants is to offset each edge as though they were copied the specified distance, and then instead of extending the lines, creating a fillet curve with a radius equal to the offset distance. For those of us who wish for a true fillet/chamfer tool, implementing this might be a REALLY GOOD THING.

this could be done in a few step with the native tools, so it could be a nice ruby-thing to learn and develop as extension.
For a simple shape like a rectangle, it takes 13 clicks (exclusive toolchange)
How many steps does the ruby-script need?

1 Like

The effect of mentioned offset can be achieved (in some sense) in 2D in LayOut:

BTW I think it is a great idea for a feature request. I think it might be great to have an ability to specify a “line width” for all SketchUp native tools (line, freehand, rectangle, arc etc). And in addition to it would be also great to have an ability to specify “stroke style” (for joints and line ends). So a non-zero line width would result generation of a face (or faces for non flat cases) instead of just edges.

Thank you everyone!

Really appreciate the time and help on this one.


It’s funny you mention that, the very first thing I looked for was a fillet/chamfer extension that worked in 2D in similar fashion to how I described what I needed in my original post. Thank you for the time and support.


I’ve been manually doing this for all of my models, it’s pretty quick, but as you mentioned the more complicated the shape the longer the job. Ideally I would like to use Skema’s 2D projection extension and then build these outlines from actual models. At the moment I have to abstract to a certain degree to keep things from being overly complex when it comes to making the “buffer zone” as I call it. So I have a bunch of car models for instance that I outline as rectangles. In reality a car isn’t a rectangle, but it’s close enough. If I wasn’t held back by that, I wouldn’t abstract the outlines at all. Thank you for the post, I’m hoping few steps in ruby since I’m a total novice.


I’m ashamed to admit that I’ve barely ever used LayOut, despite using pro for a few years now. This is awesome to see though and I wonder if this is the work-around for the moment. That is exactly what I’m looking for essentially, assuming I could grab just the outer line of the stroke. Thank you for the suggestion, I’ll give it a go!

Thanks everyone, glad I finally posted in this awesome community.


Also, I just learned how to use the arc tool so much faster thanks to your post. l typically use the tape measure tool and give myself measured points for the 2-point arch. I had no idea you could just replicate previous arcs with a double click in that area! Super awesome, thank you!

Best regards,


This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.