This is the demo version of XCOGO. The only limitations of this version is that point storage is restricted to points 1 thru 10. For a full working copy on an MS DOS 5 1\4" disk send $30.00 to: Tom Falconer 4650 Blank Rd. Sebastopol Ca. 95472 XCOGO A coordinate geometry and surveying utility program for the HP 48SX. by Tom Falconer 4650 Blank Road Sebastopol CA. 95472 (C) Copyright 1990,1991 Tom Falconer All rights reserved The author does not guarantee the program to be free from defects and may not be held responsible for loss caused by such. Your use of this program constitutes your acceptance of these terms. CONVENTIONS USED IN THIS MANUAL Keys to be pressed are shown in square brackets. The left shift key is shown as [<-]. The right shift key is shown as [->]. Menu keys are shown as |item|. LOADING THE PROGRAM 1. Load the file "DEMOCOG1" into the home directory of the 48. 2. Press [VAR] to display the variable menu. 3. Select |DEMO| to switch to that subdirectory. The variable menu will now be displayed. 4. Select |GO| from the displayed menu. The 48 will shut its self off. 5. Turn the 48 on and press [VAR]. 6. Select |DEMO| from the menu. 7. Select |INIT| from the menu. The program will then initilize the variables and install the user key definitions. The program is now ready to run. The main menu will be displayed as follows: |'FILE| |'PNTS| |'RSO | |'TRAV| | 'TO | | 'CO | [NXT] |'UTIL| |'TROT| |'GRDZ| | 'VC | | 'SS | |'CURV| [NXT] |'AREA| Pressing [CST] from any point in the program will always bring you back to the main menu. (Note: You have to create a file before using any of the file related functions.) CONVENTIONS USED IN THIS PROGRAM You will notice that certain menu items are preceded by a tick (') mark. This indicates that another menu will be brought up and no input is required. Menu items with no tick mark require a value on the stack prior to selection. POINT PROTECTION If you try to create a new point with an existing point number the 48 will beep and display this screen: _________________________ |Pt n used | | | |(Enter start number | |for unused search.) | | | | | _________________________ |OK|NEW|NEXU|QUIT| | | OK | Select this to hold the point number and overwrite the old point. |NEW | Enter a new number. |NEXU| Enter number to start search from. The next unused point will be displayed. Press | OK | to accept this number. |QUIT| Select this to abort the program. FILE UTILITIES The size and number of files are limited only by available memory. File names MUST start with an alpha character. Files contain point number, northing, easting, elevation, and description. When a file is created it will contain one point, point number one with a northing and easting of 5000, an elevation of 100 and no description. The file will grow as points are added and shrink if points are deleted. The file format is comma delimited ASCII. PC files in this format may be uploaded to the 48 and used directly. Conversely 48 files may be downloaded and used by a PC program that accepts this format. From the main menu select |'FILE|. The current file and the file utility menu will be displayed. |'PICK| This is used to select your working file. The files will be listed as menu items. Select a file and press [ENTER]. |'DEL| This is used to delete files. The files will be listed as menu items. Select a file and press [ENTER]. |'NEW| This is used to create new files. POINT UTILITIES There are no restrictions to the numbering of points. In fact points may be given names. There is no limit to the length of a point description. Select |'PNTS| from the main menu. The points menu will be displayed. |'ENTE| This is used to view, edit and enter point data. Enter menu: | PT | Enter a point number and press | PT |. If the point exists its data will be displayed, if not zeros will be displayed. |NORT| Enter northing with this key. |EAST| Enter easting with this key. |ELEV| Enter elevation with this key. |DESC| Enter point description with this key. Descriptions should be enclosed in double quotes. |'STOR| Use this key to store new or updated point data. The next consecutive point will now be displayed. Enter new data or press [CST] to return to the main menu. | DEL | Enter a point number to be deleted and press | DEL|. |UNUS| To find the next unused point number, enter a number to start the search from and press |UNUS|. This can be a slow process in a large file so try to pick a close starting number. RADIAL STAKEOUT From the main menu press |'RSO|. This will bring up the setup menu. The occupied point number, backsight point number, backsight bearing, distance to backsight, elevation of occupied point, plus to instrument, and instrument elevation will be displayed. Setup menu: |'OK| Select this when the setup data is correct. |OC BS| Enter occupied point [SPC] backsight point. |PLUS| Enter plus to instrument. (Note: The HI is stored in the variable 'HI' if you need to use it.) Stakeout display: At the top of the display will be directions for your rodman to the next point. That is, a bearing and distance from the last point you set to the current point. Also displayed are the point number, angle right from the backsight and stakeout distance. Stakeout menu: | PT | Enter the point to be staked. |DIST| Enter the distance measured to a trial point. The distance in (towards the instrument) or out (away from the instrument) will be displayed. |D ZA| Enter distance [SPACE] zenith angle. The level distance will be returned to the stack and the vertical difference will be stored for use in the |CUT| program. |'CUT| After setting the point press |'CUT| to bring up the CUT/FILL menu. |'TO| This will take you to the directly to the TANGENT OFFSET program bypassing the setup menu. This is useful if you are calculating or changing the offset points as you are staking them. |'CO| Same as above for CURVE OFFSET program. CUT/FILL menu. |'STOR| This option will store the point elevation and the cut or fill information. Note that this overwrites the existing elevation and point description. You are then returned to the staking menu. |VD| Enter the vertical difference. |ROD| Enter the rod. |GRAD| The grade displayed will be the stored elevation of the point you are staking. Change if needed. |EXIT| This option will return you to the staking menu without saving the elevation and cut. TRAVERSE From the main menu press |'TRAV|. This brings up the traverse setup screen. This displays the occupied point, the backsight point, the next traverse point number, the backsight bearing, distance to the backsight, occupied point elevation, plus to the instrument and instrument elevation. Setup menu: |OK| When the displayed information is correct press this key to proceed to the next menu. |OC BS| Enter occupied point [SPC] backsight point. |NX P| Enter point to traverse to. |PLUS| Enter plus to instrument. If you are not carrying elevations PLUS should be 0.00. The HI is stored in the variable 'HI' if you need to access it. Traverse menu: |'SIDE| Press this key to make a sideshot. |'TRAV| Press this key to traverse. Distance Menu: |OK| With distance to be traversed on the stack press this key. The angle menu will then be displayed. |LAST| Pressing this key will return the last distance traversed to the stack. |PINV| This option will return the distance between two points. Enter point [SPACE] point and press |PINV|. |'B-D| Select this option to preform a bearing distance intersection. Follow the prompts. (Note: All intersection problems assume the occupied and backsight points form the base of the triangle to be solved.) |'B-B| Select this option to preform a bearing bearing intersection. Follow the prompts. |D ZA| Enter distance [SPACE] zenith angle and press |D ZA|. The level distance will be returned to the stack and the vertical difference will be stored for use if you are carrying elevations. [NXT] |QUIT| Use this key to abort the traverse. Rod VD menu: (This only comes up if you entered a PLUS.) The last used vertical difference and rod will be displayed as default values. If you used |D-ZA| in the distance menu the resultant vertical difference will be displayed. | OK | Select this to accept the displayed values. | VD | Enter vertical difference. |ROD | Enter a new rod. |QUIT| Select this key to abort. Angle menu: | NE | Enter northeast bearing or azimuth. | SE | Enter southeast bearing. | SW | Enter southwest bearing. | NW | Enter northwest bearing. | RT | Enter angle right or negative angle for angle left. |DEFL| Enter deflection right or negative angle for deflection left. [NXT] | OK | Use decimal azimuth value on stack. |PINV| Enter two point numbers and press this key to return the azimuth between them. Press | OK |. |LAST| Press this key to return the last azimuth traversed. Press | OK |. |D-D | To do a distance distance intersection enter the second distance and press this key. You will then be asked if the point is left or right of the backsight as you look at it from the occupied point. |QUIT| Press this key to abort. Description menu: | OK | Enter a description in double quotes and press this key. |LAST| Select this to use the last description. |NONE| Select this for no description. |QUIT| Select this to abort. TANGENT OFFSET This program will create points along a center line by station and offset. Start the program by pressing |'TO| from the main menu. Setup menu: | OK | Select this when all the displayed data is correct. |CL UP| Enter a centerline point and a centerline point upstation of the first point. The bearing and distance between these points is displayed. |CLSTA| Enter the station of the first centerline point. |SLOPE| The program will calculate the slope between the two given centerline points using their stored elevations. You may override this by entering a new slope. |+\-TC| Enter the difference between centerline and top of curb grade. The program will apply this factor to the grade it calculates for the offset points generated. Generate points menu: |STA | Enter a station. | OS | Enter an offset distance.(Negative if left.) |GRD | The program calculates and displays a grade for the given station. You may override this by entering a new grade. | PT | Enter a point number. |DESC| Enter a point description. |STOR| Select this when the displayed data is correct to generate and store the point. [NXT] |P->SO| Entering a point number will return the station and offset of that point. |ANG | Suppose your line staking a property line, from a traverse point. Your at point 3, backsighting point 4 and have defined this setup in the radial stakeout program. The property line is from 1 to 2 and you have defined this setup in the tangent offset program. Turn an angle that intersects the property line where you want to set a line point and enter the angle. The program will return the station intersected at that angle. You may then store the point and go to the radial program. |RSO | This will take you to the radial stakeout program without going through the setup routine. Useful in the last example or if your calculating offsets as you stake them. CURVE OFFSET This is the same as the tangent offset program except that you enter a point an the centerline, the radius point and if the curve is left or right. Start the program by pressing |'CO| from the main menu. UTILITIES This menu has a few basic functions that are not readily available on the 48. From the main menu press [NXT] |'UTIL|. |->DEG| Converts degrees, minutes and seconds to decimal. |->DMS| Displays decimal angles in degrees, minutes and seconds. The decimal angle on the stack is not changed. |R->P| Converts northing value in level 2 and easting value in level 1 to polar value with the distance in level 2 and decimal angle in level 1. |P->R| Converts distance in level 2 and decimal angle in level 1 to northing in level 2 and easting in level 1. |D->R| Converts degrees to radians. |R->D| Converts radians to degrees. [NXT] |SAS| Solves side angle side triangle. Distance 1 in level 3, DMS angle in level 2 and distance 2 in level 1 returns distance 3 to level 1. |PINV| Inverses from point in level 2 to point in level 1. The bearing and distance will be displayed. The azimuth will be in level 1 and the distance in level 2. TRANSLATE AND ROTATE Translates, rotates and scales blocks of points. From the main menu press [NXT] |'TROT|. Set up menu: | OK | Press this when all the information is entered correctly. |ANG| Enter angle of rotation from old coordinate system to new system. Enter in DMS. Negative for angle left. |OLD| Enter old pivot point. |NEW| Enter new pivot point. |SCALE| Enter scale factor. Results menu: | OK | Press this to start program when data is entered correctly. |FROM| Enter first point of block to move. | TO | Enter last point of block to move. |START| Enter starting point number for moved block of points. You can enter the "FROM" point number if you want to hold the point numbers. GRADES Calculates the elevation of a given station or the station for a given elevation along a straight grade line. In the setup screen you may either enter two stations and their elevations, in which case the resultant slope is calculated and displayed, or you may enter the first station and elevation and the slope. Run the program from the main menu by pressing [NXT] |'GRDZ|. Setup menu: | OK | Select this when the data is entered correctly. |STA1| Enter first station. |ELEV| Enter elevation of first station. |STA2| Enter a station that is upstation of the first station. |ELEV| Enter elevation of the second station. |SLOPE| Enter the grade rate. (i.e. A 5% grade should be entered as .05.) Results menu: |ST->E| Calculates the elevation for a given station. |EL->S| Calculates the station for a given elevation. VERTICAL CURVE Start program from the main menu by pressing [NXT] |'VC|. Setup menu: | OK | Select this when the data is entered correctly. |BVC| Enter beginning station of vertical curve. |ELEV| Enter elevation of beginning station. |LENG| Enter length of vertical curve. | G1 | Enter incoming grade rate. | G2 | Enter outgoing grade rate. Results menu: |STA?| Calculates the elevation of a given station. SLOPE STAKING Definitions: Hinge Point: The top of fill or the toe of cut of the slope being caught. Work Point: A point on the station being staked that is a known distance from centerline. This is generally the scaled catch point. Field procedure: 1. Set the work point. 2. Start SS program and enter setup data. 3. Shoot the work point and enter VD and ROD in staking menu. 4. The program will display the distance, in or out from the work point that the slope would catch at that elevation. Tell the rodman the appropriate distance to move and take another shot. Repeat this until the displayed distance is the same as the distance on the ground. Press OK. 5. Set and shoot the RP point. 6. Enter VD and ROD in the RP menu. Setup menu: | OK | Select this when all the data is entered correctly. | HI | Enter the instrument elevation. (The radial stakeout HI is given as the default value.) | H2W| Enter the distance from the hinge point to the work point. |SLOPE| Enter the slope. (i.e. For a 3:1 slope enter 3, for a 1 1/2:1 slope enter 1.5, etc.) |GRD| Enter the grade of the hinge point. Staking menu: | OK | Select this when the slope is caught to bring up the RP menu. | VD | EDM: Shoot the trial point and enter the vertical difference. LEVEL: Enter 0. |ROD| EDM: Enter the rod. LEVEL: Enter the rod reading on the trial point. |SETUP| Selecting this returns you to the setup menu. Staking screen: The VD, ROD and resultant elevation are displayed. Next the slope stake data, generated for that elevation, is displayed. Next a distance "IN" (towards centerline), or "OUT" (away from centerline) is displayed. RP menu: | OK | Returns you to the staking menu. | VD | EDM: Shoot the RP and enter the vertical difference. LEVEL: Enter 0. |ROD| EDM: Enter the rod. LEVEL: Enter the rod reading on the trial point. |SETUP| Selecting this returns you to the setup menu. CURVE SOLUTIONS Given the radius or delta and one other element, solves for the unknown curve elements. From the main menu press [NXT] |'CURV|. First menu: Enter either radius and or delta. Entering both automatically solves. | OK | Select this when the data is entered correctly. | R | Enter radius. | D | Enter delta. Second menu: Entering any one element solves for the rest. | T | Enter tangent length. | L | Enter length of curve. | C | Enter chord. | E | Enter external distance. | M | Enter middle ordinate. AREA Calculates area from stored points. From the main menu press [NXT] [NXT] |'AREA|. |FROM| Enter starting point. | TO | Enter next point. |RADPT| Enter radius point. | EC | Enter EC point (negative if curve is to the left). If the radii are not equal within a tolerance of .01' an error will occur and the program will halt. When the starting point is returned to, either as a "TO" point or as an "EC" point, The area and perimeter will be displayed. USER KEY ASSIGNMENTS These user keys allow you to start programs directly without going through the menus. [->] [R] Starts the radial stakeout program. [->] [T] Starts the traverse program. [<-] [O] Starts the tangent offset program. [->] [O] Starts the curve offset program. [->] [G] Starts the grades program. [->] [V] Starts the vertical curve program. [->] [S] Starts the slope stake program. These user keys give you access to the functions in the utility menu. [<-] [H] Converts DMS to DEG. [->] [H] Displays DEG as DMS. [->] [P] Rectangular to polar. [<-] [P] Polar to rectangular. [->] [Z] Side, angle, side solution. [->] [I] Point inverse. These key assignments allow you to store and recall data in registers 1 through 9. [STO] Stores value in level two, into register number (1-9) in level one. [->] [RCL] Recalls value of register number in level one. (Tecnical note: The data is stored in a list named 'STOPAR'. You may increase the number of storage registers by increasing the size of the list.)