Modeling curves and surfaces of class F (of high quality of fairing)


FaiCurveModeler app (ZWCAD, BricsCAD, AutoCAD) for geometric modeling of products with functional curves and surfaces. The application is implemented based on the innovative FaiCurveModeler section of the C3D geometric kernel. The application implements all the functionality of the C3D©FairCurveModeler section. And in this sense, he is a full-fledged representative of it. The FaiCurveModeler application is designed for geometric modeling of products with functional curves and surfaces. The geometric parameters of functional surfaces are decisive for the functional characteristics of the designed object as a whole. The use of C3D©FairCurveModeler methods allows you to obtain curves of the highest quality (class F): high order of smoothness (up to 9th order), with a minimum number of curvature extrema, with a smooth change in curvature with limited variation and with a limitation on the rate of change, with a smooth torsion of spatial curve.

First of all, applications of FairCurveModeler is offered for users of specialized CAD-systems which program developers declare their ability to model curves and surfaces of high quality. These users really need the features of modeling curves and surfaces of high quality. And such functionality, but provides a better quality of curves and surfaces, they will find in the application FairCurveModeler (see curves comparison FairCurveModeler vs NX and 'Alias ​​Design Studio') and (see comparison of surfaces FairCurveModeler vs NX, Rhinoceros 3D and Alias ​​Design Studio)

The second group of users who need web-application FairCurveModeler, - are users who manage in the design of the standard mechanical engineering CAD-systems, but who wish to improve consumer properties of a designed product with geometric shapes of high quality in terms of functionality and aesthetics (see the examples of analyzis and of improving primitive _Helix in ZWCAD).

The third group - users of graphics packages (for example, Corel Draw) and animation programs (for example, 3D MAX Studio) - designers, artists, web-designers, gamers, animators, who need to draw a just beautiful curve, beautiful surfaces using friendly and intuitive, precise types of geometric descriptors (see the examples of modeling and editing curves in the application)

The geometry of various products is formed by functional curves and surfaces:
1) the profile of an airplane wing / the profile of a turbine blade creates lift. When modeling an airfoil curve, it is necessary to maximize lift while minimizing drag. The proposed modeling techniques based on the Abbott method, but using class F curves, can significantly improve the aerodynamic characteristics of standard TsAGI, NACA profiles and profiles of turbine and compressor blades. Comparative testing of the original airfoils and the improved airfoils in the FlowVision system shows a significant increase in aerodynamic efficiency of the improved airfoils.

2) the road route must provide a comfortable, safe ride on the vehicle, therefore it is necessary to achieve maximum smoothness of the route under given restrictions. The unique functions of C3D FairCurveModeler for constructing curves on a tangent polyline allow you to design a road route defined by a polyline of theodolite traverses with high quality smoothness and minimizing the length of the route and its potential energy


3) the cam profile determines the movement of the pusher with the valve to ensure the necessary gas distribution law, therefore, when designing it, it is recommended to achieve shock-free smooth movement of the valve. The proposed modeling techniques in the application allow you to achieve 9th order smoothness! integral curve with exact arcs of circles of the upper and lower “stand”.


The transition section between the sections of the stand in the form of a NURBzS curve of the 8th degree. Provides 7th order of smoothness

4) among the functional curves, a subclass of engineering analytical curves can be distinguished, which provide the design characteristics of the object in the only optimal way. Such curves, for example, include the Archimedes spiral, used to construct the profile of the teeth of a gear, as well as the brachistochrone, the steepest descent curve for transporting objects. A catenary line, used to model the surface of a dome or suspended structure, and a clothoid, used to design superelevation sections with a linear change in centrifugal force starting from zero, are also examples of engineering analysis curves. The proposed approximation techniques in the application make it possible to approximate analytical curves isogeometrically (while preserving the shape and basic properties).

An 8th degree B-spline curve approximates the points of the _Helix AutoCAD primitive. Ideal curvature plot and evolute of a B-spline curve (shown in red). The evolute of the standard _Helix AutoCAD primitive is shown in blue color.

5) in industrial design/engineering problems, the construction of curves with monotonic curvature is often required. In addition to commands for approximating fixed analytical curves in the application allows you to use three additional commands for constructing aesthetic curves:

- the initial section of the clothoid with specifying the length and final curvature;

- Maclaurin Sectrix - a section of a curve with monotonic curvature, defined by an osculating triangle;

- site of a B-spline curve with monotonic curvature by generating the vertices of an open S-polygon with a given link elongation factor and a fixed angle between links.

Section of a 4th degree B-spline curve with monotonic curvature (elongation factor 2, angle 90 degrees).

Replacing a parabola-shaped guide curve in the standard plow design with a clothoid section with the same macroparameters allowed us to obtain an amazing result: the quality of plowing increased and the energy intensity of processing decreased.

6) in reverse engineering, the problem of approximating a curve defined by an array of “noisy” points arises. Precise interpolation results in a curve with oscillation of curvature. The FairCurveModeler commands for constructing smoothing curves solve this problem.


Before and after smoothing.

