Joint class

The Joint class gives you access to constrained joint 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

Joint constants

Name Description
Joint.CONSTANT_VELOCITY CONSTANT_VELOCITY is *CONSTRAINED_JOINT_CONSTANT_VELOCITY.
Joint.CYLINDRICAL CYLINDRICAL is *CONSTRAINED_JOINT_CYLINDRICAL.
Joint.GEARS GEARS is *CONSTRAINED_JOINT_GEARS.
Joint.LOCKING LOCKING is *CONSTRAINED_JOINT_LOCKING.
Joint.PLANAR PLANAR is *CONSTRAINED_JOINT_PLANAR.
Joint.PULLEY PULLEY is *CONSTRAINED_JOINT_PULLEY.
Joint.RACK_AND_PINION RACK_AND_PINION is *CONSTRAINED_JOINT_RACK_AND_PINION.
Joint.REVOLUTE REVOLUTE is *CONSTRAINED_JOINT_REVOLUTE.
Joint.ROTATIONAL_MOTOR ROTATIONAL_MOTOR is *CONSTRAINED_JOINT_ROTATIONAL_MOTOR.
Joint.SCREW SCREW is *CONSTRAINED_JOINT_SCREW.
Joint.SPHERICAL SPHERICAL is *CONSTRAINED_JOINT_SPHERICAL.
Joint.TRANSLATIONAL TRANSLATIONAL is *CONSTRAINED_JOINT_TRANSLATIONAL.
Joint.TRANSLATIONAL_MOTOR TRANSLATIONAL_MOTOR is *CONSTRAINED_JOINT_TRANSLATIONAL_MOTOR.
Joint.UNIVERSAL UNIVERSAL is *CONSTRAINED_JOINT_UNIVERSAL.

Joint properties

Name Type Description
cid integer Coordinate system number.
colour Colour The colour of the joint
coupl real Coupling between force and moment failure.
damp real Damping scale factor.
exists (read only) logical true if joint exists, false if referred to but not defined.
failure logical true if _FAILURE option is set, false if not.
h_angle real Helix angle for gears.
heading string Constrained joint heading.
id logical true if _ID option is set, false if not
include integer The Include file number that the joint is in.
jid integer Constrained joint number (identical to label).
label integer Constrained joint number.
lcid integer Loadcuve number.
local logical true if _LOCAL option is set, false if not.
lst integer Local system type is accelerometer if lst is 1, rigid body if 0.
model (read only) integer The Model number that the joint is in.
mxx real Torsional moment resultant at failure.
myy real Moment resultant at failure.
mzz real Moment resultant at failure.
n1 integer Node number 1.
n2 integer Node number 2.
n3 integer Node number 3.
n4 integer Node number 4.
n5 integer Node number 5.
n6 integer Node number 6.
nxx real Axial force resultant at failure.
nyy real Force resultant at failure.
nzz real Force resultant at failure.
option constant The Constrained Joint option. Can be: Joint.SPHERICAL, Joint.REVOLUTE, Joint.CYLINDRICAL, Joint.PLANAR, Joint.UNIVERSAL, Joint.TRANSLATIONAL, Joint.LOCKING, Joint.TRANSLATIONAL_MOTOR, Joint.ROTATIONAL_MOTOR, Joint.GEARS, Joint.RACK_AND_PINION, Joint.CONSTANT_VELOCITY, Joint.PULLEY or Joint.SCREW
parm real Parameter for function.
r1 real Gear and pulley radius.
raid integer Rigid body or accelerometer number.
rps real Relative penalty stiffness.
tfail real Time for joint failure.
type integer Flag for motor type.

Detailed Description

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

Constructor

new Joint(Model[Model], options [object])

Description

Create a new Joint object

