User Tools

Site Tools


Practical Session 2

Practical Session 1: Initiate EASAP

Estimated completion time → 60 minutes.

In this practical session, you will:

  • Create a new EASAP
  • Set some properties
  • Create some data entry objects in the GUI

At the end of this session, your EASAP will look like the sample shown below.

Please follow the instructions below to complete this practical session. Detailed information on the objects created in this session can be found on the Author's Pages.


Creating a new EASAP

The first task is to create a new EASAP within EASA.

  • Log in to EASA and create a new EASAP
  • Download the tutorial files:
    • The files are contained in a compressed zip file:
      • tutorial_files2.zip

In the New Application wizard, set some properties in PROPERTIES→APPLICATION for our EASAP:

  • Title: can be anything you like, for example, ‘Rectangular Plate’

You can control which Categories (rather like folders) in which your EASAP be will accessible for Users.

  • Let’s set the Category to ‘Development’

Note: Optionally, you can select an Image such as plate.gif, included with this tutorial, and a brief description such as:

  • ‘This application performs a loading analysis on a rectangular plate having a variable thickness, length and width. The displacement of the plate is predicted for a user defined load’

Both the image and the description will be visible to a User once you Publish the EASAP.


An Author uses the EASAP Builder to create an EASA application without writing any code.

The Builder interface consists of a Tree of EASAP objects on the left and their parameters on the right.

In this tutorial we will build a fully functioning application by applying iterations of EASA's simple design process:

  1. Create an EASA object with a right-mouse-click
  2. Populate that object's parameters in one of two ways:
    • Type in literal text
    • Select a value from a drop-down list

There will be no coding involved.


Uploading files associated with the EASAP

Next, we’ll upload the files required by the EASAP. When uploaded, these files are copied from your computer to the EASA Server and stored in the development folder for the EASAP. This folder contains the single, centralized definition of the EASAP, which once published will be used by all users of the EASAP.

  • Select the Files tab just above the Tree in EASAP Builder.
  • Click on the Browse button
    • Select the folder on your computer in which you downloaded and unzipped the tutorial files.
    • Select multiple files (below) with mouse-clicks while holding the CONTROL key:
      • logo.jpg
      • material.txt
    • Click Open
    • Click Upload

The files will be added to the list of current files shown below the 'Browse' and 'Upload' buttons.

Now let's save our work:

  • Click on the Save button ()

The Save button is enabled only when you have unsaved changes; after a Save the button will be disabled or grayed out until the next edit.


Adding Data Entry Objects

You are now ready to proceed with adding data entry objects to the user interface of your EASAP.

Click on its ().

  • Expand the TABBED PANE LIST sub-branch.
  • The first TABBED PANE, tabbed_pane1, will already be present.
    • Rename it props
    • Set one parameter (no quotes):
      • Tab:'1. Plate Properties'

Now you will start to add data entry objects to the user interface of your EASAP. On this TABBED PANE you will allow users to choose a plate material and specify its dimensions.

  • Right-click props
    • Select Child→Add SUB PANE ().
      • Rename it dim
      • Set one parameter:
        • Border:Plate Dimensions
  • Right-click dim
    • Select Child→Add INPUTBOX ()
      • Rename it input_W
      • Set:
Parameter Name Parameter Value
Default:1.0
Label:Width (ft)
Input Type:Number
Decimal Places:2
Parameter Name Parameter Value
Allow:Decimal
Ignore Blank:TRUE
Data:Between
Minimum:0.1
Maximum:50

Create two more INPUTBOX's:

  • Right-click input_W
    • Copy
    • Right-click Paste (Sibling)

A new INPUTBOX should appear on the Tree.

  • Right-click this INPUTBOX
  • Right-click Paste (Sibling) again
  • Rename the first new object input_L
    • Set:
      • Label:Length (ft)
  • For the DATA VALIDATION Child of input_L
    • Set the parameters below:
Parameter Name Parameter Value
Minimum:0.2* input_W
Maximum:5* input_W
  • Rename the second new object input_t
    • Set:
      • Default:0.24
      • Label: Thickness (in)
  • For the DATA VALIDATION Child of input_t
    • Set parameters:
Parameter Name Parameter Value
Minimum:0.001*(input_W+input_L)/2
Maximum:0.125*(input_W+input_L)

Note: Object names are case sensitive; note the lower case ‘t’ above. By convention, an Author uses lowercase names for objects, while capitalized or ALL CAPS are used for built-in objects in the Tree as well as object types (ie. class names).

  • Save your work, File→Save.

