1.
Construction and editing of a curve on a base polyline incident to a conic
curve

2. Ïîñòðîåíèå è ðåäàêòèðîâàíèå
êðèâîé íà êàñàòåëüíîé ëîìàíîé, êàñàòåëüíîé
ê êîíè÷åñêîé êðèâîé

3.
Creating and editing a curve by combined using the dual GD.

4.
Editing a curve on base polyline with site of inflection

5.
Editing a curve on a tangent polyline with site of inflection.

6.
The creation (Clothoid + Arc) Spline
on polyline with inflection

7.
Creation (Clothoid + V-Curve) Spline with smooth curvature graph on the base
polyline

8.
Modeling a curve on base polyline with straight site.

8.1.
Straight site in the middle

9.
Modeling a curve on tangent polyline with straight site.

9.1.
Straight site in the middle

10.
Creation of spatial curves

For
testing
the
functionality and to demonstrate the capabilities of the plugin the
number
of
scripts
(script
files)
AutoCAD
are
prepared.
These scripts can be used for learning how to use the plugin.

**1V_Crt_Inc_Plg.scr**

The
script draws a circle, draws base polyline on circle, creates v-curve on base
polyline, approximates
the v-curve by means of NURBzS curve of 6th degree.

To
assess the quality of the curve script displays graphs of curvature and of evolute
(Fig. 1.1.).

Figure
1.1. V-a curve precisely approximates a circle.

Then
the script edits the base polyline and displays graphs of curvature and evolute
of edited curve (Figure 1.2).

*The method of construction the v-curve allows to **approximate geometrically** exactly on base polyline a conical curves. When
editing a closed v- curve remains high order of smoothness and smoothness of graph of curvature on
the entire curve, including point circuit.*

*The method lets you edit
locally convex closed curves with saving a high order of smoothness, with
smooth change of curvature at all points of the closed curve including point of
closing.*

**2V_Crt_Tng_Plg.scr**

The script draws a circle, draws tangent polyline on
circle, creates v-curve on tangent polyline, approximates
the v-curve by means of NURBzS curve of 6th degree.

To assess the quality of the curve script displays
graphs of curvature and of evolute (figure 2.1).

Figure 2.1. V-curve exactly approximates a circle.

Then the script edits the tangent polyline and
displays graphs of curvature and evolute of edited
curve (Figure 2.2).

Figure 2.2. Edited curve.

*The method of construction the v-curve allows to approximate geometrically exactly on tangent polyline a
conical curves. When editing a closed v- curve remains high order of smoothness
and smoothness of graph of curvature on the entire curve, including
point of closing.*

**3V_Crt_Inc_Tng.scr**

Script draws a rectangle. Draws base polyline within
the rectangle. Create v-curve on base polyline and displays the graphs of
curvature and evolute. Curve intersects (not tangent)
the sides of the rectangle (figure 3.1).

Figure 3.1. V-curve on base polyline.

Then script transfers to dual GD Tangents. Edits
tangents so, that these coincide with sides of rectangle. Displays the graphs
of curvature and evolute (figure 3.2).

Figure 3.2. V-curve within the rectangle.

*Creating and editing a curve
by combined using the dual GD allows you to model curve on base polyline with
restrictions as fixed tangents.*

**4V_Edt_Inc_Infl.scr**

Script demonstrates the creation and editing the curve
on base polyline with inflection

Script
draws a 3d polyline with site of inflection. Creates v-curve on 3D polyline as on a base polyline
(figure 4.1).

Figure 4.1. V-curve on base polyline with
inflection.

Edits tangent vector at point of inflection (figure 4.2).

Figure 4.2. Edited tangent vector at point of
inflection.

Repeats editing the direction of tangent at point of
inflection (figure 4.3).

Figure 4.3. Repeatly edited tangent vector at point of inflection.

Edits the 4^{th} vertice. Displays the graphs of curvature
and evolute. Displays the
graph of curvature as function F(x) (figure 4.4).

Figure 2.2. Edited curve.

Curve has smooth graph of curvature.

For comparison Draws standard
_Spline on edited points. Tests the standard _Spline (figure
4.5).

Figure 4.5. Primitive _Spline on the same base
polyline.

Standart _Spline has strong oscillation of curvature.

*In mode of editing Tangents
you can purposefully edit the shape of the inflection site by changing the
direction of the tangent and the position of the inflection point.*

**5V_Edt_Tng_Infl.scr**

Script demonstrates the creation and editing the curve
on base polyline with inflection.

Script draws a 3d polyline with site of inflection. Creates v-curve on 3D polyline as on a tangent polyline (figure
5.1).

Figure 4.1. V-curve on tangent polyline with
inflection.

Edits the point of inflection on segment (figure 4.2).

Figure 5.2. The point of inflection has moved along the segment
of inflection.

