Have anyone tried to replace geometry with different geometries including shadows programmatically.
I guess you could parse your IDF, no matter how complex it is, find all "hooks" or calls to geometry (shadows, adiabatic, zones, facades, floors,roofs), get their ID, and replace current geometry with another geometry that matches the model expected "hooks".
Has someone did work on this ? if so reply and get in contact with me accordingly so we develop it further.