Best method cplane to front while keeping views same?

The origin that changes is the origin of the new CPlane (all CPlanes have an origin). That CPlane only applies to the one view.

Here is Crude Tractor video: The CPlane changes in the Perspective view and I go on to draw a circle on that CPlane (i.e. on the wheel face). As you can see, no views changed during any of this action.

If changing a CPlane is changing your views then you either have some more obscure setting to do that or you have a script or plugin making it happen.

Check Options → Modeling Aids → Snaps → Construction Planes

If you have it set to Universal Construction Planes, change it to Standard Construction Planes

Edit: Also, if you want to reset to default views and construction planes, run the _4View command 2 times in a row.



thanks Kev R, that was the thing causing a difference,.
Just what is Universal v Standard, certainly not pleasant !
Jeremy, I followed Kev R advice, it was on universal, set it to standard. then see story board.
it did as your video, however what you then didn’t notice, as you didn’t ‘tumble’ the perspective view, is that the origin jumped to the wheel ! we see it happen in the video ! BUT its still where it was in ortho’s.
NOW THATS UNUSABLE as one cannot have two origins !

It did it to me as well.

apart from the moving origin only in perspective, thats what I wanted.

You say this method origin doesnt move, well TRUE AND FALSE.
Thats not good.

is this a bug ?

Whats it like in V7 ?

I then think how do I move origin back to where its in orthos, should I place a point at origin before doing the cplane to object command, then resite origin to that point ?
If Cplane no longer runs through that point surely thats not going to help as origin must be on cplanes which have moved, but it can as they havent moved, yet they have… my brain hurts !

um …???


Standard Cplanes: This is the default. The Cplane in each viewport is independent of the Cplanes in other viewports. When a Cplane is changed in one viewport the Cplanes in the other viewports do not change.

Universal Cplanes: This is an option. The Cplanes in the standard orthogonal viewports are linked and are orthogonal to each other. The Perspective viewport uses the same Cplane as the Top viewport. When a Cplane in one viewport is changed the Cplanes in the other viewports change to remain orthogonal with the same origin locations.

1 Like

Dear @Steve1
in the background the document is saved and handled in world coordinates.
you can always input World-Coordinates with “w” added to the coordinates:

Each Viewport (“a monitor (2d)”) is is connected to a view, a picture generated by a camera, showing what is going on in this virtual 3d world.
Now if you want to input points, if you click on a 2d image, the trace of your eye is endless - hitting a cplane will define a precise position.

i think a very simple example example is a house, with a corner at 0-0-0 in World coordinates.
Now if you construct / position solarpanels on the roof, you will need a custom cplane.

check out:
_namedViews (to store views)
_namedCplanes (to store cplanes)
_plan (to get a orthogonal view on a cplane)
_4View _4View (twice - at least at the mac version) to reset standard 4 viewports and cplanes.

Well, remember setting a CPlane to the wheel face was done to make drawing on the wheel easy. What better to do that than setting the CPlane origin to the centre of the face? I could then draw a circle around the wheel by placing the centre at 0 (i.e. 0,0,0), the origin of the CPlane.

You can have lots of origins, not just two (or as you suggest, one). Every CPlane has an origin and they can all be different.

There are two types of origin: World Origin and CPlane origin. The only origin that is unique (and immutable) is the World Origin. All the geometry you create will be stored with respect to that origin. The CPlanes - construction planes - are just aids to make it easier to actually create that geometry, and it makes sense to place their origins where they are most helpful. AFAIK geometry doesn’t have any memory of the CPlane used to create itself.

Hi Steve,

I don’t know if this is apropos to your case.

My 2 cents…
Skip trying to use the scan to model on top of.
Bring the scan into rhino and do print screens of your views.
Scale the images in the appropriate viewports/cplanes to a few basic measurements you take off the scan.

