User Tools

Site Tools


genxsec

Generic Cross-Section

OpenVSP allows for advanced control over cross-sections (XSecs) through the EDIT_CURVE XSec type. The XSec type is available for all Geom types where an XSec type can be specified (Fuselage, Stack, Wing, Body of Revolution, and Prop). Once a Geom has been added, navigate to the “XSec” tab. Two options are available to set an XSec to EDIT_CURVE type:

  1. Select “EDIT_CURVE” from the “Choose Type” drop-down
    1. The XSec will be initialized as a Cubic Bezier circle with right-left symmetry turned on
  2. Select the “Convert CEDIT” button
    1. The existing XSec will be converted into an EDIT_CURVE, maintaining the XSec shape
    2. A binary adaptive algorithm is used to coarsen XSecs with an unmanageable amount of control points (i.e. airfoils)

For both options, the XSec width and height will be transferred to the EDIT_CURVE XSec. The Edit Curve GUI will automatically pop up. If the screen is exited, select “Edit Curve” on the XSec tab to open it.

Edit Curve Screen

This following sections describe the Edit Curve GUI from the top down.

Curve Initialization

The first row contains a “Shape” drop-down with options for Circle, Oval, and Rectangle. Selecting the “Init” button will clear the current XSec and reinitialize it as the specified shape. As mentioned earlier any available cross section can be used to initialize an EDIT_CURVE XSec through “Convert CEDIT”.

Symmetry and Closure

Below, a drop-down is available to enforce left-right symmetry. This feature requires control points at U values of 0.25 and 0.75, each with an X coordinate of 0. If this is not the case when symmetry is turned ON, control points will be added. The right side of the XSec (X > 0) serves as the “master” so that all modifications the the left side are ignored. With symmetry ON, the adjacent “Closed Curve” toggle is force ON. This options forces the location of the first and last control points to be the same.

Scaling and Converting

Next, the “View Abs” toggle is available to show the XSec non-dimensionalized or scaled by the Width and Height sliders. When the Width and Height sliders are adjusted, the axes of the canvas in the middle of the GUI will scale in order to match the XSec shape with the 3D geometry. The next row shows the current XSec type, where Cubic Bezier, PCHIP, and linear are available. To change the XSec type, select an option from the “Convert To:” drop-down and then click the “Convert To:” button.

Canvas Features

The middle of the GUI is reserved for displaying the 2D XSec. The currently selected control point is highlighted in yellow. Points can be moved through click-and-drag operations, and the 3D geometry will wait to update until the point is released. Below the canvas, a button is available to split the curve at the location specified by the “U Split” slider. Alternatively, the curve can be split where clicked if “Split Pick” is ON. The next row contains an index selector for the currently selected point. The index selector will skip intermediate Cubic Bezier control points (not on the curve), since these cannot be deleted. If a point can be deleted, the “Del” button will be activated. Similar to “Split Pick”, the “Del Pick” toggle will delete a control point when it is clicked.

Control Point List

The last section of the GUI contains a grid of sliders that specify X, Y, and U for each control point. The label for the currently selected point is highlighted in yellow. Sliders that cannot be adjusted because of symmetry, closure, or type restrictions will be deactivated. Note, the min and max limits of the U slider for each control point are set to the U values for the previous and next control point, respectively. For Cubic Bezier types, an additional toggle is available to enforce G1 continuity for each control point on the curve. When activated, G1 continuity will set the derivative immediately before and after the control point equal, but the strengths may differ.

Notes

  • For an example of defining and modifying an XSec of EDIT_CURVE type, see “EditCurveXSec.vspscript” in the “scripts” directory of the distribution package.

Back to Landing Page

This page was created and edited by: — Justin Gravett 2019/09/26 12:00

genxsec.txt · Last modified: 2019/10/22 14:09 by jgravett