I use guidelines a lot in my software. Is there a way to place/copy/drag an existing guideline to another location. Or perhaps place a guideline a specific distance from another. I can’t see how if the line is only accessible when in another tool?

Hello - no… currently, AddGuide, RemoveGuide… there are definitely a few things still to make better with this tool.
@lawrenceyy - niot much, in case it helps a little in making guides, (2.5 KB)

Converts linear curves and edges to guides.

To use the Python script use RunPythonScript, or a macro:

_-RunPythonScript "Full path to py file inside double-quotes"


It would be great if you guys mimicked the functionality of the guidelines in SketchUp (tape measure tool) as a starting point. Their guides are very intuitive and useful.


We would like to take a different angle on this.
We aren’t interested in mimicking another application’s tools ever.

Instead, please describe the problem you’re trying to solve, so we can come up with our own solutions.



I would be interested in having the guide functionality exposed in rhinocommon.
This could be a nice and clean way to have custom construction grids without any geometry for hand tracing.
For example:

When someone has created something that works exceptionally well, it is good to learn from it and perhaps improve it. I think that is how all progress happens. Mimicking is just lack of imagination. However, often times a good idea becomes a standard, and a starting point for that progress. I was excited to see Guidelines added to RH6. But as they are, they are useless for my work. My OP explains what I want. The ability to drag/copy/offset/rotate guidlines as I can do in my other software packages which includes Sketchup. Based on the responses, I don’t see that happening anytime soon. So I guess I need to change my work flow to suit how Rhino requires I work.


It’s almost like if we could duplicate edge or duplicate line segment as a guide and then move it on our own. In Sketchup, you create guide from existing geometry and move all in one command because they are used for precise offsets and alignment. Yes, it would be great if we could copy guides, rotate, etc. Guides could just act like infinitely long lines. Guides could further be differentiated from lines by making them have their own visibility toggle in the display properties window. Lock guides and unlock guides commands would be useful too.

Is there a way to see guides in your viewport by default without initiating a command?

At this point in the evolution of CAD modeling and McNeel’s part in it this is just a silly “head in the sand” attitude. Many other firms have been developing tools just as McNeel has. Some of their features are so good that they have become well respected and approach “industry standard” status. There is nothing wrong with Rhino users citing them as a frame of reference for improvement suggestions, and there is certainly nothing wrong with McNeel actually improving them. Short of real improvements McNeel should feel no shame in implementing the best in the field as long as they aren’t stealing anyone’s protected intellectual property.There are 2 things though:

  1. It’s virtually a crime to take a good tool and make “improvements” just to be different.
  2. There are an almost limitless number of tools in many fields that have been developed and improved over time to the point that they are actually used in the same basic form by everyone. Think of the steel rule or the tape measure. Maybe the pencil. Or the transit. The only thing unique to each manufacturer is the brand name and perhaps some cosmetics. Oh yes: perhaps the wheel is another example. Are you working on reinventing it?

Please don’t take this to mean that I think McNeel hasn’t come up with many of their own great ideas.

1 Like

I guess I see it a bit differently.
I’m a tech support monkey.
I do not use Rhino or any other tool for production modeling.
I am clearly interested and involved in Rhino, but not like a professional modeler would be.

To me, it makes no sense for me to acquire a modeling tool I have no interest in, try to learn it, then try to distill what is good about it, and bring that experience back to Rhino development.
My opinion is worthless and I’ve wasted my time.

A user’s opinion is a very different thing.
If you say, “Go look at this tool in Blah-de-blah. It’s great”, I’ll glaze over.

If instead, you say, “I use this tool in Blad-de-blah and for me it solves this particularly difficult problem, here’s how I use it. In Rhino I have to jump through these hoops and it’s painful”, then you have my attention.


Hello - yeah - guides are not implemented as Rhino objects, yet… eventually, they should be - that will make a lot of things more straightforward. I can probably cook up at least a few helpful utilities for how they are now, I’ll take a look- it might be possible to at least streamline a few things fort making them but probably not for manipulating them once they exist, is my guess.



