3D Tools: Operation and Examples
If you have ArcView 3.1 and above, the following section will show you how to digitize and work with Z and M files.
Review the Tools.
These are the tools for 'Z' and 'M' digitizing, a tool for rapid deletion of records, and an editing tool that works on both Z/M and 2D files. This is a pull down on the right side of the toolbar.
The first tool from the top is for digitizing Z or M points. It operates just like the point draw tool. Click on the screen or digitizing table, and the following box pops up.
In it you enter the Z or elevation value (or M value) of the point. And if you are doing M files, you need to enter the M rather than the default Z on the second line. A red point is drawn (tagged with this information). It will know where to go and what form to be when it is written to a shapefile.
The second tool, 'Set Z Value', gives all the nodes in any graphic a Z or M value in the same way as above.
By digitizing individual points you can give each node a unique Z or M value. Whereas, if you give a non point type graphic a Z or M value, all the nodes in that graphic have the same value.
The third tool, allows you to click on a feature, and edit it via a graphic that appears. The graphic is edited as if it were an editable feature. In this case this graphic is tagged so that if it is saved with the 'Save Preview to File' function, it will return to its original record in the edited form.
If you wish to edit the Z or M values of a node, you would first run 'explode to points' (make the graphic active). These will be tagged so that when they are reassembled the tag remains. To edit a node simply click onto it with the 'Set Z Value' tool, and enter the new value. You may use this to see the current value. When finished, make the points active and reassemble them into the same type of shape you started with.
Be careful when you set the Z/M value of a node. The node is shown as a red point placed over the feature from which it came. You must click on this, and not the feature. Your mouse may accidentally choose the feature instead. You can tell the difference because the dialog box for the node does not have a place for setting Z or M values, as does the box for the feature. It has only one entry box. Cancel out if you see the Z or M option.
This edit tool is intended primarily for shapefiles containing Z or M features, but can be used on any shapefile.
The fourth tool is dangerous. It is a fast and dumb tool that removes records just by selecting them, either by point-click or pulling a rectangle over them. You must turn it on by going to the 3Dimension menu and clicking the 'Fast Delete On' toggle.
If you click on a feature with this tool they are gone with no recovery. That is, edits are immediately written to disk. So always make a back up before you use this tool. <
There is a hidden operation when digitizing Z or M points. If you have one Z or M shapefile active, (of any type), and if the Z or M points are NOT active, they will be automatically converted to the type of feature in the shapefile, and added as a new record.
Digitize a few Z points to see how this works. First we will need a Z shapefile to write them to. Click the 'Create Data Table' button, and select PolylineZ from the options. A new Z shapefile will be made, and you may add fields if you wish. Make it active with all the others inactive.
Although you have an active PolylineZ file, you are going to draw points. More precisely, you are going to draw nodes in a polyline with a different Z value for each.
Select the tool, and draw a point on the screen, you will see nothing at first. Enter Z data, and click OK. The red point will now show. Draw a second point, enter Z data, and so on. Draw only in sequence. You will see a series of red points none of which are active.
Click 'Save Previews to File'. The points will be converted to a polylineZ feature and written as a record to the shapefile.
If you had made the points active by pressing F8, the operation would have defaulted to 'saving points' and would have asked you to make a new pointZ shapefile.
theEngine will distinguish between which file the shape belongs in and will not write a Z to an M, or either to a 2D file. Further it will list available appending files, for each type.
How do you know that the Z or M values are there? If you open 'Fix Things', under the 'Topology' menu, you will find a function that will list Z or M values for each node in one selected feature. Or even better, you can run 3D Extrude on a Z file to view it in 3D.
This set of commands allows you to flip any selected feature about an active line graphic.
It is used extensively in the 3D examples below. Combined with the copy, assemble, rotate, and drag functions, you should be able to mimic many CAD operations.
Using the tools and commands you have just learned, the following exercises will help you master them. If you don't do much editing or digitizing then skip this part.
Digitizing in CAD or GIS starts with a few basic elements and manipulates them in simple ways, hopefully to yield something complex. To begin with set your working space to 10000, 10000 at 12000,12000 with the eyglasses.
On the lower right you see a rectangle and a circle, the main elements in this design. To begin with you need to open a new but empty polygonZ shapefile, and make it active. Then you draw a single rectangle on the screen, and save it into the clipboard, (Ctrl C).
With the 'Set Z Value' tool, click on the rectangle and enter the first or bottom level, zero in this case, it will turn red. Press F8 to make it active and F9 to write it to the active polygonZ file. By the way, this is fast! One finger presses F8, and the next, F9, immediately after.
You probably figured that out already.
Remember, you are working in the coordinated zone 10000, 10000 to 12000, 12000, and you have drawn a rectangle about 1000 units wide. If you give elevation values every 100 units, you should be in the ball park for a reasonable Z component, relative to the width and height.
Press Ctrl V. This calls up the rectangle residing in the clipboard. Click with the 'Set ZValue' tool, give it a value of 100, it turns red, press F8, then F9. You now have a second record in the shapefile, but they are on top of each other.
Repeat . . . Ctrl V, click graphic, enter 200, F8, F9. And so forth until you get to 1000.
Do the same thing with the circles.
The next task is to rotate each rectangle 15 degrees. Remember that theEngine works on selected features, or if nothing is selected, on all.Here, you use the 'Rotate Feature Preview' function. Its operation is obvious, but you will get a graphics preview first. This you must save back with the 'Save Previews to File' function.
It is easier to rotate in 15 degree blocks, rather than each rectangle a multiple of 15 degrees.
To do this, open the table and select all but the first rectangle. Go back to the view. Draw a rotation point reference in the centre of the circle (save it into the clipboard). Rotate 15 degrees, and save. Return to the table and select all but the first two rectangles, rotate, save, and so on until your file looks like the upper left of the example.
So far you digitized in a 'planar' sense, where all nodes in a feature had the same Z value. Next you will digitize so each node has a different value. This is seen by referring to the handrail in the sketch.
You use the 'Z Digitizing' tool. You will need to make an empty polylineZ file.
Pick the tool, and click onto the lower left corner of the lowest rectangle, enter 300, the handrail elevation at this point. Work your way up the stairs to the end, adding 300 to each stair elevation. Run 'Save Previews to File', to get a polylineZ feature in the file.
The next part is interesting. You digitize something that you will not see, but will in fact, be a feature record in your shapefile. If you look at the sketch, you will see vertical lines in the 3D view.
Go back to the lowest stair, and with the 'Z Digitizing' tool place a point on the same place you did for the handrail, enter zero. Now place a second point on top of the last, and enter 300. Run Save Preview, and look at the table. The last record is the one vertical shape that you cannot see in plan view. Do the next 10 in the same way, entering the appropriate Z values for each stair.
To take a look at this, run 3D Extrude. If something is out, you can move it around later to fix it.
The sketch shows vertical lines around the circles that form a column.
Us the same vertical digitizing technique, but only do it once. The others are simply copies. Make a new polylineZ file as before.
Zoom into the circle. Place a point with the 'Z Digitizing' tool, enter zero, place one right on top of the last one, enter 1000. Run 'Save Previews to File', as always.
Go to the Extract/Cut menu, and run 'Selected Features-to-Graphics' and press F8 to make it active, you only have one. Save this to the clipboard.
With your standard pointer tool, pick the graphic, and move it to a new position on the circle perimeter, press F9. Call up the one saved in your clipboard, move it to a new place, and press F9. You can repeat this as much as you want to fill in the column so it looks nice.
Run '3D Extrude', making sure you have all three of your files active. You may have to adjust some of the graphics by bringing them to the front or back. If it looks ok, save it, other wise try another angle.
The next example, is a spiral road, and is very easy to do if you use a simple trick. The trick is important for a variety of 3D work.
To start, you 'Z' digitize the nodes along one edge (or the centre) of the road and save it as a polylineZ. You would then copy this line and move it so it becomes the other side of the road. Resize it to fit then save it back to the file.
The nodes in both records are parallel and carry the same elevation values.
Therefore, you should be able to assemble a polygonZ from this. All you would do is click both lines with the 'Feature-to-Graphics' tool, make them active and run the 'Assemble Graphics' function.
But that will not work because both lines are heading in the same direction, and to make them into a proper polygon, they should be running in opposite directions (so the points run in a continuous ring).
To fix this, you flip one of the line directions. To do this select the last line, run 'Fix Things' and click on 'Flip Line Direction'.
Now it will work, assembling and saving a polygon from this produces a PolygonZ.
In this next example, you make use of the 'Flip 2D or Z/M Left' and 'Flip 2D or Z/M Right' functions, and the 'Make Donuts Preview' command.
Although the details are not shown, the digitizing of the walls is very easy. You start with a few basic shapes, as you would in CAD, and simply copy, move, rotate, or flip into place.
If you digitize in 3D, vertical components cannot be seen, so you work in 2D first, then copy the elements to a 3D file.
Set some sort of reference as you did above. You could plot two points that represent corners of the extents of the drawing, for example. Run 'Fix Things', and choose 'Extents Grid', and make an appropriately sized grid which will be your background reference. These are previews so you save them to a shapefile.
Start by finding the grid center, and from there find the location of the first window. Draw it and save it into your 2D file.
Using the 'Features-to-Graphics' tool, copy it, and save it back to the file.
You have one window on top of the other. Open the table, and select just one of the windows. Draw an offset centerline, and run 'Flip', this will flip your selected shape 180 degrees to the other side of the line. Copy these two back to your file as before. Draw a second offset centerline, select the last two windows in the table, and flip them. Now you have four. Copy and flip until you get the number of windows you want. You should see a pattern develop similarly to the sketch above.
Next draw a rectangle that is the face of the wall, add this to your 2D file.
You have a number of smaller polygons, the windows, sitting on top of a larger polygon, the wall. Select all of them and run 'Donuts', and save. This sets the windows within the wall, not on top of it. Select these, and drag them out of the way, with the 'Drag' tool. You now have a wall with window holes in it, the waffle pattern you see above.
Copy the wall once, and flip as before, copy again, and rotate 90 degrees. You now have four walls in 'elevation' position. Add a floor, and roof or other internal shapes.
Finally, you copy these elements to a 3D file, one at a time, giving each a Z value first. When you give the shapes its Z value, give the walls the same value as the floor.
Draw a reference line (starting at the top and drawing downward), and make it active. This is shown as 'Tilt Axis' above. Do it at the base of each wall, then select the wall, and run the 'Flip Z/M Left' function. The feature will disappear since it is vertical. It has been revalued to make X dimensions into Z values in the shapefile.
The feature remains selected so you can continue to flip until it comes back from where it started.
The first point drawn when you draw the 'tilt axis' line is the 'top' of the line, and if you were to view this from above, 'flip left' means rotation clockwise, 'flip right' is counterclockwise.
In this example you continue to flip each wall upward, either left or right to position them properly.
Run 3D Extrude to see your results. These are previews of course, and you may have to make some adjustments with these graphics, such as 'send to back' or 'sent to front' before you save them to a file.