# Houdini - Modeling With a Ramp

A `ramp`

takes in a sample position `0 <> 1`

(x-axis) and outputs the value sampled at that position from the y-axis.

Here, we take a Line SOP and create a line with direction `{0, 1, 0}`

. We feed it into a Revolve SOP.

Before the Revolve, we use a Wrangle to push the `@P.x`

of the points around with the `ramp`

.

```
float pos = @ptnum/float(@numpt); // For each point 0.1, 0.2, 0.3 etc
@P.x = chramp("ramp", pos);
```

Which gives us this “distorted” line.

Another example:

We start with a flattened box (the templated outline) and attach this Wrangle:

Remember, to sample a ramp, we need a moving value `0 <> 1`

which is what `relpointbbox`

returns – the point’s position within the bbox – which goes from 0 to 1. Since the length of the “leaf” runs along the z-axis, `bb.z`

will give us this “changing value” we need.