MassPart class

The MassPart class gives you access to element mass part 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

MassPart constants

Name Description
MassPart.PART Element is *ELEMENT_MASS_PART.
MassPart.SET Element is *ELEMENT_MASS_PART_SET.

MassPart properties

Name Type Description
addmass real Added translational mass to be distributed to the nodes of the part or part set ID.
colour Colour The colour of the mass part
exists (read only) logical true if element mass part exists, false if referred to but not defined.
finmass real Final translational mass of the part or part set ID.
id integer Part or part set ID if the SET option is active.
include integer The Include file number that the element mass part is in.
lcid integer Optional load curve ID to scale the added mass at time = 0.
model (read only) integer The Model number that the element mass part is in.
mwd integer Optional flag for mass-weighted distribution.
option constant The Element Mass Part option. Can be MassPart.PART or MassPart.SET
transparency integer The transparency of the mass part (0-100) 0% is opaque, 100% is transparent.

Detailed Description

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

Constructor

new MassPart(Model[Model], option[constant], id[integer], addmass (optional)[real], finmass (optional)[real])

Description

Create a new MassPart object.

Arguments

  • Model (Model)

    Model that mass part will be created in

  • option (constant)

    Suffix for element mass part. Can be MassPart.PART or MassPart.SET.

  • id (integer)

    Part or part set ID.

  • addmass (optional) (real)

    Added translational mass.

  • finmass (optional) (real)

    Final translational mass.

    Returns

    MassPart object

    Return type

    MassPart

    Example

    To create a new element mass part in model m with option _<BLANK> and part ID 10:

    var mp = new MassPart(m, MassPart.PART, 10);

    Details of functions

    AssociateComment(Comment[Comment])

    Description

    Associates a comment with a element mass part.

    Arguments

  • Comment (Comment)

    Comment that will be attached to the element mass part

    Returns

    No return value

    Example

    To associate comment c to the element mass part mp:

    mp.AssociateComment(c);


    Blank()

    Description

    Blanks the element mass part

    Arguments

    No arguments

    Returns

    No return value

    Example

    To blank element mass part mp:

    mp.Blank();


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

    Description

    Blanks all of the element mass parts in the model.

    Arguments

  • Model (Model)

    Model that all element mass parts 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 element mass parts in model m:

    MassPart.BlankAll(m);


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

    Description

    Blanks all of the flagged element mass parts in the model.

    Arguments

  • Model (Model)

    Model that all the flagged element mass parts will be blanked in

  • flag (Flag)

    Flag set on the element mass parts 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 element mass parts in model m flagged with f:

    MassPart.BlankFlagged(m, f);


    Blanked()

    Description

    Checks if the element mass part is blanked or not.

    Arguments

    No arguments

    Returns

    true if blanked, false if not.

    Return type

    Boolean

    Example

    To check if element mass part mp is blanked:

    if (mp.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 element mass part mp:

    mp.Browse();


    ClearFlag(flag[Flag])

    Description

    Clears a flag on the element mass part.

    Arguments

  • flag (Flag)

    Flag to clear on the element mass part

    Returns

    No return value

    Example

    To clear flag f for element mass part mp:

    mp.ClearFlag(f);


    Copy(range (optional)[boolean])

    Description

    Copies the element mass part. The target include of the copied element mass part 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

    MassPart object

    Return type

    MassPart

    Example

    To copy element mass part mp into element mass part z:

    var z = mp.Copy();


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

    Description

    Starts an interactive editing panel to create a element mass part

    Arguments

  • Model (Model)

    Model that the element mass part 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

    MassPart object (or null if not made).

    Return type

    MassPart

    Example

    To start creating a element mass part in model m:

    var mp = MassPart.Create(m);


    DetachComment(Comment[Comment])

    Description

    Detaches a comment from a element mass part.

    Arguments

  • Comment (Comment)

    Comment that will be detached from the element mass part

    Returns

    No return value

    Example

    To detach comment c from the element mass part mp:

    mp.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 element mass part mp:

    mp.Edit();


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

    Description

    Adds an error for element mass part. 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 element mass part mp:

    mp.Error("My custom error");


    ExtractColour()

    Description

    Extracts the actual colour used for element mass part.
    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 element mass part 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 element mass part.

    Arguments

    No arguments

    Returns

    colour value (integer)

    Return type

    Number

    Example

    To return the colour used for drawing element mass part mp:

    var colour = mp.ExtractColour();


    First(Model[Model]) [static]

    Description

    Returns the first element mass part in the model.

    Arguments

  • Model (Model)

    Model to get first element mass part in

    Returns

    MassPart object (or null if there are no element mass parts in the model).

    Return type

    MassPart

    Example

    To get the first element mass part in model m:

    var mp = MassPart.First(m);


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

    Description

    Flags all of the element mass parts in the model with a defined flag.

    Arguments

  • Model (Model)

    Model that all element mass parts will be flagged in

  • flag (Flag)

    Flag to set on the element mass parts

    Returns

    No return value

    Example

    To flag all of the element mass parts with flag f in model m:

    MassPart.FlagAll(m, f);


    Flagged(flag[Flag])

    Description

    Checks if the element mass part is flagged or not.

    Arguments

  • flag (Flag)

    Flag to test on the element mass part

    Returns

    true if flagged, false if not.

    Return type

    Boolean

    Example

    To check if element mass part mp has flag f set on it:

    if (mp.Flagged(f) ) do_something...


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

    Description

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

    Arguments

  • Model (Model)

    Model that all element mass parts are in

  • func (function)

    Function to call for each element mass part

  • 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 element mass parts in model m:

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

    To call function test for all of the element mass parts in model m with optional object:

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


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

    Description

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

    Arguments

  • Model (Model)

    Model to get element mass parts from

  • property (optional) (string)

    Name for property to get for all element mass parts in the model

    Returns

    Array of MassPart objects or properties

    Return type

    Array

    Example

    To make an array of MassPart objects for all of the element mass parts in model m:

    var a = MassPart.GetAll(m);

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

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


    GetComments()

    Description

    Extracts the comments associated to a element mass part.

    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 element mass part mp:

    var comm_array = mp.GetComments();


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

    Description

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

    Arguments

  • Model (Model)

    Model to get element mass parts from

  • flag (Flag)

    Flag set on the element mass parts that you want to retrieve

  • property (optional) (string)

    Name for property to get for all flagged element mass parts in the model

    Returns

    Array of MassPart objects or properties

    Return type

    Array

    Example

    To make an array of MassPart objects for all of the element mass parts in model m flagged with f:

    var mp = MassPart.GetFlagged(m, f);

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

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


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

    Description

    Returns the MassPart object for a element mass part ID.

    Arguments

  • Model (Model)

    Model to find the element mass part in

  • number (integer)

    number of the element mass part you want the MassPart object for

    Returns

    MassPart object (or null if element mass part does not exist).

    Return type

    MassPart

    Example

    To get the MassPart object for element mass part 100 in model m

    var mp = MassPart.GetFromID(m, 100);


    GetParameter(prop[string])

    Description

    Checks if a MassPart 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 MassPart.ViewParameters() method and 'method chaining' (see the examples below).

    Arguments

  • prop (string)

    element mass part property to get parameter for

    Returns

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

    Return type

    Parameter

    Example

    To check if MassPart property mp.example is a parameter:

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

    To check if MassPart property mp.example is a parameter by using the GetParameter method:

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


    Keyword()

    Description

    Returns the keyword for this mass part (*ELEMENT_MASS_PART) Note that a carriage return is not added. See also MassPart.KeywordCards()

    Arguments

    No arguments

    Returns

    string containing the keyword.

    Return type

    String

    Example

    To get the keyword for mass part mp:

    var key = mp.Keyword();


    KeywordCards()

    Description

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

    Arguments

    No arguments

    Returns

    string containing the cards.

    Return type

    String

    Example

    To get the cards for mass part mp:

    var cards = mp.KeywordCards();


    Last(Model[Model]) [static]

    Description

    Returns the last element mass part in the model.

    Arguments

  • Model (Model)

    Model to get last element mass part in

    Returns

    MassPart object (or null if there are no element mass parts in the model).

    Return type

    MassPart

    Example

    To get the last element mass part in model m:

    var mp = MassPart.Last(m);


    Next()

    Description

    Returns the next element mass part in the model.

    Arguments

    No arguments

    Returns

    MassPart object (or null if there are no more element mass parts in the model).

    Return type

    MassPart

    Example

    To get the element mass part in model m after element mass part mp:

    var mp = mp.Next();


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

    Description

    Allows the user to pick a element mass part.

    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 element mass parts from that model can be picked. If the argument is a Flag then only element mass parts that are flagged with limit can be selected. If omitted, or null, any element mass parts 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

    MassPart object (or null if not picked)

    Return type

    MassPart

    Example

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

    var mp = MassPart.Pick('Pick element mass part from screen', m);


    Previous()

    Description

    Returns the previous element mass part in the model.

    Arguments

    No arguments

    Returns

    MassPart object (or null if there are no more element mass parts in the model).

    Return type

    MassPart

    Example

    To get the element mass part in model m before element mass part mp:

    var mp = mp.Previous();


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

    Description

    Allows the user to select element mass parts using standard PRIMER object menus.

    Arguments

  • flag (Flag)

    Flag to use when selecting element mass parts

  • prompt (string)

    Text to display as a prompt to the user

  • limit (optional) (Model or Flag)

    If the argument is a Model then only element mass parts from that model can be selected. If the argument is a Flag then only element mass parts that are flagged with limit can be selected (limit should be different to flag). If omitted, or null, any element mass parts 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 element mass parts selected or null if menu cancelled

    Return type

    Number

    Example

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

    MassPart.Select(f, 'Select element mass parts', m);

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

    MassPart.Select(f, 'Select element mass parts', l);


    SetFlag(flag[Flag])

    Description

    Sets a flag on the element mass part.

    Arguments

  • flag (Flag)

    Flag to set on the element mass part

    Returns

    No return value

    Example

    To set flag f for element mass part mp:

    mp.SetFlag(f);


    Sketch(redraw (optional)[boolean])

    Description

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

    Arguments

  • redraw (optional) (boolean)

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

    Returns

    No return value

    Example

    To sketch element mass part mp:

    mp.Sketch();


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

    Description

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

    Arguments

  • Model (Model)

    Model that all the flagged element mass parts will be sketched in

  • flag (Flag)

    Flag set on the element mass parts that you want to sketch

  • redraw (optional) (boolean)

    If model should be redrawn or not after the element mass parts are sketched. If omitted redraw is true. If you want to sketch flagged element mass parts 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 element mass parts flagged with flag in model m:

    MassPart.SketchFlagged(m, flag);


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

    Description

    Returns the total number of element mass parts in the model.

    Arguments

  • Model (Model)

    Model to get total for

  • exists (optional) (boolean)

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

    Returns

    number of element mass parts

    Return type

    Number

    Example

    To get the total number of element mass parts in model m:

    var total = MassPart.Total(m);


    Unblank()

    Description

    Unblanks the element mass part

    Arguments

    No arguments

    Returns

    No return value

    Example

    To unblank element mass part mp:

    mp.Unblank();


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

    Description

    Unblanks all of the element mass parts in the model.

    Arguments

  • Model (Model)

    Model that all element mass parts 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 element mass parts in model m:

    MassPart.UnblankAll(m);


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

    Description

    Unblanks all of the flagged element mass parts in the model.

    Arguments

  • Model (Model)

    Model that the flagged element mass parts will be unblanked in

  • flag (Flag)

    Flag set on the element mass parts 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 element mass parts in model m flagged with f:

    MassPart.UnblankFlagged(m, f);


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

    Description

    Unsets a defined flag on all of the element mass parts in the model.

    Arguments

  • Model (Model)

    Model that the defined flag for all element mass parts will be unset in

  • flag (Flag)

    Flag to unset on the element mass parts

    Returns

    No return value

    Example

    To unset the flag f on all the element mass parts in model m:

    MassPart.UnflagAll(m, f);


    Unsketch(redraw (optional)[boolean])

    Description

    Unsketches the element mass part.

    Arguments

  • redraw (optional) (boolean)

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

    Returns

    No return value

    Example

    To unsketch element mass part mp:

    mp.Unsketch();


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

    Description

    Unsketches all element mass parts.

    Arguments

  • Model (Model)

    Model that all element mass parts will be unblanked in

  • redraw (optional) (boolean)

    If model should be redrawn or not after the element mass parts 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 element mass parts in model m:

    MassPart.UnsketchAll(m);


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

    Description

    Unsketches all flagged element mass parts in the model.

    Arguments

  • Model (Model)

    Model that all element mass parts will be unsketched in

  • flag (Flag)

    Flag set on the element mass parts that you want to unsketch

  • redraw (optional) (boolean)

    If model should be redrawn or not after the element mass parts 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 element mass parts flagged with flag in model m:

    MassPart.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

    MassPart object.

    Return type

    MassPart

    Example

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

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


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

    Description

    Adds a warning for element mass part. 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 element mass part mp:

    mp.Warning("My custom warning");


    Xrefs()

    Description

    Returns the cross references for this element mass part.

    Arguments

    No arguments

    Returns

    Xrefs object.

    Return type

    Xrefs

    Example

    To get the cross references for element mass part mp:

    var xrefs = mp.Xrefs();


    toString()

    Description

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

    Arguments

    No arguments

    Returns

    string

    Return type

    String

    Example

    To get data for mass part mp in keyword format

    var str = mp.toString();