# Pull Push

## <img src="/files/ltn5th49hZJWcowcH85M" alt="" data-size="line"> Pull Push <a href="#profiles" id="profiles"></a>

The PushPull command extrudes a polysurface face to interactively add or remove volumes on the polysurface.

<figure><img src="/files/YFqb32eWag4zYPnwGyiF" alt=""><figcaption></figcaption></figure>

**Steps**

1. Select a surface.
   * Curves lying on the surface can be detected for finding regions.
   * Use the Invert option to swap the selected and unselected regions.
   * Click on a region to toggle its selection state.
2. Move the mouse to decide the extruding direction and distance.
   * The preview color changes to red if the operation is going to remove a volume from the object.
   * When you enter a distance, the mouse cursor location is the positive direction.

     \*The scriptable command, -PushPull, always uses the surface normal as the positive direction.

#### Command-line options

-Invert: Swaps the selected an unselected regions. The Invert option is only available when the selected surface has curves lying on it that divide the surface into three or more regions.

-Mode: The Mode option is only available when extending is possible that is when all the surrounding surfacees are planar.

* Extrude: Extrudes the selected surface without extending or shortening the surrounding surfaces.
* Extend: Extends or shortens the surrounding surfaces when extruding the selected surface.

<div align="left"><figure><img src="/files/32frJ3cwAVmXNTU5hhwj" alt=""><figcaption></figcaption></figure></div>

-Toggle: Switches the operation mode between Extrude and Extend.

-Direction: Defines the direction by picking two points or typing two coordinates. The default direction is the normal direction of the selected surface.

For more information, please refer to the [Rhino documentation](https://docs.mcneel.com/rhino/8/help/en-us/commands/mesh.htm).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rhinoartisan.com/commands/solid/pull-push.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
