PDA

View Full Version : Interface for a 3D max application


solar_system2006
03-26-2006, 10:45 AM
hey everyone,

I would like to klnow if 3D max allows the user to create his own interface for is application without using the utility command, i mean an interface that has no options from the 3D max software only has the buttons and options implemented by the user using maxscript. if not, is it possible to do it using Max SDK?

Thank you.

JohnSwafford
03-26-2006, 11:11 AM
Absolutely. Maxscript utilities are actually a little unusual these days because most scripters want to control their interfaces more than utilities allow.

The most common ways to do this are Dialogs and Rollout Floater windows. You specify every control (i.e. button, dropdown-listbox, numberic spinner, textbox, etc.) that you want the user to see. Maxscript has added a large amount of control to interface elements and user interactions over the years. Of course, the learning curve you'll go through is proportional to the complexity of your script's interface, but the sky's the limit for customization.

solar_system2006
03-26-2006, 06:27 PM
thank you for the reply, I hope Im not asking too much but I was hoping you would show me an exmaple cuz Im totally new to maxscript and you got me excited when you gave me this information :bounce: .

Thanks again...

Moosley
03-26-2006, 06:40 PM
Hi! If you open a new script then press F2 you should get a nice little rollout designer (visual maxscript) which you can use to make an interface for your script. Pressing the save icon will write the code into the script for you. It's well worth diving into the reference files under rollouts for more info.

solar_system2006
03-26-2006, 07:25 PM
wow! thank you so much that was cool, mmm but the script wont run, i created it as you said but it refuses to appear after I run it! any suggestions?

Moosley
03-26-2006, 07:44 PM
It would be handy if you could post your code here so we can see what's going on. Though I suspect it's not appearing because once you have defined your rollout you need to create it using the createDialog command.

JohnSwafford
03-27-2006, 06:44 AM
solar,

My apologies if you already have it, but it sounds like you haven't browsed throught the Maxscript documentation? Below is a link to the latest, up-to-date version of the docs maintained by Borislav "Bobo" Petrov (who you will see posting in this forum quite frequently). Even if you use an earlier version of 3ds max, you should always have the latest version of the docs as well, as the improvements in the documentation are a big help when you're learning. http://images.autodesk.com/adsk/files/maxscript_8_help.zip

1. To get an idea of the interface possibilities in Maxscript, open the docs and navigate to the "Creating MaxScript Tools" subsection and browse through the entire section....especially the images. They will give you an overview of the amount of interface control offered by Maxscript. (You should also explore the 3dsmax\scripts\examples folder and run/modify some of the scripts there.)
-Maxscript Tools and Interaction with 3ds max --main section
-----Creating MaxScript Tools: --browse this ENTIRE subsection

2. If you start getting into Maxscript programming, you will get plenty of help here (or in other forums) along the way. However, you are expected to do the large amount of research/experimentation/debugging by yourself as much as possible. Basically, you should post questions in forums when you've been unable to figure out or fix something on your own. (Don't get me wrong.....stupid questions are quite acceptable here, but not lazy ones. You'll sometimes see a post from a non-scripter asking for someone to write a script for them....they are usually ignored.)

3. If you are considering whether to go with Maxscript or C++ and the SDK, be aware that there is no such helpful community on the SDK side (unlike Maxscript). The vast majority of C++ graphics/plugin programmers are on the clock, and they're not being paid to help you. The learning curve is also far steeper/longer, and there is little patience with or interest in anyone learning the basics....you're largely on your own. There are C++ and SDK forums, but they are not very active, and you largely have to know what you're doing before they do you much good. If you are already a competent C++ programmer, then this is not an issue.

4. Maxscript, on the other hand, is heavily dominated by hobbyists, so there is much more of a community atmosphere. Furthermore, the vast majority of scripts have unlocked code (not encrypted), so you can learn quite a bit by studying other scripts. See www.scriptspot.com (http://www.scriptspot.com/) for endless examples (ScriptSpot is the central repository for the Maxscript community). There are several commercial Maxscript projects that I know of, but they are actually the exception in scripting (see www.rpmanager.com (http://www.rpmanager.com/) and www.orionflame.com (http://www.orionflame.com/) for 2 excellent examples of commercial scripting).

5. I'd be very surprised if Maxscript weren't powerful enough to do what you need. About 2 years ago, I had to make the same decision you're considering now. I've been working on my own commercial project since then and I have about a year left. Maxscript has turned out to be more than powerful enough, and my project is huge. I can tell you, without any doubt, that without Maxscript I would never be attempting what I'm doing now....I would have given up before I got anywhere with C++ and the SDK. On the other hand, I have to admit that Maxscript profiency would definitely make C++ and the SDK easier if I were forced (at gunpoint) to learn it later on.

6. Don't get too fond of Visual Maxscript....most scripters won't touch it with a 10 foot pole (myself included). It creates very inefficient code describing the placement of the UI controls, and it only deals with the placement/arrangement of the controls. Doing this task manually is almost nothing in the overall process of creating a script. 99% of the work is in coding the event handlers, functions, etc....the real programming. Visual Maxscript is pretty much a toy, and not a serious tool in Maxscript.

Hope this helps you out....

Moosley
03-27-2006, 08:29 AM
Visual maxscript is great for doing neat gui's quickly. That's about all I would ever do with it!

solar_system2006
03-27-2006, 10:22 AM
JohnSwafford

no I havnt checked the documentation yet and to be frank I never there was one in the first place! I'm a java and c++ programmer and I used documentations alot but in this case I got a bit lost of where to start cuz I have little type to turn in my project. thank you for your advices and I really appreciate all the help you guys are giving me...

CGTalk Moderation
03-27-2006, 10:22 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.