7) the application implements commands for constructing B-spline surfaces. A frame-kinematic method for representing a B-spline surface of arbitrary format has been developed. The construction of a frame-kinematic B-spline surface is divided into 2 stages:

The first stage is the construction of generating B-spline curves of class F.


The second stage is the construction of directing B-spline curves of class F on the columns of the network of S-polygons of forming curves.



The S-polygon frame of the B-spline guide curves forms the S-frame of the B-spline surface.

8) using the option of constructing generators and guides of surface along a tangent allows you to construct surfaces tangent to the original polyhedron from a network of points. This can be useful when freely designing industrial design products. In this case, it is as if an array of material is given and, in order to obtain a masterpiece, in the words of Michelangelo, “everything unnecessary is removed.”

Construction of a surface on a reference network and on a tangent network.

9) the external body surface of a car, architectural curvilinear forms of a building, forms of industrial design products can be classified as functional surfaces, if aesthetics and beauty are considered as a design characteristic of a product, which determines its consumer properties. The absence of oscillation of isoparametric surface curves is extremely important. The presence of oscillating isoparametric curves leads to the effect of “curved mirrors”. The proposed modeling techniques in the application allow us to eliminate oscillating isoparametric curves on the projection.


Before and after correction.

Using FairCurveModeler – is a simple, fast and cheap way to improve the quality of a product!

General Usage Instruction

Command V_Model this is the main command of the Application. The command creates smooth curves and surfaces. The command has a complex structure of bar menu-style options. The specific set of options depends on the selected object:

1) 3D polyline - used to edit and create a smooth V-curve and approximate the created V-curve through a rational Bezier spline (NURBzS) curve or B-curve. A 3D polyline can be used as a reference polyline or tangent polyline, and can be used directly as S-polygons for a B-spline curve. A set of 3D polylines can be combined into a polygon mesh 3D Mesh to construct a B-surface.

2) Hermite GD (Hermite Geometrical Determinant) - is represented as a '3D polyline' primitive. A 3D polyline passes base points, tangent vectors, curvature vectors in the following sequence: base point > end of tangent vector > return to base point > end of curvature vector > return to base point > move to next base point > ... Thus, a 3D polyline completely provides information about the parameters of the Hermite GD of the 2nd order of fixation. You can edit the Hermite GD using standard CAD tools, preserving the GD structure. You can directly construct a NURBzS curve on the Hermite GD of the 2nd order of fixation. You can directly construct a B-curve on the Hermite GD of the 1st order of fixation. On the base polyline of the Hermite GD or on the tangent lines of the Hermite GD, you can construct V-curves with approximation using NURBzS-curves or B-curves. GD parameters at end points and inflection points can be used when constructing a V-curve. Methods for constructing a V-curve also make it possible to fix the given directions of the Hermite GD tangents. Detailed .

3) NURBzS curve (created on a 3D polyline or on Ermita GD) - this is the standard form of spline representation in Autodesk® AutoCAD®.

4) NURBS curve (created directly by on a 3D polyline or by Hermite) - this is the standard form of spline representation in AutoCAD . NURBS curve can be edited using S-polygon with quality testing using curvature and evolute graphs.

5) 3D Mesh - the polygonal network is used: - to create generating smooth V-curves on rows and approximation using B-spline curves, then to construct B-spline guide curves on the columns of 3D Mesh of S-polygons of generating B-spline curves. And on the frame of B-spline guide curves, create a B-spline surface (NURBS surface).

6) The B-curveframework is used to construct B-spline guides. It is represented by a polygonal network composed of S-polygons of B-curves. B-spline guide curves are cdeated on the columns of network of the 3D S-polygons to create a B-spline surface (NURBS surface).

7) The NURBS surfaceis created on the frame of guide B-curves in the Application. You can check the quality of the surface, create parallel surfaces. To convert NURBS Application surfaces to AutoCAD primitives, you must convert Application surfaces geometrically accurately via IGS format to NURBS AutoCAD surfaces. You can edit a B-spline surface using an s-frame with quality testing and editing the shape of an arbitrary isoparametric curve.

8) Two additional commands (V_Aesthetic, V_Hermite)are designed for modeling aesthetic and engineering curves based on analytical curves. When designing industrial design products and products with functional curves, curves with certain properties are often required: aesthetic curves with a monotonous change in curvature (clothoid and Maclaurin Sectrix), a chain line for modeling domes or hanging structures; line of steepest descent to synchronize the time of movement of particles under the influence of gravity from any point on the curve to the end point; the same clothoid with a linear change in curvature for tracing the road; etc. The Application allows the use of various analytical curves. Example.

The application does not allow you to test or edit spline polylines directly. Pre-convert spline polylines to real NURBS curves: Command:_Spline > Object > Select spline polylines.

Testing and training using scripts


Значок Команда Описание команды


Constructs high quality curves and surfaces based on smoothness criteria.


Constructs sections of the clothoid, the Maclaurin sector, the “typical curve”.


Constructs NURBS curves based on analytical curves specified by a table of coordinates of points, tangent vectors and curvature values. Pre-prepare a table of analytical curve parameters in MathCAD Laboratory work. Preparation of NURBS templates of analytical curves for CAD systems

