Operating system: Windows-10-10.0.17134 64 Bits
Graphics card: GeForce GTX 980 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 430.64
Broken: version: 2.80 (sub 67), branch: master, commit date: 2019-05-16 13:21, hash: rBbd0f26e2de7b
Worked: 2.7 and other 2.80 versions untill new dependency update
Short description of error
evaluated object , to_mesh() not return mesh which armature modifier applied when original object have shape keys
Exact steps for others to reproduce the error
1 load attached blend file. then go to Script work space. (if not)
2 select "cylinder" which deformed by armature modifier and no shape key.
3 Run registered test.py script. ( it generate new obj named as cylinder_clean .)
(or download attached test.py and load test.py in script editor, then Run script )
4 confirm generated new object is armatrue modifier applied, and same shape of "cylinder"
(so to_mesh work as expected for evaluated object)
5 to keep view clean, hide the cylinder_clean, and cylinder objects.
6 select "cylinder_keys" which deformed by armature modifier , but basis shape key are added. (copied object of "cylinder", just add basis shape key so they are identical objects)
7 run script. it generate new obj named as cylinder_key_clean
8 the new generated obj are not applied armature modifier. (as if it remove modifier not applied)
" to_mesh()" could generate mesh which modifier and current shape key values applied with option.
(mesh = obj.to_mesh(bpy.context.depsgraph, True)
and it was important function to get same mesh as view. but at current there seems no alternative way to achieve same thing. (shape key + modifier apply)