Then moves the point of inflection to another place
along the segment of inflection (figure 5.3).

Figure 5.3. Repeatly edited
point of inflection on segment.

Finally fixation of point of inflection on segment
(figure 5.4).

Figure 5.4. Finally
position of point of inflection on segment of inflection of tangent polyline.

*In mode of editing the tangent lines method allows to
edit not only the direction of tangent on site of inflection, but and position
of point of inflection too.*

**6V_Crt_Clth_Infl.scr**

Script
creates the start site of Clothoid. End point of site
is specified by fixed point (figure 6.1).

Figure
6.1. Site of clothoid with fixed
end point.

Creates
another site of clothoid wth
fixed radius of curvature = 100 in the end point of site (figure 6.2).

Figure
6.2. Second site of clothoid with fixed radius of
curvature in end point of site.

Draws
circles on radius vector-lines at end points of sites of clothoid.
Creates sites of 3D polylines on circles, creates v-curves on 3D polylines and
approximate segments of circles by NURBzS curves (figure 6.3).

Figure
6.3. Created NURBzS segments of circles.

Unites
the curve in one composed curve.
Draws curvature and evolute graphs (figure 6.4)

Figure 6.4. Compound curve, composed of sites of clothoid and of circle segments.

Displays the graph of curvature as function F(x)
(figure 6.5).

Figure 6.5. The graph of curvature as function
F(x) along the length of curve.

*Plagin**
implements the famous method of conctruction of clothoid-circle spline with approximatin
by NURBzS curve of 6 ^{th}
degree.*

**7V_Crt_Clth_VCrv.scr**

Script demonstrates the procedure of modeling the
smooth fillet between site of clothoid and v-curve.

Creates the site of clothoid
with radius of curvature = 100 in end point (figure 7.1).

Figure 7.1. Site of clothoid.

Extracts from object the boundary parameters as
primitives (figure 7.2).

Figure 7.2. The boundary parameters as
primitives.

Creates 3D polyline as smoth
extension of site of clothoid. Creates on base polyline v-curve
(figure 7.3).

Figure 7.3. Creation v-curve on 3D
polyline.

Edits the v-curve. Specifies the boundary parameters equal values of boundary
parameters at end point of clothoid (figure 7.4).

Figure 7.4. Setting the boundary parameters for
v-curve according the boundary parameters of clothoid.

Edits 2th point of base polyline with aim to obtain
the smooth passing of clothoid curvature to curvature
of v-curve (figure 7.5).

Figure 7.5. Editing the 2th vertice
of base polyline.

Unites the site of clothoid
with v-curve (figure 7.6).

Figure 7.6. Compound curve composed of site of clothoid and v-curve.

Displays the graph of curvature as function F(x),
which clealy chows the common smoothness of compound
curve (figure 7.7).

Figure 7.7. Linear graph of curvature on site
of clothoid and smooth passing to site of v-curve.

*Plagin**
allows to model sites of curve with linear change of curvature and with smooth change
of curvature on the entire curve. *

8V_Crt_Inc_Str.scr

Script
demonstrates the creation of v-curve on base polyline with straight site

Script
draws 3D polyline with straight site in the middle (figure 8.1.1).

*Important! Vertices must lie geometrically exactly on
straight line.*

Figure 8.1.1. Polyline with straight site.

Script
creates v-curve on polyline. Displays graphs of curvature (figure 8.1.2).

Figure 8.1.2. V-curve on polyline with straight
site.

Displays graph of curvature as function F(x) (figure
8.1.3).

Figure 8.1.3. Graph of curvature as function F(x).

For
comparison Draws standard
_Spline. Tests the standard _Spline. Standard _Spline
has significant oscillation of curvature on segments (figure 8.1.4).

Figure 8.1.4. Standard _Spline of AutoCAD on the
same polyline.

Displays the graph of curvature in increased view
(figure 8.1.5).

Figure 8.1.5. Increased view of graph of curvature
as function F(x).

*The method of creating the v-curve allows to model geometrically exactlythe
curves with straight sites.*

**9V_Crt_Inc_End_Str**

Script
draws 3D polyline with end straight sites (figure 8.2.1).

Figure 8.2.1. 3D polyline with end straight
sites.

The
script creates v-curve on base polyline, approximates the v-curve by means of
NURBzS curve of 6th degree.

To
assess the quality of the curve script displays graphs of curvature and of evolute (Figure 8. 2.2.).

Figure 8.2.2. V-curve on base polyline.

Displays the graph of curvature as function F(x)
(figure 8.2.3).

Figure 8.2.3. The graph of curvature as function
F(x).

For
comparison draws standard _Spline AutoCAD on
the same polyline (figure 8.2.4).

Figure 8.2.4. The standard spline _Spline AutoCAD

