Copycave is a Program to Create Maps of Caves
Introduction
This program creates two traverses using the survey data. One for projection and one for the longitudinal section to which the drawer can add contours fillings and labels. The finished map can be printed in differnet scales.
Procedure
Any cave is represented by its own directroy. In this directrory there is a file '
daten.txt' which cntains the survey data.
When 'Show/Draw Map' is called for the first time the survey date are converted into the file '
gp'. All of the further drawing is saved in this 'gp'.
The program opens two windows: The
Main Window for drawing and the window '
Overview'. The window 'Overview' always shows the complete cave. The main window is shown as a gray rectangle in this overview. By moving the gray rectangle with the left moude button down the main window can be positioned in the Map. If the scale allows a meter grid is shown at the bottom of the main window: Each black bar represents 1 meter.
Objects:
Objects are the parts of the map which can be selected by the mouse cursor. Each survey line and each survey number, that were created from the file 'daten.txt' are an object. Anything that is created by moving the mouse with a mouse button pressed is an object. (e.g. a filling or a piece of a contour drawn in one piece). A contour can be split up by
Draw/Contour into two objects, e.g. to draw a wrong part again.
Menue:
Hint: An opened Menue usually has a dashed line on the very top. If you click that line that menu remains open and you can drag it to any place you like.
- File/Read Survey Data
- The file 'daten.txt' is being read again. Only new values are added to the map. The curent calinder date will be printed to the Cover sheet.
- File/Print List of Survey
- A file 'mpliste.txt' (ASCII-Text) is created.
- File/Print Single Sheet
- The sheet that was created with Draw/Layout is saved as a file in PDF format in the directory of the cave. The sheet must be selected by clicking in the mode Draw/View-Select Sheet.
- File/Print Cover Page
- Creates the File 'coverpage.pdf'.
- File/Print this Scale
- All the sheets belonging to the current scale are saved in files.
- File/Print all Scales
- All sheets of all scales are saved in files.
- File/Modify Filling Pattern
- A window opens where the filling pattern in Draw/Filling can be changed and new fillings can be defined (see below Fillings).
- File/Take Filling Pattern
- Any common filling pattern are taken according to the cave (see below Fillings), i.e. changes to the common fillings no longer affect this cave until the filling patterns are taken again.
- File/New Options
- Here you can change options und save them permanently.
- Currently these are 'Zeichner/Drawer', 'Karte/Map' and 'Bildschirmbreite/Screen Width'.
- Multiple lines can be used. When the option is used (e.g. 'Karte/Map' at '
File/Add Map
'), the appropiate line can be selected by the arrow keys or the mouse and activated with ENTER or double-click.
- File/Add Map
- A map of the area, saved as a GIF-image is positioned under the area of caves. There are two formats ('karte' und 'karte2'):
- Format 1: 'karte filename zoomfactor {rol hol} {rur hur}'
- rol=German Grid Easting upper left corner
- hol=German Grid Northing upper left corner
- rur=German Grid Easting lower right corner, or
- Format 2: 'karte2 filename {rol hol} mpp'
- rol=German Grid Easting upper left corner
- hol=German Grid Northing upper left corner
- mpp=Meters per Pixel
- If the result is correct you should save the values with
File/New Options
permanently.
- File/Save
- The current drawing is saved.
- File/Save+Exit
- The current drawing is saved. The program 'hoehle' terminates.
- View/Refresh
- Deletes the parts of the map that were selected for deleting (the yellow ones). (see Draw/Delete Parts)
- View/Transparent
- Switches transparent mode on/off. This easies calking of old maps: Scan the old map and display it with any program. Adjust the scale (see below) and switch to transparent. Hold Ctrl/Strg-key for copying contours. (see Draw/Contour).
- View/Scale +/- %
- Changes the scale for calking.
- Scale
- Adjusts the scale and refreshes the map.
- Level/Projec x
- Selects projection mode for level x. Parts in level x are painted black, all the others are displayed in gray. In Draw/Move Parts they can be moved to an other level. In the file '
daten.txt
' the level for survey lines can be defined with (Kommando grundebene
).
- Level/Longit x
- Selects longitudinal mode for level x.
In the Draw menu you select the mode to use. It is indicated byan appropiate curser (e.g. a pencil for Draw/Contour).
The middle mouse button always movesthe map in the window. In Mac OSX it is the right mouse button. Alternatively you can use the left mouse button plus shift key.
The right mouse button always opens a popup menue that relates to the selected object for deleting undeleting and changing the order of objects (e.g. line above or under block).
Selected Parts are displayed in blue.
- Draw/Without Survey Lines
- Survey Lines are not displayed.
- Draw/View-Select Sheet
- The drawing can not be changed.
- If you click a layout frame the relared sheet is prepared for printing ( File/Print Single Sheet).
- Draw/Label
- A text cursor for labeling is displayed. Just click to the place where you want to start writing. If the mouse pointer is on a label, then it's contence can be changed.
- The numbers of the measuring points can not be changed. If you click onto the number, the altitude of that point is added to the map.
- By double clicking onto a label its ancor is switched from "right" to "middle" to "left". Text on the left of a contour should be ancored right. As the text size does not depend on the scale the ancor is important when you change the scale.
- Draw/Delete Parts
- The selected (blue) object is deleted. It changes to yellow and remains visible on the screen and can be undeleted by an other click. Only when the program is forced to redraw the map (e.g. change of scale) or by View/Refresh the yellow objects are deleted finally.
- Draw/Move Parts
- Labels (e.g. measure point numbers) and sheets of the layout can be moved.
- By clicking objects from other levels (displayed gray, selected green) are moved to the current level.
- The layout sheets (see Draw/Layout) can only be moved in a grid of 1 meter (from scale 1:1000 grid is 10 meters). Depending on where you grab the sheet (upper border, left border, upper left corner) the sheet can only be moved horizontal, vertical or both directions.
- Draw/Flip
- The selected survey line is flipped horizontally. This mode is only available in longitudinal level.
- Explanation: When processing the file 'daten.txt' all the lines in longitudinal level are interpreted from left to right. Flipping can be useful to get closer to reality or to split up the lines after a branch.
- Draw/Pit-Line/Contour Line
- All positions of the survey lines are marked where the 10 meter limit relative to the entrance point is crossed. The mark shows the altitude and an arrow pointing to the position. These marks are removed by Draw/View/Select Sheets wieder entfernt.
- Clicking the altitude text indicates, that you want to draw the responding contour line.
- Move the mouse to draw. To indicate that there was work on the clicked altitude text, it is moved a little bit to south by the program.
- An altitude information is written to the beginning of the contour line. In Draw/Move Parts this information can be moved.
- 3D/Diameter
- Red arrows are put to the measuring points. Their length indicates the corridors diameter (default 1 meter). By pulling the arrows top you can change the diameters value. Only the length of the arrow is important.
- If you start pulling on a survey line, an artificial measuring point is added with a diameter arrow.
- 3D/Art. Measure
- Red arrows are put to the measuring points like above. By pulling the arrows top an artificial measuring line that begins at this point can be created to add e.g. a chimney to 3D. If Level Projection is selected, the artificial measuring is first drawn horizontal. In longitudinal mode you can set the height of the end. Therefor the end is shown with a circle that you can drag with the mouse to move the ending.
- If you start drawing on the line of an artificial measuring or on the circle mentioned above, the position of the ending point can be moved. Usually this is necessary after switching to longitudinal level to define the altitude of the ending point. As it is longitudinal level only the altitude can be defined. Congruence with contours in longitudinal level is not possible.
- 3D/Profile
- There are three kinds of profiles:
- Please use right mouse button to select.
- Pit profiles layed horizontal,
- corridor profiles layed vertical
- and corridor profiles perpedicular to the measuring line (oblique).
-
- Draw a new profile with the mouse on any empty place. The profile belongs to a measuring line (from point a to point b). Draw a corridor profile like you see it looking from a to b. Pit profiles are drawn like as if you were kooking down, which is the same as the contour in projection level.
- Connect the profile with the measuring line by clicking it and move the mouse to the corresponding point within the profile.This is the ancor point. If it is the first profile in that measuring line a copy is connected with the end of the measuring line.
- Click a profile to move it. This has no influence on the position of the profile within the cave; this is made by the arrow connecting to the measuring line. If you pull a profile onto an other one, the other one will be painted red, if it is related to the first one, which means they were once created by copying. If then you drop it the shape of the pulled profile is copied to the red one and the pulled returns to its original position.
- If you start pulling on the arrow on the measuring line you can redefine the point on the measuring line the profile is valid for. You can even select a point beyond start and end of the measuring line. During pulling the position on the measuring line is indicated in percent (0% = start, 100% = end).
- If you start pulling on an ancorpoint it will be moved. It can even be moved outside the profile. Then the only way to see that they belong together is to select the profile with the mouse, because then both are highlighted.
- If you start on a border point you can change the shape of the profile.
- The right mouse button activates an enlarged menu which becomes discrete by clicking the dashed line. Whit this menu you can change the profile to 10%
- larger,
- smaller,
- higher and
- broader. You can
- copy,
- copy+connect, by what the copy is connected to the following measuring line, and
- set up, if the profile is open or closed (e.g. bottom of a pit).
- And you can set the kind of profile:
- Corridor (oblique),
- Corridor (vertical) and
- Pit (horizontal).
- The profiles are only shown in 3D modes.
- You can only create a profile in projection level.
- 3D/Change Profile
- After selecting a profile you can change its shape by pulling with the left mouse button. The closer the border points are to the beginning of the pulling, the more they are moved.
- 3D/Generate 3D
- With the profiles that were created in 3D a vtk-file is created and 3D view starts.
- Draw/Contour
- Clicking a contour line (without Ctrl/Strg-key) splits it up at that point.
- Draw a contour by pulling with pressed left mouse button.
- If Ctrl/Strg-key is pressed you can create the contour by clicking. This is very useful when calking in transparent mode.
- Draw/Line/Pit up to 5m
- Draw/Line/Pit up to 20m
- Draw/Line/Pit over 20m
- Select to draw a pit border.
- Draw/Line/Lower Course
- Select to draw a dashed line.
- Draw/Line/Arroyo
- Select to draw a waved line with an arrow.
- Draw/Line/Thin
- Select to draw a thin line (e,g. for profiles).
- Draw/Symbols/Decline
- Select to draw an arrow indicating downward slope.
- Draw/Symbols/Wind
- Select to draw an arrow indicating wind. As wind is a temporary event datum and time should be added.
- Draw/Symbols/Section
- Select to draw a line indicating a section.
- Draw/Filling
- This is a submenu thar can be expanded with your own filling patterns (see File/Modify Filling Pattern). Those pattern are standard.
- Draw/Filling/water
- Draw/Filling/sand
- Draw/Filling/snow
- Draw/Filling/ice
- Draw/Filling/debris
- Draw/Filling/block
- Blocks are opaque and hide objects under them (see Draw/Move Parts).
- Draw/Layout
- A submenu to define the sheets to be printed.
- Draw/Layout/New Sheet A4
- A DIN-A4 sheet (upright) for printing is created. It is only valid for the current view (Scale+Level). So you can create layouts for each scale. Each sheet shows two rechtangles. The inner one is only for selecting the sheet when it is surrounded completely by other sheets.
- Draw/Layout/New Sheet A4-Landscape
- A DIN-A4 Sheet (landscape) is created (see above).
- Draw/Layout/New Sheet Vario
- A new sheet of user defined size is created by clicking the left mouse button and pulling.
- Draw/Layout/Overlay
- Create an overlay. First select a sheet on which the overlay shall be printed. You can pull up a rectangle with the mouse that shows the part of the cave to be shown in the overlay. When releasing the mouse button a second rectangle appears that is connected to the first one with an arrow, an that you can pull to the position on a sheet where it shall be printed. The selected sheet may belong to another level.
- Draw/Layout/Start
- The map is shrinked to easy positioning of sheets.
- Draw/Layout/End
- The map is shown in normal size again.
Fillings
Fillings are parts of the cave that are filled with a pattern.
The programming system this program is based on (TCL/TK, wish) does only support bitmaps, which are patterns of points in a rectangle. The bitmap is repeated in the selectet area again and again. The view on the screen is more or less symbolic and will be much better when printed.
A filling with the identifier x will be saved as file f_x.xpm in the directory 'x.hoehle
'. The fillings mentioned above at Draw/Filling are predefined: At the first call of this program they are created in '
x.hoehle
'. You can change these fillings as well. Remember to save the directory '
x.hoehle
' so you do'nt loose it at a harddisk crash.
You can save changes to a filling pattern in common, or specific to a speciel cave in the directory of that cave.
Changes to a filling pattern in the common directory concern all the cave maps that have no special filling pattern defined. If you print an old map once again, fillings will be displayed in the modified way.
You can also delete filling patterns with '
File/Modify Filling Pattern
'. If the deleted pattern is still used in a map the pattern '
fehlt
' will be used.
Details
- Contour
- When you click the end of a contour (blue colour) to continue drawing, the new contour will be connected with it without a gap.
- Filling
- When you start drawing a new contour or filling with ALT key pressed and an object is selected, the list of coordinates od this object will be used as starting point for the new object. You can use this when you want a filling to reach exactly to this contour.
- Clicking Draw/Contour cuts the contour to fit.
- With Draw/Filling you select the filling pattern.
- Then you move the mouse cursor to an end of the corridor, so it will be selected.
- Now you start drawing the filling with ALT key pressed. The part of the contour will be used as a part of the filling border.
- As fillings can overlap without problem you can include e.g the two contour of a corridor, by using two fillings. One that includes the left wall and one that includes the right wall.
3D
The most easy way for 3D view is displaying the traverse as a tube. Each time you save your work a file with the name 'tube.vtk' is created in the cave directory. With the tube filter you can change the lines into tubes.
In 3D/Diameter you can vary the tubes diameter.
More elaborate is the use of profiles. In
3D/Profile you can draw profiles and attach them to measuring lines. Attaching is necessary because only there three dimensional coordinates are full available. From the profiles the corridors survase is calculated by connecting the corresponding points. This happens only, when the profiles are created by copying (and modifying). Only then corresponding points can be identified.
Example: You draw a first profile for a canyon and connect it with the canyons first measuring line. With the right mouse button you define it as a vertical profile. With
copy+connect you follow the measuring lines. For any copy you define an ancor point and form the profile with the functions
increase, decrease and so on in the right mouse buttons menu respectively with
3D/Change Profile.
For a pit without measuring line you can create a
Artificial Measure and give it its own profile.
When the 3D file is created (
3D/Generate 3D) the program starts calculating with the lines from the entrance.
Format of 'daten.txt':
The file begins as following:
Name: Samplecave
Location: Western Side of Samplemountain
K.Nr.: 1234/567
Easting: 0728224
Northing: 5202727
Altitude: 2000
PosFormat: UTM 32T
#Point on which Easting and Northing are related to
Locationpoint: 1
Deckblattangabe1: EB: (small field right on top)
Deckblattangabe2: EH: (small field beneath under)
Deckblattangabe3: Page of Map: 123
Deckblattangabe4: Boundary:
Deckblattangabe5: Rock: granite
Deckblattangabe6: District:
Deckblattangabe8: Survey:
Deckblattangabe9: (Survey line 2)
Easting, Northing and Altitude are related to the measuring point that is indicated as "Locationpoint" in the file.
If there is no "Locationpoint" in the file, the first "from" point (usually Nr. 1) is used.
'Deckblattangaben' are printed to the cover page. You can e.g. change "Rock: granite" to "Owner: not known".
Then comes the survey data:
#from, to, length, inclinat., bearing, comment
(e.g.: gang3.1, gang3.2, 4.75, -65, 6, rock
)
Instead of commas it is useful to use tabs.
The values 'from' and 'to' are names for the measuring points. No ',' may be used.
The idea of the program is, that calculations are made by the computer, not by the human. Therefore neither during survey nor when entering the data any calculations shall be made. Instead the survey equipment and mode is told to the program so it can make the necessary calculations.
Rows of measuring do not need to proceed continuous. If you servey a cave from the entrance (point 1) up to point 12, and then from the end (point 100) to point 109 = point 12, this can be entered to the data list exactly this way. With a virtual measuring line (109,12,0,0,0) you can record that at the second survey it was not known, that point 109 had been nominated point 12 before.
Lines that start with 'Command: ' declare how the following data have to be interpreted.
Command: equipment sunto
Command: equipment normal
defines the euipment that was used for the survey (e.g. sunto: horizontal = 0 degrees, vertical down = -90 degrees)(normal: horizontal = 90 degrees, vertical down = 0 degrees.)
Command: backwards
defines, that the first person in the survey team read the data from the equipment. Declination and Bearing are corrected by the program.
Command: forewards
stops 'Command: backwards'. 'Command: forewards' is default.
There are three Commands that are not translated to english, because they are rarely used:
Command: längsrichtung x
defines, that the following measure lines are displayed to the right side (x=1) or to the left side (x=-1) in longitudinal level. Default is the right side.
Command: grundebene x
defines, that the following measure lines are put into projection level x. Default is level 0. This command does not influence longitudinal level.
Command: längsebene x
defines, that the following measure lines are put into longitudinal level x. Default is level 0. This command does not influence projection level.
Lines starting with '#' are ignored as comment. The members of the survey team and the datum of the survey should be noted as comment.