Construction Planes & Views

Hi all, Now days I view myself as an intermediate level Rhino user but the one thing I have never got my head around is construction planes and viewing angles even though I have seen most of the videos on it. In normal situations I rarely have problems but lately I’ve been using a digisizing arm to import the control points and it always goes badly as far as the construction planes and viewing angles go. Once I get the correct methodology I’ll be right but presently I waste hours if not days trying to get the views and planes to line up. Once I have my coordinates inside Rhino my method at present is as follows: Regardless of how complex the shape is I always digitise a rectangle (polygon actually) on the surface of the object as this gives me a reference to set my Cplane to. First I use “Planarize curve” on the rectangle then “set Cplane to object OR to 3 points” then “view normal to Cplane”. As you can see in the attached screen shots, the Cplane and viewing angle in perspective is normal (other than the Z axis pointing downwards instead of up. (A) Anyone know how to fix this?). (B) The top & right views are normal but the front view has the sketch on an angle (i.e. not flat as per the right view). What caused this and how do I correct it? © In the second shot which is Top View with a true rectangle, you’ll notice that the drawing sits on the screen on an angle yet “analyse” claims it is horizontal (0degrees) and also look at the XYZ thingy (coordinate triad?) at bottom left which is square to the screen. What’s wrong and how do I correct this? (D) Although you don’t see it here, most times I get the origin point correct in one view (bottom corner of the rectangle) but in other views the origin is nowhere near the rectangle. How do I correct this? Thanks in advance for your help.

Hi , sounds like you are self-taught. Anyway, I hope you get some great support here. I want to learn digitizing. This could help. Digital-Tutors has a learning video for a membership fee you can look at from a man named Josh Lobel. He goes through a whole series on setting up construction planes . It could be of use.
Myself, I. Dont have anything to help. I. Am going to watch this thread in hopes to learn something. Good luck, Mark

Hi Phillip- you can set CPlanes to ‘Universal’ in Options > Modeling aids page and see if that works better for you. To reorient a cplne that has the Z ‘upsidedown’ use CPlane > Rotate > X or Y , 180. To ensure that a three point plane goes the way you like, pay attention to the placement of the the third points - after you set origin and X, the Y will deterrnine the + Z direction.


Hi Mark, yes I am self taught but I think maybe you are misunderstanding my questions. For normal drawing I never have a problem with Cplanes, mobile construction planes, project to Cplane, etc. but once you start using a digitizing arm everything you know goes out the window because you are trying to use en external reference and make everything (cplanes, views, etc) line up to that ext. reference. I use SolidWorks all day every day for industrial design so it’s not that I don’t understand Cplanes or Views in general but when coupled with a digitizing arm, it’s another matter altogether. Thanks for your suggestion re Josh Lobel videos.

Hi Pascal, thanks for your help and advice. I shall try setting the Cplanes to Universal in the next day or two. Also, as I mentioned above, I do a reference rectangle on the surface of the object being digitized and I use this to set my Cplane to but first I must get all four points in the same plane (they’re close but being from the real world, only a triangle can have a flat plane). Anyway, I was using the Planarize Curves command but noticed that it wasn’t working so instead I set my “Cplane to object” (gets me close) then I used SetPt then “set Cplane to object” again now that all 4 points are on plane.

Hi Phillip, I can ask someone about your inquiry. I can see what his method is.
If I Understand correctly, it is orienting the object(s) that have been digitized to the existing drawing views ( top, right,front, etc.) Sounds like 2 precsion instruments fighting each other.Does a person need to find the commonality between the 2 instruments being used?
I’ll send another. Reply on Monday if all goes well .

Thanks Mark. I use and like Rhino because of what it can do but separately from that, Rhino is about the only CAD program that will accept direct input from a digitising arm whereas other require an expensive ($3k minimum) plug-in. The problem is that very few people out there have experience of running an arm under Rhino. What I need to know specifically is the exact steps one takes from the moment after connecting an arm up until the point of digitising the shape. i.e. I have no problem digitising the shapes in 3D space but it’s what happens before that point that doesn’t go well.

Hi Phillip

I have to say that I think I don’t understand Rhino’s CPlanes/CoordinateSystems enough
… but I’d like to understand your problem a little more … Sounds interesting to me.

