To set up a 3-d cave model:










The type of model described here is made up of single, unbranching tubes of uniform cross sectional shape, but for which the cross section can be rotated and scaled.

Obtain coordinates. You require at least East, Vertical, and South coordinates (to conform with the VRML standard, so as to take advantage of any browser navigation features which involve gravity) and may

Obtain cross sections. You need one shape per tube. You can add scaling factors and orientation changes where these are needed.

Decide contents

The following are also provided

These require input in the format


Create the VRML

Open VRMLctmp.wrt in a text editor and rename to yourcave.wrl

Copy/edit in your TubeSurveys and Stations between markers

Embellish as required. You could:




Tube surveys take the form:

Tube_survey {
desc " ... "
xsect [ ... ]
// eg xsect [ .5 .5, -.5 .5, -.5 -.5, .5 -.5, .5 .5 ]
stations [
Station { ... }

You will have to refer the survey notes themselves to decide the tubes, give them descriptive names, and decide where to change the cross section.


Stations take the form:

Station { desc "1" posn 0.00 0.00 -0.00 }

where posn consists of Easting Up and Southing coordinates. The stations must be in their correct order along the tube.

These may be prepared from text output from a survey program in any convenient way, but the following suggest themselves:

with a text editor, especially one with macros (eg PFE or JEdit) which can be used to prefix

Station { desc "

to each line, then insert

" posn

and append (possibly after reordering the coordinates and negating Northings)

}

or spreadsheet, where a macro such as

+"Station { desc "&@CHAR(34)&B10&@CHAR(34)&" posn "&@STRING(C10,2)&" "&@STRING(E10,2)&" -"&@STRING(D10,2)&" }"

(for Lotus 123: CHAR(34) produces a double quote, cell Bn contains the station identifier, cell Cn contains an Easting, En a Vertical, and Dn a Northing (a further step is needed to remove -- which may have been produced ))

or dedicated converter program ... if someone has written one ...



Last updated (mm/dd/yy)