Creating a custom layout in Softimage

Links and discussions concerning tutorials
Post Reply
User avatar
Rork
Posts: 1359
Joined: 09 Jul 2009, 08:59
Location: Close to The Hague, Netherlands
Contact:

Creating a custom layout in Softimage

Post by Rork » 22 Nov 2013, 15:32

Most of Softimage’s layout can be rearranged like blocks of Lego(tm), almost all parts of the interface can be changed or moved.
What you -cannot- do is change fontsize and type, and change the color of the interface. Get over it…… and then read on ;)

Softimage’s layout is for a large part build upon XML code, and is readable in any application that can read ASCII textfiles.
And no, I don’t mean Windows Notepad ;-) !!!!!
Get a decent editor with linenumbering, automatic wordwrap, and the option to open multiple files in tabs. Something like Editpad+….

Although widescreen monitors are very much used, I will keep this tutorial “one monitor only”. Changing to a two monitors layout will not be much different though.
Also this method shouldn’t be restricted to a certain Softimage version AFAIK. But I’m not sure though if you can “mix ‘n match” layouts from various versions though. Never tried it ;-)

Download the final layout file if you want to have a look at the code. Just unpack into the layouts folder.


The discussed steps:

- 1. Starting with the basics
- 2. Adding a shelf
- 3. Adding a tabbed view
- 4. Manually editing the layout file
- 5. Adding bitmaps to tabs and creating “folding” menu’s

This is quite a long page, so let’s get started!!


1. Starting with the basics

Start Softimage and have a look at the layouts that are available. Softimage will open with the “default” layout, the one everybody is used to.
Just select one of the other ones listed under “Views>Layouts” and see the layout change. Go back to the default one after you’re finished playing with that…

Note that this is different from the viewport changer icons in the bottomleft corner of the screen.
These buttons will change -only- the content of the viewports based on scriptable viewport commands.

A very simple change to the default interface can be made by selecting the “View>Optional Panels>Main Shelf” option.
This will add the Icon shelf on top of the 4 view viewmanager.
Softimage will remember this change (or any change for that matter) so when you restart Softimage the changed layout will still be available.

So if you had a look at the code to see what’s happening, the code is changing from:
“item name=”main_shelf” value=”hidden” to “item name=”main_shelf” value=“visible”.
This knowledge will come in handy later on.


2. Adding a shelf

Let’s start simple and with XSI opended up go to “View>Layouts>New Layout from>Default”. You’ll be prompted to give the new layout a name.
It will be saved in your local user “XSI_version\Application\layouts” folder.

Just copying a layout file inside the layouts folder of your user account won’t do, unless you open up the copy and change the clsid=”{xxxx-xxxx}” and name=”xxxxxxx” entry in the third line of the layout file. Most of the time starting from within XSI is just as fast.

Tip: If you want the layout in your workgroup just create a “Application\layouts” folder in the folderstructure of the workgroup and copy the new layout in there.
Next time you’ll open up XSI it will show up and have a little “w” next to it instead of “[user]“.

After starting the edit you’ll get a extra toolbar, the “Relational View Editor“. Here you set names and sizes for views and panes, delete ones etc.
First thing you do is toggle off the “Preview” button. Now you’ll be looking at the layout scheme for the interface.
If you move your mouse over the textblocks you’ll see a red square appearing, showing you the size of the pane.
There’s also two visible splitterbars in this interface, the thick grey lines at the topleft corner and the rightside of the interface.
These splitterbars can be adjustable, so you can change the size in the interface. Or locked so it’s a fixed size. As you already figured out they can be invisble as well.

Image

Rightclicking one of the panes, you’ll get a set of options. We’ll get there in a bit, just have a look what’s there.
So to rebuild something that resembles the previous layout with the “Main Shelf” on top of the 4 views, lets start by selecting the “vm [View Manager]” pane.
Rightclick and select “remove” from the dropdownlist.
This will -clear- the selection from the pane, but keep the pane itself.