May I ask what is the purpose of that rectangle/CPlane ?
Does it represent a particular reference on the digitized object ?


Hmm- not sure why PlanarizeCurve would fail- it’s not a Rhino command but a script that I wrote and as far as I can see it works fine on a non planar polyline. What happens, anything?


Sorry Pascal but I shouldn’t have said that and particularly here in the Rhino Forum as your script works perfectly. The problem was the operator (me) :smile: When running the script I left it on the default “Fix end points, YES” instead of choosing “No” as I didn’t know what it was referring to. I tried it just now doing that way and it works perfectly. Just in case you’re interested, I’m just about to upload a temporary file to explain to Emilio my process/methodology. Once again, thanks for your help.

Hi Emilio and others,
Here is the file from this job in case you want to see what I do. It’s from the bottom of a 6 cylinder engine and before any car guy asks, I don’t give away my work if I can help it so please don’t ask what type of engine it is and if you do recognise it, out of respect please don’t identify it here. So as mentioned I’m using a digitizing arm and in this case I was using a 6mm ruby tip (at the end that does the measuring) so anything here will be 3mm (i.e. radius of the 6mm tip) away from the true 3D coordinate. Layer 1 (D6surface) is that (almost) rectangle I was referring to. I take 4 points on the extremities of the face I’m digitizing (in this case the underside of the block where the sump (“carter” for you) attaches to). This gives me a reference in 3D space to the main plane I want to draw on, however, it is only inside a CAD program that 4 or more points can form a plane. The digitizing arm might input the 4 points and only have a maximum variation of only 0.002mm but, they need to be planarized to form a plane. Once this is done I set my Cplane to this via “Set Cplane to object” (or to 3 Points).

Now I go around and digitize the external and internal shapes (see D6IntExt layer) and the holes (D6Holes layer). For the holes ( I hope I can explain it ok to you) I have to digitise the inside of each hole but making a triangle with the digitiser. Next I project those 2 layers to the Cplane (see “projected” layer) then in the case of the triangles I use “circle with 3 points” to make the circle reference. When I first started doing this I used to select “circle by 3 points” during the digitising stage but this produces bad results because I’m physically holding the digitizing arm therefore the Z axis (height) is not constant so the circle weren’t exactly where they were supposed to be. Next I offset everything by 3mm (tip offset) and this is the “corrected” layer. Even though digitising arms are precision instruments, they all give a very small amount of variation in the readings and secondly a machine machined that block in the first place so that’s no perfect either. Luckily, when people design things they generally use round figures and symmetry where possible so then you must see what was the “designers intent” and so on the “MasterReference” layer is the true centre line and the true guide lines and correct circle sizes (i.e. a 6mm bolt requires a 5mm hole for tapping), etc. The last layer is “Actual” which is the finished product that I have to make.

When I started this file I didn’t know anyone would be looking at it and the only thing that matters to me is the end result in the “Actual” layer so there may be one or two things that are not on the correct layers and maybe a line or 2 that I deleted from the process. I just wish that I could have been able to see a document like this when I started digitising as “how to” information on digitising was and is very, very scarce.ForumTemp.3dm (2.6 MB)

Thank you Phillip for the file and the clear explanation !

I don’t know if the coord system used by the digitizer arm has a particular meaning,
anyway I would ask:
Is there a reason why you cannot place the reference rectangle on the WorldXY CPlane ?
I mean moving anything by, say, Orient3Pt or maybe RemapCPlane (which command I never use, so I’m just guessing here)
That way you could use the ‘regular’ views without having to worry about custom CPlanes and views.

But obviously you may have to stick to the arm coordinates for some reason …

Hi Emilio, Thank you for your interest. Unfortunately I don’t have my arm connected at this moment but will try to connect it in the next day or so as soon as I get a spare moment. This way I can tell you exactly what the procedure is for getting it up and running in Rhino. (I just do it somewhat automatically each time but I can’t recite the exact steps required). What you are saying makes sense to me and I’m going to try it out. My understanding of it all is that the arm and its software (WinRDS) outputs XYZ coordinates and Rhino translates this to its own plane system (Cplane, world plane or whatever). I am certainly convinced that both the arm and Rhino are more than capable and that the problem is just that I need to spend more time to get my methodology right. As I said in an earlier post, once I get my procedure right it I’ll just need to follow that method each time. I’ll get back to you in the next day or so and let you know what happened. Thanks again. Ciao

