Suggested Searches

OpenVSP Curve Editor

These guides will demonstrate how to interact with the Curve Editor in OpenVSP including altering curves, converting sections to editable types, and even creating three-dimensional sections. Users should be aware that these features are considered advanced and should be leveraged sparingly except in such cases where fully customized cross-sections are required.

Encyclopedia
Updated Nov 20, 2025

Introduction

OpenVSP includes a manual curve editor that enables users to modify existing cross-sections or create entirely unique shapes with simple, click-and-drag operations. Any cross-section type may be converted to an Edit Curve by clicking the “Convert CEDIT” button next to the type dropdown and Show buttons. The Edit Curve type may also be selected from the dropdown to initialize a new Edit Curve at that cross-section. The curve editor is intended to make cross-section modification as user-friendly as reasonable while maintaining remarkable customization options including multiple curve types (linear, spline, Bezier), three-dimensional control, symmetry, numerous display options, corner radii, and U-spacing distribution.

Users are encouraged to test this cross-section type to become familiar with the Edit Curve features but are warned that this is an advanced capability. If your model cross-sections can be implemented with other curve types such as ellipses, rounded rectangles, etc., then we recommend using those. Edit Curve sections should be used when the parameterization of existing cross-sections (including the number of control points or corners) is insufficient to accomplish your goals.

Cross-section improvements were presented at the 2022 OpenVSP Workshop which include several features of Edit Curves.

The custom curve editor in OpenVSP provides an extraordinary level of control and variability to cross-sections. This feature may be the only method of recovering complex sections from existing designs or achieving the particular section lofting for your concept. However, this feature is quite advanced and you must fully understand the consequences of control point placement, U spacing, and continuity in order to be successful. These guides will help you get there.

Brandon Litherland
Aerospace Engineer

Display Options

The Curve Editor includes several options under the Display tab which control how the curve and background are shown in the plotter. The color, line thickness, point size, and point color are adjustable and background images may be inserted, shifted, and scaled to fit. This makes recreating highly complex cross-sections quite easy in OpenVSP. Also, under the Curve tab, there is an option to change the plot axes from the default normalized coordinates to absolute coordinates. This scales the axes by the set section height and width and may assist with visualizing the physical size of a custom cross-section.

The Curve Editor also has the ability to zoom and pan the plot area with the middle and right mouse buttons, respectively. This enables users to very finely control each point manually, if desired, and quickly visualize the entire section as needed.

Adjusting the display enables you to take a close look at the fine details of your cross-section and to adjust points and curves to make visualization easier on your eyes. Make good use of Pan and Zoom controls to inspect your curves.

Brandon Litherland
Aerospace Engineer

Inserting Background Images

A background image may be inserted in the plot area in the Curve Editor to serve as a guide for the overlaid curve and control points. Activate the “Image” button to browse for an image file and then scale or fit the background as needed. If a background image is shown from an opposite view than OpenVSP’s convention, where U_0 starts on the right side of the plot and right side of the body, then the image may be flipped across the plotter Y axis.

Once a background image has been placed such that the desired width and height scaling fits the image, the background may be locked to the curve display using the “Lock Image” button. Once locked, the background and curve plot will zoom and pan in sync, enabling the user to closely focus on fitting corners and blends without sacrificing overall visibility.

Your background image could be a photograph, section view, or drawing, among other resources. You will have the easiest time with clearly contrasted images where points and edges are clearly defined. Locking the background image to a known size makes manipulating your curves very quick and intuitive.

Brandon Litherland
Aerospace Engineer

Initializing Curve Types

New Edit Curves may be initialized from the Curve tab where users may choose among a circle, ellipse, or rectangle. In practice, these are ways to initialize the three different curve types as Cubic Bezier, PCHIP Spline, or Linear, respectively. In each case, the new curve will be of unit coordinate height and width, ranging from -0.5 to 0.5 in both the horizontal and vertical axes. Note that initializing a new curve type does NOT alter the defined Scale XSec parameters controlling the height and width but rather creates a new curve in the coordinate space.

Whether or not to initialize an Edit Curve from scratch or to convert from another type will depend on the complexity of your section. Understanding what type of curve will suit your needs before initializing will save you time and effort.

Brandon Litherland
Aerospace Engineer

Converting Body Cross-Sections to Edit Curves

