Mass class

The Mass class gives you access to element mass cards in PRIMER. More...

The PRIMER JavaScript API provides many class constants, properties and methods. For Arup to be able to extend and enhance the API in the future any constant, property or method names beginning with a lowercase or uppercase letter are reserved.
If you need to add your own properties or methods to one of the existing classes then to avoid any potential future conflict you should ensure that the name begins with either an underscore (_) or a dollar sign ($) or the name is prefixed with your own unique identifier.
For example if company 'ABC' need to add a property called 'example' then to avoid any potential future conflict use one of:

Class functions

Member functions

Mass constants

Name Description
Mass.NODE_SET Mass is *MASS_NODE_SET.

Mass properties

Name Type Description
colour Colour The colour of the mass
eid integer Mass number. Also see the label property which is an alternative name for this.
exists (read only) logical true if mass exists, false if referred to but not defined.
id integer Node id or node set id
include integer The Include file number that the mass is in.
label integer Mass number. Also see the eid property which is an alternative name for this.
mass real Mass value
model (read only) integer The Model number that the mass is in.
node_set integer The type of the mass. Can be false (*MASS) or Mass.NODE_SET (*MASS_NODE_SET)
pid integer Part ID
transparency integer The transparency of the mass (0-100) 0% is opaque, 100% is transparent.

Detailed Description

The Mass class allows you to create, modify, edit and manipulate mass cards. See the documentation below for more details.

Constructor

new Mass(Model[Model], eid[integer], id[integer], mass[real], node set (optional)[integer])

Description

Create a new Mass object.

