PlotCurve
 
 
 

PlotCurve

Introduced

v1.0

Description

Plots the trajectory of an object into a curve. The plotted curve is a cubic curve created by interpolation.

Scripting Syntax

oReturn = PlotCurve( [InputObjs], Name, [StartFrame], [EndFrame], [StepFrame] );

Return Value

Returns the plotted NURBS CurveList as an XSICollection of one X3DObject.

Parameters

Parameter Type Description
InputObjs String List of objects whose trajectories are plotted.

Default Value: Current Selection

Name String Name of the curve.
StartFrame Integer First frame to plot

Default Value: 0

EndFrame Integer Last frame to plot

Default Value: 0

StepFrame Integer Step between frames

Default Value: 1

Examples

1. VBScript Example

'This example shows how to plot a curve from an animation
NewScene , false
'Create a simple primitive and animate it.
CreatePrim "Cone", "MeshSurface"
SaveKey "cone.kine.local.posx,cone.kine.local.posy,cone.kine.local.posz", 1
SetValue "PlayControl.Key", 50
SetValue "PlayControl.Current", 50
Translate , 5, 0, 0, siAbsolute, siParent, siObj, siX
SaveKey "cone.kine.local.posx,cone.kine.local.posy,cone.kine.local.posz", 50
SetValue "PlayControl.Key", 100
SetValue "PlayControl.Current", 100
Translate , 0, 0, 5, siAbsolute, siParent, siObj, siZ
SaveKey "cone.kine.local.posx,cone.kine.local.posy,cone.kine.local.posz", 100
'Plot from frame 0 t0 100 by step of 5. Creates curve MyPlot
PlotCurve "Cone", "MyPlot", 0, 100, 5

2. VBScript Example

' This example shows plotting curves on components (points) of an object.
' The curves create trails of each chosen component through space.
NewScene , False
' Create an object for our example.
set oObj = CreatePrim( "Torus", "MeshSurface" )
SetValue oObj & ".polymsh.geom.subdivu", 6
SetValue oObj & ".polymsh.geom.subdivv", 3
' Put some animation on it.
SaveKey oObj & "/kine.local.posx,kine.local.posy,kine.local.posz", 1
SaveKey oObj & "/kine.local.rotx,kine.local.roty,kine.local.rotz", 1
Translate oObj, 10, 9, 0, siRelative, siView, siObj, siXYZ
SaveKey oObj & "/kine.local.posx,kine.local.posy,kine.local.posz", 50
LastFrame
Translate oObj, 10, -9, 0, siRelative, siView, siObj, siXYZ
SaveKey oObj & "/kine.local.posx,kine.local.posy,kine.local.posz", 100
Rotate oObj, -161, -434, -18, siAbsolute, siLocal, siObj, siXYZ
SaveKey oObj & "/kine.local.rotx,kine.local.roty,kine.local.rotz", 100
' Do the actual plotting of all the points in the mesh.
' Note: "Refresh" makes sure the animation is evaluated for the start
' frame, so we don't get trails from the "current" (end frame) position
' to the start position.
FirstFrame
refresh
PlotCurve oObj & ".pnt[*]", "TorusPoints", 1, 100, 5

See Also

PlotShape CreateCurve