Any cross-section type in OpenVSP may be converted to an Edit Curve by clicking the “Convert CEDIT” button next to Show and the type dropdown menu in the XSec tab (for bodies). Some cross-section types may be exactly recreated by the conversion process such as ellipses and rounded rectangles while other, more complex or mathematically strict, types may be approximated. Users should be aware of the limitations when converting different section types for modification. However, in most cases a close match to the desired shape may be achieved with a stock cross-section and then converted to an Edit Curve for further refinement without much effort making this capability exceptionally useful to the designer.

As with other section conversion processes, I recommend making a copy of your component before converting to CEDIT type. Converting a section is one of those steps that cannot be undone once commanded. You'll also want the original geometry to serve as a baseline for comparison, in many cases.

Brandon Litherland
Aerospace Engineer

Limiting Edit Curve Use with Airfoils

A somewhat significant exception to the conversion accuracy of sections to Edit Curves is that of airfoils. While a NACA 4-series may be very closely approximated by an Edit Curve conversion, it is not exact. More complex airfoils such as NACA 6-series or custom AF/DAT airfoils will rarely be well approximated. This should be expected given that airfoils have very specific geometric definitions that are difficult to capture with longer, piecewise curve segments. Users are strongly discouraged from attempting to design airfoils with the Curve Editor. Better success will likely be achieved by using the CST conversion for airfoils if you require custom geometric parameterization of the curve.

This is not to say that converting an airfoil to an Edit Curve cannot be useful. In some cases, for example when blending a wing to a fuselage, an edit curve will result in a custom profile that will blend well to a surface. Another example is with the slight modification or reparameterization of a Wedge or biconvex airfoil type, which are formed from either straight or parabolic segments and will be exactly captured by an Edit Curve conversion.

There are very, very few instances where Edit Curve would be used to model an airfoil rather than CST or other options. The controls specific to piecewise Bezier splines do not readily lend themselves to thickness and camber lofting inherent to airfoils.

Brandon Litherland
Aerospace Engineer

Cross-Section Scale

The Scale XSec group under the Curve tab in the Curve Editor is where users will find the scaling parameters for the cross-section such as height, width, and area. Recall that the parameterized curve defined by the control points is in one coordinate space which is then scaled along the horizontal and vertical axes by width and height, respectively, to achieve the final shape. Because the Edit Curve is an integrable function in all three curve types, the area bound by the curve may be computed. Alternatively, if the area is fixed then OpenVSP may iteratively solve for the remaining parameters. This is particularly useful for supersonic or flow-through sections.

Under normal circumstances, the range of the X and Y coordinates of the Edit Curve are from -0.5 to 0.5 or having unit distance. This ensures that the scaled height and width correspond to a representative physical dimension in the model. However, the curve is under no such constraint to prevent the range from being larger or smaller than the +/- 0.5 values. For example, a cross-section with height = 2.0, having Y coordinates from -1.0 to 1.0 (distance of 2.0), would have a measured physical height of 4.0. Again, users must take great care when setting control points in the display or in the Control Points fields to ensure that their design intent is being maintained.

Keeping track of your coordinates and scale is absolutely critical when working with these custom cross-sections. If you freehand some of your points and don't place the extremes at +/- 0.5, your height and/or width will be incorrect! Be very deliberate with your control point placement. Running Fit Model with control point location without height or width control is a recipe for errors.

Brandon Litherland
Aerospace Engineer

Adding and Removing Control Points

To add points to an Edit Curve, either set the desired U location along the curve and click “Split U” or click the “Split Pick” button and click on the desired cut point on the curve in the display. In either case, a new point will be added to the curve and any necessary interpolation will automatically take place to maintain the existing curve shape. Note that adding a control point to a Cubic Bezier type will result in new control point tangencies for the new point and adjacent points. Adding a control point to a PCHIP Spline will result in a slightly different curve due to the new enforced point.

To remove points from an Edit Curve, either select the point using the arrows to cycle the active point then click “Delete Selected” or click “Delete Pick” and click on the desired point to be removed. Similar to adding a point to a Spline, removing points will result in a relofted curve. Also, removing a point from a Cubic Bezier curve will not alter the adjacent points’ tangencies or locations. With Cubic Bezier curves, only the primary control points (not the adjacent tangency points) may be deleted.

Adding and removing control points in your curve is very simple, but I've certainly removed a point by accident and lost my spline control. In that case, I have to start over and rebuild that portion of the curve. If you're experimenting to find the best fit, make component copies and save often to give yourself a backup should things go awry.

Brandon Litherland
Aerospace Engineer

