Discussions concerning plugins for SOFTIMAGE©
Posts: 30
Joined: 21 Feb 2018, 12:46
Location: Zaragoza,Spain


Post by Pedrito » 10 Jan 2019, 19:13

I there Again!
Lot of work here, sorry for the NOT updates on the FLEX Plugin, I will continue with It this year I hope.
Meanwhile I want to share with you all of my UNDOCUMENTED Tools :

It is an Addon structure folder where you will find:
  • Lots of undocumented ICE Compounds
  • Some useful scripts
  • Some Python Plugins
  • Some Custom c++ ICE nodes
  • A "NOT STABLE/MEMORY CRAZY" imageIO framework for ICE
I will try to also create a WIKI for all of this, but I have no Time, sorry. If you are interested keep following that gitHub as I will try to document what I can in the next months.
All the Compounds and CustomICeNodes begins with "pc_" or "pc " so you can find them easily, also they are organised in menus in the ICE Tree node explorer. The plugins are in several menus, a main menu in the top Bar "PC Tools" and in other XSI menus as in "Render" or "Partition", There is also a Toolbar called PCTOOLS with other useful scripts.

I will try to upload some sample scenes/videos some day for some of the plugins and nodes!

Hope someone find this useful, but it will be more when I can make the DOC, hope that occurs early also :)

Happy New Year everyone! :D :ymparty: \m/

Posts: 21
Joined: 17 Feb 2015, 13:15

Re: pcTools

Post by Boiler » 11 Jan 2019, 07:58

Great to hear some news from you )) We are all waiting for Flex ;)

Posts: 30
Joined: 21 Feb 2018, 12:46
Location: Zaragoza,Spain

Re: pcTools

Post by Pedrito » 11 Jan 2019, 13:49

First Docs:

I will keep this page updated:

Python Scripts

Duplicate the master instanced Model for each instance selected and matches each transform
Convert each selected model to a basic null object, it preserves the children.
Extract the Nurbs curves from selected object, it lets you choose U/V/ALL and set a color for them.
Create A curve from the selected Nulls and add a cluster center to each point to the null.
Adds thickness to the selected objects. Its a Ice compound with more controls than the default SI thinckes.
You can export multiple compound at once, specifying if you want to override categories, task, color… You must select then on the explorer, navigating through the explorer ICE Tree children
Export the selected models to the specified folder using the model name as the filename on the path.
Opens an explorer where you can go adding models,objs,fbx,etc to the import List, so you can go to many folders as you want and go adding, then choose the options on the specific tabs, and import all in “batch mode”.
Creates a pointcloud and add points in each selected object position ( first a group with all the selected objects is created and uses that for adding points ) you can choose to delete the original positions at creation time
Lets you pick particles and then it Creates a Compound to allow you to set its color/Shape/Size