Displays
the graphs of curvature of standard spline. Method of creation of _Spline
AutoCAD does not realize the isogeometrical creation
and _Spline has significant pulsation of curvature (figure 8.2.5).

Figure 8.2.5. Graphs of curvature of standard spline (figure 8.2.5).

*The
method of creation **of v**-curve
allows to model robustly and geometrically exactly the curves on base polylines
with end straight sites. *

10V_Crt_Inc_Str.scr

Script demonstrates the creation of v-curve on tangent
polyline with straight site.

Script draws 3D polyline with straight site in the
middle (figure 9.1.1).

Figure 9.1.1. Polyline with straight site.

Script creates v-curve on tangent polyline. Displays
graphs of curvature (figure 9.1.2).

Figure 9.1.2. V-curve on polyline with straight
site.

Displays graph of curvature as function F(x) (figure
9.1.3).

Figure 9.1.3. Graph of curvature as function F(x).

For comparison Draws standard
_Spline. Tests the standard _Spline. Standard _Spline
has significant oscillation of curvature on segments (figure 9.1.4).

Figure 9.1.4. Standard quadric spline of AutoCAD
on the same polyline.

Displays the graph of curvature (figure 9.1.5).

Figure 9.1.5. Graph of curvature as F(x) of standard quadric spline
AutoCAD

The standard quadric spline AutoCAD has breaks of
graph of curvature in nods.

*The method of creation of v-curve
allows to model robustly and geometrically exactly the curves on tangent
polylines with straight site.*

**11V_Crt_Inc_End_Str**

Script draws 3D polyline with end straight sites
(figure 8.2.1).

Figure 9.2.1. Polyline
with straight site.

Script creates v-curve on tangent polyline. Displays graphs of curvature
(figure 9.2.2).

Figure 9.2.2. V-curve
on polyline with straight sites.

Displays graph of curvature as function F(x) (figure 9.2.3).

Figure 9.1.3. Graph
of curvature as function F(x).

After executing the command V_Curve_Fix
the all auxiliary primitives are removed, except of primitive base polyline.

Figure 9.2.4. The dual GD – base polyline (yellow
colored).

*The method of creation of v-curve allows to model
robustly and geometrically exactly the curves on tangent polylines with end
straight sites. *

Possibilities of creation the spatial curves of high quality
are demonstrated on example of improving a spatial-screwed line, created by
command _Helix.

In AutoCAD of versions before 2015 for approximation
the primitive _Helix is used cubic NURBzS curve. So after unblocking the
primitive by command _Explode you can use the NURBzS curve as sketch for
creating the v-curve.

NURBzS êðèâóþ ìîæíî èñïîëüçîâàòü êàê
ýñêèç äëÿ ïîñòðîåíèÿ v-êðèâîé.

In version 2015 is used cubic NURBS curve. It is
recommended as base polyline to use the polyline of interpolated points,
extracting it from determinant of curve by command V_Test_Brk as primitive 3D Polyline.

In procedure is used the method “golden mean”. (see Construction of a smooth curve by the method of
"golden mean").

For creation of one turn of spatial spiral-screwed
line are created three turns of primitive _Helix. Then added turns (top site
and low site) are trimmed. The “Golden mean” of curve remains.

Script creates a spatial curve _Helix with low radius
150, of height 50, with top radius 50 (figure 10.1).

Figure 10.1. Primitive _Helix with three turns.

Ðèñóíîê 10.1. Ïðèìèòèâ
_Helix ñ òðåìÿ âèòêàìè.

Script extracts the NURBS curve from the primitive,
approximated the theoretical curve and displays the graphs of curvature (figure
10.2).

Ñêðèïò
âûäåëÿåò NURBS êðèâóþ èç
ïðèìèòèâà, àïïðîêñèìèðóþùóþ òåîðåòè÷åñêóþ êðèâóþ è îòîáðàæàåò ãðàôèêè êðèâèçíû ïðèìèòèâà (ðèñóíîê 10.2).

Ðèñóíîê 10.2. Ãðàôèêè
êðèâèçíû è ýâîëþòû NURBS êðèâîé.

Scipt displays the
graph of evolute in a big scale.

Ñêðèïò
îòîáðàæàåò â áîëüøåì ìàñøòàáå ãðàôèê ýâîëþòû. Ýâîëþòà ïîêàçûâàåò âûðàæåííóþ
ïóëüñàöèþ êðèâèçíû ïðèìèòèâà (ðèñóíîê 10.3).

Figure 10.3. Evolute of primitive _Helix.

Ðèñóíîê 10.3. Ýâîëþòà ïðèìèòèâà _Helix.

Script draws 3D polyline on primitive on nods of spline.
Evidently, that nods coincide with initial analytical curve, represented by
primitive (figure 10.4).