Note: If you would have selected the “delete” option, it would have removed the pane entirely.
And there’s no adding it back after this. Be aware of that!!!
If you have split a pane up in multiple subpanes, you can delete one of the subpanes.
Think of it as having frames within frames like a webpage. Still deleting the last pane will result in a empty area of the layout.

After you have removed the content from the pane, we’ll split it up in two parts by adding a horizontal splitter bar.
Just rightclick and select “Split Horizontally“.
Now you’ll see a line appear at your mouse arrow, just slide it about where it has to go and leftclick. You’ll now have two panes.

Select the lower pane and rightclick again. Now select “Select View>View Manager” in the top part of the dropdown menu to get the 4 views back.
In the “Relational View Editor” bar you can rename the pane name to something more logical. This can come in handy when you’re manually editing the XML layout file.

Also be sure to set the “Pane Size” for the view manager to * (asterix).
This means it will stretch to fill the screen vertically, a must for the different resolutions out there.

Note: This is also a good habit to use for any pane that will fill out a part of the interface.
Small changes in resolution can be solved by just having the pane to stretch according to the screen resolution.

Now select the top pane and select “Set Toolbar/Shelf>Main Shelf“. This will “fill” the top pane with the Main shelf.
This is a very cool option of XSI, as you can create lots of shelfs and toolbars, and integrate them directly into your interface instead of keeping them as floating windows.
In the “Relational View Editor” bar you again can rename the pane name to something more logical.
Pressing the “Preview” button will show the revamped interface in full glory, and in this mode you can also move the splitterbar to fit the shelf.
Also you can rightclick the splitterbar and choose to hide (no splitter), lock (fix splitter) or leave it adjustable (movable splitter).

When you’re finished go to “View>Layouts>Exit Layout Editing” and save the file. That’s it, you’ve created a new layout for XSI.

Image


3. Adding a tabbed view

Now that we’ve seen how easy it is to change some parts of the interface, it’s time to have a look at some of the other interface changes you can make.
One of the ones I really like is the ability to create tabbed viewports.
This means you can have multiple setups or views just “under the tab”. Let’s see how that works.

Open up the previously created layout again by selecting “View>Layouts>Edit Current Layout“.
Be sure to have the “Preview” button off on the “Relational View Editor” toolbar, and start with selecting the “vm [View Manager]” pane and remove it.
Add another horizontal splitter bar to create two panes. Select the new middle pane and restore the “view manager“, be sure to reset the pane size to * (asterix) so it can stretch to size.

Now select the lower pane and select “New Tray Switcher” from the rightclick menu. This will create a new “tabbed” window inside the pane.
The new button will be called “panexx“. Add another “tab” by rightclicking the tab area and select “Add Pane“.
You now have two “tabs”. You can add as many panes as you like.
Editing the tab names or adding a bitmap will be discussed later on as this can not be done directly from the editor.

Select the first “tab” and rightclick in the pane and set the view with -say- the rendertree.

Now select the second tab and see the pane become blanc again. Let’s do something different here and split this pane up into two parts.
Add a vertical splitterbar about 1/3 from the left. Note that the name will change from “Pane” to “Frameset” to reflect the difference in layout.
Fill the newly created left pane with -say- a browser view, and the right one with the rendertree again. Also be sure to set this pane size to * (asterix) again so it can stretch.
Now activate the “Preview” option and go back and forth between the two “tabs” and flip between a regular rendertree view and one that has a browser attached to it.

When you’re finished go to “View>Layouts>Exit Layout Editing” again and save the file. That’s it, you’ve added another feature to your new layout for XSI.

Image


4. Manually editing the layout file

Now we have seen how to create or change the interface of XSI, you can change even more parts of the interface by opening up the layout file and changing the code manually.

These changes include:
-renaming panes and framesets
-renaming tabs
-changing the layout of tabbed windows by moving the tabs around
-changing text “tabs” to iconized buttons
-creating foldable area’s (thanks for the tip to softmonkey.co.uk)

