User Tools

Site Tools


genxsec

Generic Cross-Section

The following documentation is based off of OpenVSP 3.23.0.

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

Curve Tab

The “Shape” drop-down provides options for Circle, Oval, and Rectangle. Selecting the “Init Shape” button will clear the current XSec and reinitialize it as the specified shape. The “View Abs” toggle is available to show the XSec non-dimensionalized or scaled by the Width and Height sliders. The “R-L Symmetry” toggle 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 primary side so that all modifications the the left side are ignored. With symmetry ON, the “Closed Curve” toggle is force ON. This options forces the location of the first and last control points to be the same.

The current type of curve is displayed towards the bottom of this section. The curve can be converted to either Cubic Bezier, PCHIP, or linear type. After selecting the desired type from the dropdown, select “Convert” to perform the conversion. Be aware that the conversion may change the XSec shape and can not be undone.

The non-dimensional control points are scaled by the width and height sliders under the Scale XSec header. The “Preserve Aspect Ratio” toggle allows the width and height ratio to be fixed while a uniform scaling is applied. The “Reparameterize by Arc Length” button is a potentially very useful feature but should be used with caution since it cannot be undone. It will perform an equal arc length reparameterization of each segment of the curve. The segments of the curve are defined by the “Fixed U” toggle in the control point list. Typically control points at corners (i.e. 0.25, 0.5, and 0.75 U) will have their U value fixed when using this feature.

In the Split Curve section, the curve can be split at the U parameter value specified with the slider if there is not a control point already at the parameter value. Select “Split” to add a control point at the location corresponding to the slider value. Alternatively, select “Split Pick” and click anywhere on the curve. Control points can be selected by clicking on a point in the editor window or by using the index selector. The index selector will skip intermediate Cubic Bezier control points (not on the curve), since these cannot be deleted. The current point can be deleted by clicking the “delete” button. Alternatively, the “Split Pick” toggle can be selected to delete any point on the curve when it is clicked on.

Display Tab

The Display tab provides options for drawing the XSec and control points and for setting up a background image. The scale of the drawn curve can be adjusted and the color of the XSec can be changed. This is primarily useful when a background image is a similar color as the default XSec color. Options are available to turn on or off the border, axis, and grid in the editor window.

To add a background image, select the “Image” toggle and then select an image file by clicking the “…” button next the the File output display. The background image can be offset and scaled to align appropriately with the XSec. Once the background image is in place, the “Lock Image” toggle allows it to stay fixed relative to the XSec. This allows for zoom and pan operations to work effectively, such as when carefully aligning a small section of the XSec with the image. All settings on the Display tab are unique to each XSec. If settings are expected to be similar for each XSec of the current Geom, a button is available to copy the current settings to all other XSecs. Last, this tab includes a button to reset the zoom and pan settings to their default values.

Editor Window

The right side 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. The right mouse button can be held down to pan in the editor window. Zoom operations are performed either by holding the middle mouse button while panning or by holding the left mouse button and the “Ctrl”. This functionality is similar to the main OpenVSP window.

Control Point List

The bottom 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. The Fixed U toggle allows for the XSec to be broken into sections when performing an equal arc length reparameterization, as described earlier.

Notes and Modeling Tips

  • For an API example of defining and modifying an XSec of EDIT_CURVE type, see “EditCurveXSec.vspscript” in the “scripts” directory of the distribution package.
  • Use the width and height sliders to scale the XSec, not the control points themselves.
  • 1st model with a less complex XSec type (i.e. Rounded Rectangle), then “Convert to CEDIT”.

Back to Landing Page

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

genxsec.txt · Last modified: 2020/12/22 12:54 by jgravett