# How to calculate the surface area generated from vtkCutter?

**URL:** https://discourse.vtk.org/t/how-to-calculate-the-surface-area-generated-from-vtkcutter/5662
**Category:** Support
**Created:** [April 29, 2021, 9:54am UTC](https://discourse.vtk.org/t/how-to-calculate-the-surface-area-generated-from-vtkcutter/5662 "2021-04-29T09:54:13Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![x2778768](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/x/dec6dc/32.png) [@x2778768](https://discourse.vtk.org/u/x2778768)
#### Post date: [April 29, 2021, 9:54am UTC](https://discourse.vtk.org/t/how-to-calculate-the-surface-area-generated-from-vtkcutter/5662/1 "2021-04-29T09:54:13Z")

</div>

Hi,  
I’m using vtkCutter to cut my 3d model(vtkPolydata). Through this I get a cutter surface. Now I want to calculate the area of the surface. Here is a part of my code:

```
        vtkSmartPointer<vtkCutter> Cutter = vtkSmartPointer<vtkCutter>::New();
        Cutter->SetInputData(m_PD);
        CutterPlane->SetOrigin(Origin[0], Origin[1], Origin[2]);
		CutterPlane->SetNormal(Nx, Ny, Nz);

		Cutter->SetCutFunction(CutterPlane.Get());
		Cutter->GenerateCutScalarsOff(); 
		Cutter->Update();
		
		vtkPolyData* cutpd = vtkPolyData::New();
		cutpd->DeepCopy(Cutter->GetOutput());
		vtkSmartPointer<vtkTriangleFilter> triangles = vtkSmartPointer<vtkTriangleFilter>::New();
		triangles->SetInputData(cutpd);
		triangles->Update();

		auto nums = triangles->GetOutput()->GetNumberOfPoints();
		vtkSmartPointer<vtkMassProperties> massProp = vtkSmartPointer<vtkMassProperties>::New();
		massProp->SetInputData(triangles->GetOutput());
		double area = massProp->GetSurfaceArea();

```

The program reports an error in the last code sentence：

> vtkMassProperties (000001D12CD995E0): Input data type must be VTK\_TRIANGLE not 3