Open up your favourite editor application and browse to your Application\layouts” folder to find your newly created layout.
Let’s say you named your layout “test”, there should be a “test.xsily” file. Open the file and let’s see what we have.

The layout file is build up in parts, the first being the basic code for the xml file, and also contains the name of the layout as you will see it in the dropdown menu in XSI.
It’s the third line that states something like: relationalview clsid=”{AF2D8205-8E2A-4C7B-9F90-217CE716B541}” name=”test” height=”1101″ width=”1922″ nbscreen=”1″>
The last text also states the amount of monitors: nbscreen=”1″

The next area’s, bitmaps and viewdefaultpos define the default icons and position and size of floating toolbars and windows.
The test of the frameset code is defining the default parts of the interface, but it also includes our newly created interface addition.

This new addition is defined by the following code:

X - - - - -

<switcher type=”tray” buttonside=”bottom” active=”0″ orientation=”horizontal” name=”Tray23″ buttonsize=”80,30″ splitter=”none” sizechild=”*,*”>
<frame name=”pane24″ type=”Render Tree” primary=”false” toolbar=”own”> /frame>
<frameset orientation=”horizontal” name=”Frameset28″ splitter=”movable” sizechild=”458,*”>
<frame name=”pane26″ type=”Browser” primary=”false” toolbar=”own”> /frame>
<frame name=”pane29″ type=”Render Tree” primary=”false” toolbar=”own”> /frame>
</frameset>
</switcher>

X - - - - -

Ok, what does this all means:

The first line switcher type=”tray” is defining our container for the tabbed panes. It also states it’s horizontal, holds no splitterbar and has it’s buttonsize and location set. We can manually change all this now, so we’re resizing the buttons a bit by changing the witdh from 80 to 120 pixels to give the text some more “room”.

If you don’t like the “tabs” on the bottom of the screen, we can move them to the side by simple changing the code buttonside=”bottom” to buttonside=”". Now the buttons will appear on the rightside of the pane.

Moving over to the next line of code you can change the name of the tab by changing frame name=”pane24” to something more logical like frame name=”". The type=”xxx” line defines the chosen view, in this case the Rendertree.

The next line defines the previously splitted pane as a frameset, like the first line of code it will define orientation, the splitterbar option and size of both frames. Note the * (asterix) for the right pane.
Change name=”Frameset28″ to name=”Browser_Rendertree” to create a more logical “tab name”…

If you want to do good “housekeeping” you can rename the tray- and framenames to something more logical than frame name=”pane26″ or frame name=”pane29″.

We’ll end up with this:

X - - - - -

<switcher type=”tray” buttonside=”right” active=”0″ orientation=”horizontal” name=”Tray23″ buttonsize=”120,30″ splitter=”none” sizechild=”*,*”>
<frame name=”Rendertree” type=”Render Tree” primary=”false” toolbar=”own”> /frame>
<frameset orientation=”horizontal” name=”Browser_Rendertree” splitter=”movable” sizechild=”458,*”>
<frame name=”pane26″ type=”Browser” primary=”false” toolbar=”own”> /frame>
<frame name=”pane29″ type=”Render Tree” primary=”false” toolbar=”own”> /frame>
</frameset>
</switcher>

X - - - - -

Now save this file and restart XSI. If you had this layout selected before, you’ll se the differences straight away.

Image


5. Adding bitmaps to tabs and creating folding menu’s

What if you want icons instead of text?We can do that too, let’s open up the layout editor in XSI for the current layout.
Turn off “Preview” if you have to and select the “Rendertree” named tab. Rightclick on it and select the “Set Bitmap>Palettemap” option.
A stretched icon will appear on the tab, replacing the “Rendertree” text. Unfortunately the basic icons will not suit most situations, so remove the icon with the “Remove Bitmap” option.

We are able to import bitmaps, so select the “Bitmap Editor” option.
Select the “import bitmap” button and browse to a location where your bitmap is located. Be sure to refresh the selection on the left by pressing the “Load All Default Bitmaps” button.
The imported bitmap will show up in the list, now select it and it will replace the text on the tab.
It might look stretched as well, we can change that once we’re back into our ASCII/XML editor again. Do this for the other tab as well if you want, and save the file.
Again preview or restart XSI to see the changes.