At this point, you will need to perform some data processing before adding any more data entry objects.

  • Right-click dim
    • Select Sibling→Add DATA PROCESSING
      • Reame it material_data
      • Expand it
        • Select SCALAR

In the Builder there are two main data object types:

  • SCALAR
  • LIST

Once a LIST or SCALAR is created, a SCALAR reference or a LIST reference may be entered as a parameter value.

The Builder aids an Author by showing:

  • A valid SCALAR reference as blue
  • A valid LIST reference as green
  • An invalid object reference as red

Now let's add unit conversion to our INPUTBOX values:

  • Right-click the SCALAR branch
    • Select Child→Add COMPUTE
      • Rename it W
      • Set:
Parameter Name Parameter Value
Value:input_W[ft]
Unit Group:Length
  • Right-click W
    • Select Sibling→Add COMPUTE
      • Rename it L
      • Set:
Parameter Name Parameter Value
Value:input_L[ft]
Unit Group:Length
  • Right-click L
    • Select Sibling→Add COMPUTE
      • Rename it t
      • Set:
Parameter Name Parameter Value
Value:input_t[in]
Unit Group:Length

Now we extract material property data out of the material.txt file to be used when a User selects the plate material.

First create an EXTRACT within the material_data branch:

  • Right-click LIST
    • Select Child→Add EXTRACT ().
      • Rename it extract_props
      • Set one parameter:
        • File: material.txt

To help in the creation of the Extract, Find, and Repeat objects there is a Extract Tool available on the right click menu.

  • Right-click extract_props
    • Select Extract Tool at the bottom

The following window appears:

From here you will set up a repeating find to pull out the desired data.

  • Highlight ‘Aluminum’, right-click and select Add Variable Find.
  • After the Add Variable Find window opens
    • Enter matname in the DOR Name input box
    • Select ‘Text’ for the DOR type
  • Next, highlight ‘10600.0’
    • Right-click and select Add Variable Find
    • Enter Ein in the DOR Name input box
    • Select ‘Real’ for the DOR type
  • Finally, highlight ‘0.33’
    • Right-click and select Add Variable Find
    • Enter muin in the DOR Name input box
    • Select ‘Real’ for the DOR type

Now we set up a repeating find to pull out the desired data.

  • Highlight the line (matname | Ein | muin ) in the Matched Lines column.
  • After the line becomes yellow,
    • Select the Repeat () button

The Set Repeat Parameters window opens.

  • Select OK to close out of the Set Repeat Parameters window.
  • Click OK button to close out of the Extract Tool

Now we add functionality for the User to select the plate material.

  • Right-click dim
    • Select Sibling→Add SUB PANE
      • Rename it material
      • Set:
        • Border:Plate Material
  • Right-click material
    • Select Child→Add INPUTBOX
      • Rename it mat
      • Set:
Parameter Name Parameter Value
Default:Steel
Label:Select material
Tool Tip:Select plate material from list
Input Type:Text
  • Right-click mat
    • Select Child→Add DATA VALIDATION
      • Set:
Parameter Name Parameter Value
Allow:List
Source:%matname%

At this point, you will need to perform some additional data processing to complete this TABBED PANE. We will use a MAP to store and retrieve the modulus of elasticity for each choice of material.

  • Right-click SCALAR under material_data
    • Select Child→Add MAP ()
      • Rename it modulus
      • Set:
Parameter Name Parameter Value
Value:mat
Inputs:%matname%
Outputs:%Ein%

Create a similar MAP for the material’s Poisson ratio.

  • Right-click modulus,
    • Copy and right-click Paste (Sibling)
    • Rename the MAP poisson
    • Set:
Parameter Name Parameter Value
Outputs:%muin%

Now we are ready to display the physical property values of the selected material.

  • Right-click mat
    • Select Sibling→Add INPUTBOX
      • Rename it showE
      • Set:
Parameter Name Parameter Value
Default:modulus
Label:Modulus of Elasticity [ksi]
Input Type:Number
Enable if:false
  • Right-click showE,
    • Copy then Paste (Sibling)
      • Rename the MAP showMu
      • Set:
Parameter Name Parameter Value
Default:poisson
Label:Poisson Ratio
Input Type:Number
Enable if:false
Decimal Places:3

