Fri, Jan 10, 9:06 PM CST

Renderosity Forums / Poser Python Scripting



Welcome to the Poser Python Scripting Forum

Forum Moderators: Staff

Poser Python Scripting F.A.Q (Last Updated: 2024 Dec 02 3:16 pm)

We now have a ProPack Section in the Poser FreeStuff.
Check out the new Poser Python Wish List thread. If you have an idea for a script, jot it down and maybe someone can write it. If you're looking to write a script, check out this thread for useful suggestions.

Also, check out the official Python site for interpreters, sample code, applications, cool links and debuggers. This is THE central site for Python.

You can now attach text files to your posts to pass around scripts. Just attach the script as a txt file like you would a jpg or gif. Since the forum will use a random name for the file in the link, you should give instructions on what the file name should be and where to install it. Its a good idea to usually put that info right in the script file as well.

Checkout the Renderosity MarketPlace - Your source for digital art content!



Subject: Once you tell a computer what you want it to do, it's very difficult to stop it


smiller1 ( ) posted Thu, 04 September 2003 at 3:36 PM · edited Fri, 10 January 2025 at 5:57 PM

I wanted more control over the Poser 5 renderer so I've written a script that renders every tenth frame of a scene and then goes back to the start and renders all the missing frames. If I have to abort the process and start again, my script checks to see the rendered file exists before rendering and skips it if it exists. Trouble is, the only way I can stop the process is using cntl-alt-delete and killing Poser from the task menu. What I'd like to do is have a button which is available to click while my main script is running. When I click it, it can set a flag of some sort which my main script can check between renders. If it is set, then the main script can quit processing till another day. Is this possible within the poser-python environment?


ockham ( ) posted Fri, 05 September 2003 at 10:09 AM

file_74698.jpg

The best way to do it is with Tkinter, which has a neat "put-self-in-background" action. The attached file will do pretty much what you want, I think.... It has start and cancel buttons, but it seems to start immediately upon activation instead of when you hit the start button. The main point, though, is what happens when you hit Cancel: it stops dead. Look at the Update action to find the key for "self-in-background".

My python page
My ShareCG freebies


smiller1 ( ) posted Fri, 05 September 2003 at 1:34 PM

Thank you Ockham- I've downloaded it and I hope to get time to look at this over the weekend.


smiller1 ( ) posted Fri, 05 September 2003 at 2:05 PM

Looked at it already. It terrific! Thank you, thank you, thank you. Strangely, when I saved it, the line... if NextFrame < 0: return # Handling the cancel got corrupted which was actually quite good because it made me figure out what the program was doing to fix it. Now all I have to do is incorporate my code into your skeleton, which looks very easy to do. Did I say thank you? Thank you.


ockham ( ) posted Fri, 05 September 2003 at 3:22 PM

"Strangely, when I saved it, the line... got corrupted which was actually quite good because it made me figure out what the program was doing to fix it." That's why I call this place Serenderosipity!

My python page
My ShareCG freebies


smiller1 ( ) posted Sat, 06 September 2003 at 4:39 PM

:0) Well I made my changes and it worked fine for my simple test scene, but when I used it on a bigger 'real' scene, the renders only came out a quarter done. Any ideas why this would happen?


smiller1 ( ) posted Sun, 07 September 2003 at 4:52 AM

Looks like a memory problem, I reduced the size of the render box and it worked fine last night.


ockham ( ) posted Sun, 07 September 2003 at 9:34 AM

Hmm. I wonder if it could have something to do with the timing of the Update. Does the smaller render take less than 250 msec? (1/4 sec)

My python page
My ShareCG freebies


smiller1 ( ) posted Mon, 08 September 2003 at 11:10 AM

That was my first thought, till I saw the timer was set to 250ms. Lowering the bucket size (not render box! had my own memory problem there.) made the render time slightly longer so I reckon it's a memory thing.


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.