<div dir="ltr"><div><div><div><div><div><div><br></div>Yes I can use vtk without visualization objects.  The workaround I found to this was not even to use the boxWidget or any other vtk object, but rather go low level and:<br><br></div>clipFunc->SetBounds( bounds )<br><br></div>where <br><br></div>bounds is<br><br>double bounds[6];<br><br></div>which is just calc in code<br><br>            double z_cen = (bounds[5] - bounds[4]) / 2.0;<br>            double z_spc = (bounds[5] - bounds[4]) / 512.0;<br>            bounds[4] = z_cen;<br>            bounds[5] = z_cen + z_spc;<br><br></div>Then check of boxWidget exists (then rendering is active else non render pipeline is active)<br><div><br><br>    void clip(void){<br><br>        if (boxWidget.Get()){<br><br>            if (boxWidget->GetEnabled() != 1) return;<br><br>            boxWidget->GetPlanes(clipFunc);<br>            clipper->Update();<br>            surface->DeepCopy(clipper->GetOutput());<br>            clippedSurface->DeepCopy(clipper->GetClippedOutput());<br>            cutter->Update();<br>            cutLines->DeepCopy(cutter->GetOutput());<br>            boxWidget->Off();<br>            //boxWidget->EnabledOff();<br>        }<br>        else{<br>            <br>            //box->GetPlanes(clipFunc);<br>            clipFunc->SetBounds(bounds);<br><br><br>            clipper->Update();<br>            surface->DeepCopy(clipper->GetOutput());<br>            clippedSurface->DeepCopy(clipper->GetClippedOutput());<br>            cutter->Update();<br>            cutLines->DeepCopy(cutter->GetOutput());<br>        }<br><br><br>    }<br><br></div><div>Thanks to those that responded.<br><br></div><div><br></div></div>