If we reopen the layout in the ASCII editor, we’ll see the changes of the bitmap reflected in the following codechange:
frame name=”rendertree” bitmap=”rendertree” type=”Render Tree” primary=”false” toolbar=”own”> /frame>

We can see XSI added the bitmap=”rendertree” section.
It will look automatically to a “bitmap folder” one step “down” in the layouts folder, so setting a path is not neccesary unless you’re bitmaps are coming from some place else.
If we look at our bitmap size, it’s bigger than the defined buttonsize. Change this to reflect the bitmap and it will show up with no stretching or squashing.
Note that resizing will be a -global- value and will reflect on -all- tabs. So keep your icons small.
Resave the file and reopen XSI to see result once more.


Image

One last thing you cannot create inside the layout editor, but is a very cool feature, is the ability to have some parts of the interface to be “foldable”.
Or said otherwise, click on it and have it slide out of sight. (Thanks to james at softmonkey.co.uk for this tip)

This can be done by some simple additions of a piece of code: optionbutton=”container” and optional=”hidden”.

If we want the tabbed part of the interface to be “out of the way” for most of the time, we can change the excisting code from:

switcher type=”tray” buttonside=”right” active=”0″ orientation=”horizontal” name=”Tray23″ buttonsize=”120,30″ splitter=”none” sizechild=”*,*”>
to:
switcher type=”tray” optionbutton=”container” optional=”hidden”buttonside=”right” active=”0″ orientation=”horizontal” name=”Tray23″ buttonsize=”120,30″ splitter=”none” sizechild=”*,*”>

Save the file and restart XSI to see the changes.

Image

What you see now is your basic 4 view layout with the Main shelf on top. So where did the tabbed window go??

If you look closely at the bottom of the screen, you’ll see a thin grey button.
Click that and the tabbed window will slide open, resizing the 4 viewports at the same time (the * size we applied).
Clicking the button again will nicely fold it again at the bottom and resize the 4 views back to normal.

The fun thing is that we can do this to the main toolbar on the left of the screen and the MCP on the right as well.
We’ll have to digg up the code where the menu’s are located, so for the main toolbar it is:

switcher type=”tray” buttonside=”bottom” active=”0″ orientation=”horizontal” name=”Main_Toolbar_Tray” displayname=”Left Module Toolbar” buttonsize=”26,26″ optional=”visible” splitter=”none” sizechild=”105,216,105″>

Like in the other section we add the optionbutton=”container” line (the optional=”visible” line is already there as the toolbar is showing in the viewport by default):

switcher type=”tray” buttonside=”bottom” active=”0″ orientation=”horizontal” optionbutton=”container” name=”Main_Toolbar_Tray” displayname=”Left Module Toolbar” buttonsize=”26,26″ optional=”visible” splitter=”none” sizechild=”105,216,105″>

For the MCP we’ll go from:

switcher type=”tray” buttonside=”bottom_inv” active=”0″ orientation=”vertical” name=”mcp” displayname=”MCP” buttonsize=”44,23″ optional=”visible” splitter=”none” sizechild=”135,240″>
to
switcher type=”tray” optionbutton=”container” buttonside=”bottom_inv” active=”0″ orientation=”vertical” name=”mcp” displayname=”MCP” buttonsize=”44,23″ optional=”visible” splitter=”none” sizechild=”135,240″>


Save and reopen XSI. Note the extra set of slim gray buttons, on either side of the main toolbar and MCP.
Unfortunately you cannot change the location of these buttons, so they “live” where they live in the interface. Hide both menu’s and have a huge 4 view work area :-)

Image

That’s all folks, hope it helps you out with starting to create layouts for yourself.


Note: This was published on my blog a while ago. But as the blog is going the way of the Dodo soon, I wanted to preserve it here. ;)
SI UI tutorials: Toolbar http://goo.gl/iYOL0l | Custom Layout http://goo.gl/6iP5xQ | RenderManager View http://goo.gl/b4ZkjQ
So long, and thanks for all the Fish!!

