We’re developing a system which:
Keeps track of every job and what its status is.
Each deliverable’s version/revision number.
Is tied into our time card software to keep track of bids and available time.
Keeps naming conventions consistant.
And in the future will develop front ends for the client to actually interact with the deliverable making limited changes through a python/php interface.
We also want to in the near future open up our internal pipeline status in a limited way to clients so they can review the status of their job and check in on the latest deliverables in a more transparent manner.
And a bunch of other cool stuff which is all on the drawing board.
Edit: We also have a lot of asset tracking with thousands of objects which need to be called on nearly instantly we’re considering moving all of this to a database from CSV files.
Sorry for pseudo necro-ing this thread…
I’m curious why you guys chose to use a giant Python application to handle all those tasks versus using some of the existing features in many of the more common issue-tracking applications out there (like Jira).
I had originally though about going the route you are describing (albeit via C#), but in the end decided it was redundant as we already have a perfectly viable task/status/time-card solution that integrates fairly cleanly with Perforce (our source control for everything) to link in versioning…
My GDC talk “Python for Technical Artists” was today. I’ve posted my slides and code sample files here:
http://www.volition-inc.com/gdc
The Python examples include several scripts in a few Tech Art-oriented categories:
- Data mining (large XML files)
- Data Serialization/Persistence
- Screen scraping
- Textures
- Databases (MySQL, etc)
- Windows COM
The COM group includes examples on driving 3ds Max and Maya in various ways from outside of those apps, using Python. There’s a fun example that uses a 360 controller to fly a camera around a 3ds Max scene and place world objects on a landscape, with just a few lines of embedded MaxScript.
Check out the examples, let me know what you think.
Thanks a lot vScourge, I really appretiate sharing this with us! :buttrock:
Thanks Adam this is really good stuff, I especially like work you have done to parent a wx.Frame to max window, this will undoubtedly make some of tools of ours look cleaner and allot more native.
Nice work!
Cheers
Dave
Very welcome.
I picked up that window-linking trickery from Aloys Baillet from Animal Logic. He posted an example of that in this XSI-related blog he posted, so hats off to him. I just tweaked it to work with 3ds Max instead.
Another cool thing that isn’t actually shown-off in my example scripts is the ability to create modal dialogs (warning pop-ups, etc) from your external Python script, so that the 3ds Max window is properly disabled as well. There’s code to do that via the “show_modal_dialog” class method in the “MaxComClasses.py” file, but the examples don’t call it anywhere.
You might also notice some commented-out code in that file that was the start of my attempt to create a bi-directional COM setup that would allow 3ds Max to instigate/call code inside that same Python script. Meaning, you could have MaxScript-ed callbacks that actually tell the Python script to update its UI or whatever. As it stands, with Max being the COM server and Python the client, you can only use Python to instigate an event, not vice-versa. I didn’t get to work much on the bi-directional COM thing before GDC, but hope to play with it more soon.
In any case, I’d love to hear more examples of how people use stuff like this.
hi all,
first, thx all for sahre your experience, yours tips and your code
it’s very really interessant
ehulser : have you possibility for compile a x64 release ?
thx again
Kermit
We have been using this for photoshop. because we all know how fun scripting is in PS :banghead:
Just like in max, we use it via COM. As mentioned in Kermit’s link, its the same as VBS. We use it for a variety of things like launching scripts, saving stuff to the DB, etc. Its really good for having a floating non-modal window for photoshopping
That’s quote interesting…
I had a very quick look at this and they only way I could find that would make this work was to create a COM server of my own and have max connect to it. The original idea was to allow the app to talk to max and max to talk back within the same context, but I havn’t yet quite gotten around to setting it up and testing it.
I’d be interested in know how you intended to achieve this
Cheers
Shane