John, I can’t argue with your basic position, especially with respect to acquiring every piece of software out there for evaluation and having you or even other McNeel people spend all their time becoming familiar with all of them. I fully agree that users who refer to a particular feature of a particular software would be much more helpful if they followed your model in their request.

On the other hand, there is a lot to be said for what we referred to in the auto industry as “benchmarking”. At the company I worked for we had a special department whose sole job it was to buy competitive products and disassemble them, mount all the parts on boards and set them up for display to allow engineers and other product development people to examine and compare. They would in some cases highlight specific notable differences.
We would also test drive competitive products in drive-offs to do A-B comparisons over selected road and off-road courses to make side-by-side (in time) comparisons while impressions were still fresh.

My point is that we spent a fair bit of energy, though small compared to that spent on overall product development, searching for best features and practices to help guide our thinking for our own products.

The specific techniques I described above may not be practical for software, but it seems to me that some method of responding to user suggestions about competitor’s features, available tools and their specific implementations would be a very good thing. The gap, as I see it, exists between McNeel developer’s inability, practically speaking, to maintain a working knowledge on their own with all the competitive software in sufficient detail to influence their thinking about McNeel’s product and the detailed knowledge of multiple programs that many of your expert users have. How can it be bridged? What kind of formalized system can McNeel invoke to identify and describe industry-leading capabilities and implementations and make the findings clearly available to the appropriate developer(s)?

And finally, why does McNeel have to be bashful about copying the best stuff around? Just the old fashioned resistance to NIH (Not Invented Here)?

BTW: Have I noticed that several other CAD companies are copying Grasshopper? :slight_smile:

1 Like

Two words: Patent infringement

There are “software development” companies out there that only employ lawyers. They buy up applications, companies, and patents, purely for the purpose of litigation.

1 Like

Thanks Pascal. In my SU modeling I often snap the guides/tape measure tool to an existing line and drag to the necessary distance. 1 click if I know the distance before hand and enter it in the VCB. In Rhino I often offset edges as a guide, but that guide is now limited to the length of the original edge, and is a orphan curve of the working layer which must eventually be removed. Also, SU has a show/hide guidelines command. It’s useful when things get visually confusing, though I’ve set “D” as a “delete all guidelines” which I repeatedly use as I model. It is so easy and natural to make new ones.

I have found ways to get around some of the changes in workflow that Rhino has forced on me, and you have helped me with your scripts. (The Hide last/Show has me almost up to speed) And therein is what good software is all about – helping creators work as they need, not forcing them to bend. History is filled with dead companies who said, “Yeah, well this is how we do it.” Thanks again for your efforts.

1 Like

Perhaps the day will come when McNeel has enough paying customers that they can afford to take on these twits on their own turf and stomp them into it. Or at least just ignore them. It’s no fun living in fear, is it? Kind of limits one’s ability to realize his/her full potential.

I’m referring here, of course, to the patent trolls that you are talking about. As I said earlier, I’m not advocating stealing any other company’s legitimate protected intellectual property. Protections that eventually expire.

1 Like

It occurs to me that Rhino’s existing Mobile Construction Plane might be very useful for this sort of thing. You can attach a CPlane to an object and as you rotate or tilt the object, the viewport CPlane updates with it.

Then tools like Grid Snap, Ortho, and Smart Track all follow the object.

Maybe I’m barmy…

1 Like

Is there a way to offset guidelines?

Hello - no, not directly. You can get there using making a new guide ff AlongParallel and other snaps but it is awkward - it’s probably as easy to make lines and use them as guides for the guides… For what it is worth, here’s a quick python that allows more ways to set guides, though not offsetting - there does not seem to be access to guides in RhinoCommon, at least I have not found it yet. (454 Bytes) (2.5 KB) (4.9 KB)
(this one will offset an existing linear curve but not an existing guide The TwoPoints option can be used to offset an existing guide. )

To use the Python script use RunPythonScript, or a macro:

_-RunPythonScript "Full path to py file inside double-quotes", in the event these are of any use, I put them all in a plug-in so you can run them as commands.


Make sure to unblock the plug-in in Windows before drag and drop onto Rhino (6+)

GuideUtilities.rhp (18.5 KB)


Thank you very much for your answer!

thanks for the plug-in!
I find it very usefull even if offset is missing.