Change filter of the one view



  • On 13/03/2018 at 07:25, xxxxxxxx wrote:

    Hi,

    I'm trying to change a grid filter that only the perspective view.

    I was predictable, my code doesn't work.
    The following code changes grid filter for all viewport.

        bd = doc.GetActiveBaseDraw()
        drawFilter = bd.GetDisplayFilter()
        cam = bd.GetEditorCamera()
        projection = cam.GetProjection()
        
        if projection == c4d.Pperspective:
            if drawFilter & c4d.DISPLAYFILTER_GRID:
                bd[c4d.BASEDRAW_DISPLAYFILTER_GRID] = False
            else:
                bd[c4d.BASEDRAW_DISPLAYFILTER_GRID] = True
        
        bd.Message(c4d.MSG_CHANGE)
        c4d.EventAdd()
    

    Could I change grid filter for one of a view or only perspective view?
    If it possible, where can I get this information in the SDK?



  • On 14/03/2018 at 06:04, xxxxxxxx wrote:

    Hi,

    I'm afraid you've hit a limitation. It's not possible to change the filter for only one view.
    The display filter is synchronized for all views and the API doesn't allow to circumvent this limitation.



  • On 14/03/2018 at 06:37, xxxxxxxx wrote:

    Hi Yannick,

    Thank you tell me this information👍

    Cheers,
    Makoto



  • On 14/03/2018 at 09:57, xxxxxxxx wrote:

    In fact it's possible to change the filter for a specific view via the UI with the following steps:
    Options->Configure->Filter->Right-click on a parameter->Make Parameter Local

    Unfortunately there's no way to do this with the API.

    See the Cinema 4D documentation here.



  • On 16/03/2018 at 04:43, xxxxxxxx wrote:

    Hi Yannick,

    Thanks to you I was able to make small scripts.
    Thank you!!

    Cheers🍺
    Makoto


Log in to reply