Edit Curve 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 button. 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 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.

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

Three-Dimensional Curves


The ability to add depth, or Z coordinates, 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.

Reparametrize Edit 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.

Edit Curve U and G1


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 great way of ensuring that your Edit Curves pass smoothly through a control point.

Adding Radius to Edit 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.