Marge Blast Nodes
pattern1 = []pattern2 = []pattern1orig = []stPattern = ""sel = hou.selectedNodes()[0]preBlast = sel.inputs()[0]if preBlast.type().name() == 'blast': origNode = preBlast.inputs()[0] group1 = sel.parm("group").eval() group1prims = preBlast.geometry().globPrims(group1) for i in group1prims: pattern1.append(i.number()) group2 = preBlast.parm("group").eval() group2prims = origNode.geometry().globPrims(group2) for i in group2prims: pattern2.append(i.number()) pattern1.sort(), pattern2.sort() pattern2exception = range(0,len(origNode.geometry().prims())) for i in pattern2: pattern2exception.remove(i) for i in pattern1: pattern1orig.append(pattern2exception[i]) stList = pattern2 + pattern1orig stList.sort() for i in range(0,len(stList)): if i == len(stList) - 1: stPattern += str(stList[i]) + " " else: if (stList[i-1]+1)!=stList[i] and (stList[i+1]-1)!=stList[i]: stPattern += str(stList[i]) + " " if (stList[i-1]+1)!=stList[i] and (stList[i+1]-1)==stList[i]: stPattern += str(stList[i]) + "-" if (stList[i-1]+1)==stList[i] and (stList[i+1]-1)!=stList[i]: stPattern += str(stList[i]) + " " preBlast.parm("group").set(stPattern) sel.destroy()Blast Set Reverse
sel = hou.selectedNodes()[0]pattern = []stPattern = ""if sel.type().name() == 'blast': origNode = sel.inputs()[0] group1 = sel.parm("group").eval() group1prims = origNode.geometry().globPrims(group1) pattern = range(0, len(origNode.geometry().prims())) for i in group1prims: pattern.remove(i.number()) for i in range(0,len(pattern)): if i == len(pattern) - 1: stPattern += str(pattern[i]) + " " else: if (pattern[i-1]+1)!=pattern[i] and (pattern[i+1]-1)!=pattern[i]: stPattern += str(pattern[i]) + " " if (pattern[i-1]+1)!=pattern[i] and (pattern[i+1]-1)==pattern[i]: stPattern += str(pattern[i]) + "-" if (pattern[i-1]+1)==pattern[i] and (pattern[i+1]-1)!=pattern[i]: stPattern += str(pattern[i]) + " " sel.parm("group").set(stPattern)