# projecting points onto 3D polydata

**URL:** https://discourse.vtk.org/t/projecting-points-onto-3d-polydata/9970
**Category:** Support
**Created:** [November 27, 2022, 11:11pm UTC](https://discourse.vtk.org/t/projecting-points-onto-3d-polydata/9970 "2022-11-27T23:11:23Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![AndreAhmed](https://discourse.vtk.org/user_avatar/discourse.vtk.org/andreahmed/32/6061_2.png) [@AndreAhmed](https://discourse.vtk.org/u/AndreAhmed)
#### Post date: [November 27, 2022, 11:11pm UTC](https://discourse.vtk.org/t/projecting-points-onto-3d-polydata/9970/1 "2022-11-27T23:11:23Z")

</div>

I have a curve of points, and they are in 3D, I would like to project those points onto a 3D Polydata mesh. is there a filter ?

---

<div class="post-metadata">

### Author: ![marcomusy](https://discourse.vtk.org/user_avatar/discourse.vtk.org/marcomusy/32/95_2.png) [@marcomusy](https://discourse.vtk.org/u/marcomusy)
#### Post date: [November 28, 2022, 11:54am UTC](https://discourse.vtk.org/t/projecting-points-onto-3d-polydata/9970/2 "2022-11-28T11:54:05Z")

</div>

cannot think of a specific filter but you can use `vtkOBBTree.IntersectWithLine`, eg. quick test:

```python
from vedo import *
psh = ParametricShape("Boy").c("blue9")
cir = Circle(r=0.4).c("black").wireframe().rotate_x(20).z(2)
pts = []
for p in cir.points():
    pts.append(psh.intersect_with_line(p, p + [0,0,-3])[0])
show(psh, cir, Line(pts), axes=1)

```

 ![Screenshot from 2022-11-28 12-45-27](https://discourse.vtk.org/uploads/default/original/2X/4/44299181f0f0314720e4c11366a26aa84ae4b292.png)