User avatar
Daniel Brassard
Posts: 878
Joined: 18 Mar 2010, 23:38
Location: St. Thomas, Ontario
Contact:

Re: Creating a custom layout in Softimage

Post by Daniel Brassard » 22 Nov 2013, 15:51

Complement to your tutorial. TD Survival Understanding Optional Panels and Custom Layouts in Softimage.



Thanks Rork.
$ifndef "Softimage"
set "Softimage" "true"
$endif

User avatar
Rork
Posts: 1359
Joined: 09 Jul 2009, 08:59
Location: Close to The Hague, Netherlands
Contact:

Re: Creating a custom layout in Softimage

Post by Rork » 22 Nov 2013, 16:45

He,

Good one! Missed that one somehow! Perfect addition to the other two I added today ;)

cheers!
SI UI tutorials: Toolbar http://goo.gl/iYOL0l | Custom Layout http://goo.gl/6iP5xQ | RenderManager View http://goo.gl/b4ZkjQ
So long, and thanks for all the Fish!!

User avatar
AceMastermind
Posts: 160
Joined: 15 Jun 2009, 00:57
Contact:

Re: Creating a custom layout in Softimage

Post by AceMastermind » 04 Sep 2015, 02:46

Anyone know how to change the default size and location of a floating Explorer window in Mod Tool 7.5?

I tried playing around with the "defaultsize" values in explorer.xsivw and xsiexplorer.xsivw in:
C:\Softimage\Softimage_Mod_Tool_7.5\Application\views
but nothing is changing. :-\

User avatar
FXDude
Posts: 1129
Joined: 19 Jun 2012, 21:59

Re: Creating a custom layout in Softimage

Post by FXDude » 04 Sep 2015, 04:01

I would think it would be the same, but maybe not, but normally if you position any of your views as you want,

and then go :

View-> Layouts -> Save Layout (last menu item)


and checkbox your current layout (be sure to know what is the name of the layout your'e using)


And be sure to close your newly positionned views before saving, for them to not appear at every startup.

Not sure but you may have to 'save layout' with them open, and saving the layout again after closing them perhaps even a restart between each step, (at worst) but I think just position, then close, then save, should do it.

User avatar
AceMastermind
Posts: 160
Joined: 15 Jun 2009, 00:57
Contact:

Re: Creating a custom layout in Softimage

Post by AceMastermind » 04 Sep 2015, 05:10

Ok thanks I got it. :)

I mostly use the default layout but I prefer the floating Explorer window to open in the top right instead of bottom right. This is what I did for those that may be wondering:

View > Layouts > New Layout from > Default
Gave it a name
View > Layouts > Exit Layout Editing
Select my new layout from View > Layouts
Press 8 to open floating explorer
Position and scale it how I want it
Close the floating Explorer window
View > Layouts > Save Layouts
tick the box next to the layout name I created earlier and clicked Save

:-bd


EDIT
The new layout I created earlier created 2 new files (*.xsily & *.xsilystate) in:
C:\users\Ace\Autodesk\Softimage_Mod_Tool_7.5\Application\layouts
It turns out I was editing the wrong files to begin with earlier, I could've edited the default layout in the "layouts" folder in:
C:\Softimage\Softimage_Mod_Tool_7.5\Application\layouts
x_x
Last edited by AceMastermind on 04 Sep 2015, 06:24, edited 1 time in total.

User avatar
FXDude
Posts: 1129
Joined: 19 Jun 2012, 21:59

Re: Creating a custom layout in Softimage

Post by FXDude » 04 Sep 2015, 06:21

No Prob! :)

I've been delving in layout possibilities for a long time.

And me too once in a while someone tells me about, or I stumble upon new things I never knew were there while being right there :)

(and I would say I know maybe 2% (or 3%) of all of XSI :) )

Post Reply

Who is online

Users browsing this forum: No registered users and 27 guests