Leave the scan in rhino to check your modeling against but turn it off to model and use the images.
Keep things basic and try to find plans that have dimensions or using the scan take measures and decide for yourself.

Notate and dimension your concepts. Keep notes in the notes area of rhino this way you have a log of your thoughts and measures.

The reason I say this is that using custom cplanes at angles is going to run into trouble downstream. All sorts of operations are going to fail or become really time consuming and difficult. The originals are done from ortho plans and then massaged in each machine shop that makes that part.

In the scan everything is going to be different to some degree and your working against yourself. At some point even the bolts will be different sizes slightly when in concept they are a standard size, and nothing will be ortho really; it will all be slightly off.

Notice in the Gaudi Sagrada scan post they created a conceptual model and a scanned model. Both have their uses. If you are modeling for small scale models you might have to conceptualize at some point.


Unless a photo is of a flat surface and either taken exactly normal to the surface or corrected for tilt there will be distortion due to depth.

When modeling boats from scans I use the scanned model and set Cplanes and views as needed.

Depending on the object not all ortho plans of components are aligned to the world axis system. For instance 2WD tractor front wheels typically have built in camber with the top of the wheel tilted out. The wheels, spindle, etc are designed using a tilted coordinate system and drawing of the spindle, etc would have been drawn using that tilted system. The same situation exists for steering columns, etc.

Why? One of the features of Rhino is the ability to use custom Cplanes which are not parallel to the world coordinate system.

Hi @davidcockey
That’s just my take on it that’s why I said my 2 cents. Of course you’re welcome to make things as painful as you need or the job demands.
My experience tells me that depending on the job it’s best to simplify things whenever possible.
I do custom cplanes at angles etc and I find that approach error prone unless you totally need to do it. I would rather model the part ortho and then rotate it into place with history it makes life so much easier.
Unless one is really advanced in their field modeling from scans can be really difficult especially if their bad or low res scans.

Having set it to Standard Cplane in properties as per Kev R
Just what are the steps I need to take to achieve the following ?
Perspective view has Cplane set to cambered front nearside wheel and origin became wheel centre. so thats ok.

I also need the Cplanes in ortho to relate to the angled wheel, they haven’t moved.
How do I get those also to relate to that wheel, with origin in wheel centre , as I prefer to have origin at same place on model in all views.

the end result would be as per this mockup :-

This is then the same views as my initial layout top is top, front is front etc. Just with the cplane tilted for the front wheel and origin in wheel centre, centre being useful for modelling as most might agree.

What are the steps to achieve this.

here is the original file to play with.
crude tractor.3dm (149.1 KB)

A video would be great, or a storyboard. or good text.



  • make sure you understood the difference between world and cplane coordinates.
  • _4View
  • set the 3 orthografic views to perspective:
    click on the view-name at upper left → menu → set view perspective
  • now set the cplane in all 3 views.
  • save the 4 cplanes in the _namedCplane panel as backup
  • klick in each viewport to make it active / focus,
    _plan to get back an orthographic view
  • save the views one after another in _namedViews

hope that helps, kind regards -tom

Here’s a step-by-step to set up your CPlanes and views the way you want.

Edit: posted an updated version of this below.

  1. _4View → _4View
  2. click in perspective viewport
  3. _Cplane → Object → click on your tractor wheel
  4. _CopyCPlaneToAll → click in perspective viewport
  5. click in top viewport
  6. _CPlane → Rotate → X → -90
  7. _CPlane → Rotate → Z → 90
  8. _Plan
  9. click in front veiwport
  10. _CPlane → Rotate → Y → 90
  11. _Plan
  12. click in right viewport
  13. _Cplane → Rotate → Y → 180
  14. _Plan

Note: In the sequence above, replace symbols with space or enter

This is what my viewports look like after this sequence:

The way Rhino autocompletes commands, you can enter these commands fairly quickly. For example, to rotate the active CPlane 90 degrees on the X axis enter:


If you save the CPlanes you’ve set up for each view, you can reload them at any time and reset the view with the _Plan command.


Tom, I have carefully followed your steps and here is the storyboard to prove it, reads from the top downward.
what I ended up with was not as per my mockup, but top was now front of tractor but tractor fallen over !, front was the left side as was right also the left side. Original perspective window which you didnt have me change was still not ‘mapped’ to wheel at all . Also the origin for what used to be top view, started at wheel centre after set Cplane to object was done but somehow changed, and as you can see it was nothing i did as that storyboard is every step captured !

If I clicked view front I then lose the Cplane so that didnt bring my front back either.

I then tried cplane former Front and got the front but no grid. try again for top and nothing happened.

Now could other folk follow Toms steps as I did and let me know if the outcome was the same ?
the rhino file crudetractor.3dm is earlier in the thread.

Here is what I got as a rhino file, after trying to get front back.
crude tractor uses Tom method for front nearside wheel try to get front and top as before.3dm (144.8 KB)

I see whilst doing this, Kev R has come up with a method.

I will try and follow that now.

I just wish one click of the wheel would make all views go like my mockup. I am sure others new to Rhino would expect that to happen as well.

Cplanes absolutely put the fear of god into me, not intuitive at all.

As my mockup is what folk would expect, some basic video out there on how to get this in as few steps as poss to those starting out with Rhino, would be most welcome to all, dare I speak for all ? …who’s brains work in a ‘what we would like and expect’ mode. Not all views madly changing, and even origins jumping about.


Looked at this further, and instead of trying to set up these CPlanes by using rotations of existing CPlanes it’s much easier to do it using the 3 Point option of the _CPlane command.

I will use the Perspective viewport to set-up and save all the CPlanes and then apply them to the other views.

First reset the Viewports and CPlanes:


Next, set the CPlane in the Perspective viewport using the Object option:

_Cplanespaceospaceclick front wheel

Now the CPlane in the the Perspective viewport should have it’s origin at the center of the front wheel, it’s X-Axis should be oriented towards the front of the wheel, and it’s Y-axis should be oriented towards the top of the wheel as shown here:

Note: I’m using an X-Ray display mode here with increased transparency to be able to better visualize the CPlane axis indicators.

This CPlane matches the orientation in the Perspective viewport in your “desired outcome” screenshot, so save it in the Named CPlanes panel with the name F-L_Wheel_Persp-View.

Now to set up the CPlane for the Top viewport we’ll be using the Center OSnap, Ortho mode, and Elevator Mode.

Elevator Mode may seem a bit tricky at first if you haven’t used it before, but it’s pretty easy once you’ve used it a few times. You start setting a point in Elevator Mode by positioning the mouse cursor at the point on the CPlane that is above (or below) where you want to place your point and making a control-click (Windows) or command-click (MacOS). You’ll then get the Elevator Mode indicator and you can position the mouse pointer above or below your anchor point and click to set your point.

Make sure the Center Osnap is active, I won’t be using any other OSnaps during this process.

Enable Ortho mode by clicking it in the status bar or by typing:

Start the CPlane command using the 3 Point option by typing:

At the prompt for CPlane Origin, move the mouse pointer near the edge of the wheel until the Center Osnap activates and then click.

At the prompt for X-Axis Direction you’ll need to use Elevator Mode to place a point above the current CPlane. Move the mouse near the edge of the wheel until the Center Osnap activates then control-click (Windows) or command-click (MacOS) this will activate Elevator Mode. Position the mouse cursor at the outside of the wheel and you should see the red X-Axis indicator extending outward from the wheel. Move the mouse a short distance from the wheel and click to orient the X-Axis.

At the prompt for Y-Axis Direction, move the mouse pointer towards the back of the front wheel until the green Y-Axis indicator is oriented towards the back wheel and click.

The Perspective Viewport should now look like this:

Don’t worry if your result doesn’t match this the first time. You can restore the previous CPlane by double-clicking the saved CPlane named F-L_Wheel_Persp-view in the Named CPlanes panel and then try again.

When your view matches the picture above, save it with the name F-L_Wheel_Top-View in the Named CPlanes panel.

Now setting up the Front view CPlane, start the CPlane command using the 3 Point option by typing:

At the prompt for CPlane Origin, move the mouse pointer near the edge of the wheel until the Center Osnap activates and then click.

At the prompt for X-Axis Direction position the mouse pointer at the outside of the wheel until the red X-Axis indicator is pointing outward then click.

At the prompt for Y-Axis Direction position the mouse pointer above the wheel until the green Y-Axis indicator is point upwards and click.

The viewport should now look like this:

Save this CPlane in the Named CPlanes panel with the name F-L_Wheel_Front-View

Now to set up the Right view CPlane start the _CPlane command using the 3 Point option by typing:

At the prompt for CPlane Origin, move the mouse pointer near the edge of the wheel until the Center Osnap activates and then click.

At the prompt for X-Axis Direction position the mouse pointer at the rear of the wheel until the red X-Axis indicator is pointing towards the back wheel and click.

At the Y-Axis prompt, position the mouse above the wheel until the green Y-Axis indicator is pointing upward and click.

The viewport should now look like this:

Save this CPlane in the Named CPlanes panel with the name F-L_Wheel_Right-View

Now you can activate the saved CPlanes by dragging them from the Named CPlanes panel and dropping them in the corresponding viewports (or you can double-click each of the names of the custom CPlanes in the Saved CPlanes panel while the corresponding viewport is active).

You should also run the _Plan command while each of the Top, Front, and Right viewports are active to insure the views are aligned with the newly activated CPlanes.

The end result showing all viewports should look like this:

You can enable the display of the blue CPlane Z-Axis indicator by going to OptionsDisplay ModesShadedGridAdvanced grid settings and enabling Show Z-axis (or enabling this option for whatever display mode you’re using).

Seems like a long post, but if you work though this you’ll see that it isn’t too difficult or time consuming - you’ll get pretty fast at it after you do it a few times.

I’ve read though this a few times - if I’ve missed any typos or something doesn’t seem to work let me know and I’ll try to sort it out.

Here’s the updated file:
crude tractor_re_v5.3dm (119.5 KB)

Edit #1: Small change in wording to clarify.

Edit #2: Noticed that when I was creating the CPlane for the right view, I had clicked the center Osnap for the inside of the wheel instead of the outside (updated screen shot and 3dm file). Lesson learned - tumble model around to visually double check from multiple angles (especially if you’re doing this late at night).

Also worth noting that after defining the initial CPlane by using the Object option of the _CPlane command. When defining the CPlanes for the other views using the 3 Point option, at the first prompt (for CPlane Origin) you can just enter 0space since the origin is staying the same (probably less error prone).


MANY Thanks Kev R. FANTASTIC and really grateful, (will try it)
I will follow that and see what happens.
I still say, speaking out to all, and McNeel, that its unsettling and frustrating that its not possible in a click or two to get ones views looking like my mockup as beginners would expect. applying Cplane to the camber wheel and expecting other views to show that as well, in a couple of clicks.

I see with universal all views change, and with standard each view has to be changed one at a time.
Probably why I had Universal running, and just now on another job I found I wanted universal and that instant change to all views. My idea of a script and button to initiate would be good if we need to stay with standard to get this to work.

These steps are one of those one will need to recall, by printing them off and sticking them on the wall somewhere !

Could there be a script that does this, prompting each next stage with some text saying what to do next ? make a button for it, get it added into V5,6 and 7 ?


While looking into the possibilities of scripting this, I caught an error in the file I uploaded in my previous post (corrected and re-uploaded).

So far I’ve only created a very simple python script to display the properties of the saved CPlanes but it looks like it shouldn’t be too difficult to use one Cplane to derive the CPlanes for all the other views and save them.

