English

How To: Add a North Arrow to a layout using Avenue

Summary

This article contains a script that adds a North Arrow to a layout.

Procedure

  1. Open a new script window.

    A. Activate the Project window.
    B. Click the Scripts icon.
    C. Click New.

  2. Paste the following code into the new script window:

    Code:
    theDoc = av.GetActiveDoc
    theODB = odb.open("$AVHOME\etc\north.def".asfilename)
    theODBNEW = theODB.Get(0)

    '-- Define Northarrow to grab
    theArrowObj = theODBNEW.Get(0)

    '-- r must be a rectangle on the View or Layout
    '-- r is the rectangle on the View/Layout where the northarrow will be drawn
    '-- The setarrow request adds the specified
    '-- arrow to the defined rectangle area
    r = theDoc.getDisplay.returnvisextent

    if (r <> nil) then
    gn = NorthArrow.Make(r)
    gn.setarrow(theArrowobj)
    gn.SetDisplay(theDoc.GetDisplay)
    theDoc.GetGraphics.UnselectAll
    gn.SetSelected(TRUE)
    theDoc.GetGraphics.AddName(gn)
    av.GetProject.SetModified(true)
    end

  3. Attach the script to a button on the Layout GUI.

    A. Compile the script.
    B. Switch to the Project window.
    C. Select Customize from the Project menu.
    D. On the Customize dialog, select Layout under Type dropdown.
    E. Select Buttons under Category.
    F. Click the New button.
    G. Double-click the Click property in the Customize dialog box.
    H. Enter the name of the script in the Script Manager and click Select.
    I. Close the Customize dialog box.

    For more information, see 'Customize dialog box' in ArcView Help.

  4. Open the layout and click the new button.