Arguments

  • Model (Model)

    Model that mass will be created in

  • eid (integer)

    Mass number

  • id (integer)

    Node id or node set id

  • mass (real)

    Mass value

  • node set (optional) (integer)

    Only used if a node set is used

    Returns

    Mass object

    Return type

    Mass

    Example

    To create a new mass in model m with label 200, on node 500, or node set 500, with a mass of 3.5, use one of the following:

    var m = new Mass(m, 200, 500, 3.5);

    var m = new Mass(m, 200, 500, 3.5, Mass.NODE_SET);

    Details of functions

    AssociateComment(Comment[Comment])

    Description

    Associates a comment with a mass.

    Arguments

  • Comment (Comment)

    Comment that will be attached to the mass

    Returns

    No return value

    Example

    To associate comment c to the mass m:

    m.AssociateComment(c);


    Blank()

    Description

    Blanks the mass

    Arguments

    No arguments

    Returns

    No return value

    Example

    To blank mass m:

    m.Blank();


    BlankAll(Model[Model], redraw (optional)[boolean]) [static]

    Description

    Blanks all of the masss in the model.

    Arguments

  • Model (Model)

    Model that all masss will be blanked in

  • redraw (optional) (boolean)

    If model should be redrawn or not. If omitted redraw is false. If you want to do several (un)blanks and only redraw after the last one then use false for all redraws apart from the last one. Alternatively you can redraw using View.Redraw().

    Returns

    No return value

    Example

    To blank all of the masss in model m:

    Mass.BlankAll(m);


    BlankFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]

    Description

    Blanks all of the flagged masss in the model.

    Arguments

  • Model (Model)

    Model that all the flagged masss will be blanked in

  • flag (Flag)

    Flag set on the masss that you want to blank

  • redraw (optional) (boolean)

    If model should be redrawn or not. If omitted redraw is false. If you want to do several (un)blanks and only redraw after the last one then use false for all redraws apart from the last one. Alternatively you can redraw using View.Redraw().

    Returns

    No return value

    Example

    To blank all of the masss in model m flagged with f:

    Mass.BlankFlagged(m, f);


    Blanked()

    Description

    Checks if the mass is blanked or not.

    Arguments

    No arguments

    Returns

    true if blanked, false if not.

    Return type

    Boolean

    Example

    To check if mass m is blanked:

    if (m.Blanked() ) do_something...


    Browse(modal (optional)[boolean])

    Description

    Starts an edit panel in Browse mode.

    Arguments

  • modal (optional) (boolean)

    If this window is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the window will be modal.

    Returns

    no return value

    Example

    To Browse mass m:

    m.Browse();


    ClearFlag(flag[Flag])

    Description

    Clears a flag on the mass.

    Arguments

  • flag (Flag)

    Flag to clear on the mass

    Returns

    No return value

    Example

    To clear flag f for mass m:

    m.ClearFlag(f);


    Copy(range (optional)[boolean])

    Description

    Copies the mass. The target include of the copied mass can be set using Options.copy_target_include.

    Arguments

  • range (optional) (boolean)

    If you want to keep the copied item in the range specified for the current include. Default value is false. To set current include, use Include.MakeCurrentLayer().

    Returns

    Mass object

    Return type

    Mass

    Example

    To copy mass m into mass z:

    var z = m.Copy();


    Create(Model[Model], modal (optional)[boolean]) [static]

    Description

    Starts an interactive editing panel to create a mass

    Arguments

  • Model (Model)

    Model that the mass will be created in.

  • modal (optional) (boolean)

    If this window is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the window will be modal.

    Returns

    Mass object (or null if not made).

    Return type

    Mass

    Example

    To start creating a mass in model m:

    var m = Mass.Create(m);


    DetachComment(Comment[Comment])

    Description

    Detaches a comment from a mass.

    Arguments

  • Comment (Comment)

    Comment that will be detached from the mass

    Returns

    No return value

    Example

    To detach comment c from the mass m:

    m.DetachComment(c);


    Edit(modal (optional)[boolean])

    Description

    Starts an interactive editing panel.

    Arguments

  • modal (optional) (boolean)

    If this window is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the window will be modal.

    Returns

    no return value

    Example

    To Edit mass m:

    m.Edit();


    Error(message[string], details (optional)[string])

    Description

    Adds an error for mass. For more details on checking see the Check class.

    Arguments

  • message (string)

    The error message to give

  • details (optional) (string)

    An optional detailed error message

    Returns

    No return value

    Example

    To add an error message "My custom error" for mass m:

    m.Error("My custom error");


    ExtractColour()

    Description

    Extracts the actual colour used for mass.
    By default in PRIMER many entities such as elements get their colour automatically from the part that they are in. PRIMER cycles through 13 default colours based on the label of the entity. In this case the mass colour property will return the value Colour.PART instead of the actual colour. This method will return the actual colour which is used for drawing the mass.

    Arguments

    No arguments

    Returns

    colour value (integer)

    Return type

    Number

    Example

    To return the colour used for drawing mass m:

    var colour = m.ExtractColour();


    First(Model[Model]) [static]

    Description

    Returns the first mass in the model.

    Arguments

  • Model (Model)

    Model to get first mass in

    Returns

    Mass object (or null if there are no masss in the model).

    Return type

    Mass

    Example

    To get the first mass in model m:

    var m = Mass.First(m);


    FirstFreeLabel(Model[Model], layer (optional)[Include number]) [static]

    Description

    Returns the first free mass label in the model. Also see Mass.LastFreeLabel(), Mass.NextFreeLabel() and Model.FirstFreeItemLabel().

    Arguments

  • Model (Model)

    Model to get first free mass label in

  • layer (optional) (Include number)

    Include file (0 for the main file) to search for labels in (Equivalent to First free in layer in editing panels). If omitted the whole model will be used (Equivalent to First free in editing panels).

    Returns

    Mass label.

    Return type

    Number

    Example

    To get the first free mass label in model m:

    var label = Mass.FirstFreeLabel(m);


    FlagAll(Model[Model], flag[Flag]) [static]

    Description

    Flags all of the masss in the model with a defined flag.

    Arguments

  • Model (Model)

    Model that all masss will be flagged in

  • flag (Flag)

    Flag to set on the masss

    Returns

    No return value

    Example

    To flag all of the masss with flag f in model m:

    Mass.FlagAll(m, f);


    Flagged(flag[Flag])

    Description

    Checks if the mass is flagged or not.

    Arguments

  • flag (Flag)

    Flag to test on the mass

    Returns

    true if flagged, false if not.

    Return type

    Boolean

    Example

    To check if mass m has flag f set on it:

    if (m.Flagged(f) ) do_something...


    ForEach(Model[Model], func[function], extra (optional)[any]) [static]

    Description

    Calls a function for each mass in the model.
    Note that ForEach has been designed to make looping over masss as fast as possible and so has some limitations.
    Firstly, a single temporary Mass object is created and on each function call it is updated with the current mass data. This means that you should not try to store the Mass object for later use (e.g. in an array) as it is temporary.
    Secondly, you cannot create new masss inside a ForEach loop.

    Arguments

  • Model (Model)

    Model that all masss are in

  • func (function)

    Function to call for each mass

  • extra (optional) (any)

    An optional extra object/array/string etc that will appended to arguments when calling the function

    Returns

    No return value

    Example

    To call function test for all of the masss in model m:

    Mass.ForEach(m, test);
    function test(m)
    {
    // m is Mass object
    }

    To call function test for all of the masss in model m with optional object:

    var data = { x:0, y:0 };
    Mass.ForEach(m, test, data);
    function test(m, extra)
    {
    // m is Mass object
    // extra is data
    }


    GetAll(Model[Model], property (optional)[string]) [static]

    Description

    Returns an array of Mass objects or properties for all of the masss in a model in PRIMER. If the optional property argument is not given then an array of Mass objects is returned. If the property argument is given, that property value for each mass is returned in the array instead of a Mass object

    Arguments

  • Model (Model)

    Model to get masss from

  • property (optional) (string)

    Name for property to get for all masss in the model

    Returns

    Array of Mass objects or properties

    Return type

    Array

    Example

    To make an array of Mass objects for all of the masss in model m:

    var a = Mass.GetAll(m);

    To return an array containing the value of property 'foo' (for example 'x' for a node) for each mass in model m:

    var a = Mass.GetAll(m, 'foo');


    GetComments()

    Description

    Extracts the comments associated to a mass.

    Arguments

    No arguments

    Returns

    Array of Comment objects (or null if there are no comments associated to the node).

    Return type

    Array

    Example

    To get the array of comments associated to the mass m:

    var comm_array = m.GetComments();


    GetFlagged(Model[Model], flag[Flag], property (optional)[string]) [static]

    Description

    Returns an array of Mass objects for all of the flagged masss in a model in PRIMER If the optional property argument is not given then an array of Mass objects is returned. If the property argument is given, then that property value for each mass is returned in the array instead of a Mass object

    Arguments

  • Model (Model)

    Model to get masss from

  • flag (Flag)

    Flag set on the masss that you want to retrieve

  • property (optional) (string)

    Name for property to get for all flagged masss in the model

    Returns

    Array of Mass objects or properties

    Return type

    Array

    Example

    To make an array of Mass objects for all of the masss in model m flagged with f:

    var m = Mass.GetFlagged(m, f);

    To return an array containing the value of property 'foo' (for example 'x' for a node) for all of the masss in model m flagged with f:

    var a = Mass.GetFlagged(m, f, 'foo');


    GetFromID(Model[Model], number[integer]) [static]

    Description

    Returns the Mass object for a mass ID.

    Arguments

  • Model (Model)

    Model to find the mass in

  • number (integer)

    number of the mass you want the Mass object for

    Returns

    Mass object (or null if mass does not exist).

    Return type

    Mass

    Example

    To get the Mass object for mass 100 in model m

    var m = Mass.GetFromID(m, 100);


    GetParameter(prop[string])

    Description

    Checks if a Mass property is a parameter or not. Note that object properties that are parameters are normally returned as the integer or float parameter values as that is virtually always what the user would want. For this function to work the JavaScript interpreter must use the parameter name instead of the value. This can be done by setting the Options.property_parameter_names option to true before calling the function and then resetting it to false afterwards.. This behaviour can also temporarily be switched by using the Mass.ViewParameters() method and 'method chaining' (see the examples below).

    Arguments

  • prop (string)

    mass property to get parameter for

    Returns

    Parameter object if property is a parameter, null if not.

    Return type

    Parameter

    Example

    To check if Mass property m.example is a parameter:

    Options.property_parameter_names = true;
    if (m.GetParameter(m.example) ) do_something...
    Options.property_parameter_names = false;

    To check if Mass property m.example is a parameter by using the GetParameter method:

    if (m.ViewParameters().GetParameter(m.example) ) do_something...


    Keyword()

    Description

    Returns the keyword for this mass (*ELEMENT_MASS or *ELEMENT_MASS_NODE_SET). Note that a carriage return is not added. See also Mass.KeywordCards()

    Arguments

    No arguments

    Returns

    string containing the keyword.

    Return type

    String

    Example

    To get the keyword for mass m:

    var key = m.Keyword();


    KeywordCards()

    Description

    Returns the keyword cards for the mass. Note that a carriage return is not added. See also Mass.Keyword()

    Arguments

    No arguments

    Returns

    string containing the cards.

    Return type

    String

    Example

    To get the cards for mass m:

    var cards = m.KeywordCards();


    Last(Model[Model]) [static]

    Description

    Returns the last mass in the model.

    Arguments

  • Model (Model)

    Model to get last mass in

    Returns

    Mass object (or null if there are no masss in the model).

    Return type

    Mass

    Example

    To get the last mass in model m:

    var m = Mass.Last(m);


    LastFreeLabel(Model[Model], layer (optional)[Include number]) [static]

    Description

    Returns the last free mass label in the model. Also see Mass.FirstFreeLabel(), Mass.NextFreeLabel() and see Model.LastFreeItemLabel()

    Arguments

  • Model (Model)

    Model to get last free mass label in

  • layer (optional) (Include number)

    Include file (0 for the main file) to search for labels in (Equivalent to Highest free in layer in editing panels). If omitted the whole model will be used.

    Returns

    Mass label.

    Return type

    Number

    Example

    To get the last free mass label in model m:

    var label = Mass.LastFreeLabel(m);


    Next()

    Description

    Returns the next mass in the model.

    Arguments

    No arguments

    Returns

    Mass object (or null if there are no more masss in the model).

    Return type

    Mass

    Example

    To get the mass in model m after mass m:

    var m = m.Next();


    NextFreeLabel(Model[Model], layer (optional)[Include number]) [static]

    Description

    Returns the next free (highest+1) mass label in the model. Also see Mass.FirstFreeLabel(), Mass.LastFreeLabel() and Model.NextFreeItemLabel()

    Arguments

  • Model (Model)

    Model to get next free mass label in

  • layer (optional) (Include number)

    Include file (0 for the main file) to search for labels in (Equivalent to Highest+1 in layer in editing panels). If omitted the whole model will be used (Equivalent to Highest+1 in editing panels).

    Returns

    Mass label.

    Return type

    Number

    Example

    To get the next free mass label in model m:

    var label = Mass.NextFreeLabel(m);


    Pick(prompt[string], limit (optional)[Model or Flag], modal (optional)[boolean], button text (optional)[string]) [static]

    Description

    Allows the user to pick a mass.

    Arguments

  • prompt (string)

    Text to display as a prompt to the user

  • limit (optional) (Model or Flag)

    If the argument is a Model then only masss from that model can be picked. If the argument is a Flag then only masss that are flagged with limit can be selected. If omitted, or null, any masss from any model can be selected. from any model.

  • modal (optional) (boolean)

    If picking is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the pick will be modal.

  • button text (optional) (string)

    By default the window with the prompt will have a button labelled 'Cancel' which if pressed will cancel the pick and return null. If you want to change the text on the button use this argument. If omitted 'Cancel' will be used.

    Returns

    Mass object (or null if not picked)

    Return type

    Mass

    Example

    To pick a mass from model m giving the prompt 'Pick mass from screen':

    var m = Mass.Pick('Pick mass from screen', m);


    Previous()

    Description

    Returns the previous mass in the model.

    Arguments

    No arguments

    Returns

    Mass object (or null if there are no more masss in the model).

    Return type

    Mass

    Example

    To get the mass in model m before mass m:

    var m = m.Previous();


    RenumberAll(Model[Model], start[integer]) [static]

    Description

    Renumbers all of the masss in the model.

    Arguments

  • Model (Model)

    Model that all masss will be renumbered in

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

    To renumber all of the masss in model m, from 1000000:

    Mass.RenumberAll(m, 1000000);


    RenumberFlagged(Model[Model], flag[Flag], start[integer]) [static]

    Description

    Renumbers all of the flagged masss in the model.

    Arguments

  • Model (Model)

    Model that all the flagged masss will be renumbered in

  • flag (Flag)

    Flag set on the masss that you want to renumber

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

    To renumber all of the masss in model m flagged with f, from 1000000:

    Mass.RenumberFlagged(m, f, 1000000);


    Select(flag[Flag], prompt[string], limit (optional)[Model or Flag], modal (optional)[boolean]) [static]

    Description

    Allows the user to select masss using standard PRIMER object menus.

    Arguments

  • flag (Flag)

    Flag to use when selecting masss

  • prompt (string)

    Text to display as a prompt to the user

  • limit (optional) (Model or Flag)

    If the argument is a Model then only masss from that model can be selected. If the argument is a Flag then only masss that are flagged with limit can be selected (limit should be different to flag). If omitted, or null, any masss can be selected. from any model.

  • modal (optional) (boolean)

    If selection is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the selection will be modal.

    Returns

    Number of masss selected or null if menu cancelled

    Return type

    Number

    Example

    To select masss from model m, flagging those selected with flag f, giving the prompt 'Select masss':

    Mass.Select(f, 'Select masss', m);

    To select masss, flagging those selected with flag f but limiting selection to masss flagged with flag l, giving the prompt 'Select masss':

    Mass.Select(f, 'Select masss', l);


    SetFlag(flag[Flag])

    Description

    Sets a flag on the mass.

    Arguments

  • flag (Flag)

    Flag to set on the mass

    Returns

    No return value

    Example

    To set flag f for mass m:

    m.SetFlag(f);


    Sketch(redraw (optional)[boolean])

    Description

    Sketches the mass. The mass will be sketched until you either call Mass.Unsketch(), Mass.UnsketchAll(), Model.UnsketchAll(), or delete the model

    Arguments

  • redraw (optional) (boolean)

    If model should be redrawn or not after the mass is sketched. If omitted redraw is true. If you want to sketch several masss and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To sketch mass m:

    m.Sketch();


    SketchFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]

    Description

    Sketches all of the flagged masss in the model. The masss will be sketched until you either call Mass.Unsketch(), Mass.UnsketchFlagged(), Model.UnsketchAll(), or delete the model

    Arguments

  • Model (Model)

    Model that all the flagged masss will be sketched in

  • flag (Flag)

    Flag set on the masss that you want to sketch

  • redraw (optional) (boolean)

    If model should be redrawn or not after the masss are sketched. If omitted redraw is true. If you want to sketch flagged masss several times and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To sketch all masss flagged with flag in model m:

    Mass.SketchFlagged(m, flag);


    Total(Model[Model], exists (optional)[boolean]) [static]

    Description

    Returns the total number of masss in the model.

    Arguments

  • Model (Model)

    Model to get total for

  • exists (optional) (boolean)

    true if only existing masss should be counted. If false or omitted referenced but undefined masss will also be included in the total.

    Returns

    number of masss

    Return type

    Number

    Example

    To get the total number of masss in model m:

    var total = Mass.Total(m);


    Unblank()

    Description

    Unblanks the mass

    Arguments

    No arguments

    Returns

    No return value

    Example

    To unblank mass m:

    m.Unblank();


    UnblankAll(Model[Model], redraw (optional)[boolean]) [static]

    Description

    Unblanks all of the masss in the model.

    Arguments

  • Model (Model)

    Model that all masss will be unblanked in

  • redraw (optional) (boolean)

    If model should be redrawn or not. If omitted redraw is false. If you want to do several (un)blanks and only redraw after the last one then use false for all redraws apart from the last one. Alternatively you can redraw using View.Redraw().

    Returns

    No return value

    Example

    To unblank all of the masss in model m:

    Mass.UnblankAll(m);


    UnblankFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]

    Description

    Unblanks all of the flagged masss in the model.

    Arguments

  • Model (Model)

    Model that the flagged masss will be unblanked in

  • flag (Flag)

    Flag set on the masss that you want to unblank

  • redraw (optional) (boolean)

    If model should be redrawn or not. If omitted redraw is false. If you want to do several (un)blanks and only redraw after the last one then use false for all redraws apart from the last one. Alternatively you can redraw using View.Redraw().

    Returns

    No return value

    Example

    To unblank all of the masss in model m flagged with f:

    Mass.UnblankFlagged(m, f);


    UnflagAll(Model[Model], flag[Flag]) [static]

    Description

    Unsets a defined flag on all of the masss in the model.

    Arguments

  • Model (Model)

    Model that the defined flag for all masss will be unset in

  • flag (Flag)

    Flag to unset on the masss

    Returns

    No return value

    Example

    To unset the flag f on all the masss in model m:

    Mass.UnflagAll(m, f);


    Unsketch(redraw (optional)[boolean])

    Description

    Unsketches the mass.

    Arguments

  • redraw (optional) (boolean)

    If model should be redrawn or not after the mass is unsketched. If omitted redraw is true. If you want to unsketch several masss and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To unsketch mass m:

    m.Unsketch();


    UnsketchAll(Model[Model], redraw (optional)[boolean]) [static]

    Description

    Unsketches all masss.

    Arguments

  • Model (Model)

    Model that all masss will be unblanked in

  • redraw (optional) (boolean)

    If model should be redrawn or not after the masss are unsketched. If omitted redraw is true. If you want to unsketch several things and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To unsketch all masss in model m:

    Mass.UnsketchAll(m);


    UnsketchFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]

    Description

    Unsketches all flagged masss in the model.

    Arguments

  • Model (Model)

    Model that all masss will be unsketched in

  • flag (Flag)

    Flag set on the masss that you want to unsketch

  • redraw (optional) (boolean)

    If model should be redrawn or not after the masss are unsketched. If omitted redraw is true. If you want to unsketch several things and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To unsketch all masss flagged with flag in model m:

    Mass.UnsketchAll(m, flag);


    ViewParameters()

    Description

    Object properties that are parameters are normally returned as the integer or float parameter values as that is virtually always what the user would want. This function temporarily changes the behaviour so that if a property is a parameter the parameter name is returned instead. This can be used with 'method chaining' (see the example below) to make sure a property argument is correct.

    Arguments

    No arguments

    Returns

    Mass object.

    Return type

    Mass

    Example

    To check if Mass property m.example is a parameter by using the Mass.GetParameter() method:

    if (m.ViewParameters().GetParameter(m.example) ) do_something...


    Warning(message[string], details (optional)[string])

    Description

    Adds a warning for mass. For more details on checking see the Check class.

    Arguments

  • message (string)

    The warning message to give

  • details (optional) (string)

    An optional detailed warning message

    Returns

    No return value

    Example

    To add a warning message "My custom warning" for mass m:

    m.Warning("My custom warning");


    Xrefs()

    Description

    Returns the cross references for this mass.

    Arguments

    No arguments

    Returns

    Xrefs object.

    Return type

    Xrefs

    Example

    To get the cross references for mass m:

    var xrefs = m.Xrefs();


    toString()

    Description

    Creates a string containing the mass data in keyword format. Note that this contains the keyword header and the keyword cards. See also Mass.Keyword() and Mass.KeywordCards().

    Arguments

    No arguments

    Returns

    string

    Return type

    String

    Example

    To get data for mass m in keyword format

    var s = m.toString();