Arguments

  • Model (Model)

    Model that constrained joint will be created in

  • options (object)

    Options for creating the joint

    Object has the following properties:

    Name Type Description
    heading (optional) string Constrained joint title
    id (optional) integer Constrained joint ID. If omitted, the joint will be created without the _ID option
    nodes array Array of Node IDs for the joint. At least 2 nodes must be given
    type constant Constrained joint type (any)

    Returns

    Joint object

    Return type

    Joint

    Example

    To create a new constrained joint 500 called "test spherical joint" of type _SPHERICAL in model m with nodes 50 and 150

    var j = new Joint(m, { type: Joint.SPHERICAL, nodes: [50, 150], id: 500, heading: "test spherical joint" } );

    To create a new constrained joint 500 called "test revolute joint" of type _REVOLUTE in model m with nodes 50, 100, 150 and 200

    var j = new Joint(m, { type: Joint.REVOLUTE, nodes: [50, 100, 150, 200], id: 500, heading: "test revolute joint" } );

    To create a new constrained joint 500 called "test translational joint" of type _TRANSLATIONAL in model m with nodes 50, 100, 150, 200, 250 and 300

    var j = new Joint(m, { type: Joint.TRANSLATIONAL, nodes: [50, 100, 150, 200, 250, 300], id: 500, heading: "test translational joint" } );

    new Joint(Model[Model], option[constant], n1[integer], n2[integer], jid (optional)[integer], heading (optional)[string])   [deprecated]

    This function is deprecated in version 21.0. It is only provided to keep old scripts working. We strongly advise against using it in new scripts. Support may be removed in future versions.

    Description

    Create a new Joint object.

    Arguments

  • Model (Model)

    Model that constrained joint will be created in

  • option (constant)

    Constrained joint type (any).

  • n1 (integer)

    Node 1.

  • n2 (integer)

    Node 2.

  • jid (optional) (integer)

    Constrained joint number.

  • heading (optional) (string)

    Constrained joint title.

    Returns

    Joint object

    Return type

    Joint

    Example

    To create a new constrained joint 500 called "test spherical joint" of type _SPHERICAL in model m with nodes 50 and 150

    var j = new Joint(m, Joint.SPHERICAL, 50, 150, 500, "test spherical joint");

    To create a new constrained joint 500 called "test revolute joint" of type _REVOLUTE in model m with nodes 50, 100, 150 and 200

    var j = new Joint(m, Joint.REVOLUTE, 50, 100, 500, "test revolute joint");
    j.n3 = 150;
    j.n4 = 200;

    new Joint(Model[Model], option[constant], n1[integer], n2[integer], n3[integer], n4[integer], jid (optional)[integer], heading (optional)[string])   [deprecated]

    This function is deprecated in version 21.0. It is only provided to keep old scripts working. We strongly advise against using it in new scripts. Support may be removed in future versions.

    Description

    Create a new Joint object.

    Arguments

  • Model (Model)

    Model that constrained joint will be created in

  • option (constant)

    Constrained joint type. Can be Joint.REVOLUTE, Joint.CYLINDRICAL, Joint.PLANAR, Joint.UNIVERSAL or Joint.TRANSLATIONAL_MOTOR.

  • n1 (integer)

    Node 1.

  • n2 (integer)

    Node 2.

  • n3 (integer)

    Node 3.

  • n4 (integer)

    Node 4.

  • jid (optional) (integer)

    Constrained joint number.

  • heading (optional) (string)

    Constrained joint title.

    Returns

    Joint object

    Return type

    Joint

    Example

    To create a new constrained joint 500 called "test revolute joint" of type _REVOLUTE in model m with nodes 50, 100, 150 and 200

    var j = new Joint(m, Joint.REVOLUTE, 50, 100, 150, 200, 500, "test revolute joint");

    new Joint(Model[Model], option[constant], n1[integer], n2[integer], n3[integer], n4[integer], n5[integer], n6[integer], jid (optional)[integer], heading (optional)[string])   [deprecated]

    This function is deprecated in version 21.0. It is only provided to keep old scripts working. We strongly advise against using it in new scripts. Support may be removed in future versions.

    Description

    Create a new Joint object.

    Arguments

  • Model (Model)

    Model that constrained joint will be created in

  • option (constant)

    Constrained joint type. Can be Joint.TRANSLATIONAL, Joint.LOCKING, Joint.ROTATIONAL_MOTOR, Joint.GEARS, Joint.RACK_AND_PINION, Joint.CONSTANT_VELOCITY, Joint.PULLEY or Joint.SCREW.

  • n1 (integer)

    Node 1.

  • n2 (integer)

    Node 2.

  • n3 (integer)

    Node 3.

  • n4 (integer)

    Node 4.

  • n5 (integer)

    Node 5.

  • n6 (integer)

    Node 6.

  • jid (optional) (integer)

    Constrained joint number.

  • heading (optional) (string)

    Constrained joint title.

    Returns

    Joint object

    Return type

    Joint

    Example

    To create a new constrained joint 500 called "test translational joint" of type _TRANSLATIONAL in model m with nodes 50, 100, 150, 300, 250 and 300

    var j = new Joint(m, Joint.TRANSLATIONAL, 50, 100, 150, 200, 250, 300, 500, "test translational joint");

    Details of functions

    AssociateComment(Comment[Comment])

    Description

    Associates a comment with a joint.

    Arguments

  • Comment (Comment)

    Comment that will be attached to the joint

    Returns

    No return value

    Example

    To associate comment c to the joint j:

    j.AssociateComment(c);


    Blank()

    Description

    Blanks the joint

    Arguments

    No arguments

    Returns

    No return value

    Example

    To blank joint j:

    j.Blank();


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

    Description

    Blanks all of the joints in the model.

    Arguments

  • Model (Model)

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

    Joint.BlankAll(m);


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

    Description

    Blanks all of the flagged joints in the model.

    Arguments

  • Model (Model)

    Model that all the flagged joints will be blanked in

  • flag (Flag)

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

    Joint.BlankFlagged(m, f);


    Blanked()

    Description

    Checks if the joint is blanked or not.

    Arguments

    No arguments

    Returns

    true if blanked, false if not.

    Return type

    Boolean

    Example

    To check if joint j is blanked:

    if (j.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 joint j:

    j.Browse();


    ClearFlag(flag[Flag])

    Description

    Clears a flag on the joint.

    Arguments

  • flag (Flag)

    Flag to clear on the joint

    Returns

    No return value

    Example

    To clear flag f for joint j:

    j.ClearFlag(f);


    Copy(range (optional)[boolean])

    Description

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

    Joint object

    Return type

    Joint

    Example

    To copy joint j into joint z:

    var z = j.Copy();


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

    Description

    Starts an interactive editing panel to create a joint

    Arguments

  • Model (Model)

    Model that the joint 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

    Joint object (or null if not made).

    Return type

    Joint

    Example

    To start creating a joint in model m:

    var j = Joint.Create(m);


    DetachComment(Comment[Comment])

    Description

    Detaches a comment from a joint.

    Arguments

  • Comment (Comment)

    Comment that will be detached from the joint

    Returns

    No return value

    Example

    To detach comment c from the joint j:

    j.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 joint j:

    j.Edit();


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

    Description

    Adds an error for joint. 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 joint j:

    j.Error("My custom error");


    ExtractColour()

    Description

    Extracts the actual colour used for joint.
    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 joint 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 joint.

    Arguments

    No arguments

    Returns

    colour value (integer)

    Return type

    Number

    Example

    To return the colour used for drawing joint j:

    var colour = j.ExtractColour();


    First(Model[Model]) [static]

    Description

    Returns the first joint in the model.

    Arguments

  • Model (Model)

    Model to get first joint in

    Returns

    Joint object (or null if there are no joints in the model).

    Return type

    Joint

    Example

    To get the first joint in model m:

    var j = Joint.First(m);


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

    Description

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

    Arguments

  • Model (Model)

    Model to get first free joint 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

    Joint label.

    Return type

    Number

    Example

    To get the first free joint label in model m:

    var label = Joint.FirstFreeLabel(m);


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

    Description

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

    Arguments

  • Model (Model)

    Model that all joints will be flagged in

  • flag (Flag)

    Flag to set on the joints

    Returns

    No return value

    Example

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

    Joint.FlagAll(m, f);


    Flagged(flag[Flag])

    Description

    Checks if the joint is flagged or not.

    Arguments

  • flag (Flag)

    Flag to test on the joint

    Returns

    true if flagged, false if not.

    Return type

    Boolean

    Example

    To check if joint j has flag f set on it:

    if (j.Flagged(f) ) do_something...


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

    Description

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

    Arguments

  • Model (Model)

    Model that all joints are in

  • func (function)

    Function to call for each joint

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

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

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

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


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

    Description

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

    Arguments

  • Model (Model)

    Model to get joints from

  • property (optional) (string)

    Name for property to get for all joints in the model

    Returns

    Array of Joint objects or properties

    Return type

    Array

    Example

    To make an array of Joint objects for all of the joints in model m:

    var a = Joint.GetAll(m);

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

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


    GetComments()

    Description

    Extracts the comments associated to a joint.

    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 joint j:

    var comm_array = j.GetComments();


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

    Description

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

    Arguments

  • Model (Model)

    Model to get joints from

  • flag (Flag)

    Flag set on the joints that you want to retrieve

  • property (optional) (string)

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

    Returns

    Array of Joint objects or properties

    Return type

    Array

    Example

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

    var j = Joint.GetFlagged(m, f);

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

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


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

    Description

    Returns the Joint object for a joint ID.

    Arguments

  • Model (Model)

    Model to find the joint in

  • number (integer)

    number of the joint you want the Joint object for

    Returns

    Joint object (or null if joint does not exist).

    Return type

    Joint

    Example

    To get the Joint object for joint 100 in model m

    var j = Joint.GetFromID(m, 100);


    GetParameter(prop[string])

    Description

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

    Arguments

  • prop (string)

    joint property to get parameter for

    Returns

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

    Return type

    Parameter

    Example

    To check if Joint property j.example is a parameter:

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

    To check if Joint property j.example is a parameter by using the GetParameter method:

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


    Keyword()

    Description

    Returns the keyword for this joint (*CONSTRAINED_JOINT). Note that a carriage return is not added. See also Joint.KeywordCards()

    Arguments

    No arguments

    Returns

    string containing the keyword.

    Return type

    String

    Example

    To get the keyword for joint j:

    var key = j.Keyword();


    KeywordCards()

    Description

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

    Arguments

    No arguments

    Returns

    string containing the cards.

    Return type

    String

    Example

    To get the cards for joint j:

    var cards = j.KeywordCards();


    Last(Model[Model]) [static]

    Description

    Returns the last joint in the model.

    Arguments

  • Model (Model)

    Model to get last joint in

    Returns

    Joint object (or null if there are no joints in the model).

    Return type

    Joint

    Example

    To get the last joint in model m:

    var j = Joint.Last(m);


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

    Description

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

    Arguments

  • Model (Model)

    Model to get last free joint 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

    Joint label.

    Return type

    Number

    Example

    To get the last free joint label in model m:

    var label = Joint.LastFreeLabel(m);


    Next()

    Description

    Returns the next joint in the model.

    Arguments

    No arguments

    Returns

    Joint object (or null if there are no more joints in the model).

    Return type

    Joint

    Example

    To get the joint in model m after joint j:

    var j = j.Next();


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

    Description

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

    Arguments

  • Model (Model)

    Model to get next free joint 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

    Joint label.

    Return type

    Number

    Example

    To get the next free joint label in model m:

    var label = Joint.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 joint.

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

    Joint object (or null if not picked)

    Return type

    Joint

    Example

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

    var j = Joint.Pick('Pick joint from screen', m);


    Previous()

    Description

    Returns the previous joint in the model.

    Arguments

    No arguments

    Returns

    Joint object (or null if there are no more joints in the model).

    Return type

    Joint

    Example

    To get the joint in model m before joint j:

    var j = j.Previous();


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

    Description

    Renumbers all of the joints in the model.

    Arguments

  • Model (Model)

    Model that all joints will be renumbered in

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

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

    Joint.RenumberAll(m, 1000000);


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

    Description

    Renumbers all of the flagged joints in the model.

    Arguments

  • Model (Model)

    Model that all the flagged joints will be renumbered in

  • flag (Flag)

    Flag set on the joints that you want to renumber

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

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

    Joint.RenumberFlagged(m, f, 1000000);


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

    Description

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

    Arguments

  • flag (Flag)

    Flag to use when selecting joints

  • prompt (string)

    Text to display as a prompt to the user

  • limit (optional) (Model or Flag)

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

    Return type

    Number

    Example

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

    Joint.Select(f, 'Select joints', m);

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

    Joint.Select(f, 'Select joints', l);


    SetFlag(flag[Flag])

    Description

    Sets a flag on the joint.

    Arguments

  • flag (Flag)

    Flag to set on the joint

    Returns

    No return value

    Example

    To set flag f for joint j:

    j.SetFlag(f);


    Sketch(redraw (optional)[boolean])

    Description

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

    Arguments

  • redraw (optional) (boolean)

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

    Returns

    No return value

    Example

    To sketch joint j:

    j.Sketch();


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

    Description

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

    Arguments

  • Model (Model)

    Model that all the flagged joints will be sketched in

  • flag (Flag)

    Flag set on the joints that you want to sketch

  • redraw (optional) (boolean)

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

    Joint.SketchFlagged(m, flag);


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

    Description

    Returns the total number of joints in the model.

    Arguments

  • Model (Model)

    Model to get total for

  • exists (optional) (boolean)

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

    Returns

    number of joints

    Return type

    Number

    Example

    To get the total number of joints in model m:

    var total = Joint.Total(m);


    Unblank()

    Description

    Unblanks the joint

    Arguments

    No arguments

    Returns

    No return value

    Example

    To unblank joint j:

    j.Unblank();


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

    Description

    Unblanks all of the joints in the model.

    Arguments

  • Model (Model)

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

    Joint.UnblankAll(m);


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

    Description

    Unblanks all of the flagged joints in the model.

    Arguments

  • Model (Model)

    Model that the flagged joints will be unblanked in

  • flag (Flag)

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

    Joint.UnblankFlagged(m, f);


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

    Description

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

    Arguments

  • Model (Model)

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

  • flag (Flag)

    Flag to unset on the joints

    Returns

    No return value

    Example

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

    Joint.UnflagAll(m, f);


    Unsketch(redraw (optional)[boolean])

    Description

    Unsketches the joint.

    Arguments

  • redraw (optional) (boolean)

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

    Returns

    No return value

    Example

    To unsketch joint j:

    j.Unsketch();


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

    Description

    Unsketches all joints.

    Arguments

  • Model (Model)

    Model that all joints will be unblanked in

  • redraw (optional) (boolean)

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

    Joint.UnsketchAll(m);


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

    Description

    Unsketches all flagged joints in the model.

    Arguments

  • Model (Model)

    Model that all joints will be unsketched in

  • flag (Flag)

    Flag set on the joints that you want to unsketch

  • redraw (optional) (boolean)

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

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

    Joint object.

    Return type

    Joint

    Example

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

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


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

    Description

    Adds a warning for joint. 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 joint j:

    j.Warning("My custom warning");


    Xrefs()

    Description

    Returns the cross references for this joint.

    Arguments

    No arguments

    Returns

    Xrefs object.

    Return type

    Xrefs

    Example

    To get the cross references for joint j:

    var xrefs = j.Xrefs();


    toString()

    Description

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

    Arguments

    No arguments

    Returns

    string

    Return type

    String

    Example

    To get data for joint j in keyword format

    var s = j.toString();