Many thanks for the idea.
I had tried that, though I stripped it out of the script in the file I shared. I just added it back in, just ot be sure. The script still does not work as expected.
Here is the updated script code. Is this what you had in mind (see comments)?
import vs
def ModifyInnerSymDropShadows(BaseSym):
BaseSymName = vs.GetSDName(BaseSym)
#print("Adding shadows to inner symbols for base: " + BaseSymName);
innerSym = vs.FInGroup(BaseSym)
while (innerSym):
vs.SetDropShadowData(innerSym, 1, 15.0, 0.01 ,290.0 ,100, (0,35466,14649))
vs.EnableDropShadow(innerSym, True)
vs.ResetObject(innerSym) # Added this as per JBenghiat's suggestion
vs.ResetBBox(innerSym)
#print(" Inner object found, and shadows added")
innerSym = vs.NextObj(innerSym)
# Main code. Walks through all symbols in "BaseSymbols" folder, and calls routine
# to add drop shadows.
BaseSymList, BaseSymCount = vs.BuildResourceList(16, 0, 'BaseSymbols')
for BaseSymIndex in range(1, BaseSymCount + 1):
currSym = vs.GetResourceFromList(BaseSymList, BaseSymIndex)
ModifyInnerSymDropShadows(currSym)
vs.ResetObject(currSym) # Added this as per JBenghiat's suggestion
vs.ReDrawAll()
Again, what really gets me, is that one embeded symbol, the one that was added when the outer symbol was first created, gets the drop shadow just fine. The 'print' statements showed me that the other symbol, the one that was added when I edited the outer symbol later, does have the SetDropShadowData/EnableDropShadow operations applied to it. But the shadow just does not show up. But if I manually add a drop shadow, then rerun the script, everything works.
Again, thank you so much for posting your idea. Any other thoughts you may have are GREATLY appreciated. This issue is really stopping up some plans we have.
Andy