AddEdge

Introduced

1.5

Description

Adds an edge between an existing point and a "virtual" point somewhere on an edge.

Note: This command uses output arguments. C# and some scripting languages (such as JScript, PerlScript and Python) don't support arguments passed by reference. Normally you can get the output arguments via either XSIApplication.ExecuteCommand method (C#) or the ISIVTCollection (scripting languages), but this command already returns a value.

The only available workaround in this case is to create a VBScript custom command which returns both the output arguments and the return value in one array. For details, see What Happens when the Function Already Returns a Value?.

Scripting Syntax

    AddEdge( [ConnectionSet], [Ratio], [ImmediateMode], [NewPointID], [NewEdgeID] )

Parameters

Parameter | Type | Description
ConnectionSet [in/out] | ConnectionSet | Specifies the point and the edge (two elements, in this order) to connect. See Operator Presets for details on the connection set required for this operator. Default Value: Currently selected components are used. Warning: An error occurs if the connection set is invalid. Please verify the connection set required for this operator to avoid breaking your scripts.
Ratio | Double | ratio where to split the input edge Possible Values: • 0: The new edge will be connected to the start point of the input edge • 0<r<100: The input edge will be split using this ratio before adding the new edge • 100: The new edge will be connected to the end point of the input edge
ImmediateMode [in/out] | siOperationMode | Specifies whether or not the operator should be immediately frozen. Default Value: siPersistentOperation
NewPointID [out] | Integer | ID of the new point created by the operation (or existing point if ratio=0 or 100)
NewEdgeID [out] | Integer | ID of the new edge created by the operation

Return Value

Returns the ID of the new point created by the operation as a Long (or existing point if ratio=0 or 100)

Examples

VBScript Example

    ' Create a cylinder and add an edge loop around the top half of the cylinder
    CreatePrim "Cylinder", "MeshSurface"
    SplitEdge "cylinder.edge[11]", 58.529, False, True
    AddEdge "cylinder.pnt[42];cylinder.edge[9]", 52.338, True
    AddEdge "cylinder.pnt[43];cylinder.edge[23]", 31.911, True
    AddEdge "cylinder.pnt[44];cylinder.edge[34]", 50.164, True
    AddEdge "cylinder.pnt[45];cylinder.edge[45]", 38.716, True
    AddEdge "cylinder.pnt[46];cylinder.edge[56]", 37.706, True
    AddEdge "cylinder.pnt[47];cylinder.edge[67]", 54.800, True
    AddEdge "cylinder.pnt[48];cylinder.edge[78]", 27.452, True
    AddEdge "cylinder.pnt[LAST];cylinder.edge[90]", 0.000, True

See Also

SplitEdge

Autodesk Softimage v7.5