def Cloth_Control_ClearSyflexCache_OnClicked(): scene = XSI.ActiveProject2.ActiveScene folder = XSI.InstallationPath(constants.siProjectPath) scene = XSI.ActiveProject.ActiveScene folder = XSIUtils.BuildPath(folder,"Caches",scene) prop = PPG.Inspected(0) cloth = Cloth_Control_GetClothObjects(prop) model = cloth[0].Model # Reset to First Frame remote = XSI.Dictionary.GetObject("PlayControl") v = remote.Parameters("In").Value remote.Parameters( "Current" ).Value = prop.Parameters("FirstFrame").Value #deactivate delta storing state previousdelta = uti.DeactivateDelta(model) for c in cloth: syflex = c.ActivePrimitive.ConstructionHistory.Find( "syCloth" ) #clear all cache. XSI.LogMessage("{Cloth_Control] Delete All Syflex Cache File for " + c.FullName) syflex.Parameters("ClearCache").Value = 2 syflex.Parameters("Cache").Value = "" #reactivate delta if previousdelta>-1: uti.ReactivateDelta(model,previousdelta) '''
def Cloth_Control_SetSyflexCache_OnClicked(): scene = XSI.ActiveProject2.ActiveScene folder = XSI.InstallationPath(constants.siProjectPath) scene = XSI.ActiveProject.ActiveScene folder = XSIUtils.BuildPath(folder,"Caches",scene) prop = PPG.Inspected(0) cloth = Cloth_Control_GetClothObjects(prop) for c in cloth: syflex = c.ActivePrimitive.ConstructionHistory.Find( "syCloth" ) modelfolder = XSIUtils.BuildPath(folder,prop.Parent3DObject.FullName) XSIUtils.EnsureFolderExists(modelfolder,False) path = XSIUtils.BuildPath(modelfolder,c.Name+".") syflex.Parameters("Cache").Value = path XSI.LogMessage("--------------------------------------------------") XSI.LogMessage("[Cloth_Control] Set Syflex Cache Path done for " + c.FullName + " : ") XSI.LogMessage(path)