General construction process

A unified technology for sustainable high-quality curve modeling consists of the following steps:
1. The stage of structuring the geometric determinant (GD) of a curve.
2. Stage of constructing a curve on a well-structured GO.

Stage of structuring the geometric determinant
1.1. Construction of a standard configuration of the GD of a curve.
1.2. Improving the structure of GD.

1.1. Construction of a standard configuration of the GD of a curve

KnowHow of system - creating the so-called virtual curve (V-curve) on a base polyline or tangent polyline. The V-curve has no analytical representation. But it belongs to the class of curves C5. It is the high quality of the V-curve that ensures the construction of class F curves in the FairCurveModeler application. Comparative testing shows the absolute advantage of methods for modeling curves and surfaces of class F in FairCurveModeler applications over methods for modeling curves and surfaces of class A in NX, AliasDesign, etc. (see modeling comparison curves and surfaces).

The good quality of any product is ensured by the good quality of the raw materials. This is a universal approach in production. Raw materials must meet certain standards. This is also true when modeling high quality curves. To ensure stability of construction and guarantee the quality of the curve, the initial geometric data must meet a certain standard. This standard is described in the appendix by certain restrictions on the shape of the original polyline. These restrictions are simple, reasonable and obvious. They are based both on the general approach of geometers to modeling high-quality curves, regardless of the specifics of the methods, and on the need to ensure the stability of the V-curve construction algorithms in FairCurveModeler.

The restrictions are as follows:
1) angle between links > 90 degrees; 2) the ratio of adjacent segments Lmin/Lmax is greater than 1.0 / 20.0.; 3) three or more points on a straight line define a straight section of the curve; 4) absence of sawtooth sections; 5) deflection arrow (the ratio of the distance of the current point to a segment of adjacent points to the length of this segment) is greater than 0.01.

Restriction on the configuration of a polyline with inflection areas for a favorable distribution of curvature: the inflection area is formed either by a fixed inflection point (the inflection point must lie exactly on a segment of adjacent vertices of the broken line, dividing the broken line into sections of different shapes) or an expressive transition form (adjacent discrete curvatures of the opposite sign must have comparable values Kmin/Kmax greater than 1.0 / 4.0.).

For the GD type as tangent polyline there is an additional restriction: the polyline along the middles of the links of the polyline must also be of a regular shape.

Restrictions for spatial polyline:
1) A flat development of a polyline (a polyline laid on a plane while maintaining the lengths of the links and angles between the links) must be of a regular shape; 2) The angles between the planes defined by adjacent triangles at the vertices of the polyline must be less than 45 degrees.

Limitations when smoothing:
1) A polyline at even points and a polyline at odd points are regular polylines.
2) The shape of the polyline must uniquely determine the shape of the curve.
3) There should be no consecutive matching points.
For the GD type as tangent polyline there is an additional restriction: the polyline along the middles of the links of the polyline must also be of a regular shape.

If this standard is observed, we will call a polyline as a polyline of regular shape (or simply a regular polyline).

1.2. Improving the structure of GD

The standard structure of the GD of a curve can be improved. The improvement improves the quality of the curve and, as a result, improves the quality of the product geometry.
Improvement tools:
- smoothing the GD of a curve;
- harmonization of the GO of a curve;
- generation of vertices of a typical polyline;
- reparameterization of the curve with the construction of GO;
- transition to the universal Hermite GD and improving the quality of the curve by managing Hermite GD elements and various construction options.

When editing a GD with improvement tools, the quality of the curve built on the edited GD is checked.
Curve quality analysis parameters:
- order of smoothness;
- smoothness of curvature;
- number of extrema of curvature;
- variations of curvature;
- rate of change of curvature;
- potential energy of the curve.

The stage of structuring the GO according to the standard and improving the GD with harmonization, smoothing, and fine editing of the Ermite GD is the most important stage in the process.

The harmonize option is especially useful when approximating a V-curve with a B-curve. The effectiveness of this option can be easily checked on a polyline with a circle without harmonization and with harmonization. This uses B-spline curves on a UNIFORM GRID. Without tricks for selecting a vector of nodes in accordance with the lengths of the polyline links, as is common in other CAD systems. A uniform knot vector is important for matching the B-curve framework when constructing a B-surface.

2. Stage - constructing a curve on a well-structured GD
V-curve approximation options:
- construction of a V-curve and approximation using a rational Bezier spline curve (NURBzS curve);
- construction of a V-curve and approximation using a B-curve of high even degree 6/8/10.


Unzip to C:/ with the option "to current folder"

Two folders should appear:

Run c:/FairCurveModeler/Exec/WebFairCurveExe.exe as administrator.
Confirm your registration in the registry.

Launch ZWCAD / BricsCAD / AutoCAD.
Load ZWCAD / BricsCAD / AutoCAD applications from the folder

Create a new drawing.
Use the scripts in the Scripts folder to
1) checking the functionality of the application;
2) for training.

Calling help information in the CAD system:

Calling references from folders
Start executing commands yourself.

Deleting an application
Run as administrator
Delete folders