Base commands of FairCurveModeler. Application of AutoCAD.
Base commands of the Program are intended for modeling curves (flat and spatial) of high quality. Sets and the networks made of curves of high quality can be used for modeling surfaces by regular command AutoCAD _Loft.
Command V_Curve (V_Curver) creates a vcurve. Approximates vcurve by cubic NURBzS model.
Command V_Elevate elevates the degree of a cubic NURBzS curve up to 6 with smoothing of spatial curve twist.
Command V_BSpline creates bspline curve on vcurve represented by cubic NURBzSmodel.
Command V_Subdiv sudivides the specification of a curve.
Command V_Test (V_Testr, V_Testb) displays the curvature graphs.
Command V_Clothoid creates a site of clothoid.
Lisp program FrenchCurve approximates a curve set by the table of coordinates of points, tangents and curvature.
Restrictions.
Recommendations on modeling and editing of curves.
Exercises for studying base commands of the program FairCurveModeler.
Command V_Curve (V_Curver) creates a vcurve. Approximates a vcurve by cubic NURBzS model.
The command creates a vcurve on a basic polyline (on 3d polylines of AutoCAD), or on a tangent polyline (on 3d quadratic spline polyline of AutoCAD). A vcurve (a virtual curve) on convex sites of a curve belongs to a class of curves of 5th order of smoothness. A vcurve of analytical expression has no. It is approximated by a cubic NURBS curve in a format of representation of Bezier (by means of a cubic NURBzS curve).
For the specification of a tangent vector in endpoints of a curve it is possible to set by objects of a kind of a 3d line and a circle. Curvature in endpoints of a curve can be set also by objects of a kind of a 3d line and a circle. The 3d line determines zero curvature.
Command: V_Curve
Select object [3Dpolyline/3Dquadratic splinepolyline]: (select an object)
For start tangent select object [Circle / 3dpolyline (1 segm)] :(specify object or [ENTER])
After input of a object for tangent requests object for curvature.
For start curvature select object [Circle / 3dpolyline (1 segm)] :(specify object or [ENTER])
For last tangent select object [Circle / 3dpolyline (1 segm)] :(specify object or [ENTER])
After input of a object for tangent requests object for curvature.
For last curvature select object [Circle / 3dpolyline (1 segm)] :(specify object or [ENTER])
The variant of command V_Curver is fulfilled after performance of command V_Curve on already entered initial boundary parameters. Creates vcurve and displays curvature graphs. It is recommended to use for editing a curve " almost in a real mode of time ” on initial basic or a tangent polyline. After first working off V_Curver and the analysis of graphs of curvature it is possible to edit a polyline by means of handles. Command V_Curver recreates a curve and displays curvature graphs by one pressing of "blank".
Command: V_Curver
Command V_Elevate
elevates a degree of cubic NURBzS curve with smoothing torsion. It is recommended to use directly after working off of command V_Curve at modeling spatial curves with torsion.
Command: V_Elevate
Select (cubic NURBzS): ( select a NURBzS curve)
Command V_BSpline
approximates a vcurve in representation as a cubic NURBzS curve by means of bspline curve of 8th degree. Owing to a unique technique of approximation, the bspline curve inherits high quality of a vcurve. Thus improves smoothness of torsion of spatial curves and smoothness of curvature of curves with points of an excess.
It is recommended to use directly after working off of command V_Curve at modeling flat curves with inflexion and at modeling spatial curves with torsion.
Command: V_BSpline
Select vcurve (cubic NURBzS): (select cubic a NURBzS curve)
Command V_Subdiv
subdivides the specification of a curve. Increases quantity of segments of a curve twice. Increases quantity of control points. The type of a curve and degree do not change. The subdivided curve geometrically coincides with an initial curve.
If a NURBS curve with nonuniform parametrization subdivision is carried out as for a curve with uniform parametrization. Thus the warning message stands out
*** NURBS with non uniform nods
Command is recommended to be used for more detailed local editing of NURBS curve.
Command: V_Subdiv
Select spline curve: (select a curve)
Command V_Test (V_Testr, V_TestR)
tests geometrical characteristics of curves. Shows the curvature profile (curvature graph) and the locus of the centers of curvature (evolute graph) of a tested curve.
Command: V_Test
Select spline curve:
Select a curve as the SPLINE, the CIRCLE, the ELLIPSE, the SPIRAL on the drawing. Polylines are necessary for converting preliminary in the SPLINE.
Specify options to display evolute or curvature graph of a curve:
Enter an option for curvature graph [0  Radiuses / 1  Curvature] <0>: (enter a value)
Sets type of the graph: 0  the graph of the centers of curvature (evolute), 1  the graph of curvature.
Spesifies scale factor (if the option of display of the curvature graph sets):
Enter a scale with sign for curvature <0.25>: (Enter a scale factor)
Sets the maximal ordinate of curvature concerning from length of a curve. At negative value the graph of curvature is postponed from the opposite side of a curve from the curve.
Enter a number of interpolated points <100>: (enter quantity of interpolated points)
Sets quantity of points for 3d polylines which will represent the graph of curvature or the evolute of a curve on the drawing.
V_Testr  repeated testing after command V_Test. It is convenient to use after performance of command V_Test. For repeated display of object it is enough to press "blank". It is recommended to use for editing bspline curve " Almost in a real mode of time ”. After first working off V_Testr and the analysis of graphs of curvature it is possible to edit bspline curve by means of handles and to redisplay of graphs of curvature by one pressing of "blank".
V_Testb  testing with drawing of boundary tangents and adjoining circles. It is executed after command V_Test or V_Testr. Geometrical objects  circles of curvature and tangent vectors in endpoints of a curve, a regular curve in the form of 3d polylines of the interpolated points are formed.
The combined application " French curves " and universal methods of modeling of curves
We shall assume, the local site of a curve coincides with a circle. It is necessary to provide constant curvature on this site. It is difficult to expect from the designer of exact input of points without attraction of the circle. In this case application is natural " an ideal curve ”  a circle.
Other case  a site of interface of a curve with a rectilinear line or a site with an inflection. Also it is necessary to provide monotonous change of curvature. In this case to the aid of the designer ” the ideal curve ” will come  clothoid spiral (command V_Clothoid of the program FairCurveModeler).
Except for a circle and clothoid spirals the designer can use other "ideal" curves as the French curve. In this case the command FrenchCurve of approximation of curves set by the table of points, vectors of derivatives and curvature is used.
Command V_Clothoid
forms a site of clothoid spiral (Cornu's spiral). The spiral possesses unique property: curvature linearly increases from zero value. This property is used at modeling functional curves and surfaces in CAD.
Actually the spiral is determined by speed of linear change of curvature on length of a curve. It is set in procedure in length of a site of a curve from a zero point and radius of curvature in a final point of a site of a spiral. Or the fixed point through which should pass a spiral.
The Initial site of a spiral from a zero point can be allocated with various way:
 by length of a site from a zero point;
 by value of radius of curvature in a end point.
From an initial site it is possible to allocate a site with the set radius of curvature in an index point. The generated site of a spiral is approximated by a NURBzS model and can be used in the combined modeling curves.
Command: v_clothoid
Sets dynamic parameter a spiral: length l_max an initial site and radius r_min in a final point of a site.
Specify dynamic params for curve r_min<...: (enter radius in a end point)
Specify dynamic params for curve l_max<...: (enter length of a site)
Forms a site of a spiral.
Command line: Enter an option [Dynamic/Radius/Length/Point/Startr]:
Command line: Enter an option [Dynamic/Radius/Length/Point/Startr/Create]: (Enter an option)
Parameters and functions:
Dynamic  redefines dynamic parameter of a spiral;
Radius  allocates an initial site of a spiral on radius r (r> r_min);
Length  allocates an initial site of a spiral on length l (l Startr  allocates a site with the fixed radius in an index point.
Create  fixes a site of a spiral in the form of a cubic NURBzSmodel or the interpolated set of points.
Function  Create
Command line: Enter an option [toNurbzs/toPolyline/eXit]: (enter an option)
Parameters:
toNurbzs  forms a cubic NURBzS model of a site of a spiral. Sets quantity of segments of a curve.
Enter a number of segms of NURBzS: (enter value).
toPolyline  forms a 3d polyline on the interpolated points of a spiral;
AutoLisp program FrenchCurve. Approximation of the curve set by the table of parameters
Program forms a NURBzSmodel of a unique curve under the table of points and differential parameters of a curve.
The reference to procedure
(FrenchCurve xyz dxyz cvt).
Parameters of a curve are set by three lists xyz, dxyz, cvt. The list xyz contains points (x y z), the list dxyz contains vectors of tangents (dx dy dz) , the list cvt contains values of curvature cvt.
For formation of lists it is recommended to write the program on AutoLISP. The example of the program on AutoLISP formations of parameters for a unique curve "Circle" is resulted below
(defun TEST_Create_French_Curve ( / xyz dxyz cvt)
(setq xyz ( list (list 100. 0. 0.) (list 0. 100. 0.) (list 70.7107 70.7107 0.)
(list 0. 100. 0.) (list 100. 0. 0.)))
(setq dxyz ( list (list 0. 1. 0.) (list 1. 0. 0.) (list 0.707107 0.707107 0.)
(list 1. 0. 0.) (list 0. 1. 0.)))
(setq cvt ( list 0.01 0.01 0.01 0.01 0.01))
(FrenchCurve xyz dxyz cvt)
)
Restrictions
At creation of a vcurve the certain restrictions on the form of initial polylines (basic or tangent polylines) are imposed:
1) The corner between adjacent parts of a polyline should be more than 90 degrees;
2) Boundary tangents vectors should not contradict the form of a broken line. It means, that
 The projection of a vector to a part of a polyline should be positive;
 Orientation of a vector and an incidental part and orientation of adjacent parts of a polyline should be one sign;
 The vector should not coincide with a direction of the first / last part of a polyline;
 It is impossible to set a vector if in the beginning / the end of a polyline the rectilinear site is set;
