Back to The Complete Knuckleheads Guide

DRAW ANCILLARY DATA ON CROSS SECTIONS

The traditional WFL method for drawing ancillary data on the cross sections has been replaced with the Typical Sections "Existing Features" and "Right-of-way".

Please click on these links for further information, Existing Features Typical Section or Right-of-Way Typical Section.


For those special situations where the 2 Typical Sections listed above do not meet your needs, it is still possible to draw other features on your cross sections using the old traditional WFL method. An Input File and several very simple criteria files are available to you and can be easily modified to fit your needs. The locations of these files and their descriptions can be found below:

Traditional WFL method for drawing ancillary data on cross sections

It is possible to also use the intelligence of Geopak to draw special characters on your cross sections such as cells and/or text nodes.  If the position of a feature is drawn in plan view, such as Proposed RP or Edge of Something.... it is very easy to have (for example) a "user defined" cell (representing the location of the RP) drawn on the cross sections.  It is just as easy to have a piece of vertical text placed with an arrow pointing to the location of Edge of Something on the cross sections.

We have several files that can be modified to fit specific situations to do just that:

NOTE:  

The "search text" is a feature that can be used later for creating radial stakeout notes in a variety of formats.  The most popular format is with the Red/Blue Top reports using Geopak 2004 Edition, where the user can store points in COGO at each of the found "search text" locations.  An electronic output of these stored points can then be produced in COGO and uploaded to a survey instrument.

The input file (V8_ANCI.INP) can be found on the server under 2 locations:


The criteria files can be found on the server under:

Rather than try and anticipate every situation that the user may encounter, the approach taken here was to create a criteria file that places a cell with "search text" and a criteria file that places some text.  Also to create an input file setup to work with each.  Now... if a user wanted to draw a power pole on the cross sections rather than an RP stake cell, the criteria file (RP_R.x10) would simply be copied and modified to place a power pole cell with different"search text" and the input file would be modified to look for a line drawn in the plan file that represented the power line.

Same goes for the other criteria file.  If someone had drawn elements (in the plan file) representing the edge of an archeological site, the criteria file (Edge_of_something.x10) would simply be copied and modified to place a text node that would say for example, "<--Edge of Archeological Site" and the input file would be modified to look for a line drawn in the plan file that represented it.

NOTE:  When placing a cell on the cross sections, the cell library containing the cell must be attached to the cross section file.
Your results may look similar to the example shown below:



Examples of the files mentioned above are shown below:

V8_anci.inp

XSECTION

/* THIS INPUT FILE IS USED TO DRAW VERTICAL "TEXT" ON */
/* THE CROSS SECTIONS, REPRESENTING THE EXISTING EDGE */
/* OF SOMETHING FOUND IN THE MAPPING FILE (TOPO FILE).*/
/* ALSO DRAWS TEXT AND/OR CELLS ON THE CROSS SECTIONS */
/* REPRESENTING THE SLOPE STAKE LIMITS AND RP STAKES  */
/* LEFT AND RIGHT ALIGNMENTS FOUND IN THE PLAN FILE.  */
/* Last Modified by STEVE PRATT 8-03-2004             */

define_dgn "edge of something" \
        dgn = planview.dgn\
        lvname = Default \
        co = 1\
        type = Line, Line_String, Arc, Curve, cmp_string
        
define_dgn "SS" \
        dgn = planview.dgn\
        lvname = P_RDW_SLOPE_STAKE_LIMITS \
        co = 2\
        type = Line, Line_String, Arc, Curve, cmp_string
        
define_dgn "RP" \
        dgn = planview.dgn\
        lvname = P_RDW_SLOPE_STAKE_REFERENCE_POINT_(NEW_ANCI) \
        co = 3\
        type = Line, Line_String, Arc, Curve, cmp_string


Proposed xs
 
tolerance = 0.03000
 
 
xs dgn = cross.dgn
Existing ground line
        type = line
        lvname = X_E_Ground_XS
        co = 8
 
Pattern dgn = pattern.dgn 
    pattern set
        job number = 261
        baseline = MAIN
        horiz scale = 10
        vert scale = 10
 
        type = line
        lvname = P_GPK_Pattern_01
        co = 0
 
