Spr2 class

The Spr2 class gives you access to constrained spr2 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

Spr2 constants

Constants for Flags for Interpolation

Name Description
Spr2.INVERSE Property INTP value EQ.2.0: Inverse distance weighting.
Spr2.LINEAR Property INTP value EQ.0.0: Linear (default).
Spr2.UNIFORM Property INTP value EQ.1.0: Uniform.

Spr2 properties

Name Type Description
alpha1 real Dimensionless parameter scaling the effective displacement.
alpha2 real Dimensionless parameter scaling the effective displacement.
alpha3 real Dimensionless parameter scaling the effective displacement. ( GT.0: incremental update (default), LT.0: total update (recommended) )
d real Rivet diameter.
dens real Rivet density (necessary for time step calculation).
dn real Failure displacement in normal direction.
dt real Failure displacement in tangential direction.
exists (read only) logical true if spr2 exists, false if referred to but not defined.
expn real Exponent value for load function in normal direction.
expt real Exponent value for load function in tangential direction.
fn real Rivet strength in tension (pull-out) or (if -ve) label for UPID
ft real Rivet strength in pure shear.
include integer The Include file number that the spr2 is in.
intp real Flag for interpolation. Values can be Spr2.LINEAR, Spr2.UNIFORM or Spr2.INVERSE.
lpid integer Lower Sheet Part ID.
model (read only) integer The Model number that the spr2 is in.
nsid integer Node Set ID of rivet location nodes.
pidvb integer Part ID for visualization beams representing SPR2 in postprocessing.
thick real Total thickness of lead and constrained sheet.
upid integer Upper Sheet Part ID.
xin real Fraction of failure displacement at maximum normal force.
xit real Fraction of failure displacement at maximum tangential force.
xpid1 integer Extra Part ID 1 for multi-sheet connection.
xpid2 integer Extra Part ID 2 for multi-sheet connection.
xpid3 integer Extra Part ID 3 for multi-sheet connection.
xpid4 integer Extra Part ID 4 for multi-sheet connection.

Detailed Description

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

Constructor

new Spr2(Model[Model], upid[integer], lpid[integer], nsid[integer])

Description

Create a new Spr2 object.