3) The rectilinear site of a vcurve is set not less than 3 by the points being on one straight line. Thus points geometrically precisely should locate on a direct line.
4) should not be conterminous points;
5) The convex site should be determined not less than three parts of a polyline. That is the "sawtooth" form of a broken line is not supposed;
6) The quantity of points of a polyine should be not less than 5 points.
At infringement of these restrictions the error is fixed and the corresponding message is displayed.
Recommendations on modeling and editing of curves
At approximation of a vcurve by a bcurve of 8th degree it is necessary to consider the following.
1) Accuracy of approximation of rectilinear sites of a vcurve will be less demanded. It is a necessary payment for maintenance of stability. On rectilinear sites it is necessary to specify approximation by editing of spolygon.
2) Not any configuration of dot points of a vcurve supposes construction of a bspline curve of 8th degree without loops of spolygon. At occurrence of a loop the program keeps an admissible correct configuration of spolygon of the previous cycle of iteration. Accuracy of approximation of a vcurve will be less demanded or will come to the end with fixing an error of approximation. At unsuccessful approximation it is recommended more "expressively" and to redistribute smoothly points on a contour of a modeled curve. Expressiveness and smoothness of distribution of points on a contour of a curve means the following: 1) the quantity of points of a polyline should be minimal at the adequate representation of the form of a contour of a modelled curve, 2) lengths of segments of polylines and the areas of the triangles made of adjacent segments of a polyline, should change on a contour of a curve smoothly. In the fullfunction Program at construction of a vcurve it is possible to use option Arrange of redistribution of points on a contour of a modeled curve. The included option redistributes points on a contour of a curve with density to proportional curvature.
Exercises for studying commands of the program FairCurveModeler
For performance of exercises load the Program a command of the Menu> Service> Application...> (on the panel Loading/unloading of Applications find folder FairCurveModeler for AutoCAD with the Program, in a folder with the Program allocate a file s_init.fas, press the button To load and then the button To close) y
Exercises are made so, that for studying commands they are necessary for carrying out strictly consistentl. Exercise Nb is carried out right after exercises Na.
Exercise 1a. Creation of a vcurve on a basic polyline
Exercise 1b. Editing of a vcurve on a basic polyline
Exercise 2a. Construction of a vcurve on a tangent polyline
Exercise 2b. Editing of a vcurve on a tangent polyline
Exercise 3a. Approximation of a vcurve by a bspline curve 8th degree
Exercise 3b. Subdivision and editing of a bspline curve
Exercise 4a. Construction of an initial site of a clothoid spiral.
Exercise 4b. Construction of a smooth curve of connection of a clothoid spiral and a circle.
Exercise 5а. Construction of a site of a clothoid spiral on two radiuses.
Exercise 5b. Construction of a smooth curve of connection of two circles with monotonous change of curvature.
Exercise 6a. Creation of a spatial vcurve.
Exercise 6b. Elevation of degree of a NURBzS model of a spatial vcurve with smoothing of torsion.
Exercise 7a. Creation of a spatial vcurve.
Exercise 7b. Approximation of a spatial vcurve by a bspline curve of 8th degree.
Exercise 8. Approximation by a NURBzS model of the curves set by the table.
Exercise 1a. Creation of a vcurve on a basic polyline
Draw 3d a polyline. For this purpose allocate and copy the belowmentioned text from _3DPOLY up to;;;
_3DPOLY
99.999,0.451006,0.0
78.6365,61.7762,0.0
99.434,10.6245,0.0
38.2575,92.3924,0.0
32.4435,94.5908,0.0
86.888,49.5023,0.0
_C
_zoom _all
;;;
Fix the cursor in a command line. Press the RB of "mouse" and in the contextual menu select "to insert". The copied sequence of commands pass in a command line. AutoCAD draws closed 3d a polyline. Points of a polyline belong to a circle of radius 100
Create of a vcurve. Execute a command.
Command: V_Curve [ENTER]
Select object [3Dpolyline/3Dquadratic splinepolyline]: (select 3d a polyline)
For start tangent select object [Circle / 3dpolyline (1 segm)] : [ENTER]
For last tangent select object [Circle / 3dpolyline (1 segm)] : [ENTER]
The Program creates a vcurve in a NURBzS format.
Exercise 1b. Editing of a vcurve on a basic polyline
It is carried out right after performance of Exercise 1a.
Repeat construction of a vcurve. Execute a command
Command: V_Curver [ENTER]
The command repeats creation of a vcurve on initial data. Displays the evolute graph of a curve.
Select an initial basic polyline. By means of the handle move a point of a basic polyline.
Press "Blank".
Command repeats creation of a vcurve on the changed initial data. Displays the evolute graph of a curve.
Exercise 2a. Construction of a vcurve on a tangent of a broken line
Draw a 3d polyline. For this purpose allocate and copy the belowmentioned text from _3DPOLY up to;;;
_3DPOLY
135.824,7.78785,0.0
40.1194,108.692,0.0
83.5374,86.7258,0.0
104.098,8.22147,0.0
74.4656,84.4208,0.0
29.5589,110.511,0.0
_C
_zoom _all
;;;
Fix the cursor in a command line for input of a command. Press the personal computer of "mousy" and in the contextual menu Choose "to insert". The copied sequence of commands pass in a command line. AutoCAD draws closed a 3d polyline. Points belong to a polyline coinsided to circle of radius 100.
Set system variable SPLINETYPE = 5.
Command: splinetype [ENTER]
New value SPLINETYPE < ... >: 5 [ENTER]
Draw a quadric splinepolyline. Execute
Command: _ PEDIT [ENTER]
Select a polyline or [ ... ]: (select a drawn 3d polyline)
Enter an option [ ... ]: _Sp [ENTER]
Command draws a quadratic spline polyline.
Create a vcurve. Execute a command
Command: V_Curve [ENTER]
Select object [3Dpolyline/3Dquadratic splinepolyline]: (select a 3d polyline)
The Program creates a vcurve in a cubic NURBzS format.
Check up the curvature graph of a vcurve.
Команда:V_Test [ENTER]
Select spline curve: (select the created vcurve)
Specify Params to Dispay Evolute or Curvature graphs for other Curve
Enter an option for curvature graph [0  Radiuses / 1  Curvature] <0> :1 [ENTER]
Enter a scale with sign for curvature <0.25>: [ENTER]
Enter a number of interpolated points <100>: [ENTER]
The Program displays the curvature graph  a circle.
Exercise 2b. Editing of a vcurve on a tangent polyline
It is carried out right after performance of Exercise 2a.
Execute a command
Command:V_Curver [ENTER]
Command repeats creation of a vcurve on initial data. Displays the evolute graph of a curve.
Select an initial tangent polyline. By means of handles move a point of a tangent polyline.
Press "Blank".
Command repeats recreation of a vcurve on the changed initial data. Displays the curvature graph of a curve.
Exercise 3a. Approximation of a vcurve by bspline curve of 8th degree
Draw a 3d polyline.
Repeat exercise 1a.
The Program creates a vcurve in a cubic NURBzS format.
Execute a command:
Command: V_BSpline [ENTER]
Select vcurve (cubic NURBzS): (select a vcurve in a cubic NURBzS format)
The Program creates a bspline curve of 8th degree (a NURBS curve of 8th degree on a uniform grid with weight factors equal 1).
Exercise 3b. Subdivision and editing a bspline curve
It is carried out right after performance of Exercise 3a.
Execute a command:
Command:V_Subdiv [ENTER]
Select spline curve: (select a subdivided NURBS curve)
Execute a command:
Command: V_Test [ENTER]
Select spline curve: (select created a bspline curve)
Specify params to dispay evolute or curvature graphs of Curve.
Enter an option for curvature graph [0  Radiuses / 1  Curvature] <0 :1 [ENTER]
Enter a scale with sign for curvature <0.25>: [ENTER]
Enter a number of interpolated points <100>: [ENTER]
The Program displays the graphs of curvature
Execute a command
Command: V_Testr [ENTER]
Command repeats creation of the curvature graph.
Select a bspline curve. By means of handles move vertexes points of spoligon to segment of initial polyline.
After each moving press "Blank".
Command repeats displaying of the curvature graph of edited bspline curve. The site of spline curve, coinciding with a segment, will be as a result constructed. The curve keeps the order of a continuity of initial spline curve.
Exercise 4a. Construction of an initial site of a spiral
Set a window 50,50 300,300. Execute
Command: _zoom 50,50 300,300
Construct an initial site of a spiral. Execute
Command: v_clothoid
Set dynamic parameter of a clothoid spiral: length l_max = 500 initial sites and radius r_min = 50 in a final point of a site.
Specify dynamic params for curve r_min<...: 50
Specify dynamic params for curve l_max<...: 500
the Program draws the phantom of a spiral with a length 500 and radius in a final point 50.
Set parameters for construction of a model of a site of a spiral.
Set radius of curvature in final point Radius = 60
Command line: Enter an option [Dynamic/Radius/Length/Point/Startr]: R [ENTER]
Specify end radius on clothoid curve:60 [ENTER]
The Program draws a site of a spiral.
Construct a model of a site of a spiral in format NURBzS of a curve
Enter an option [Dynamic/Radius/Length/Point/Startr/Create]:c [ENTER]
Enter an option [toNurbzs/toPolyline/eXit]:n [ENTER]
Enter a number of segms of NURBzS:10 [ENTER]
the Program draws a NURBzS model of an initial site of clothoid spiral.
Investigatep the curvature graph of a site of a spiral.
Команда:V_Test [ENTER]
Select spline curve: (specify the constructed curve)
Specify options to display evolute or curvature graph of a curve
Enter an option for curvature graph [0  Radiuses / 1  Curvature] <0 :0 [ENTER]
Enter a number of interpolated points <100>: [ENTER]
The Program displays the graph of the centers of curvature
Create boundary objects and a smooth curve
Команда:V_Testb [ENTER]
the Program draws a smooth curve in the form of 3м polylines of interpolated points, Tangents pieces and circles of curvature in boundary points.
Exercise 4b. Construction of a smooth curve of interface of a spiral and a circle
It is carried out right after performance of Exercise 4a.
the Contour of a curve made of sites of a spiral and arches of circles, has continuous curvature, but the graph of curvature is linear. For many Application smoother graph of curvature is required. In the given exercise the technique of construction of a smooth curve of interface спиралии shows to a circle.
Draw a 3d polyline with bindings the "point" "nearest". The first 6 points specified from a pattern of a spiral, 3 last points specified from a circle.
Construct a vcurve on 3м polylines with boundary parameters of a kind of a tangent and curvature. Execute a command{team}
Команда:V_Curve [ENTER]
Select object [3Dpolyline/3Dquadratic splinepolyline]: (choose drawn a 3d polyline)
For start tangent select object [Circle / 3dpolyline (1 segm)] : (Specify a piece in an index point of a spiral) [ENTER]
For start curvature select object [Circle / 3dpolyline (1 segm)] : (Specify a piece in an index point of a spiral) [ENTER]
For last tangent select object [Circle / 3dpolyline (1 segm)] : (Specify a circle in a final point of a pattern of a spiral) [ENTER]
For last tangent select object [Circle / 3dpolyline (1 segm)] : (Specify a circle in a final point of a pattern of a spiral) [ENTER]
the Program will construct a vcurve in a NURBzS format.
Check up the graph of curvature of a site of a spiral.
Команда:V_Test [ENTER]
Select spline curve: (specify the constructed curve)
Specify options to display evolute or curvature graph of a curve
Enter an option for curvature graph [0  Radiuses / 1  Curvature] <0 :0 [ENTER]
Enter a number of interpolated points <100>: [ENTER]
the Program displays the graph of curvature.
Allocate a circle in a final point of a pattern of a spiral. Be convinced, that the radius of curvature of the constructed vcurve coincides with the center of a circle.
Exercise 5a. Construction of a site of a clothoid on two radiuses
Set a window 50,50 300,300. Execute
Command: _zoom50,50 300,300
Construct a site клотоиды. Execute
Command: v_clothoid
Set dynamic parameter of a clothoid: length l_max = 500 initial sites and radius r_min = 50 in a final point of a site.
Specify dynamic params for curve r_min<...: 50
Specify dynamic params for curve l_max<...: 500
The Program draws the phantom of clothoid spiral with a length 500 and radius in a final point 50.
Set parameters for construction of a model of a site клотоиды.
Set radius of curvature in a final point of site Radius = 60
Command line: Enter an option [Dynamic/Radius/Length/Point/Startr]: R [ENTER]
Specify end radius on clothoid curve:60 [ENTER]
The Program draws a site клотоиды.
Set radius of curvature in an index point of site Radius = 300
Command line: Enter an option [Dynamic/Radius/Length/Point/Startr]: S [ENTER]
Specify end radius on clothoid curve:300 [ENTER]
The Program draws a site клотоиды.
Construct a pattern of a site клотоиды in format NURBzS of a curve
Enter an option [Dynamic/Radius/Length/Point/Startr/Create]:c [ENTER]
Enter an option [toNurbzs/toPolyline/eXit]:n [ENTER]
Enter a number of segms of NURBzS:10 [ENTER]
The Program draws a NURBzS model of a site клотоиды.
Check up the graph of curvature of a site клотоиды.
Command:V_Test [ENTER]
Select spline curve: (select constructed a bspline curve)
Specify Params to Dispay Evolute or Curvature graph of curve
Enter an option for curvature graph [0  Radiuses / 1  Curvature] <0 :1 [ENTER]
Enter a scale with sign for curvature <0.25>: [ENTER]
Enter a number of interpolated points <100>: [ENTER]
The Program displays the graphs of curvature
Create boundary objects and a interpolated curve
Command:V_Testb [ENTER]
The Program draws a interpolated curve in the form of 3м polylines of interpolated points, tangents lines and circles of curvature in boundary points.
Exercise 5b. Construction of a smooth curve of interface of two circles with monotonous change of curvature
It is carried out right after performance of Exercise 5a.
Draw 3d polyline with bindings "endpoint", "nearest". The first 3 points specified from a first circle, 6 points, since an index point and finishing{stopping} a final point, specified from a pattern клотоиды, 3 last points specified from the second circle.
Construct a vcurve on 3м polylines with boundary parameters of a kind of a tangent and curvature. Execute a command
Command:V_Curve [ENTER]
Select object [3Dpolyline/3Dquadratic splinepolyline]: (choose drawn a 3d polyline)
For start tangent select object [Circle / 3dpolyline (1 segm)] : (Specify a circle in an index point клотоиды) [ENTER]
For start curvature select object [Circle / 3dpolyline (1 segm)] : (Specify a circle in an index point клотоиды) [ENTER]
For last tangent select object [Circle / 3dpolyline (1 segm)] : (Specify a circle in a final point of a pattern клотоиды) [ENTER]
For last tangent select object [Circle / 3dpolyline (1 segm)] : (Specify a circle in a final point of a pattern клотоиды) [ENTER]
The Program will construct a vcurve in a NURBzS format.
Check up the graph of curvature of a site клотоиды.
Command:V_Test [ENTER]
Select spline curve: (specify the constructed curve)
Specify options to display evolute or curvature graph of a curve
Enter an option for curvature graph [0  Radiuses / 1  Curvature] <0 :0 [ENTER]
Enter a number of interpolated points <100>: [ENTER]
The Program displays the graphs of curvature. Allocate circles in boundary points of a pattern клотоиды. Be convinced, that radiuses of curvature of the constructed vcurve coincide with the centers of circles.
Exercise 6a. Creation of a spatial vcurve
Allocate and copy a belowmentioned fragment of the text, since _3DPOLY, and finishing ;;;
_3DPoly
0.0,0.0,0.0
30.0,20.0,10.0
30.0,50.0,20.0
0.0,70.0,30.0
30.0,50.0,40.0
30.0,20.0,50.0
0.0,0.0,60.0
_VPoint 1,1,1
_Zoom _All
;;;
Fix the cursor in command line AutoCAD and insert copied fragment (press RB of "mouse", select from the contextual menu "To insert").
AutoCAD draws spatial a 3d polyline.
Construct a spatial vcurve. Execute a command
Command:V_Curve [ENTER]
Select object [3Dpolyline/3Dquadratic splinepolyline]: (choose drawn a 3d polyline)
For start tangent select object [Circle / 3dpolyline (1 segm)] : [ENTER]
For last tangent select object [Circle / 3dpolyline (1 segm)] : [ENTER]
The Program will construct a vcurve in a NURBzS format.
Check up the graph of curvature of a curve.
Command:V_Test [ENTER]
Select spline curve: (select the constructed vcurve)
Specify options to display evolute or curvature graph of a curve
Enter an option for curvature graph [0  Radiuses / 1  Curvature] <0 :1 [ENTER]
Enter a scale with sign for curvature <0.25>: [ENTER]
Enter a number of interpolated points <100>: [ENTER]
The Program displays the graphs of curvature.
Because of discontinuity of torsion the graph represents a spatial not smooth curve.
Exercise 6b. Elevation of degree of a cubic NURBzS model of a spatial vcurve with smoothing of torsion
It is carried out right after performance of Exercise 6a.
Elevate a degree of a cubic NURBzS curve. Execute
Command:V_Elevate [ENTER]
Select vcurve (cubic NURBzS): (specify a vcurve)
The Program will lift degree NURBzS of a pattern of a vcurve up to 6th degree with correction Brange for smoothing torsion of a curve.
Check up the graph of curvature of a curve.
Command:V_Test [ENTER]
Select spline curve: (select the constructed vcurve)
Specify options to display evolute or curvature graph of a curve
Enter an option for curvature graph [0  Radiuses / 1  Curvature] <0 :1 [ENTER]
Enter a scale with sign for curvature <0.25>: [ENTER]
Enter a number of interpolated points <100>: [ENTER]
The Program displays the graphs of curvature.
The graph represents a spatial continuous line.
Exercise 7a. Creation of a spatial vcurve
Repeat Exercise 6a.
Exercise 7b. Approximation of a spatial vcurve by a bspline curve 8th degree
It is carried out right after performance of Exercise 7a.
Construct a bspline curve on a vcurve. Execute
Command:V_Bspline [ENTER]
Select vcurve (cubic NURBzS): (specify a vcurve)
The Program will construct spatial a bspline curve of 8th degree with smooth torsion
Check up the graph of curvature of a curve.
Command:V_Test [ENTER]
Select spline curve: (specify constructed a bspline curve)
Specify options to display evolute or curvature graph of a curve
Enter an option for curvature graph [0  Radiuses / 1  Curvature] <0 :1 [ENTER]
Enter a scale with sign for curvature <0.25>: [ENTER]
Enter a number of interpolated points <100>: [ENTER]
The Program displays the graphs of curvature in the form of a smooth spatial line.
Exercise 8. Approximation of curves set with table by a NURBzS model
Construct a NURBzS model of a circle by means of procedure FrenchCurve. Debugging Procedure AutoLISP (defun TEST_Create_French_Curve.....) prepares data for construction a NURBzS model under the table of points (the list xyz), vectors of tangents (the list dxyz), curvature (the list cvt).
Allocate a belowmentioned fragment of the text from (defun.. Up to;;;
(defun TEST_Create_French_Curve (/xyz dxyz cvt)
(setq xyz (list (list100.0.0.) (list 0.100.0.) (list 70.7107 70.7107 0.)
(list 0.100.0.) (list100.0.0.)))
(setq dxyz (list (list 0.1.0.) (list 1.0.0.) (list 0.7071070.707107 0.)
(list1.0.0.) (list 0.1.0.)))
(setq cvt (list 0.01 0.01 0.01 0.01 0.01))
(FrenchCurve xyz dxyz cvt)
) (TEST_Create_French_Curve)
_zoom _all
;;;
Bring the cursor to command line AutoCAD and insert the copied text into a command line. AutoCAD executes procedure AutoLISP TEST_Create_French_Curve. Constructs a NURBzS model of a circle.
Analyse the text of procedure. Try to change reasonably values of points, tangents of vectors and curvature and construct another a NURBzS model.