Adding Radius to Curves

OpenVSP version 3.27 saw the addition of radius to Edit Curve control points. With this feature, users can specify a dimensional radius at a control point rather than approximating a radius with Bezier points. This greatly simplifies parameterizing cross-sections in a way that is much more intuitive to a designer while reducing the total number of points.

Note that the Radius value at a control point is the dimensional radius having been scaled by height and width, not a radius in the untransformed coordinate space of XY points. For example, whether your section is one length unit wide or ten, a radius value of 0.2 will remain 0.2 length units at the corner.

Adding radii to control points removed a significant roadblock to effectively creating custom sections with parametric models that made sense. Combining dimensional radii to non-dimensional XY coordinate space can be somewhat confusing but you can alleviate this somewhat by choosing to view the section in absolute coordinates.

Brandon Litherland
Aerospace Engineer

Curve U and G1 Parameters

When working with Edit Curves, it is important to understand the implications of working with the U location parameter. When altering the U value of a control point, the physical location of the point is not changing; rather it is the alignment to adjacent cross-section U locations. For example, take two adjacent circular cross-sections, one of which is an Edit Curve. If the bottom control point of the Edit Curve is changed from U = 0.25 to U = 0.5, then the feature line passing through the bottom of the Edit Curve will now pass through the left side of the adjacent circle. All of the interpolated segments between U = 0.5 and the remaining control points will be “squished” until the curve is reparametrized by arc length. Another parameter that affects the U locations along a curve is the Spin parameter, which effectively alters the U origin point. By combining Edit Curve U locations and Spin, the user has significant control over how feature lines and interpolated segments pass between adjacent cross-sections.

Another important feature of Edit Curves is the ability to enforce G1 continuity, or slope continuity, through a Bezier control point. Activating the G1 button for a control point will enforce the adjacent tangency points to pass through at the same angle similar to setting angles equal in Skinning. However, the strengths or lengths of those tangency vectors need not be equal e.g., equal curvature is not enforced. Applying G1 continuity is a handy way of ensuring that your Edit Curves pass smoothly through a control point.

Getting a feel for the U and G1 parameters takes only a few minutes but once you have the behavior down, you'll understand how to use them well. Don't think of these as physically moving the location of the control point around the curve. Remember that you are working in parametric space. Just like having a wing with two sections very close to each other (small section span), the U length between those sections doesn't scale uniformly across the wing. The video will help you visualize what's going on.

Brandon Litherland
Aerospace Engineer

Reparameterize Curves by Arc Length

In some cases when working with Edit Curves, users may find that the defined U parameters for control points do not intuitively align with adjacent sections due to how the control points were first added or altered. In this case, the curve may be reparametrized by arc length which redistributes the U locations evenly between fixed control points. For example, with the simple pentagon shape in the tutorial the first and last control points are the only fixed locations (U = 0,1) so reparametrizing the curve would result in a new U distribution of 0.2 units each (1/5) assuming all arc lengths are equal. However, in the event that a control point should be aligned with a specific location on adjacent cross-sections, as with the left side of the pentagon at U = 0.5, the U value may be fixed by clicking the Fix U button for that control point. This prevents the reparameterization from moving that U location and will evenly distribute any free U points along the curve. Reparametrizing Edit Curves by arc length is an excellent way of distributing interpolated segments so that the model surface remains smooth.

Quickly redistributing your interpolated sections between stations makes smoothing your geometry very fast. However, be sure to lock in the U location for any stations where you need the feature lines to match adjacent cross-sections for proper lofting (left/right, top/bottom, etc.).

Brandon Litherland
Aerospace Engineer

Three-Dimensional Curves

The ability to add depth, or Z offset, to Edit Curves was added in OpenVSP version 3.27. With this parameter, users are now able to define arbitrary curves in 3D space rather than being limited to cross-section slices. This new capability provides numerous opportunities for component customization and the creation of entirely new unique geometries in OpenVSP. Users should be aware that three-dimensional curves and cross-sections are an advanced feature of OpenVSP and should be used very deliberately with production designs. In many situations, Skinning will likely accomplish the same task with more robustness to variation. Users are encouraged to test out this feature and get to know the controls and behaviors before attempting implementation into designs.

Adding the depth parameter to Edit Curve types opened the lid on all kinds of wild cross-sections and custom geometries. It can also very quickly cause odd parameter conflicts if you aren't careful. Use deliberately and with caution.

Brandon Litherland
Aerospace Engineer