Under 3dsmax, how do you get to show your timeline bar if you want it back ? im asking because i usually model but i would like to get a try at animation, cloth in perticular..
Here is a part of a script that I use to switch my UI from modeling to animation.
Drag this text into your 3dsmax toolbar and click the button it creates to toggle back and forth.
(-- Toggles on and off the bottom toolbar
fn togglebotoff = (
trackbar.visible = false
timeSlider.setVisible (true)
statusPanel.visible = false
MaxRibbon.ShowRibbon true
)
fn toggleboton = (
trackbar.visible = true
timeSlider.setVisible (true)
statusPanel.visible = true
MaxRibbon.ShowRibbon false
)
if statusPanel.visible == false and trackbar.visible == false then (
toggleboton()
)
else (
togglebotoff()
)
)
Note 1: I leave the "timeSlider.setVisible" set to "(true)" because its helpful to be able to animate things to explode bake but I really don't need to see the keys to do that.
Note 2: You can set the different commands to true or false as you need. It would also be possible to set up a 3 state button, 1) Anim bar, 2) Ribbon, 3) Nothing. If you want help setting that up let me know.
hhmm thanks Mark, looks like an astonishing script.
I don't know why but "i drag the text to my toolbar" but nothing happens. Shouldn't this be saved as a text file first and then drag it to my toolbar ?
You have to drag it into a toolbar almost as if you were going to drop it on a button, if you drag it into a dead spot in the UI (which is outside of a toolbar) it won't make a button.
You can make a new toolbar, right click and dock it somewhere and then drag the text into that new toolbar to get the button. That way you can hide the new toolbar without cluttering up your main UI.
To make a new toolbar go to Main Menu > Customize > Customize User Interface > Toolbars > New...
You can right click a button and delete it, or hold alt + drag to move them around.
If you really want a script to run that shows up in the customize UI menu you can save this as a text file and then rename it from .txt to .ms
macroScript ToggleRibbon
category:" MyTools"
toolTip:"Toggle Ribbon/AnimBar"
icon:#("ribbon",1)
(-- Toggles on and off the bottom toolbar
fn togglebotoff = (
trackbar.visible = false
timeSlider.setVisible (true)
statusPanel.visible = false
MaxRibbon.SetRibbonDockState #bottomDock
MaxRibbon.ShowRibbon true
)
fn toggleboton = (
trackbar.visible = true
timeSlider.setVisible (true)
statusPanel.visible = true
MaxRibbon.ShowRibbon false
)
if trackbar.visible == false then (
toggleboton()
)
else (
togglebotoff()
)
)
Note: The icon for the button is set to the same as the "graphite modeling tools" button, I use it as a replacement. You can remove the icon part at the top if you want.
One other thing I find useful, is to create a new toolbar called "unwanted" and alt+drag any buttons you don't want into this toolbar. You can then close the toolbar to hide it. YOu can right click a blank spot in the UI (the blank area above the command panel is good) to show that toolbar again. Which is helpful if you ever run into a tutorial that uses a button that you don't use all that often.
One more question, do you have any tips on how to preserve your UI settings(UI/plugings/script) so as when i reformat or uninstall Max, i can copy/paste it back in in the Max folder and recover everything ?
I quite lose lots of time when i try and reinstall all my plugins.
There isn't an easy way to do that out of the box. I have a separate .mzp installer that installs all of my scripts, plugins and various other files. I also save out the UI to a dropbox folder and load it from there.
Monster suggested in another thread changing the user paths within max to point to those folders so you didn't have to save/load those files and any changes that get made are to the same files. I haven't looked into that tho, but sounds helpful.
But yea out of the box, max is a pain to update especially if you're on subscription updating every april.
This is a shame, it would be neat that you could flush the whole script preference folder and restart. Im going to give your suggestions a try and work from a remote UI/script folder, and save from there.
This is the kind of Max related question that is never asked for ridicule's sake, but never the less deserves attention.
I use this last script Mark posted, but now that Max 2014 has the isolation button as part of the status panel it isn't optimal. I know I could use the quad menu and all but I like having the button there to show me the status and allow me to toggle it.
I am wondering if there is any way to move that button somewhere else (Like the main toolbar) and if that could be added to the script?
This Script realy solved my Problem
had a long struggle with a lost 3dsmax Trackbar Button ( Curve Editor Button ) beside my Animation Timeline with all Keyframes Indicators gone too. After enabling and disabling the Script it brings me back the Button. Yeho THX. :thumbup:
@Mark - is there a way to open/ close outliner with your script? im aware of macros.run "toggleOutliner" but it simply just toggle the visibility of outliner. I want something to be able to check like if trackbar.visible == false close outliner, else open outliner along side with your current script. Is it possible?
Computron, I only have max2012 installed at work we are switching later in the year to 2014 so I don't have access to the changes that they've made. there probably is a way to rig up a button to isolate selection. According to the max2012 max script help doc I can do it, but that won't help 2013 or 2014 users if they changed things or didn't expose those new features to maxscript.
Revel, I don't think there is a check to see if outliner is open, or specific commands to open or close it, just the toggle that you mentioned. You might want to shoot PJ a email or PM and ask if he ever exposed more than just the toggle. Maybe ask on the script spot page or in the outliner thread?
Does anyone know why Mark's script doesn't save its effects in Max 2015?
Up to 2014 I never had a problem. I set up my UI the way I like it, save the scene as maxstart in the appropiate folder...And when I open max again, it loads up just fine the way I modified it, except for that script's toggled bars (the trackbar, which I hide through Customize>Show UI, does hide as it should). I also tried putting the script in the scripts>Startup folder, in hopes that it'd execute as soon as Max opens, but still no use. I even changed the script's name to startup.ms for it to be priority
Are you talking about the dock state? As in you want it docked at the top but the script aligns it to the bottom? The dock state is called out in the script and forced on each time so if you want it aligned some other way you need to either remove that from the script or change it to how you like it docked.
Also it looks like they changed it so the ribbon must be visible in order to change the dock state so "MaxRibbon.ShowRibbon true" needs to go before "MaxRibbon.SetRibbonDockState #BottomDock"
(-- Toggles on and off the bottom toolbar
fn togglebotoff = (
trackbar.visible = false
timeSlider.setVisible (true)
statusPanel.visible = false
MaxRibbon.ShowRibbon true
MaxRibbon.SetRibbonDockState #BottomDock
)
fn toggleboton = (
trackbar.visible = true
timeSlider.setVisible (true)
statusPanel.visible = true
MaxRibbon.ShowRibbon false
)
if trackbar.visible == false then (
toggleboton()
)
else (
togglebotoff()
)
)
Also some versions of max are very picky about saving some settings under non-administer user accounts, so make sure you are set up as an adnim.
So after Max decided to make all icons invisible to me, I reinstalled 2014, came here to grab again this handy script...And found out I never replied back. I'm sorry Mark!
What I meant was how to start max without any bars on the lower part of the UI. I never fixed this, it's just one click anyway. But if you're still in the mood to share your thoughts here goes the problem:
The idea would be that when I start max, the script automatically runs once, so that it hides the lower part of the UI.
Quite bad from my part really, given how you actually replied the day after my original post.
What script are you putting in the Startup folder? If you are using Mark's script it's going to invert the setting every time you start Max. So you hide it, it will show it when you restart.
If you just use these lines, it will hide it on every startup. Also, don't call it startup.ms. If there is another startup.ms it will ignore all subsequent startup.ms files. (See the Maxscript startup reference.)
I'm a little confused as to what you want the script to do? It's behaving logically if you change it to doc at the top.
It was intended to replace two of the animation toolbars at the bottom with the ribbon because when you're modeling you don't need the animation tools there and when you're animating you don't need modeling tools. Also when the ribbon is docked at the top it smashes the command panel down, but doesn't touch it when it's docked at the bottom.
It's a toggle between animation mode and modeling mode.
So the script is hiding the bars correctly, the only difference is that you have the ribbon docked at the top instead of at the bottom. Which is exactly how it would look and behave.
If you want those bars and the ribbon out at the same time, comment out those lines of the script that hide those bars, but then you're just using a script to do what the max toolbar button does, toggle on/off the ribbon, so why use a script?
Do you want the ribbon to un-minimize?
You click the white arrow in the toolbar to make it pop in/out.
I also don't understand why you have it set as a startup script?
Do you want it to start up with the animation toolbars unhidden and then make them disappear when you click the button?
I would like to help you out but I'm totally confused on a lot of levels.
monster: Well no worries, I downgraded to 2014 anyway hehe.
Mark: I'm using the very first script you posted here, only that I deleted the lines that hid the Ribbon since I'm fine with that. As to what I want with it, it's perfect, it works like I want it to. It toggles the bottom bars on and off.
The question is, though, how to make it hide the bottom bars when max starts, automatically. Your script apparently doesn't invert anything if I save it in the startup folder (just to be sure, I'm talking about Program Files\Autodesk\3ds Max 2014\scripts\Startup. Am I doing it wrong saving it there?).
If I understood monster correctly, he said that it makes sense it's not working on startup, since it's always gonna invert the bars because of the script's toggle functionality...but no, it doesn't invert anything, it simply doesn't run.
Now I tried using only the three lines monster gave me and saving it in the Startup folder, hopefully I didn't screw it up:
Ohh so you're just trying to get rid of the bars at start up? ok...
Have you tried saving the script to:
C:\Users\USERNAME\AppData\Local\Autodesk\3dsMax\2014 - 64bit\ENU\scripts\startup
This is where scripts are supposed to be saved in newer versions of max. Saving it to the max install folder might not work in newer versions of 3dsmax but I think they are trying to phase it out.
Or there might be a conflicting script in each of the folders? I think max checks each spot but one takes precedence over the other and is executed last? I think its the users script folder...
This will make the clean state as a default during start up. Bothe of the script just save any name you want, me I have it as "CleanUI.ms" for the first one and "CleanUI_Startup.ms" for the second one.
You need to remove the macroscript header from the script in the startup folder as well.
Otherwise you are defining a Macro instead of running a script.
I just tested a script in both spots and it works in both places so either place should work, but you probably want to keep all of your scripts in the same place.
Monster is right, if the header info is in the start up script, it will define the macro on start up instead of executing the actual code. Doing what Monster pointed out should get that working.
Replies
Here is a part of a script that I use to switch my UI from modeling to animation.
Drag this text into your 3dsmax toolbar and click the button it creates to toggle back and forth. Note 1: I leave the "timeSlider.setVisible" set to "(true)" because its helpful to be able to animate things to explode bake but I really don't need to see the keys to do that.
Note 2: You can set the different commands to true or false as you need. It would also be possible to set up a 3 state button, 1) Anim bar, 2) Ribbon, 3) Nothing. If you want help setting that up let me know.
I don't know why but "i drag the text to my toolbar" but nothing happens. Shouldn't this be saved as a text file first and then drag it to my toolbar ?
You can make a new toolbar, right click and dock it somewhere and then drag the text into that new toolbar to get the button. That way you can hide the new toolbar without cluttering up your main UI.
To make a new toolbar go to Main Menu > Customize > Customize User Interface > Toolbars > New...
You can right click a button and delete it, or hold alt + drag to move them around.
If you really want a script to run that shows up in the customize UI menu you can save this as a text file and then rename it from .txt to .ms Note: The icon for the button is set to the same as the "graphite modeling tools" button, I use it as a replacement. You can remove the icon part at the top if you want.
Thanks a million for this new tool, its appreciated.
I quite lose lots of time when i try and reinstall all my plugins.
Monster suggested in another thread changing the user paths within max to point to those folders so you didn't have to save/load those files and any changes that get made are to the same files. I haven't looked into that tho, but sounds helpful.
But yea out of the box, max is a pain to update especially if you're on subscription updating every april.
This is a shame, it would be neat that you could flush the whole script preference folder and restart. Im going to give your suggestions a try and work from a remote UI/script folder, and save from there.
This is the kind of Max related question that is never asked for ridicule's sake, but never the less deserves attention.
I am wondering if there is any way to move that button somewhere else (Like the main toolbar) and if that could be added to the script?
I am talking about this little guy BTW:
had a long struggle with a lost 3dsmax Trackbar Button ( Curve Editor Button ) beside my Animation Timeline with all Keyframes Indicators gone too. After enabling and disabling the Script it brings me back the Button. Yeho THX. :thumbup:
http://www.scriptspot.com/3ds-max/scripts/isolate-selection-legacy-mode-for-2013
@Mark - is there a way to open/ close outliner with your script? im aware of macros.run "toggleOutliner" but it simply just toggle the visibility of outliner. I want something to be able to check like if trackbar.visible == false close outliner, else open outliner along side with your current script. Is it possible?
Revel, I don't think there is a check to see if outliner is open, or specific commands to open or close it, just the toggle that you mentioned. You might want to shoot PJ a email or PM and ask if he ever exposed more than just the toggle. Maybe ask on the script spot page or in the outliner thread?
IIRC, it only enters the mode, does not exit isolation.
Cause from what I remember it should do that, I only used the hotkey, did not try out 2014 to much though.
Yup, just tested in 2014.
Up to 2014 I never had a problem. I set up my UI the way I like it, save the scene as maxstart in the appropiate folder...And when I open max again, it loads up just fine the way I modified it, except for that script's toggled bars (the trackbar, which I hide through Customize>Show UI, does hide as it should). I also tried putting the script in the scripts>Startup folder, in hopes that it'd execute as soon as Max opens, but still no use. I even changed the script's name to startup.ms for it to be priority
The line you're looking for is:MaxRibbon.SetRibbonDockState #bottomDock and it needs to say: #TopDock, or #leftDock, #RightDock or #Floating.
Also it looks like they changed it so the ribbon must be visible in order to change the dock state so "MaxRibbon.ShowRibbon true" needs to go before "MaxRibbon.SetRibbonDockState #BottomDock"
Also some versions of max are very picky about saving some settings under non-administer user accounts, so make sure you are set up as an adnim.
What I meant was how to start max without any bars on the lower part of the UI. I never fixed this, it's just one click anyway. But if you're still in the mood to share your thoughts here goes the problem:
The idea would be that when I start max, the script automatically runs once, so that it hides the lower part of the UI.
Quite bad from my part really, given how you actually replied the day after my original post.
If you just use these lines, it will hide it on every startup. Also, don't call it startup.ms. If there is another startup.ms it will ignore all subsequent startup.ms files. (See the Maxscript startup reference.)
Works for me in 2014, I don't have 2015 to test.
It was intended to replace two of the animation toolbars at the bottom with the ribbon because when you're modeling you don't need the animation tools there and when you're animating you don't need modeling tools. Also when the ribbon is docked at the top it smashes the command panel down, but doesn't touch it when it's docked at the bottom.
It's a toggle between animation mode and modeling mode.
So the script is hiding the bars correctly, the only difference is that you have the ribbon docked at the top instead of at the bottom. Which is exactly how it would look and behave.
If you want those bars and the ribbon out at the same time, comment out those lines of the script that hide those bars, but then you're just using a script to do what the max toolbar button does, toggle on/off the ribbon, so why use a script?
Do you want the ribbon to un-minimize?
You click the white arrow in the toolbar to make it pop in/out.
I also don't understand why you have it set as a startup script?
Do you want it to start up with the animation toolbars unhidden and then make them disappear when you click the button?
I would like to help you out but I'm totally confused on a lot of levels.
Mark: I'm using the very first script you posted here, only that I deleted the lines that hid the Ribbon since I'm fine with that. As to what I want with it, it's perfect, it works like I want it to. It toggles the bottom bars on and off.
The question is, though, how to make it hide the bottom bars when max starts, automatically. Your script apparently doesn't invert anything if I save it in the startup folder (just to be sure, I'm talking about Program Files\Autodesk\3ds Max 2014\scripts\Startup. Am I doing it wrong saving it there?).
If I understood monster correctly, he said that it makes sense it's not working on startup, since it's always gonna invert the bars because of the script's toggle functionality...but no, it doesn't invert anything, it simply doesn't run.
Now I tried using only the three lines monster gave me and saving it in the Startup folder, hopefully I didn't screw it up:
But still no changes are visible when I start Max.
Have you tried saving the script to:
C:\Users\USERNAME\AppData\Local\Autodesk\3dsMax\2014 - 64bit\ENU\scripts\startup
This is where scripts are supposed to be saved in newer versions of max. Saving it to the max install folder might not work in newer versions of 3dsmax but I think they are trying to phase it out.
Or there might be a conflicting script in each of the folders? I think max checks each spot but one takes precedence over the other and is executed last? I think its the users script folder...
So what I did for mine was use this script with hotkey'd;
I did change the header though, for the sake of script organization. This function act as a replacement of my expert UI mode.
Then I had another script on my startup folder;
This will make the clean state as a default during start up. Bothe of the script just save any name you want, me I have it as "CleanUI.ms" for the first one and "CleanUI_Startup.ms" for the second one.
Otherwise you are defining a Macro instead of running a script.
Remove these lines:
Monster is right, if the header info is in the start up script, it will define the macro on start up instead of executing the actual code. Doing what Monster pointed out should get that working.