FairCurveModeler
Description
First of all, the app is intended for the design of products with functional surfaces. The quality of functional directly determines the quality of the product as a whole. This external surfaces of aircraft, ships, automobiles; the working surfaces of blades of pumps, compressors and turbines of aircraft engines, propellers; the working surfaces of tillage machinery; cam surface in the cam mechanism; road surface; canal surface.
The characteristic curves on which are based functional surfaces  the functional curves: directing curve of plow, profile of wing or of blade of compressor, turbine, pump; flat profile of the cam; plane trace of road, etc. The authors performed a deep theoretical research on the analysis of quality requirements for functional curves, independent of the specific conditions of work and type of product. The authors developed the concept of the use of functional curves of high quality according to certain criteria of smoothness and modeling techniques to ensure these criteria.
The concept and implementation of application FairCurveModeler  versatile and cheapest means of improving the quality of the designed product. That is, you can only by following the requirements of the concept and using this application, without design tweaks, but by improving the geometry of your previous project or wellknown project get more quality project and the product.
Moreover, the application FairCurveModeler does not require highly skilled designer. Even on a nonuniform arrangement of points FairCurveModeler creates highquality curve. Without exhausting fit of curves to the desired quality in a shorter time you design a better product.
Application uses unique method of constructing so called virtual curve (vcurve) of high quality on criteria of smoothness (5th order of smoothness with a minimum number of curvature extrema). Vcurve is constructed on base polyline or on tangent polyline. Vcurve exactly represents the conics. Vcurve has not an analytic expression and isogeometrically approximated by rational Bezier spline (NURBzS) or by rational bspline curve (NURBS) of high degrees m (m = 6 / 8 / 10). The surfaces of high quality are constructed on the frames or on the networks of curves of high quality.
General Usage Instruction
Several kinds of geometric determinant (GD) are used to specify the structure of the modeling curve:
1) The base polyline. The curve passes exactly through the vertices of the base polyline with shape preserving. Inflection points coincide with the points of inflection of base polyline. Sites of constant sign of curvature of the curve coincide with sites of constant sign of discrete curvature of base polyline. Discrete curvature of polyline at the vertex v [i] is defined as the analog of the curvature of the curve, where the first and second derivatives rd (t), r2d (t) are replaced by polyline central differences. For flat polyline the sign of discrete curvature is positive if the bypass of v [i1] v [i] v [i + 1] is executed counterclockwise.
2) The tangent polyline. The curve passes along polyline, touching links of polyline. The inflection points of the curve lie on the links of inflection of polyline . Link of inflection of a polyline divides polylone into sites with different signs of the discrete curvature. Sites of constant sign of curvature of the curve coincide with sites of constant sign of discrete curvature of a polyline.
3) GD Hermite of first order fixation (GD Hermite 1). GD is points with tangent vectors.
4) GD Hermite of second order fixation (GD Hermite 2). It is GD Hermite of first order fixation supplemented with vectorsegments of curvature radii in each point.
After installation the addin "FairCurveModeler" will create a new button in the menu of the "Model" workspace's "AddIns" panel. When the command is selected a command dialog is displayed where you are prompted to select objects and to set parameters. A command dialog consists of a list of command inputs. There are three selection inputs to select the points, tangents and radii; 6 dropdown text lists to set the modes for curve creation.
After constructing of the curve the application displays the quality macro parameters of the curve: the potential energy, the maximum and minimum values of curvature.
NOTE!
Select points and lines only of sketch.
The maximum number of vertices of the initial polyline  64;
When constructing base polyline follow strict restrictions on the form of polyline:
 the angles between adjacent segments must be greater than 90 degrees;
 сlosed polyline is defined by at least 5 points / lines;
 unсlosed polyline is defined by not less than 3 points / lines;
 locally convex parts of polyline with points / lines of inflection are defined by not less than 4 points / lines;
 the inflection point of curve is defined by the midpoint of two segmented part that divides a polyline into sites with different signs of orientation of form of polyline. This two segmented part must have a smaller angle than the adjacent two segmented parts (in particular midpoint of two segmented part can lie on a straight line);
 straight site of curve defined by 3 and more vertices strictly on the line.
When you specify a tangent polyline, a imaginary polyline that passes through the middles of links of tangent polyline must satisfy these strict restrictions.
When setting the fixed values of the curvature at the end points of the curve in mode (Approximation: [v] bspline) the values of the curvature must be be smaller (and values of the radii larger) than the values of curvatures (values of radii), which are determined in the GD Hermite 1 by default.
At approximation of vcurve by a bspline curve of degree 8 on critical sections of polyline (sections with an abrupt change of curvature, transitions to the straightness) approximation error may be greater than a predetermined (0.000001). In this case, the application displays a warning.
Command
Ribbon/Toolbar Icon  Command  Command Description 


