ExtraNodes class

The ExtraNodes class gives you access to constrained extra nodes 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

ExtraNodes constants

Name Description
ExtraNodes.NODE CNST is *CONSTRAINED_EXTRA_NODES_NODE.
ExtraNodes.SET CNST is *CONSTRAINED_EXTRA_NODES_SET.

ExtraNodes properties

Name Type Description
colour Colour The colour of the extra nodes
exists (read only) logical true if constrained extra node exists, false if referred to but not defined.
id integer Node ID or node set ID (not internal label)
iflag logical Flag for adding node mass inertia to PART_INERTIA
include integer The Include file number that the constrained extra node is in.
label (read only) integer The label the constrained extra nodes has in PRIMER
model (read only) integer The Model number that the constrained extra node is in.
option constant The Constrained Extra Nodes option. Can be ExtraNodes.NODE or ExtraNodes.SET.
pid integer Part ID of rigid body.

Detailed Description

The ExtraNodes class allows you to create, modify, edit and manipulate constrained extra nodes cards. See the documentation below for more details.

Constructor

new ExtraNodes(Model[Model], option[constant], pid[integer], id[integer], iflag[boolean])

Description

Create a new ExtraNodes object.

Arguments

  • Model (Model)

    Model that constrained extra nodes will be created in

  • option (constant)

    Specify the type of constrained extra nodes. Can be ExtraNodes.NODE or ExtraNodes.SET)

  • pid (integer)

    Part ID of rigid body

  • id (integer)

    Node node ID or node set ID

  • iflag (boolean)

    Flag for adding node mass inertia to PART_INERTIA

    Returns

    ExtraNodes object

    Return type

    ExtraNodes

    Example

    To create a new constrained extra nodes in model m, of type SET, with part 9, node set 18 and iflag 0

    var e = new ExtraNodes(m, ExtraNodes.SET, 9, 18, 0);

    Details of functions

    AssociateComment(Comment[Comment])

    Description

    Associates a comment with a constrained extra node.

    Arguments

  • Comment (Comment)

    Comment that will be attached to the constrained extra node

    Returns

    No return value

    Example

    To associate comment c to the constrained extra node en:

    en.AssociateComment(c);


    Blank()

    Description

    Blanks the constrained extra node

    Arguments

    No arguments

    Returns

    No return value

    Example

    To blank constrained extra node en:

    en.Blank();


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

    Description

    Blanks all of the constrained extra nodes in the model.

    Arguments

  • Model (Model)

    Model that all constrained extra nodes 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 constrained extra nodes in model m:

    ExtraNodes.BlankAll(m);


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

    Description

    Blanks all of the flagged constrained extra nodes in the model.

    Arguments

  • Model (Model)

    Model that all the flagged constrained extra nodes will be blanked in

  • flag (Flag)

    Flag set on the constrained extra nodes 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 constrained extra nodes in model m flagged with f:

    ExtraNodes.BlankFlagged(m, f);


    Blanked()

    Description

    Checks if the constrained extra node is blanked or not.

    Arguments

    No arguments

    Returns

    true if blanked, false if not.

    Return type

    Boolean

    Example

    To check if constrained extra node en is blanked:

    if (en.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 constrained extra node en:

    en.Browse();


    ClearFlag(flag[Flag])

    Description

    Clears a flag on the constrained extra node.

    Arguments

  • flag (Flag)

    Flag to clear on the constrained extra node

    Returns

    No return value

    Example

    To clear flag f for constrained extra node en:

    en.ClearFlag(f);


    Copy(range (optional)[boolean])

    Description

    Copies the constrained extra node. The target include of the copied constrained extra node 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

    ExtraNodes object

    Return type

    ExtraNodes

    Example

    To copy constrained extra node en into constrained extra node z:

    var z = en.Copy();


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

    Description

    Starts an interactive editing panel to create a constrained extra node

    Arguments

  • Model (Model)

    Model that the constrained extra node 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

    ExtraNodes object (or null if not made).

    Return type

    ExtraNodes

    Example

    To start creating a constrained extra node in model m:

    var en = ExtraNodes.Create(m);


    DetachComment(Comment[Comment])

    Description

    Detaches a comment from a constrained extra node.

    Arguments

  • Comment (Comment)

    Comment that will be detached from the constrained extra node

    Returns

    No return value

    Example

    To detach comment c from the constrained extra node en:

    en.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 constrained extra node en:

    en.Edit();


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

    Description

    Adds an error for constrained extra node. 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 constrained extra node en:

    en.Error("My custom error");


    ExtractColour()

    Description

    Extracts the actual colour used for constrained extra node.
    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 constrained extra node 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 constrained extra node.

    Arguments

    No arguments

    Returns

    colour value (integer)

    Return type

    Number

    Example

    To return the colour used for drawing constrained extra node en:

    var colour = en.ExtractColour();


    First(Model[Model]) [static]

    Description

    Returns the first constrained extra node in the model.

    Arguments

  • Model (Model)

    Model to get first constrained extra node in

    Returns

    ExtraNodes object (or null if there are no constrained extra nodes in the model).

    Return type

    ExtraNodes

    Example

    To get the first constrained extra node in model m:

    var en = ExtraNodes.First(m);


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

    Description

    Flags all of the constrained extra nodes in the model with a defined flag.

    Arguments

  • Model (Model)

    Model that all constrained extra nodes will be flagged in

  • flag (Flag)

    Flag to set on the constrained extra nodes

    Returns

    No return value

    Example

    To flag all of the constrained extra nodes with flag f in model m:

    ExtraNodes.FlagAll(m, f);


    Flagged(flag[Flag])

    Description

    Checks if the constrained extra node is flagged or not.

    Arguments

  • flag (Flag)

    Flag to test on the constrained extra node

    Returns

    true if flagged, false if not.

    Return type

    Boolean

    Example

    To check if constrained extra node en has flag f set on it:

    if (en.Flagged(f) ) do_something...


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

    Description

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

    Arguments

  • Model (Model)

    Model that all constrained extra nodes are in

  • func (function)

    Function to call for each constrained extra node

  • 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 constrained extra nodes in model m:

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

    To call function test for all of the constrained extra nodes in model m with optional object:

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


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

    Description

    Returns an array of ExtraNodes objects or properties for all of the constrained extra nodes in a model in PRIMER. If the optional property argument is not given then an array of ExtraNodes objects is returned. If the property argument is given, that property value for each constrained extra node is returned in the array instead of a ExtraNodes object

    Arguments

  • Model (Model)

    Model to get constrained extra nodes from

  • property (optional) (string)

    Name for property to get for all constrained extra nodes in the model

    Returns

    Array of ExtraNodes objects or properties

    Return type

    Array

    Example

    To make an array of ExtraNodes objects for all of the constrained extra nodes in model m:

    var a = ExtraNodes.GetAll(m);

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

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


    GetComments()

    Description

    Extracts the comments associated to a constrained extra node.

    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 constrained extra node en:

    var comm_array = en.GetComments();


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

    Description

    Returns an array of ExtraNodes objects for all of the flagged constrained extra nodes in a model in PRIMER If the optional property argument is not given then an array of ExtraNodes objects is returned. If the property argument is given, then that property value for each constrained extra node is returned in the array instead of a ExtraNodes object

    Arguments

  • Model (Model)

    Model to get constrained extra nodes from

  • flag (Flag)

    Flag set on the constrained extra nodes that you want to retrieve

  • property (optional) (string)

    Name for property to get for all flagged constrained extra nodes in the model

    Returns

    Array of ExtraNodes objects or properties

    Return type

    Array

    Example

    To make an array of ExtraNodes objects for all of the constrained extra nodes in model m flagged with f:

    var en = ExtraNodes.GetFlagged(m, f);

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

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


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

    Description

    Returns the ExtraNodes object for a constrained extra node ID.

    Arguments

  • Model (Model)

    Model to find the constrained extra node in

  • number (integer)

    number of the constrained extra node you want the ExtraNodes object for

    Returns

    ExtraNodes object (or null if constrained extra node does not exist).

    Return type

    ExtraNodes

    Example

    To get the ExtraNodes object for constrained extra node 100 in model m

    var en = ExtraNodes.GetFromID(m, 100);


    GetParameter(prop[string])

    Description

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

    Arguments

  • prop (string)

    constrained extra node property to get parameter for

    Returns

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

    Return type

    Parameter

    Example

    To check if ExtraNodes property en.example is a parameter:

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

    To check if ExtraNodes property en.example is a parameter by using the GetParameter method:

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


    Keyword()

    Description

    Returns the keyword for this constrained extra nodes (*CONSTRAINED_EXTRA_NODES). Note that a carriage return is not added. See also ExtraNodes.KeywordCards()

    Arguments

    No arguments

    Returns

    string containing the keyword.

    Return type

    String

    Example

    To get the keyword for constrained extra nodes e:

    var key = e.Keyword();


    KeywordCards()

    Description

    Returns the keyword cards for the constrained extra nodes. Note that a carriage return is not added. See also ExtraNodes.Keyword()

    Arguments

    No arguments

    Returns

    string containing the cards.

    Return type

    String

    Example

    To get the cards for constrained extra nodes e:

    var cards = e.KeywordCards();


    Last(Model[Model]) [static]

    Description

    Returns the last constrained extra node in the model.

    Arguments

  • Model (Model)

    Model to get last constrained extra node in

    Returns

    ExtraNodes object (or null if there are no constrained extra nodes in the model).

    Return type

    ExtraNodes

    Example

    To get the last constrained extra node in model m:

    var en = ExtraNodes.Last(m);


    Next()

    Description

    Returns the next constrained extra node in the model.

    Arguments

    No arguments

    Returns

    ExtraNodes object (or null if there are no more constrained extra nodes in the model).

    Return type

    ExtraNodes

    Example

    To get the constrained extra node in model m after constrained extra node en:

    var en = en.Next();


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

    Description

    Allows the user to pick a constrained extra node.

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

    ExtraNodes object (or null if not picked)

    Return type

    ExtraNodes

    Example

    To pick a constrained extra node from model m giving the prompt 'Pick constrained extra node from screen':

    var en = ExtraNodes.Pick('Pick constrained extra node from screen', m);


    Previous()

    Description

    Returns the previous constrained extra node in the model.

    Arguments

    No arguments

    Returns

    ExtraNodes object (or null if there are no more constrained extra nodes in the model).

    Return type

    ExtraNodes

    Example

    To get the constrained extra node in model m before constrained extra node en:

    var en = en.Previous();


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

    Description

    Allows the user to select constrained extra nodes using standard PRIMER object menus.

    Arguments

  • flag (Flag)

    Flag to use when selecting constrained extra nodes

  • prompt (string)

    Text to display as a prompt to the user

  • limit (optional) (Model or Flag)

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

    Return type

    Number

    Example

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

    ExtraNodes.Select(f, 'Select constrained extra nodes', m);

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

    ExtraNodes.Select(f, 'Select constrained extra nodes', l);


    SetFlag(flag[Flag])

    Description

    Sets a flag on the constrained extra node.

    Arguments

  • flag (Flag)

    Flag to set on the constrained extra node

    Returns

    No return value

    Example

    To set flag f for constrained extra node en:

    en.SetFlag(f);


    Sketch(redraw (optional)[boolean])

    Description

    Sketches the constrained extra node. The constrained extra node will be sketched until you either call ExtraNodes.Unsketch(), ExtraNodes.UnsketchAll(), Model.UnsketchAll(), or delete the model

    Arguments

  • redraw (optional) (boolean)

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

    Returns

    No return value

    Example

    To sketch constrained extra node en:

    en.Sketch();


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

    Description

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

    Arguments

  • Model (Model)

    Model that all the flagged constrained extra nodes will be sketched in

  • flag (Flag)

    Flag set on the constrained extra nodes that you want to sketch

  • redraw (optional) (boolean)

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

    ExtraNodes.SketchFlagged(m, flag);


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

    Description

    Returns the total number of constrained extra nodes in the model.

    Arguments

  • Model (Model)

    Model to get total for

  • exists (optional) (boolean)

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

    Returns

    number of constrained extra nodes

    Return type

    Number

    Example

    To get the total number of constrained extra nodes in model m:

    var total = ExtraNodes.Total(m);


    Unblank()

    Description

    Unblanks the constrained extra node

    Arguments

    No arguments

    Returns

    No return value

    Example

    To unblank constrained extra node en:

    en.Unblank();


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

    Description

    Unblanks all of the constrained extra nodes in the model.

    Arguments

  • Model (Model)

    Model that all constrained extra nodes 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 constrained extra nodes in model m:

    ExtraNodes.UnblankAll(m);


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

    Description

    Unblanks all of the flagged constrained extra nodes in the model.

    Arguments

  • Model (Model)

    Model that the flagged constrained extra nodes will be unblanked in

  • flag (Flag)

    Flag set on the constrained extra nodes 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 constrained extra nodes in model m flagged with f:

    ExtraNodes.UnblankFlagged(m, f);


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

    Description

    Unsets a defined flag on all of the constrained extra nodes in the model.

    Arguments

  • Model (Model)

    Model that the defined flag for all constrained extra nodes will be unset in

  • flag (Flag)

    Flag to unset on the constrained extra nodes

    Returns

    No return value

    Example

    To unset the flag f on all the constrained extra nodes in model m:

    ExtraNodes.UnflagAll(m, f);


    Unsketch(redraw (optional)[boolean])

    Description

    Unsketches the constrained extra node.

    Arguments

  • redraw (optional) (boolean)

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

    Returns

    No return value

    Example

    To unsketch constrained extra node en:

    en.Unsketch();


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

    Description

    Unsketches all constrained extra nodes.

    Arguments

  • Model (Model)

    Model that all constrained extra nodes will be unblanked in

  • redraw (optional) (boolean)

    If model should be redrawn or not after the constrained extra nodes 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 constrained extra nodes in model m:

    ExtraNodes.UnsketchAll(m);


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

    Description

    Unsketches all flagged constrained extra nodes in the model.

    Arguments

  • Model (Model)

    Model that all constrained extra nodes will be unsketched in

  • flag (Flag)

    Flag set on the constrained extra nodes that you want to unsketch

  • redraw (optional) (boolean)

    If model should be redrawn or not after the constrained extra nodes 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 constrained extra nodes flagged with flag in model m:

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

    ExtraNodes object.

    Return type

    ExtraNodes

    Example

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

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


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

    Description

    Adds a warning for constrained extra node. 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 constrained extra node en:

    en.Warning("My custom warning");


    Xrefs()

    Description

    Returns the cross references for this constrained extra node.

    Arguments

    No arguments

    Returns

    Xrefs object.

    Return type

    Xrefs

    Example

    To get the cross references for constrained extra node en:

    var xrefs = en.Xrefs();


    toString()

    Description

    Creates a string containing the constrained extra nodes data in keyword format. Note that this contains the keyword header and the keyword cards. See also ExtraNodes.Keyword() and ExtraNodes.KeywordCards().

    Arguments

    No arguments

    Returns

    string

    Return type

    String

    Example

    To get data for constrained extra nodes e in keyword format

    var s = e.toString();