Now we will add an EVENT PROCESSING to ensure that showE and showMu cannot be altered.

  • Right-click showMu
    • Select Sibling→Add EVENT PROCESSING
    • Rename it event_mat_changed.
    • Expand event_mat_changed
      • Right-click event1
        • Select Child→Add VALUE CHANGED
          • Rename it value_changed_mat
          • Set:
            • Objects: mat
  • Rename the ACTION GROUP object to action_display_mat_properties
Parameter Name Parameter Value
Object:showE
Value:modulus
  • Right-click set_value_E,
    • Copy then Paste (Sibling)
    • Rename it set_value_Mu
    • Set:
Parameter Name Parameter Value
Object:showMu
Value:poisson

Check your work. At this point, the EASAP Tree should look like this:

After clicking on the Test Web Browser button (), the EASAP should look like this:

You can also check on the material selection functionality by selecting different materials and observing the property values change


  • Return to the Builder to continue.
  • Right-click props
    • Select Sibling→Add TABBED PANE ()
      • Rename it edges
      • Set:
Parameter Name Parameter Value
Tab:2. Edge Support Conditions

On this second TABBED PANE you will create data entry objects to allow users to specify the support conditions for each of the plate’s four edges.

  • Right-click edges
Parameter Name Parameter Value
Label:Minimum Support Requirements
Text:The edge supports must contain at least one Fixed edge or two Pinned edges.
Height:60, pixel

A TEXTAREA is used here to show a message. A LABEL could also be used.

  • Select textarea1
    • Click on the Check Spelling button in the toolbar () to check the spelling of the Label: and Text: parameters.
    • If any words not in the dictionary are found they will be highlighted.

Note: The Spell checker does not check all parameters. It checks a predefined subset of all the parameters whose values might be visible to a user.

  • After correcting any spelling mistakes click OK on the Spelling Check pop-up form.
  • Right-click textarea1
    • Select Sibling→Add SUB PANE
      • Rename it set_edges
    • Right-click set_edges
      • Select Child→Add CHOICE LIST
        • Rename it bottom
        • Set:
Parameter Name Parameter Value
Choices:Free, Pinned, Fixed
Default:Free
Label:Bottom edge
Select Mode:SINGLE SELECT RADIO BUTTON
Orientation:HORIZONTAL
Tool Tip:Set support condition for this edge
  • Right-click bottom
    • Type Ctrl-C (Copy), then type Ctrl-B (Paste (Sibling)) three times

Three new SUB PANES will appear.

  • Re-name the CHOICE LIST objects within these SUB PANE's as:
    • top
    • left
    • right
  • Set their Label: parameters respectively (no quotes):
    • 'Top edge'
    • 'Left edge'
    • 'Right edge'
  • For left and right
    • Set the parameter
      • Default: 'Fixed'

Now create an error check to make sure a User does not submit a case in which the plate is not properly supported.

  • Right-click set_edges
    • Select Sibling→Add EVENT PROCESSING ()
      • Rename it check_for_errors
    • Expand check_for_errors
      • Right-click its Child EVENT
        • Select Child→Add SUBMIT CHECK ()
        • Right-click on the ACTION GROUP object
Parameter Name Parameter Value
Title:Edge Support Error
Error Message:Plate not properly supported. The edge supports must contain at least one Fixed edge or two Pinned edges.
Type:ERROR_MESSAGE
Show if:(bottom!="Fixed"&&top!="Fixed"&&left!="Fixed"&&right!="Fixed")&&!(bottom=="Pinned"&&top=="Pinned")&&!(left=="Pinned"&&right=="Pinned")

Note: The expression in the Show if: parameter checks whether one of the four edges has been set equal to 2, or Fixed, or whether any two edges have been set equal to 1, or Pinned. The above text must be typed, cut and paste from the tutorial will fail.

At this point the EASAP Tree should look like this:

After clicking on the Test Web Browser button (), the second TABBED PANE should look like this:

  • Exit EASAP Builder
  • Select File→Exit or just by click on the x in the top-right corner of the window.
    • If a pop-up window asks whether to save or not, select ‘Yes’
  • To see the current name and status of your EASAP,
    • Select the EASA→Applications→My EASAPs menu.
    • Locate your EASAP,
      • It may have a title of ‘Rectangular Plate (*)’, where the asterisk will be a number.

The reason you may get a number within parentheses after your EASAP title is that EASA automatically adds this number to keep the title unique. Therefore, if another EASAP already exists with the name ‘Rectangular Plate’ then the number will be added to your EASAP’s title

  • When you find your EASAP,
    • Click on its title link or the thumbnail image in the far left column of its row,
      • The page below appears:

Congratulations. You have finished Practical Session 1.

Practical Session 2