Criteria for Shape Cluster
   shape cluster baseline  = MAIN
   shape cluster profile   = VERTMAIN
   shape cluster tie       = 0.000
 
    side slope LT

    include F:\V8_Resource\X_30\Standards\3PC\EDGE_OF_SOMETHING.X10
    include F:\V8_Resource\X_30\Standards\3PC\SS_L.X10
    include F:\V8_Resource\X_30\Standards\3PC\RP_L.X10


    side slope RT

    include F:\V8_Resource\X_30\Standards\3PC\EDGE_OF_SOMETHING.X10
    include F:\V8_Resource\X_30\Standards\3PC\SS_R.X10
    include F:\V8_Resource\X_30\Standards\3PC\RP_R.X10

 
Plot Parameters
 
        Line
            lv = 0
            lvname = Default
            co = 3
            wt = 1
            lc = 0
 
    Pavement Thickness = 0
    do not fill gaps between clusters
    Do Not Intersect between Clusters
 
Write XS Into Dgn = cross.dgn

Edge_of_something.x10

/* This criteria draws vertical text on existing ground    */
/* after finding an element drawn in the plan file that    */
/* corresponds to the symbology for "Edge of Something"    */
/* in the input file V8_ANCI.INP                           */
/*                                                         */
/*                                                         */
/* Written by Dean Bowman & the IHDS team 5/97             */
/* Modified by Steve Pratt 8/2004 for V8                   */

if p1 then
{
_d_flag = 1
while (_d_flag = 1)                            
   {
   if intersect dgn = "edge of something"  then
      {
      draw skip dx = 1 dy= 0 to "edge of something"

      draw skip dx = 0 dy= 100
      draw skip dx=0 dy=-1 to existing ground
      draw text char = ^<--Edge of Something^
      angle = 90
      lvname = DEFAULT  
      co = 4                       
      wt = 1                       
      cl = 1                       
      ft = 24                       
      th = 0.5                  
      tw = 0.5                  
      just = lc

      draw skip dx =2*tolerance dy = 0
      }
   else
      {
      _d_flag = 0

      draw skip to p1
      }
   }
}

SS_R.x10

/* This criteria draws the text SSR on existing ground (RIGHT side)     */
/* after finding an element drawn in the plan file that                 */
/* corresponds to the symbology for "Limits of Construction" in the     */
/* input file V8_ANCI.INP                                               */
/* Written by Dean Bowman & the IHDS team 5/97                          */
/* Modified by Steve Pratt 8/2004 for V8                                */


if p1 then
{
_d_flag = 1
while (_d_flag = 1)                            
   {
   if intersect dgn = "SS"  then
      {
      draw skip dx = 1 dy= 0 to "SS"
      
      draw skip dx = 0 dy= 100
      draw skip dx = 0 dy= -1 to existing ground
	    
      draw text char = ^SSR^
      angle = 0
      lvname = X_Text_Search    
      co = 4                       
      wt = 1                       
      cl = 1                       
      ft = 24                       
      th = 0.05                  
      tw = 0.05                  
      just = cc
      
      draw skip dx =2*tolerance dy = 0
      }
   else
      {
      _d_flag = 0

      draw skip to p1

      }
   }
}

RP_R.x10

/* This criteria draws the cell RPSTAKE on existing ground (RIGHT side) */
/* after finding an element drawn in the plan file that                 */
/* corresponds to the symbology for "RP" in the                         */
/* input file V8_ANCI.INP                                               */

/* NOTE:  This cell's library MUST be attached to the XS file           */

/* Written by Dean Bowman & the IHDS team 5/97                          */
/* Modified by Steve Pratt 8/2004 for V8                                */


if p1 then
{
_d_flag = 1
while (_d_flag = 1)                            
   {
   if intersect dgn = "RP"  then
      {
      draw skip dx = 1 dy= 0 to "RP"
      
      draw skip dx = 0 dy= 100
      draw skip dx = 0 dy= -1 to existing ground

      draw cell=RPSTAKE
          xs = 0.50
          ys = 0.50
          angle = 0
	    lvname = X_Dimension
	    co = 0
	    wt = 2
	    
      draw text char = ^RPR^
      angle = 0
      lvname = X_Text_Search  
      co = 4                       
      wt = 1                       
      cl = 1                       
      ft = 24                       
      th = 0.05                  
      tw = 0.05                  
      just = cc
      
      draw skip dx =2*tolerance dy = 0
      }
   else
      {
      _d_flag = 0

      draw skip to p1

      }
   }
}

Back to The Complete Knuckleheads Guide