4.3 创建样条曲线
4.3.1 绘制样条曲线
样条曲线是由一组点定义的光滑曲线,是一种拟合曲线。在AutoCAD中,样条曲线的类型是非均匀有理B样条(NURBS)。这种类型的曲线适宜于表达具有不规则变化曲率半径的曲线,例如,船体和手机的轮廓曲线、机械图形的断面及地形外貌轮廓线等。绘制样条曲线常用的方法有如下几种。
1.指定点创建样条曲线
用指定的点创建样条曲线。
说明:学习本节前先打开文件D:\AutoCAD 2018.3\work_file\ch04.03\spline1.dwg。
方法一:创建“闭合”样条曲线。
下面以图4.3.1所示的样条曲线为例,说明绘制“闭合”样条曲线的操作过程。
Step1.选择“样条曲线”命令。选择下拉菜单命令。
说明:进入样条曲线的绘制命令还有两种方法,单击选项卡下“绘图”面板下侧的按钮,在展开的工具栏中单击“样条曲线拟合”按钮;在命令行中输入命令SPLINE后按Enter键。
Step2.指定样条曲线的拟合点。依次选取图4.3.2所示的A、B、C、D和E五个位置点。
Step3.闭合样条曲线。
在命令行的提示下输入字母C后按Enter键。
图4.3.1 绘制“闭合”样条曲线
图4.3.2 样条曲线的拟合点
方法二:设置拟合公差创建样条曲线。
设置拟合公差创建样条曲线即以现有点,根据新公差重新定义样条曲线。如果公差值为0,则样条曲线通过拟合点;如果公差值大于0,则样条曲线将在指定的公差范围内通过拟合点。用户可以重复更改拟合公差。下面以图4.3.3和图4.3.4为例来说明其操作过程。
Step1.选择“样条曲线”命令。选择下拉菜单命令。
Step2.指定样条曲线的各点。依次选择A、B、C、D和E五个位置点。
Step3.设置拟合公差值。
(1)在命令行中输入字母L后按Enter键(即选择选项)。
(2)命令行提示,此时依次输入公差值将会出现不同的情况。
情况一:拟合公差值为0。在命令行中输入值0后按Enter键,效果如图4.3.3所示。
情况二:指定公差值。在命令行中输入公差值2,结果如图4.3.4所示。
图4.3.3 拟合公差值为0
图4.3.4 拟合公差值为2
Step4.完成样条曲线的创建。按三次Enter键或按三次空格键以结束操作。
方法三:指定起点切向和端点切向绘制样条曲线。
下面以图4.3.5和图4.3.6为例,说明指定起点切向和端点切向绘制样条曲线的一般操作步骤。
图4.3.5 指定“起点切向”
图4.3.6 指定“端点切向”
Step1.选择“样条曲线”命令。选择下拉菜单命令。
Step2.指定起点相切。
(1)指定起点。选取点A作为样条曲线的起点。
(2)在的提示下输入T,按Enter键。
(3)指定样条曲线的起点切向和拟合点。依次选取样条曲线的B、C、D和E四个位置点。
Step3.定义样条曲线的端点切向。
(1)在的提示下,输入字母T并按Enter键。
(2)在的提示下,在点F处单击。至此完成操作。
2.指定对象创建样条曲线
可以将二维或三维的二次或三次样条拟合多段线转换成等价的样条曲线。样条曲线与样条拟合多段线相比,具有如下优点。
① 样条曲线占用磁盘空间较小。
② 样条曲线比样条拟合多段线更精确。
下面以图4.3.7为例,说明用指定对象的方法创建样条曲线的操作过程。
Step1.打开文件D:\AutoCAD 2018.3\work_file\ch04.03\spline2.dwg,此多段线已“拟合样条化”,如图4.3.7a所示。
Step2.选择“样条曲线”命令。选择下拉菜单命令。
Step3.将多段线转换成样条曲线。
(1)在命令行中输入字母O(即选择选项)后按Enter键。
(2)在命令行的提示下单击选择多段线;按Enter键完成绘制。
注意:将样条拟合多段线转换为样条曲线后,将丢失所有宽度信息。样条曲线对象不如拟合多段线灵活多变,用户无法拉伸或分解样条曲线,或将两个样条曲线合并。
图4.3.7 指定对象创建样条曲线
3.指定控制点创建样条曲线
指定控制点创建样条曲线是指利用控制点之间的切线方向从而控制样条曲线的形状。下面以图4.3.8为例,说明用指定控制点的方法创建样条曲线的操作过程。
图4.3.8 指定控制点创建样条曲线
Step1.打开文件D:\AutoCAD 2018.3\work_file\ch04.03\spline3.dwg,如图4.3.8a所示。
Step2.选择命令。选择下拉菜单命令。
Step3.指定样条曲线的各控制点。依次选取A、B、C、D、E、F和G七个控制点后按Enter键完成绘制。
4.3.2 编辑样条曲线
在AutoCAD中,可以用标准的修改对象的命令对样条曲线进行如复制、旋转、拉伸、缩放、打断或修剪等一般的编辑操作,但是如果要修改已存在的样条曲线的形状,则需要使用SPLINEDIT命令。执行该命令并选取了要编辑的样条曲线后,系统命令行会提示相应的信息。