Creates a basic CubeSphere (Cube Subdivided and reshaped to form a sphere) topology in ICE with the specified depth and radius
Creates a basic disc topology in ICE with the specified inner and outer radius
Creates a basic polygon topology in ICE with the specified size and nb of points
Create a basic gear topology in ICE with the specified inner radius, outer radius and the nb of dents.
Creates a curve with an ICE Tree and a CustomOp, In the iceTree you specify the Control Points (as one linear array) the number per subCurve (if you want to create multiple subcurves from the total array. You also Specify the type of curve ( linear, cubic, quadratic) and if it is closed or not.


Adds the selected objects to a partition in the current pass, selected passes or in all passes. You can choose from any existing partition name or you can create a new one. You must specify if you want to create the partition in case that don’t actually exist or if you want to add it to the background objects partition, if not, it will stay where it was
Sets the Specified Camera in the specified pass or in all passes
Capture each selected passes in the specified path, the name will be the pass name and the frame rate ,if you don’t override it, will be taken from the pass settings. The camera will also be taken from the pass.
It sets the in/out play control to match the pass settings ( there is also a registered event which takes care of this each time you change the pass)
This affects all materials in the selection, even objects or directly materials are selected. It shows a pop up window that let you choose some options an then it creates a "_Color4_Passthrough_" node betwen your shader and the "_surface_" input port, also a "_Store_Color_in_Channel_" node with your inputs options so you can store thing in custom AOVS.
Opens a Window to manage which Arnold AOVS add to the render and wich not, also it allowd you to change all the names at a time.
Opens a Window to manage which Custom AOVS add to the render and wich not, also it allowd you to change all the names at a time.

Custom Ice nodes(cpp)
Similar to the native bezier Curve but smoother (more like native cubic curves), it needs an linear array of positions, and a linear array of U values
PC_RCVN_V2(Recalculate Curve Normals / Parallel Transport Frame):
Fix the problem with the flipping Normals on curves
PC_CVData2(Get Curve data):
Gets positions/normals/tangents in a curve or group of curves referenced by their names. It can compute even Spaced points per curve or a fixed Nb points by connecting a U array( it can return the positions using the u value as a UV value or a percentage) it also can return the u value converted to percentage or to uv as you choose. It also can return positions based on Knot Subdivision
Instance a shape by it’s name not by its reference (using the node reference to string or typing directly). It can only set the RBD mode as BoundingBox, so don’t use in rbd sims.
Returns the internal XSI ID for the “string referenced object”
Returns the basic camera attributes for the “string referenced object” (you can write “Render Pass” to use the actual render pass camera. It returns the camera matrix and the scalar attributes in this order: (fov,aspect,far,near,FrustrumLeft,FrustrumRight,FrustrumBack,FrustrumTop)
Sets an ICE attribute (create it if necessary) with the specified AttributeName in the “string referenced object”. This is useful to set data on multiple objects at the same time. Use it with caution. Don’t try to override the the system attributes.
This Allows to set data the same as PC_Set_Attribute but in addition you can specify if you want to accumulate values each evaluation time, or if you want the current value to sum the new value
Convert a number to a string. If is a float number you can specify the precision on the conversion If is an integer you can specify the padding
Resolve default tokens on strings
Checks if a file exists on the system, it can use token strings
Subdivide the input array linearly the specified nb
Return an matching nb of elements array in which each element is the input element plus the prev output element. It can sum,sub,mul and div. sample(Input: a,b,c... → output(sum) : a, a+b, a+b+c…)
Find each element on the first array into the second array and returns the first matching index if it exist.
Compare each element on the first array with each element on the second until the condition is reached and returns the first matching index if exist.
Creates an Instance of an XINPUT Xbox360 Controller and outputs itself. You can specify which port
Gets the State of the XINPUT Xbox360 Controller as a Scalar Array( there is a compound that exposes each button with name) Array Order: (StickLX, StickLY, StickRX, StickRY, LT, RT, A,B, X, Y, LB, RB, StickLClick, StickRClick, Back, Start, LEFT, RIGHT, UP, DOWN)
Sets the L and R vibration of the input XINPUT Xbox360 Controller
Calibrate the Dead Zone of the XINPUT Xbox360 Controller
Return the state of the specified Keyboard Key

Posts: 13
Joined: 01 Nov 2018, 11:13

Re: pcTools

Post by xsisoft » 12 Jan 2019, 12:49

best ! i love you :-)

Posts: 13
Joined: 01 Nov 2018, 11:13

Re: pcTools

Post by xsisoft » 12 Jan 2019, 13:00

thanks, https://github.com/pedroCabrera/pcTools_Softimage .Do you need documentation, and what versions does it work? Works with softimae 2015 ?

User avatar
Posts: 1596
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany

Re: pcTools

Post by rray » 14 Jan 2019, 12:13

Thanks for sharing, very useful stuff in there. I'll update the resource section when I have some time.
"as a maya discussion grows longer, the probability of a suggestion involving deleting the preferences approaches one"

softimage resources section (formerly known as rray.de/xsi) updated May 30 2018

Posts: 30
Joined: 21 Feb 2018, 12:46
Location: Zaragoza,Spain

Re: pcTools

Post by Pedrito » 14 Jan 2019, 12:20

xsisoft wrote:
12 Jan 2019, 13:00
thanks, https://github.com/pedroCabrera/pcTools_Softimage .Do you need documentation, and what versions does it work? Works with softimae 2015 ?
Hi there, thanks!
Sorry, this is for XSI 2015 yes!
I am creating the docs for all this, https://github.com/pedroCabrera/pcTools_Softimage/wiki, you can collaborate if you want and it if that is what you are asking :).