Clipping a model via scripting

Hi all,

I am trying to clipping a model via scripting:

if not clipModelsNode:
    clipModelsNode = slicer.mrmlScene.AddNewNodeByClass(
        'vtkMRMLClipModelsNode', 'ClipModels')

# Get model node to clip
modelNode = slicer.util.getNode('left_orbit_fx')

# Enable clipping on the model's display node
modelDisplayNode = modelNode.GetDisplayNode()
modelDisplayNode.SetClipping(True)

modelDisplayNode.SetSliceDisplayMode(
    modelDisplayNode.SliceDisplayIntersection)

clipModelsNode.SetRedSliceClipState(1)    # Positive side of red plane
clipModelsNode.SetYellowSliceClipState(0) # Off
clipModelsNode.SetGreenSliceClipState(0)  # Off

However, only after I manually selected the global clip model ‘ClipModels’ in the Models module UI for the model node, I could use the above script to turn on and off the clipping effect

I feel I probably missed a step to add the model node to the clipping node but I could not find how to do that. Can I have some advice on this issue?

Thanks!