Give the custom property a variable and then use a try/except This might be a dirty way of doing it and I'm sure someone far more qualified will tell you why this is a bad idea. But it works :)
from win32com.client import constants as c root = Application.ActiveSceneRoot #------function --------------------------------- def main(): global cpSet root = Application.ActiveSceneRoot Application.DeselectAll() Application.SelectObj("Scene_Root", "", "") #give your custom property a variable e.g cpSet cpSet = root.AddProperty("Custom_parameter_list",False, "CustomPSet") Application.SelectObj("CustomPSet", "", "") Application.SIAddCustomParameter("CustomPSet", "Param", "siDouble", 0, "", "", "", 2053, "", 1, "", "") Application.InspectObj(cpSet,"","CustomPSet", c.siModal) box = XSIUIToolkit.MsgBox('I did what you asked me to do', 1, 'FINISHED!' ) print box if box == 1: print "OK" Application.DeleteObj (cpSet) if box == 2: print "Cancel" Application.DeleteObj (cpSet) #------------------------------------------------------------------------- #script starts here ----------------- try: main() except: Application.DeleteObj (cpSet) print "cancelled" Date: Mon, 17 Nov 2014 14:37:14 +0000 Subject: Re: Python help From: jonny.g...@gmail.com To: softimage@listproc.autodesk.com Cheers, Simon. - Thanks for the links and info. I think part 2 is a little above where I am with scripting! I might look into storing a version number in an attribute property to reference as a variable rather than having build a list, look-up the latest version in a folder etc. With regard to number 1 I am inspecting the property of a temporary custom parameter set (These inputs are to be used as variables in various portions of the script. If 'ok' is selected then the script continues to run as I want but what I want cancel to do is remove the temporary cp set. I can use your message box at the end of the script which does the job (like below) but I'd be interested in knowing how to do this on the custom parameter set inspect property window because if cancel is selected at this stage then the cp set remains. from win32com.client import constants as cApplication.DeselectAll()Application.SelectObj("Scene_Root", "", "")Application.AddProp("Custom_parameter_list", "", "", "CustomPSet", "")Application.SelectObj("CustomPSet", "", "")Application.SIAddCustomParameter("CustomPSet", "Param", "siDouble", 0, "", "", "", 2053, "", 1, "", "") Application.InspectObj("CustomPSet","","CustomPSet", c.siModal) box = XSIUIToolkit.MsgBox('I did what you asked me to do', 1, 'FINISHED!' )print box if box == 1: Application.DeleteObj("CustomPSet") if box == 2: Application.DeleteObj("CustomPSet") On 17 November 2014 13:36, Simon Reeves <si...@simonreeves.com> wrote: You need a msgbox http://download.autodesk.com/global/docs/softimage2014/en_us/sdkguide/si_om/XSIUIToolkit.MsgBox.html 1 is the ok/cancel style box, if you then print the variable you will see the result of what they picked, as you can see it returns 1 if the user clicked ok, or 2 if the cancelled (or pressed x) EG: box = XSIUIToolkit.MsgBox('hello', 1, 'lalal' )print box if box == 1: print 'ok' if box == 2: print 'cancelled' for 2) if you are doing stuff with v### and file paths I recommend you use regular expression though daunting, sites like this are extremely useful http://regexr.com/ Simon ReevesLondon, UK si...@simonreeves.com www.simonreeves.comwww.analogstudio.co.uk On 17 November 2014 13:16, Jonny Grew <jonny.g...@gmail.com> wrote: Hi list. A real novice at this but I'm butchering various scripts at the moment and wondered if anyone can shed any light on these two bits of code. I can find examples of number 1 in VB but I'm working in Python. everything I've discovered at the moment doesn't work 1 - I want to run 2 portions of scripts depending on whether the inspected property of a custom parameter set has the button push 'ok' or 'cancel' - I can't find the code for this portion of the 'if' statement 2 (a lot more complex, i suspect) I want to look up and get the latest version number of a saved out model/scene/action (all of these have the format "v##'). These will live in a folder structure determined by a number of variables in the script that I have already. My script will then add 1 to this number in order to ensure the next export doesn't override an existing asset. As a bonus... if the user changes this number meaning an export would save over an existing asset then it would be great to flag a warning with an 'THIS VERSION ALREADY EXISTS ARE YOU SURE" message. Any tips or links to scripts that I can hack would be much appreciated! CheersJonny