Scripting display fliters [SOLVED]
-
On 26/10/2014 at 09:48, xxxxxxxx wrote:
I'd like to setup a script so that I can associate a hotkey with showing/hiding the SDS display filter.
Not getting errors, but can't figure out how to get it actually update the viewport. Also, what's the smartest way to set this up so that it toggles on and off with the same hotkey?
import c4d from c4d import documents def main() : draw = doc.GetActiveBaseDraw() draw[c4d.DISPLAYFILTER_SDS] = True print(draw.GetDisplayFilter()) if __name__=='__main__': main()
-
On 27/10/2014 at 01:34, xxxxxxxx wrote:
Hello,
GetDisplayFilter()
[URL-REMOVED] returns a bit field. You can use the flags described in the documentation to check if a filter is set. To actually change the filters you have to use the parameter IDs defined in dbasedraw.res :# swich BASEDRAW_DISPLAYFILTER_HYPERNURBS draw = doc.GetActiveBaseDraw() drawFilter = draw.GetDisplayFilter() if drawFilter & c4d.DISPLAYFILTER_HYPERNURBS: draw[c4d.BASEDRAW_DISPLAYFILTER_HYPERNURBS] = False else: draw[c4d.BASEDRAW_DISPLAYFILTER_HYPERNURBS] = True draw.Message(c4d.MSG_CHANGE) c4d.EventAdd()
Please notice also the difference between the filters "Subdivision Surface" and "SDS Mesh".
best wishes,
Sebastain
[URL-REMOVED] @maxon: This section contained a non-resolving link which has been removed.