This is the output from the script using the 3dm file I uploaded in my previous post:

As you can see from the output, the different views just have the axes flipped and/or reversed. If you have defined the CPlane for one view then the others can be calculated.

Here’s the python code to display the properties of the saved CPlanes if you’re interested:

Python Code
import Rhino

for pl in Rhino.RhinoDoc.ActiveDoc.NamedConstructionPlanes:
    print("Name: {0}".format(pl.Name))
    print("\tOrigin: {0:f6}".format(pl.Plane.Origin))
    print("\tX-Axis: {0:f6}".format(pl.Plane.XAxis))
    print("\tY-Axis: {0:f6}".format(pl.Plane.YAxis))
    print("\tZ-Axis: {0:f6}".format(pl.Plane.ZAxis))


Did you check the setting universal vs standard cplane ?
Screenshot 2021-12-04 at 13.39.38

I am knowing how to make a button and add in a .py code, addressing it to where the code lives on my D drive.

If I make a button, how do I use that text that appears in your python code link ?

I have never taken text, always just downloaded a .py file from Pascal etc.

Once that text is the .py code in the button, will it be that I click the button and it takes me through the steps to get the view you and I post ?

This is a very significant Cplane command, useful to not just me. Wish I had had it since day 1.
needs to be available to all, Food4Rhino for example, or just added to Rhino upgrade.

Tom, I have it set to standard, were you aiming your question at me or Kev ?



Info here to set up running scripts from buttons:

Here is a python file for the little script posted above: (442 Bytes)

Also wanted to tell you that I noticed today that the hotkeys for the _CPlane command have changed from V5 to V7.

In the instructions I posted above, I wrote that to run the _CPlane command with the 3 Point> option to type:

This works for V7 but for V5 you will need to type:

I’ve also written a python script to save Named CPlans and Named Views. (3.4 KB)

To use this script you need to define the CPlane for the top view of your desired coordinate system, save it in the Named CPlanes panel with a name that ends with "_top" (for example, name it “tractor_top”). Then run the script and it will create and save the other 5 Named Cplanes and 6 Named Views for your coordinate system.

Also worth noting, enabling Universal Construction Planes under OptionsModeling AidsSnaps automates part of this (I think that is why @Tom_P posted this info.). With this option set you can set the correct CPlane in the viewport for one of the standard views and it will create the CPlane in the other 2 standard views and swich them to a Plan view (looking down the Z-Axis). I don’t like having my views switch every time I define a CPlane so I keep this option set to Standard Construction Planes.

You can also get this same behavior by setting up a CPlane in one of the standard views and runnning the SynchronizeCPlanes command. In V7 if you select the Set View option it will update the standard views. In V5 the Set View option isn’t there but it always updates the views (so I guess you just cant set the CPlanes without also setting the Views).


Kevin, (late getting back to this,) thank you for this, I must take a day out of life and create the button, and do all this.
Your screen shot of the result is what I wanted.
There is a lot there to take in.
Can the button make the Cplane standard or universal, whichever is neeeded to achieve this result, then allow user to set the Cplane in perspective view and the other views all become what I require.
All these options you then mention of synch planes, set view etc are clouding my brain a bit, easily done !

If you wish to summary this and show my original tractor, then the click of the button and the result, then the return to the default view, please do so.

to then have the script for the button , make one, and have that available would be great.

I need to turn win7 into win 10, install v7 then have that day.

I have just come across the need to place Cplane on an item I am desperately trying to finish so I can start the win 10 move, and needing to do so quickly, I will cheat and rotate the item and save it as a file just for the layout view !
That will be my wish since day 1 of Rhino come true. In fact anyone would wish for that, so all users would be happy I presume.
If your coding does all that, thank you in advance. Itching to make that button !

I need to try it to see what happens, in v7.

With 1.1k views clearly a lot of folk need this !