Hi Phillip -I could well be missing the point of your queries but It seems to me establishing a true (3Pt) plane relative to your real-world objects would be the starting point - Not necessarily on the object; for instance, three points on the bench or fixture to which the object is attached (?) during digtizing. Match these axes up to Rhino World origin and axes , then go ahead and take all the points you need, they should all turn up in in the right locations. Once this is done you can work with the data as needed- set Cplanes and save them, etc. project points, planarize etc.

BTW, one useful method for obtain a plane from not quite planar data is to use PlaneThroughPts on the digitized points- this will add a ‘best fit plane’ from those points and you can set a CPlane to the object (plane).


Don’t worry, Phillip. I don’t use digitizing arms and, as you might have guessed, I know nothing about them … :wink:
Pascal’s advice will be much more useful here.
My interest is only about using different coordinate systems, moving object from one system to another … and finding ways to use custom views, in Rhino.
But I haven’t been able to do much about that so far … so I keep doing things the way I’ve been telling you before: I move objects to the World system as much as I can … :wink:
Than you for replying, ciao.

There is a bit of confusion happening in this post and I didn’t have my arm set up to be able to quote the initial procedure step by step so here is. (I realise Pascal that you’re are already familiar with this bit but it’s for the sake of others): Connect arm then it asks for an origin point which I input with the arm, either on the surface of the object being digitised if it has a flat surface and if not I just use the work bench top). Then it asks for X & Y directions, then “Enter origin in Rhino (press Enter to use World origin)” so I press “enter”.
“It seems to me establishing a true (3Pt) plane relative to your real-world objects would be the starting point” That’s what I thought I was doing with the above procedure which I have always done first, as asked for by Rhino.
However, I have then been digitising a rectangle like shape on the surface of the object to represent that surface. My original questions explain why I do this. I go into top view and use project to plane, and quite often the projected points are visually not in line with the points they were projected from (when looking from above). I wrongly took this to mean that I didn’t have my Cplane set up correctly but in hind sight I think it simply means that the top view isn’t or wasn’t normal to the Cplane. There is “View” > “plan view of Cplane” but why wasn’t it normal to the Cplane in the first place?
As per my original screenshots, if you look at the right view, the lines are all bunched up together as expected In that view and front view and yet the front view shows quite a bit of variation in height, once again suggesting that the viewing angle is off by a bit. Why, what did I do to cause this? How do I correct it? I’m not at all saying SolidWorks is better than Rhino but if you hit the plan view in SW, you know that it is normal to the plane with no chance of it being off.
Pascal, I haven’t tried PlaneThroughPts but will do and thanks for the advice.

Hi Phillip, I didnt find out as much as was expecting in asking a co-worker at work.
I am hoping to get into digitzing soon, so maybe I will be able to relate to your situation . Thanks for sharing what your experience has learned at this time.

I’m missing something here … what do you do to define X and Y directions ?
Do you input two points with the arm ?


i´m working with two different microscibe digitizers, one with microscan attached. When digitizig points with the arms, the calibration routine is crucial for the accuracy. One thing which helps do minimize deviation is to pick the origin and axes with the digitizer from a milled plate which holds these 3 points as conic holes (depth as small as possible) whereas the x and y coordinate is defined with a fixed distance. eg 50cm. The larger this distance is, the better the results.

It also helps to use a standart conic tip instead of the ball probe. Then after picking the 3 points, you enter the origin (0) and the xy points using the same distances picked from the commandline, eg. 50,0,0 (X) and 0,50,0 (Y). After this process, you can quickly see if the calibration was good by moving the digitizer somewhere in the xy range but at z-level = zero. If i see in a side view that the picked point, which should be on the plate, is off, i just repeat the calibration.


Phillip, I tried what Pascal said: setting the CPlane to Universal in your file.
Now the views look OK to me.
One more thing to notice:
I had to first set the CPlane to Universal and then define the CPlane by 3 points (taken from the digitized rectangle) to be able to see the updated views.

HTH, ciao