# Pull Curve to Points

**URL:** <https://discourse.mcneel.com/t/pull-curve-to-points/66220>\
**Category:** Grasshopper\
**Created:** [July 3, 2018, 8:23am UTC](https://discourse.mcneel.com/t/pull-curve-to-points/66220 "2018-07-03T08:23:34Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![medequ](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/medequ/32/295067_2.png) [@medequ](https://discourse.mcneel.com/u/medequ)\
**Post date:** [July 3, 2018, 8:23am UTC](https://discourse.mcneel.com/t/pull-curve-to-points/66220/1 "2018-07-03T08:23:34Z")

</div>

Hello!  
I’m not sure how to approach my problem:

 ![pic](https://global.discourse-cdn.com/mcneel/original/3X/e/2/e23a2de301cea1dce1b219c58c2e5530a1a49eae.PNG)  
As you can see, I drew a curve in Rhino (with Interpolate) that roughly does what I want: To pull certain segments of a curve up by lifting a point and leave it ‘on the ground’ with other points. I simplified my file so it gets clear what I’m trying to do (I hope). If it doesn’t work with a closed curve, that’s fine, I would split the circles into segments anyway. But whenever I try to use Interpolate and select all vertices, it gets messed up. Probably it’s just a List managing problem, but since I’m new to Grasshopper - would someone here be so kind to explain how I can proceed? Thanks in advance 🙂

EDIT: It should look like this:

 ![pic2](https://global.discourse-cdn.com/mcneel/original/3X/9/c/9cf9a0dc1d1ff324b3ef6880ae7c258bf7994f8f.PNG)

[pull curve.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/1/e/1e7ec0ad254e09d6c409c12863bf75095c4d01fd.gh) (13.0 KB)

---

<div class="post-metadata">

**Author:** ![Pietro\_Pedone](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pietro_pedone/32/281915_2.png) [@Pietro\_Pedone](https://discourse.mcneel.com/u/Pietro_Pedone)\
**Post date:** [July 3, 2018, 9:16am UTC](https://discourse.mcneel.com/t/pull-curve-to-points/66220/2 "2018-07-03T09:16:18Z")

</div>

Hi! Please see if this helps. There’s actually a bit of advance Data Tree management involved, but I may be missing a simpler way of doing it.

[pull curve\_v2.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/6/5/651dd738fca4db269d19ecbf0cdcf5faf0933c96.gh) (14.4 KB)

 ![pull%20curve_v2](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/b/3/b392ac90b38a81cdbcda867de4690295e18932f9.jpg)

---

<div class="post-metadata">

**Author:** ![medequ](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/medequ/32/295067_2.png) [@medequ](https://discourse.mcneel.com/u/medequ)\
**Post date:** [July 3, 2018, 9:33am UTC](https://discourse.mcneel.com/t/pull-curve-to-points/66220/3 "2018-07-03T09:33:58Z")

</div>

Thanks so much! I’ll try it out!

---

<div class="post-metadata">

**Author:** ![medequ](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/medequ/32/295067_2.png) [@medequ](https://discourse.mcneel.com/u/medequ)\
**Post date:** [July 3, 2018, 11:32am UTC](https://discourse.mcneel.com/t/pull-curve-to-points/66220/4 "2018-07-03T11:32:09Z")

</div>

Interpolate works fine for circles. Do you have any idea what component / approach to use if I want the basic form to be a polygon?  
Like in this file [polygon shape.gh](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/3/7/37a1cbde5ab23ee52ae255d42dc93ebbe806f8cc.gh) (9.1 KB)  
Thanks again 🙂

---

<div class="post-metadata">

**Author:** ![medequ](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/medequ/32/295067_2.png) [@medequ](https://discourse.mcneel.com/u/medequ)\
**Post date:** [July 3, 2018, 11:36am UTC](https://discourse.mcneel.com/t/pull-curve-to-points/66220/5 "2018-07-03T11:36:17Z")

</div>

Also, is there a way to offset the interpolate-curves and make a surface between the original and the offset curves? I tried using the Weave-Component and Boundary Surfaces, but it doesn’t seem to work…

---

<div class="post-metadata">

**Author:** ![Pietro\_Pedone](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pietro_pedone/32/281915_2.png) [@Pietro\_Pedone](https://discourse.mcneel.com/u/Pietro_Pedone)\
**Post date:** [July 3, 2018, 1:05pm UTC](https://discourse.mcneel.com/t/pull-curve-to-points/66220/6 "2018-07-03T13:05:52Z")

</div>

I reckon you’re going for something like this?

> **[First look at Hudson Yards’s enormous, interactive ‘public landmark’](https://ny.curbed.com/2016/9/14/12915700/hudson-yards-new-york-thomas-heatherwick-sculpture-design)**
>
> The piece, called Vessel, is designed by Thomas Heatherwick and is basically an enormous set of stairs

> [@medequ](#):
>
> Do you have any idea what component / approach to use if I want the basic form to be a polygon?

You can simply substitute the Interpolate component with the Polyline one, and you should obtain a curve comprised only of straight lines.

> [@medequ](#):
>
> Also, is there a way to offset the interpolate-curves and make a surface between the original and the offset curves?

I’d use the Loft or Ruled Surface component. It depends on how you structure your algorithm and on the type of effect you want to achieve, but you could start with trying these ones!
