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