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#).
SIGetPrim( PresetObj, [Name], [Parent], [AddToScene], [Value], [Primitive] ); |
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. |
' 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) ) |