# How to use vtkStructuredGridClip to clip tkStructuredGrid data with a plane？

**URL:** https://discourse.vtk.org/t/how-to-use-vtkstructuredgridclip-to-clip-tkstructuredgrid-data-with-a-plane/11829
**Category:** Support
**Tags:** code
**Created:** [June 27, 2023, 7:58am UTC](https://discourse.vtk.org/t/how-to-use-vtkstructuredgridclip-to-clip-tkstructuredgrid-data-with-a-plane/11829 "2023-06-27T07:58:07Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![jlxy11](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jlxy11/32/7362_2.png) [@jlxy11](https://discourse.vtk.org/u/jlxy11)
#### Post date: [June 27, 2023, 7:58am UTC](https://discourse.vtk.org/t/how-to-use-vtkstructuredgridclip-to-clip-tkstructuredgrid-data-with-a-plane/11829/1 "2023-06-27T07:58:07Z")

</div>

I hope to use vtkStructuredGridClip to achieve cutting vtkStructuredGrid data with a plane, but I can’t find the sample code in vtkStructuredGridClip Class Reference, which caused me a lot of difficulties, I hope to get a solution

---

<div class="post-metadata">

### Author: ![jlxy11](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jlxy11/32/7362_2.png) [@jlxy11](https://discourse.vtk.org/u/jlxy11)
#### Post date: [June 28, 2023, 1:53am UTC](https://discourse.vtk.org/t/how-to-use-vtkstructuredgridclip-to-clip-tkstructuredgrid-data-with-a-plane/11829/2 "2023-06-28T01:53:45Z")

</div>

I try to use vtkCutter to achieve plane cutting vtkstructured grid, but the display result is dark

structuredGrid-\>SetPoints(points);  
structuredGrid-\>GetCellData()-\>SetScalars(pressureArray);  
//structuredGrid-\>GetPointData()-\>SetScalars(tempArray);

```
vtkSmartPointer<vtkPlane> plane =
    vtkSmartPointer<vtkPlane>::New();
plane->SetOrigin(50.0, 50.0, 50.0);  
plane->SetNormal(1.0, 1.0, 1.0);  

vtkSmartPointer<vtkCutter> cutter =
    vtkSmartPointer<vtkCutter>::New();
cutter->SetCutFunction(plane);
cutter->SetInputData(structuredGrid);
cutter->Update();

vtkSmartPointer<vtkDataSetMapper> mapper =
    vtkSmartPointer<vtkDataSetMapper>::New();
mapper->SetInputConnection(cutter->GetOutputPort());

vtkSmartPointer<vtkActor> actor =
    vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);

vtkSmartPointer<vtkRenderer> renderer =
    vtkSmartPointer<vtkRenderer>::New();

vtkSmartPointer<vtkRenderWindow> renderWindow =
    vtkSmartPointer<vtkRenderWindow>::New();
renderWindow->AddRenderer(renderer);

vtkSmartPointer<vtkRenderWindowInteractor> interactor =
    vtkSmartPointer<vtkRenderWindowInteractor>::New();
interactor->SetRenderWindow(renderWindow);

renderer->AddActor(actor);
renderWindow->Render();

interactor->Start();

```