FairCurveModeler 
Basic command of Application. Command creates fair curves. Launch the app FairCurveModeler: Panel AddIns > Scripts and AddIns > Select FairCurveModeler > Run App promts: FairCurveModeler is loaded successfully. A command is added to the AddIns panel in modeling space. Call Command: Modeling space > AddIns panel> Create fair curve. App displays the Command Dialog. 
Command Dialog
Command Inputs  Description of Inputs  Options  Description of Options 

Select Points

Selection Command Input 
Select 
Sets selection mode to select points of GD (SkethPoints). 
Select Tangents

Selection Command Input 
Select 
Sets selection mode to select lines of GD (SkethLines) as tangets. 
Select Radii

Selection Command Input. 
Select 
Sets selection mode to select lines of GD (SkethLines) as radii. 
Creation

Drop down radio list. Sets the mode of creation of the curve. 
[v] Create vcurve on base points. [ ] Create vcurve on tangents. [ ] Create vcurve on Hermite 2. 
Vcurve is constructed on the vertices of the initial polyline or on the initial points of vectorsegments of GD Hermite 1 as on base points. The mode is set by default. Vcurve is constructed on the links of the initial polyline or on the vectorsegments of GD as on tangents. Vcurve is constructed on initial points of tangent vectors as on base points with fixed directions of the tangents and with fixed curvatures in each base point. 
Fairing

Drop down radio list. Sets the mode of Fairing of the vcurve. 
[v] Smooth. [ ] Do not smooth. 
On GD vcurve is constructed of high quality. Enabled by default. The curve is defined by the local approximation. 
Approximation

Drop down radio list. Sets the mode of Approximation of the vcurve. 
[v] NURBzS. [ ] BSpline. 
NURBzS. Vcurve / GD Hermite 2 is approximated by a rational Bezier spline curve of 6th degree. Enabled by default. Vcurve / GD Hermite 2 is approximated by bspline curve of degree 8. 
Conversion

Drop down radio list. Sets the conversion mode of the original GD. 
[v] Do not Convert GD. [ ] Convert to Hermite 1. [ ] Convert to Hermite 2. 
It does not change the GD. Enabled by default. Defines GD Hermite 1 on constructed curve. Determines GD Hermite 2 on constructed curve. 
Topology

Drop down radio list. Sets the Topology of the vcurve. 
[v] Unclosed. [ ] Closed. 
Defines the unclosed curve. Defines the closed curve. 
Fixed Curvature

Drop down radio list. Sets the setting mode of curvature values at the end points. 
[v] Ignore. [ ] Fixed. 
The curvature at the end points is determined by the smooth vcurve. The curvature at the endpoints specified. If vectorsegments of curvature radii not selected at the end points, the values of the curvature will be zero. 
Paste Code

Edited Text Box 
Text of Code Activation 
Paste here text from file Code_Activation.txt 
Get Code from

Text Box 
Web service to get Code Activation. 

OK

Button. 
OK. 
Creates the curve. 
Cancel

Button. 
Cancel. 
Cancels the creation of the curve. 
Installation/Uninstallation
Install:
The installer that ran when you downloaded this app/plugin from Autodesk App Store has already installed the app/plugin.
OR, simply doubleclick the MSI to install the app.
When you first run the Application or at the completion of the license term you must Activate product. The Application displays the message: "Please Register3D to activate the product. Your UserId: XXXXXXXXXXXX". The message contains the address of webservice and user ID. Go to the webservice by clicking on the Register3D. Read the text of the license. When registering on the web service use only the value of the message UserId: XXXXXXXXXXXX.
Press [to Code of Activation] in the 'Download the Code of Activation'. On the page 'CodeActivation3D' click [Download] button. Copy the all text from the window displayed. Press OK to the message in Autodesk® Fusion 360™. In Command Dialog under the 'Paste Code' section paste the copied text of Code Activation so as to activate the product.
Uninstall:You can unload the addin without uninstalling it by clicking the "Stop" button when the addin is selected in the list box on the "AddIns" tab of the "Scripts and AddIns" dialog.
Unchecking "Run on Startup" causes the addin not to be loaded in future sessions of Autodesk® Fusion 360™.
To uninstall this plugin, exit the Autodesk product if you are currently running it, simply rerun the installer, and select the "Uninstall" button.
OR, you can uninstall it from 'Control Panel\Programs\Programs and Features' (Windows 7/8/8.1), just as you would uninstall any other application from your system.
Add Info
Scientific and program development information can be found under Author's site: http://spliner.ru
We are ready take consulting opportunities according to your requirements or technical projects to perform the development of FairCurveModeler to different CADsystems and graphics packages.
We are ready to meet your requirements or your technical projects in developing specialized applications based on FairCurveModeler in designing the objects with functional curves and surfaces.
 For the tracing and profiling roads;
 For design of cam mechanisms;
 For design work surfaces of tillage machines;
 For design of outer surfaces of ships, aircraft, automobiles, architectural objects.
Known Issues
Contact
Author/Company Information
Version History
Version Number  Version Description 

1.0.0 
First version 