GetPrim

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 be selected.

GetPrim creates a primitive. The name GetPrim 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. 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

oReturn = GetPrim( PresetObj, [Name], [Parent], [Primitive] );

Return Value

Returns the 3D object (usually an X3DObject object) created for the 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.
Primitive Primitive Returns the implicit primitive.

Examples

VBScript Example

'This example creates two primitives
newscene
dim preset, object, primitive
'Create an implicit sphere. Name it.
set object = GetPrim( "Sphere", "MySphere" , , primitive )
'Logged information:
'INFO : "Sphere information"
'INFO : "X3DObject, MySphere"
'INFO : "Primitive, Sphere"
LogMessage "Sphere information"
LogMessage TypeName( object ) & ", " & object.name
LogMessage TypeName( primitive ) & ", " & primitive.name
'Create an implicit cone. Name it and make it child of MySphere
set object = GetPrim( "Cone", "MyCone" ,"MySphere" , primitive )
'Logged information:
'INFO : "Cone information"
'INFO : "X3DObject, MyCone"
'INFO : "Primitive, Cone"
LogMessage "Cone information"
LogMessage TypeName( object ) & ", " & object.name
LogMessage TypeName( primitive ) & ", " & primitive.name
' Create primitive using preset selected by user (Will pop UI for selection)
set preset = SIGetPreset( "Primitives" )
set object = GetPrim( preset, , , primitive )
'Logged information, here we selected a square.
'INFO : "Your primitive's information"
'INFO : "X3DObject, square"
'INFO : "Primitive, Square"
LogMessage "Your primitive's information"
LogMessage TypeName( object ) & ", " & object.name
LogMessage TypeName( primitive ) & ", " & primitive.name

See Also

CreatePrim SIGetPrim