2D versus 3D questions and answers
Posted by Jason Poitras on 31 March 2016 12:08 PM
A high percentage of my technical support phone calls have to do with the topic of 2 Dimensional vs. 3 Dimensional linework. Many clients do not realize that they are drawing 3D linework when in fact all they want is 2D linework. How do we know when we are drawing 2D vs. 3D? The answer is simple.
2D linework is achieved in a couple of ways. When you are working in COGO and you enter any direction and distance, the lines you draw are in 2D (even if the points have elevations on them), which means their elevations are set to zero. By inversing between two points in COGO by typing POINT#..POINT# you are drawing lines between the points in 2D. If you bring in a file from a data collector or manually enter a traverse, the lines generated by inversing, will be in 2D. In short, most survey commands used will generate 2D linework even if there are elevations on the points.
The CAD commands such as Line and Polyline will also, by default, draw 2D linework. By simply picking locations on screen you are defaulting to a zero elevation for each pick. However, if you use any of the Object Snaps, such as Point, End, and Int, you may in fact be drawing in 3D because the objects that you are accurately picking may have elevations assigned to them thereby making them and your linework 3D.
If you have many 3D points in your job that you need to join with 2D linework, and the COGO method of inversing between each set of points would be a long drawn out process, then you need an alternative command. You need a command that will create 2D linework but allow you to visually pick each of the points, using the object snaps to maintain accuracy. We have one.
Under the MicroSurvey menu go to -> Points / Lines / Curves -> and then choose the command Lines by Inversing (Dot to Dot). This command allows you to do one of 3 different types of input. First, it allows you to type the letter N and then after pressing enter you can enter the point number you need to draw to/from. Not always convenient, but available. Second, you can pick the RANGE option and connect a series of points by entering the points in a POINT#..POINT# methodology. Again, not always suitable if the points are not numbered sequentially. Lastly, and perhaps the most useful for most circumstances. Set your object snap setting to the POINT option before starting this command (you can set this by typing the command SETTINGS and then pick the OBJECT SNAP tab and then picking the POINT snap). Then while running this command, pick each coordinate visually, one after another, by placing your crosshair, with the little pick box, over each point on the screen and picking with the left mouse button. The POINT object snap ensures you are grabbing the actual point but the routine is ensuring that the elevations are set to zero for the linework you are drawing. The original points are not touched and remain in 3D while your new linework is in 2D.
Another way to draw a line between two 3D points without having to use a survey related command is also available. This method uses XY filters to strip off the elevation and create 2D linework. First you need to place the OSNAP palette on the screen to make things easier. You can do this by going to the File menu and go to -> Palette Manager. This brings up a dialogue box showing all the palettes that come with the CAD portion of the program. The first one on the list is Object Snap, Precision Modes, Settings. Highlight it by picking it and then select one of the unused palettes down below - 1 through 10. It does not matter which one you select. Then Close the dialogue box. Now you can move the palette to a location on the screen that will be good for you.
Now start the Line command, pick the Point Object snap and then pick the XY filter. Both are on this palette. Now you can go and pick the point you wish to draw from. The slight hitch is that you must actually select the same point twice in a row - first pick actually grabs only the X coordinate - the second pick grabs the Y coordinate. Now that you have picked the point twice, it now has the 2D location and then you can repeat the process for the next point. Unfortunately you do have to pick the XY filter for each point you wish to draw but you can help speed things up by turning the Point Object Snap on permanently rather than having to pick it as well for each point you connect to. (method mentioned above) This procedure may be a little longer in some ways but can give you more freedom in others and will always draw in 2D because of the filters. There is also an XYZ filter but you would have to either enter an elevation each time or pick an object that has a zero elevation.
If you have already connected a whole series of points using the Line or Polyline commands and you used the POINT object snap to ensure you maintained accuracy, you have still drawn all the linework in 3D.
Why all the controversy over 2D vs. 3D? Simply put, while you are working in a drawing you may run into many obstacles while trying to edit 3D linework. 3D linework can not be easily TRIMMED, EXPANDED, FILLETED, CHAMFERED, INTERSECTED, OFFSET, and many other critical options. Unless all the linework is at the same elevation, the commands either will not work or you will not obtain the results you desire.
How do I convert my 3D linework to 2D? Normally you would think this is not possible without redrawing the linework BUT, under the Modelling menu go to -> Utilities -> and then Polyline Utilities, there is a command MAKE 2D POLY that can help you. This command is a life saver for some. It allows you to take any 3D line and project it down to the elevation of your choice (normally zero), and create a 2D polyline. This polyline can be worked on by any of the above listed commands. End of story? Not quite - the original 3D line is still in the drawing and may cause some problems so be sure to either erase it or perhaps change it to a different layer so you can freeze it. Selecting this 3D line may be difficult unless you change your viewpoint to a 3D viewpoint. This can be done by going to the View Menu -> and picking the 3Dview command -> and then picking one of the views available. Once in this 3D view you should be able to see the difference between the 2D polyline you just created and the original 3D linework, making it easy to select the 3D linework. When you are finished in the 3Dview simply type the command PLAN and press enter twice. You will now be back to your normal view.
SCALEZ, A unique use of one of the Modelling commands seems to offer the best and a simple way to convert 3D lines to 2D lines. Modelling menu -> Utilities -> Elevation Utilities and pick the command -> SCALEZ. Select the 3D objects then when asked for a Scale factor type in the number ZERO. Amazingly enough the routine does not crash (I thought it would because we are scaling by 0) and the elevations all change to zero. It is fast, painless and will save you many ‚ hours of pulling your hair out!
If you have a line already horizontal but not at elevation zero you can simply use the move command to change it to elevation zero. Move, select objects. Base Point: you type in 0,0,0. Second point of displacement: you type in 0,0,then the amount to move the object in the Z direction (example: 0,0,0 to 0,0,-10 this would move the line down in elevation by 10 units).
A method of converting 2D inversed lines to 3D, or 3D lines drawn between survey points to 2D has now been added to the program.
Go under the MicroSurvey Menu -> Points/Lines/Curves and there are 2 commands: Convert 2D Lines to 3D, and Convert 3D Lines to 2D.
Convert 2D Lines to 3D: works on lines that were originally inversed between two survey points, and the line was drawn at zero elevation.‚ The line is then converted (not copied) to 3D using the elevations on the points at the two ends.‚ It remains in the database as an inversed line.‚ This is great for taking inversed lines and making them usable for breaklines (which must be 3D).
Convert 3D Lines to 2D: works on lines that were simply drawn, using object snaps, in full 3D.‚ It converts the line to 2D but does not add it to the inverse database.‚ This is great for taking 3D lines and making then 2D so other CAD editing commands will work on them correctly.‚ Once a 3D line has been converted to 2D, it can not be switched back to 3D unless you erase it and re-inverse the line first.
Another way to change the elevation of a horizontal line not at zero elevation would be to go to the Modelling menu -> Utilities -> Elevation Utilities and pick the command -> Change Z Of Entity. This command is nice because it allows you to pick another object to match the elevation to or press enter and then type in the elevation yourself. Great routine BUT if the line you are changing is drawn in 3D with both ends being different elevations then it will only set one end of the line to the elevation you select. The other end will still be in 3D at the original slope from the first point. So this only works for horizontal lines not already at elevation zero.
The most important thing I can say is make sure you know if you are drawing in 2D or 3D and to use the correct commands to obtain what you want. Just because you used to be able to simply draw in another program and things there defaulted to 2D all the time does not mean that we do the same. We sometimes need 3D linework to help us define Breaklines for TIN's, Grids and Contours. MicroSurvey. is giving you the best of each world and making life as easy as possible while doing so, without sacrificing any power or flexibility.
Glen W. Cameron, C.E.T.
Technical Support Manager
Created on: April 8, 1998