I have code that works fine in SU 2025, but throws an error in SU 2026. Exact same sketchup model, same code. Has something changed?
(This is part of a script that batch exports scenes, activating various scenes with saved views & shadows before exporting an image file, then restoring at end.)
#<KeyError: Invalid key: 'DayOfYear'>
(my script):42:in `[]='
(my script)b:42:in `shadow_restore'
my code:
def self.shadow_save
model = Sketchup.active_model
# save current shadow information for restore at end
@orig_shadow_UseSunForAllShading = model.shadow_info["UseSunForAllShading"]
@orig_shadow_DisplayShadows = model.shadow_info["DisplayShadows"]
@orig_shadow_dark = model.shadow_info["Dark"]
@orig_shadow_light = model.shadow_info["Light"]
@orig_shadow_DisplayOnGroundPlane = model.shadow_info["DisplayOnGroundPlane"]
@orig_shadow_DisplayOnAllFaces = model.shadow_info["DisplayOnAllFaces"]
@orig_shadow_ShadowTime = model.shadow_info["ShadowTime"]
@orig_shadow_DayOfYear = model.shadow_info["DayOfYear"]
@orig_shadow_TZOffset = model.shadow_info["TZOffset"]
end # def
def self.shadow_restore
model = Sketchup.active_model
model.shadow_info["UseSunForAllShading"] = @orig_shadow_UseSunForAllShading
model.shadow_info["DisplayShadows"] = @orig_shadow_DisplayShadows
model.shadow_info["Dark"] = @orig_shadow_dark
model.shadow_info["Light"] = @orig_shadow_light
model.shadow_info["DisplayOnGroundPlane"] = @orig_shadow_DisplayOnGroundPlane
model.shadow_info["DisplayOnAllFaces"] = @orig_shadow_DisplayOnAllFaces
model.shadow_info["ShadowTime"] = @orig_shadow_ShadowTime
model.shadow_info["DayOfYear"] = @orig_shadow_DayOfYear
model.shadow_info["TZOffset"] = @orig_shadow_TZOffset
end # def