Arguments

  • Model (Model)

    Model that constrained spr2 will be created in

  • upid (integer)

    Upper Sheet Part ID.

  • lpid (integer)

    Lower Sheet Part ID

  • nsid (integer)

    Node Set ID of rivet location nodes.

    Returns

    Spr2 object

    Return type

    Spr2

    Example

    To create a new constrained spr2 in model m with lead sheet 100, constrained sheet 200 and rivet node set 100

    var s = new Spr2(m, 100, 200, 100);

    Details of functions

    AssociateComment(Comment[Comment])

    Description

    Associates a comment with a spr2.

    Arguments

  • Comment (Comment)

    Comment that will be attached to the spr2

    Returns

    No return value

    Example

    To associate comment c to the spr2 s:

    s.AssociateComment(c);


    Blank()

    Description

    Blanks the spr2

    Arguments

    No arguments

    Returns

    No return value

    Example

    To blank spr2 s:

    s.Blank();


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

    Description

    Blanks all of the spr2s in the model.

    Arguments

  • Model (Model)

    Model that all spr2s 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 spr2s in model m:

    Spr2.BlankAll(m);


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

    Description

    Blanks all of the flagged spr2s in the model.

    Arguments

  • Model (Model)

    Model that all the flagged spr2s will be blanked in

  • flag (Flag)

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

    Spr2.BlankFlagged(m, f);


    Blanked()

    Description

    Checks if the spr2 is blanked or not.

    Arguments

    No arguments

    Returns

    true if blanked, false if not.

    Return type

    Boolean

    Example

    To check if spr2 s is blanked:

    if (s.Blanked() ) do_something...


    ClearFlag(flag[Flag])

    Description

    Clears a flag on the spr2.

    Arguments

  • flag (Flag)

    Flag to clear on the spr2

    Returns

    No return value

    Example

    To clear flag f for spr2 s:

    s.ClearFlag(f);


    Copy(range (optional)[boolean])

    Description

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

    Spr2 object

    Return type

    Spr2

    Example

    To copy spr2 s into spr2 z:

    var z = s.Copy();


    DetachComment(Comment[Comment])

    Description

    Detaches a comment from a spr2.

    Arguments

  • Comment (Comment)

    Comment that will be detached from the spr2

    Returns

    No return value

    Example

    To detach comment c from the spr2 s:

    s.DetachComment(c);


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

    Description

    Adds an error for spr2. 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 spr2 s:

    s.Error("My custom error");


    First(Model[Model]) [static]

    Description

    Returns the first spr2 in the model.

    Arguments

  • Model (Model)

    Model to get first spr2 in

    Returns

    Spr2 object (or null if there are no spr2s in the model).

    Return type

    Spr2

    Example

    To get the first spr2 in model m:

    var s = Spr2.First(m);


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

    Description

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

    Arguments

  • Model (Model)

    Model that all spr2s will be flagged in

  • flag (Flag)

    Flag to set on the spr2s

    Returns

    No return value

    Example

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

    Spr2.FlagAll(m, f);


    Flagged(flag[Flag])

    Description

    Checks if the spr2 is flagged or not.

    Arguments

  • flag (Flag)

    Flag to test on the spr2

    Returns

    true if flagged, false if not.

    Return type

    Boolean

    Example

    To check if spr2 s has flag f set on it:

    if (s.Flagged(f) ) do_something...


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

    Description

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

    Arguments

  • Model (Model)

    Model that all spr2s are in

  • func (function)

    Function to call for each spr2

  • 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 spr2s in model m:

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

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

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


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

    Description

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

    Arguments

  • Model (Model)

    Model to get spr2s from

  • property (optional) (string)

    Name for property to get for all spr2s in the model

    Returns

    Array of Spr2 objects or properties

    Return type

    Array

    Example

    To make an array of Spr2 objects for all of the spr2s in model m:

    var a = Spr2.GetAll(m);

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

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


    GetComments()

    Description

    Extracts the comments associated to a spr2.

    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 spr2 s:

    var comm_array = s.GetComments();


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

    Description

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

    Arguments

  • Model (Model)

    Model to get spr2s from

  • flag (Flag)

    Flag set on the spr2s that you want to retrieve

  • property (optional) (string)

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

    Returns

    Array of Spr2 objects or properties

    Return type

    Array

    Example

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

    var s = Spr2.GetFlagged(m, f);

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

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


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

    Description

    Returns the Spr2 object for a spr2 ID.

    Arguments

  • Model (Model)

    Model to find the spr2 in

  • number (integer)

    number of the spr2 you want the Spr2 object for

    Returns

    Spr2 object (or null if spr2 does not exist).

    Return type

    Spr2

    Example

    To get the Spr2 object for spr2 100 in model m

    var s = Spr2.GetFromID(m, 100);


    GetParameter(prop[string])

    Description

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

    Arguments

  • prop (string)

    spr2 property to get parameter for

    Returns

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

    Return type

    Parameter

    Example

    To check if Spr2 property s.example is a parameter:

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

    To check if Spr2 property s.example is a parameter by using the GetParameter method:

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


    Keyword()

    Description

    Returns the keyword for this spr2 (*CONSTRAINED_SPR2). Note that a carriage return is not added. See also Spr2.KeywordCards()

    Arguments

    No arguments

    Returns

    string containing the keyword.

    Return type

    String

    Example

    To get the keyword for spr2 s:

    var key = s.Keyword();


    KeywordCards()

    Description

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

    Arguments

    No arguments

    Returns

    string containing the cards.

    Return type

    String

    Example

    To get the cards for spr2 s:

    var cards = s.KeywordCards();


    Last(Model[Model]) [static]

    Description

    Returns the last spr2 in the model.

    Arguments

  • Model (Model)

    Model to get last spr2 in

    Returns

    Spr2 object (or null if there are no spr2s in the model).

    Return type

    Spr2

    Example

    To get the last spr2 in model m:

    var s = Spr2.Last(m);


    Next()

    Description

    Returns the next spr2 in the model.

    Arguments

    No arguments

    Returns

    Spr2 object (or null if there are no more spr2s in the model).

    Return type

    Spr2

    Example

    To get the spr2 in model m after spr2 s:

    var s = s.Next();


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

    Description

    Allows the user to pick a spr2.

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

    Spr2 object (or null if not picked)

    Return type

    Spr2

    Example

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

    var s = Spr2.Pick('Pick spr2 from screen', m);


    Previous()

    Description

    Returns the previous spr2 in the model.

    Arguments

    No arguments

    Returns

    Spr2 object (or null if there are no more spr2s in the model).

    Return type

    Spr2

    Example

    To get the spr2 in model m before spr2 s:

    var s = s.Previous();


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

    Description

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

    Arguments

  • flag (Flag)

    Flag to use when selecting spr2s

  • prompt (string)

    Text to display as a prompt to the user

  • limit (optional) (Model or Flag)

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

    Return type

    Number

    Example

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

    Spr2.Select(f, 'Select spr2s', m);

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

    Spr2.Select(f, 'Select spr2s', l);


    SetFlag(flag[Flag])

    Description

    Sets a flag on the spr2.

    Arguments

  • flag (Flag)

    Flag to set on the spr2

    Returns

    No return value

    Example

    To set flag f for spr2 s:

    s.SetFlag(f);


    Sketch(redraw (optional)[boolean])

    Description

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

    Arguments

  • redraw (optional) (boolean)

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

    Returns

    No return value

    Example

    To sketch spr2 s:

    s.Sketch();


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

    Description

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

    Arguments

  • Model (Model)

    Model that all the flagged spr2s will be sketched in

  • flag (Flag)

    Flag set on the spr2s that you want to sketch

  • redraw (optional) (boolean)

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

    Spr2.SketchFlagged(m, flag);


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

    Description

    Returns the total number of spr2s in the model.

    Arguments

  • Model (Model)

    Model to get total for

  • exists (optional) (boolean)

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

    Returns

    number of spr2s

    Return type

    Number

    Example

    To get the total number of spr2s in model m:

    var total = Spr2.Total(m);


    Unblank()

    Description

    Unblanks the spr2

    Arguments

    No arguments

    Returns

    No return value

    Example

    To unblank spr2 s:

    s.Unblank();


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

    Description

    Unblanks all of the spr2s in the model.

    Arguments

  • Model (Model)

    Model that all spr2s 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 spr2s in model m:

    Spr2.UnblankAll(m);


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

    Description

    Unblanks all of the flagged spr2s in the model.

    Arguments

  • Model (Model)

    Model that the flagged spr2s will be unblanked in

  • flag (Flag)

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

    Spr2.UnblankFlagged(m, f);


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

    Description

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

    Arguments

  • Model (Model)

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

  • flag (Flag)

    Flag to unset on the spr2s

    Returns

    No return value

    Example

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

    Spr2.UnflagAll(m, f);


    Unsketch(redraw (optional)[boolean])

    Description

    Unsketches the spr2.

    Arguments

  • redraw (optional) (boolean)

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

    Returns

    No return value

    Example

    To unsketch spr2 s:

    s.Unsketch();


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

    Description

    Unsketches all spr2s.

    Arguments

  • Model (Model)

    Model that all spr2s will be unblanked in

  • redraw (optional) (boolean)

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

    Spr2.UnsketchAll(m);


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

    Description

    Unsketches all flagged spr2s in the model.

    Arguments

  • Model (Model)

    Model that all spr2s will be unsketched in

  • flag (Flag)

    Flag set on the spr2s that you want to unsketch

  • redraw (optional) (boolean)

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

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

    Spr2 object.

    Return type

    Spr2

    Example

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

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


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

    Description

    Adds a warning for spr2. 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 spr2 s:

    s.Warning("My custom warning");


    Xrefs()

    Description

    Returns the cross references for this spr2.

    Arguments

    No arguments

    Returns

    Xrefs object.

    Return type

    Xrefs

    Example

    To get the cross references for spr2 s:

    var xrefs = s.Xrefs();


    toString()

    Description

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

    Arguments

    No arguments

    Returns

    string

    Return type

    String

    Example

    To get data for spr2 s in keyword format

    var str = s.toString();