SIGetPrim

Categories

primitive

Description

Creates raw primitives. For geometrical objects it creates implicit geometrical objects. It is also possible to create other types of primitives: cameras, lights, nulls, control objects, lattices, geometry shaders. The created primitive will not be selected.

SIGetPrim creates a primitive. The name SIGetPrim comes from the Softimage menu Get-Primitive-.

Note: This command uses output arguments. C# and some scripting languages (such as JScript, PerlScript and Python) don't support arguments passed by reference so you need to use the best workaround for your situation:

For scripting languages this command returns an ISIVTCollection which you can use to get the output arguments.

For C# you can use the XSIApplication.ExecuteCommand method to call this command. ExecuteCommand packs the output arguments into a C# System.Object containing an Array of the output arguments (see Calling Commands from C#).

Scripting Syntax

SIGetPrim( PresetObj, [Name], [Parent], [AddToScene], [Value], [Primitive] );

Parameters

Parameter Type Description
PresetObj String or a preset object (see SIGetPreset) The name of a primitive preset. See Implicit Primitives and Geometry Primitives for a list of supported preset names.
Name String Name of the new primitive.
Parent String Name of an existing object to use as the parent of the new primitive.
AddToScene Boolean True to create the object in the scene.

Default Value: True

Value X3DObject Returns the 3D object created for the primitive.
Primitive Primitive Returns the implicit primitive object.

Examples

VBScript Example

' This examples shows how to create an implicit primitive
' and convert it to a NURBS surface.
newscene
dim MyGrid, MyCamera
'Create implicit primitive.  It will be named and nested under the scene root.  
'We consult the returned list instead of the output parameters because 
'it is better supported by other scripting languages.
set MyGrid = SIGetPrim( "Grid",  "aGrid", , True)
'Logged information:
'INFO : "ISIVTCollection contains 2 elements."
'INFO : "First object is: Primitive"
'INFO : "Second object is: X3DObject"
logmessage typename(MyGrid) & " contains " & MyGrid.count & " elements."
logmessage "First object is: " & typename( MyGrid(0) )
logmessage "Second object is: " & typename( MyGrid(1) )
' It is possible to convert the implicit to a Nurbs Surface
SIConvert "NurbsSurface", MyGrid(1)
'Create a camera without an interest. It uses default values.
set MyCamera = SIGetPrim( "Camera" )
'Logged information:
'INFO : "ISIVTCollection contains 2 elements."
'INFO : "First object is: Primitive"
'INFO : "Second object is: Camera"
logmessage typename(MyCamera) & " contains " & MyCamera.count & " elements."
logmessage "First object is: " & typename( MyCamera(0) )
logmessage "Second object is: " & typename( MyCamera(1) )

See Also

GetPrim CreatePrim SIConvert