Ñêðèïò
ñòðîèò 3D ïîëèëèíèþ íà ïðèìèòèâå ïî óçëîâûì òî÷êàì
ñïëàéíà. Î÷åâèäíî, ÷òî óçëîâûå òî÷êè ñîâïàäàþò ñ èñõîäíîé àíàëèòè÷åñêîé êðèâîé,
êîòîðóþ ïðåäñòàâëÿåò ïðèìèòèâ (ðèñóíîê 10.4).

Figure 10.4. 3D
polyline on primitive _Helix.

Ðèñóíîê10.4. 3D
ïîëèëèíèÿ íà ïðèìèòèâå _Helix.

Then on 3D polyline as on base polyline create v-curve
(figure 10.5).

Çàòåì íà 3D ïîëèëèíèè,
êàê íà îïîðíîé ëîìàíîé, âîññòàíàâëèâàåò v-êðèâóþ (ðèñóíîê 10.5)

Figure 10.5. V-curve created on base polyline.

Ðèñóíîê 10.5. V-êðèâàÿ
ñîçäàííàÿ íà îïîðíîé ëîìàíîé.

Script extracts from three turns one turn of the
middle (“golden mean”) (figure 10.6).

Ñêðèïò
âûäåëÿåò èç òðåõ âèòêîâ îäèí âèòîê èç ñåðåäèíû (“çîëîòóþ ñåðåäèíó”) (ðèñóíîê
10.6).

Figure 10.6. Site – “golden mean of curve”.

Ðèñóíîê 10.6. Ó÷àñòîê
“çîëîòàÿ ñåðåäèíà êðèâîé”.

Script displays graphs of curvature and evolute of curve (figure 10.7).

Ñêðèïò
îòîáðàæàåò ãðàôèêè êðèâèçíû è ýâîëþòû êðèâîé (ðèñóíîê 10.7)

Figure 10.7. graphs
of curvature and evolute of curve.

Ðèñóíîê 10.7. Ãðàôèêè
êðèâèçíû è ýâîëþòû êðèâîé.

Script displays the graph of evolute
in a big scale (figure 10.8).

Ñêðèïò
îòîáðàæàåò ãðàôèê ýâîëþòû â áîëüøåì ìàñøòàáå (ðèñóíîê 10.8).

Figure 10.8. Almost ideal form of evolute
of v-curve.

Ðèñóíîê
10.8. Ïî÷òè èäåàëüíàÿ ôîðìà ýâîëþòû v-êðèâîé.

Compare with graph of evolute
of cubic NURBS curve, approximating the primitive _Helix (see figure 10.3).

Ñðàâíèòå
ñ ãðàôèêîì ýâîëþòû êóáè÷åñêîé NURBS êðèâîé, àïïðîêñèìèðóþùåé ïðèìèòèâ _Helix
(ñì. ðèñóíîê 10.3).

Script displays the spatial NURBzS template of site of
_Helix, graphs of curvature and evolute in SW view
(figure 10.9).

Ñêðèïò
îòîáðàæàåò ïðîñòðàíñòâåííûé NURBzS
øàáëîí ó÷àñòêà _Helix,
ãðàôèêè êðèâèçíû è ýâîëþòû â àêñîíîìåòðè÷åñêîé ïðîåêöèè (ðèñóíîê 10.9).

Figure 10.9. Spatial curve with continius torsion.

Ðèñóíîê 10.9. Ïðîñòðàíñòâåííàÿ êðèâàÿ ñ íåïðåðûâíûì
êðó÷åíèåì.

*Example demonstrates the possibility
of approximation of spatial analytical curves with high accuracy and with high
quality.*

*Ïðèìåð
äåìîíñòðèðóåò âîçìîæíîñòü àïïðîêñèìàöèè ïðîñòðàíñòâåííûõ àíàëèòè÷åñêèõ êðèâûõ ñ
âûñîêîé òî÷íîñòüþ è ñ âûñîêèì êà÷åñòâîì.*

*Created model of spline curve
you can use as NURBzS template for modeling compound curves of
2th defree of
smoothness with smooth change of
curvature (see 7. Creation (Clothoid
+ V-Curve) Spline with smooth curvature graph on the base polyline).*

* **Ñîçäàííóþ ìîäåëü ñïëàéíîâîé êðèâîé
ìîæíî èñïîëüçîâàòü êàê NURBzS øàáëîí äëÿ ìîäåëèðîâàíèÿ ñîñòàâíûõ êîíòóðîâ ïî
ìåòîäèêå ìîäåëèðîâàíèÿ ñîñòàâíûõ êîíòóðîâ 2-ãî ïîðÿäêà ãëàäêîñòè ñ ïëàâíûì
èçìåíåíèåì êðèâèçíû (ñì. ï. 7.**
Ïîñòðîåíèå (Clothoid + V-Curve) ñïëàéíà ñ ïëàâíûì ãðàôèêîì êðèâèçíû íà îïîðíîé
ëîìàíîé).*