> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ntop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Conic Section Sweep by Tangent

## About this Block

**What it does:** The **Conic Section Sweep by Tangent** block creates an implicit body by sweeping a conic section along a spine curve between two rail curves (Rail 1 and Rail 2). Unlike the standard conic sweep, this block allows you to control the surface shape using tangent vector fields at each rail, in addition to a spatially varying Rho field.
![Conic](https://storage.googleapis.com/files-learn/static/ExtendedBlockDocs/conic.png)
**Common uses:**

* Designing aerodynamic profiles for wings, fuselages, and other vehicle bodies.
* Modeling smooth transitions in components like ducts, inlets, and nozzles to manage fluid flow.
* Creating architectural features like arches and curved facades.
* Use this block when you need precise control over the surface tangency to match adjacent geometry or strictly define the "take-off" angle of the surface from the rails.

**Tips:**

* This block offers more advanced control than the standard **Conic Section Sweep** block by allowing you to define the angle at which the surface leaves the rails using Vector Fields.
* It is recommended to avoid steep angles between the rail curves and the spine to avoid unexpected shelling and offset results downstream. A threshold of 45-60 degrees is a good rule of thumb.
  ![Steep Angle](https://storage.googleapis.com/files-learn/static/ExtendedBlockDocs/sweep_angle.png)
* We recommend using the **Boolean Intersect** block to create closed surfaces from the output of this sweep.
* You can change the Rho value via a Ramp block to vary the conic shape spatially along the sweep.

<div>
  <figure class="wysiwyg-table">
    <table class="wysiwyg-table-resized">
      <colgroup>
        <col style="width: 21%;" />

        <col style="width: 34%;" />

        <col style="width: 45%;" />
      </colgroup>

      <tbody>
        <tr>
          <td>
            <span><strong>Rho Value</strong></span>
          </td>

          <td>
            <span><strong>Resulting Curve Type</strong></span>
          </td>

          <td>
            <span><strong>Example</strong></span>
          </td>
        </tr>

        <tr>
          <td>
            <span>Rho\<0.5</span>
          </td>

          <td>
            <span>Ellipse</span>
          </td>

          <td>
            <span>
              <span>
                <img src="https://storage.googleapis.com/files-learn/static/ExtendedBlockDocs/ellipse.png" width="265" height="177" />
              </span>
            </span>
          </td>
        </tr>

        <tr>
          <td>
            <span>Rho=0.5</span>
          </td>

          <td>
            <span>Parabola</span>
          </td>

          <td>
            <span>
              <span>
                <img src="https://storage.googleapis.com/files-learn/static/ExtendedBlockDocs/parabola.png" width="265" height="177" />
              </span>
            </span>
          </td>
        </tr>

        <tr>
          <td>
            <span>Rho>0.5</span>
          </td>

          <td>
            <span>Hyperbola</span>
          </td>

          <td>
            <span>
              <span>
                <img src="https://storage.googleapis.com/files-learn/static/ExtendedBlockDocs/hyperbola.png" width="265" height="157" />
              </span>
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </figure>
</div>

* If you encounter errors while using this block, please check the following conditions:
* Closed Rail Curves: Rail 1 and Rail 2 cannot be closed curves. If you receive an error regarding closed rails, please replace them with open curves.
* Curve Intersections: An error regarding "improperly configured inputs" often indicates that the geometry is self-intersecting relative to the axis. Please ensure that rays projected from the axis along the specified direction intersect the curve only once.

## Example File

Download Example: [Lofting by Section Sweep](https://storage.googleapis.com/files-learn/static/ExtendedBlockDocs/lofting_section_sweep.ntop)

***

Creates an implicit body by sweeping a conic section along a spine curve between two rail curves, where the conic shape is controlled by spatially-varying Rho fields and tangent vector fields. The Rho parameter defines the conic shape factor at each point along the sweep (0.5 for parabolic, \<0.5 for elliptical, >0.5 for hyperbolic sections), allowing smooth transitions between different conic types.

### Inputs

| Name      | Type                                                               | Description                                                                                                                                                                                                         |
| --------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Rail 1    | [Curve](../../../../block-documentation/types/curve)               | The first boundary curve that guides and constrains one side of the swept conic section as it travels along the spine.                                                                                              |
| Rail 2    | [Curve](../../../../block-documentation/types/curve)               | The second boundary curve that guides and constrains the opposite side of the swept conic section as it travels along the spine.                                                                                    |
| Spine     | [Line](../../../../block-documentation/types/line)                 | A line that defines the sweep path and orientation for the conic section as it moves between the two rail curves.                                                                                                   |
| Tangent 1 | [Vector Field](../../../../block-documentation/types/vector-field) | A vector field that specifies the direction of the Conic tangent handle at rail 1 for each point along the spine.                                                                                                   |
| Tangent 2 | [Vector Field](../../../../block-documentation/types/vector-field) | A vector field that specifies the direction of the Conic tangent handle at rail 2 for each point along the spine.                                                                                                   |
| Rho       | [Scalar Field](../../../../block-documentation/types/scalar-field) | A scalar field (0 to 1) that controls the conic shape factor at each point, where 0.5 produces a parabola, values less than 0.5 create elliptical sections, and values greater than 0.5 create hyperbolic sections. |

### Outputs

| Type                                                                 |
| -------------------------------------------------------------------- |
| [Implicit Body](../../../../block-documentation/types/implicit-body) |
