“相对于”下拉列表框用于指定基础坐标系,选定的用户正交坐标系是相对于此处设置的基础坐标系而言的。默认情况下,基础坐标系是WCS。列表中将显示当前图形中的所有已经命名的UCS。
UCS对话框的选项卡中列出了所有用户坐标系,用户可利用该选项卡设置当前的UCS、命名UCS或删除命名UCS(利用右键快捷菜单)。
选项卡用来显示和修改与视口一起保存的UCS图标设置和UCS设置。
9.2.4柱坐标和球坐标
前面向读者介绍过,用户在绘制平面图形时可用直角坐标或极坐标的方法(其中又分为相对坐标和绝对坐标)来定位点。在绘制三维图形时,用户仍可使用上述方法来定位点(即不指定Z值),但此时的Z坐标实际上采用的是用户设置的默认高度值(参见下面的内容)。
用户在绘制三维图形时除可直接使用(X,Y,Z)形式外,还可使用柱坐标和球坐标的方法来定义点。
1.柱坐标
柱坐标使用XY距离、XY平面角度和Z坐标表示,其格式如下:
XY距离或@XY距离例如:(50<;60,30)和(@45<;30,60)都是合法的柱坐标。
2.球坐标
球坐标具有点到原点的XYZ距离、XY平面角度和XY平面的夹角三个参数。其格式如下:
XYZ距离或@XYZ距离例如:(120<;80<;60)和(@100<;60<;45)都是合法的球坐标。
9.3设置对象的高度和厚度
用户可以通过给一个普通的二维对象加上厚度,创建简单的三维模型,而高度设置则确定在绘制图形时的默认Z坐标。通过拉伸2D对象生成3D对象主要有两个缺陷:一是原始对象是2D的,它位于简单的XY平面;二是拉伸方向必须垂直于XY平面,因而很多3D模型(如曲面、球等)无法生成。尽管如此,这种方法仍是创建某些简单三维图形的有效手段。
9.3.1设置当前高度
通常情况下,用户指定一点时,不必提供其Z坐标。实际上,点的坐标有X、Y和Z共三个值。如果用户不提供Z轴值时,AutoCAD系统自动指定Z坐标为默认值(默认值通常为零)。如果用户用ID、LIST和PROPERTIES命令显示坐标值时,就会发现这一点。
用户可以通过命令行执行ELEV命令,改变当前高度。由于当前的高度值被存储在系统变量ELEVATION中,因此另外一种改变高度值的方法是通过键盘输入系统变量ELEVATION的值。当前的高度值可为正值,也可以为负值。在三维模型中,用户可以通过设置不同的Z坐标使某个对象位于另一个对象之上或之下。其操作步骤如下:
(1)在命令行输入ELEV,执行ELEV命令。
(2)设置当前高度的值为40,厚度的值仍然设置为0。
(3)单击按钮,在图中绘制一个矩形。
(4)单击按钮,在图中绘制一个圆。
(5)在命令行输入ELEV,再次执行ELEV命令。
(6)设置当前高度的值为100,厚度的值依然设置为0。
(7)单击按钮,在图中绘制一个六边形。
尽管矩形和圆在同一平面上,且它们和六边形不在同一平面上,但从图中却无法看出其位置关系。因此,用户在绘制三维图形时,切不可凭感觉确定对象的位置,一旦视点被修改,就可清楚地看到其区别了。下面来调整视点,可选择→→菜单项调整视点。
一般来讲,在绘制三维图形时,用户只能通过输入坐标值或捕捉方法来定位点,而不能凭主观臆断。
9.3.2设置当前厚度
用户除能设置高度外,还可以为二维对象设置厚度。通常情况下,AutoCAD系统自动为每个对象指定一个厚度值,且该厚度值为零。用户可以通过ELEV命令或修改THICKNESS变量来设置对象的厚度。厚度值也可为正或负。若为正,则二维对象沿Z轴正方向拉伸;反之,沿Z轴反方向拉伸。当查询由拉伸构成的三维对象时,对象定义点的Z轴值总是初始二维对象的Z轴值。其操作方法如下:
(1)在命令行输入ELEV,执行ELEV命令。
(2)设置当前高度的值仍为100,厚度的值设置为30。
(3)单击按钮,在图中绘制一个圆。
通过选择→菜单项或使用“特性”窗口,也可设置或修改已有二维对象的默认厚度。
9.3.3关于共面
共面是指对象在同一XY平面上。与真正的3D对象不同,定义2D对象的点必须在同一XY平面上。一般情况下,绘制二维图形时,不要在图形有了第一点后再定义其他点的Z坐标值。但是,LINE命令除外,LINE命令在任何时候都可以接收X、Y、Z坐标值,并且正确地解释它们。
9.4在3D空间中拾取点
在3D空间中用户不能仅靠观察来定位点,否则将导致错误。为此,本节将介绍四种在3D空间拾取点的方法。
9.4.1键入Z值
由于所有点的X、Y、Z值都记录在AutoCAD系统数据库中,所以当用户通过给定X、Y坐标值来指定点时,AutoCAD系统自动用当前高度值作为Z坐标值。因此,覆盖当前高度的简单方法就是指定点的Z坐标值。
9.4.2使用对象捕捉
如果用户使用对象捕捉来拾取点,不管当前高度设置为多少,AutoCAD系统将使用选择点的X、Y、Z坐标值。任何能够在初始的2D对象中工作的对象捕捉模式都可以在拉伸得到的三维对象中工作。对象捕捉模式也能在3D对象的顶面和底面工作。例如,拉伸一个圆为一个圆柱体时,使用中心对象捕捉方式,用户能够拾取顶部圆的中心或底部圆的中心。
此外,用户可能想知道是否能在圆柱的竖直线上使用对象捕捉,但是非常遗憾,尽管竖直线如同曲面素线有助于用户更好地模拟曲面,但用户不能以任何方式选取它们。作为一个规则,不要企图从位于3D对象的平面视图中选择一个对象捕捉点。其原因在于,在很多情况下,在顶面上选择的点都相应在底面有一点,从而导致用户无法分辨选择的是顶面点还是底面点。为了避免混淆,选点时应使用两点分离的视图。
为3D对象特意设计的对象捕捉模式是APPINT(明显相交)模式。此模式使用户能够选择在当前视图中具有不同高度但彼此重叠的两个对象彼此明显相交的点,AutoCAD系统将对象的最小Z值作为交点Z坐标。例如,如果捕捉两圆的交点,一个圆高度的值为1,另一个圆高度的值为2,AutoCAD系统将分配1为交点的Z值。不过,使用此模式时需要注意,因为随着视点的变化,两个对象的明显相交部位也会发生变化。
9.4.3使用夹点
如果使用网格来编辑对象,AutoCAD系统总是使用夹点的高度,而不是使用当前高度的设置。什么样的夹点在拉伸的3D对象上呢?初始二维对象上的相同夹点位于拉伸3D对象的顶点的底面上,曲面没有夹点。
9.4.4使用过滤器
如果不用对象捕捉和夹点来选点时,AutoCAD将用当前的高度设置作为点的高度。若想不用对象捕捉和夹点就覆盖当前的高度值,必须在选点前激活XYZ点过滤器。使用XYZ点过滤器,可以从所选择的点中提取坐标值,并且利用这些坐标生成新点。这样,就可以通过已知点来查找未知点了。
9.5在3D空间中编辑对象
本节将介绍一些3D对象编辑中常用的命令,例如修改厚度和标高、对象旋转、创建陈列、对齐和镜像等命令。
9.5.1修改厚度和标高
厚度和标高是AutoCAD系统模拟网格的一种方法。使用标高和厚度的优势在于:可以快速、简便地修改新建对象和现有对象。
为了改变一个或一组对象的厚度,可以使用“特性”对话框。为了改变一组对象的高度,可用CHANGE命令,或者使用MOVE命令把对象移到新的Z轴高度。利用STRETCH命令、COPY命令也可改变对象的标高或得到与原对象标高不同的复制对象。
像其他任何网格一样,用户可对有厚度的对象进行消隐、着色和渲染等操作。修改或设置标高和厚度时要注意以下几点:
AutoCAD系统不考虑三维面、三维多段线、三维多边形网格、标注和视口对象厚度,它们也不能被拉伸。用CHANGE命令可以修改这些对象的厚度,而不影响它们的外观。
创建新文本或属性定义对象时,不管当前的设置如何,AutoCAD系统均将其厚度的值设置为0。
使用SKETCH命令生成的线段在选择“记录”选项之后将被拉伸。
切换UCS时,使用ELEV命令建立的当前标高仍然有效,并且用于定义当前UCS的图形平面。
设置新对象的标高和厚度,在除平面视图以外的任何视图中都可查看结果。
9.5.2使用ROTATE3D命令旋转对象
该命令能使对象绕3D空间定义的任何轴(X、Y或Z轴)、视图、对象或两点旋转,请参见下面的示例。其操作步骤如下:
(1)选择→→菜单项,执行ROTATE3D命令。
(2)选择圆柱作为指定的旋转对象,按【Enter】键结束对象选择。
(3)在命令行输入O进行对象选择,拾取A点(选择圆形)。
(4)输入45,表示将圆柱绕圆旋转45°。
使用ROTATE命令也可旋转三维对象。
9.5.3使用3DARRAY命令创建三维对象的阵列
该命令类似于ARRAY命令。使用3DARRAY命令,可在三维空间中创建对象的矩形阵列或环形阵列。创建矩形阵列时除了指定列数(X方向)和行数(Y方向)外,还要指定层数(Z方向),其操作步骤如下:
(1)选择→→菜单项,执行3DARRAY命令。
(2)选择图中球体以指定原始对象,按【Enter】键结束对象选择。
(3)直接按【Enter】键,表示创建矩形阵列。
(4)输入3并按【Enter】键,设置阵列行数。
(5)输入4并按【Enter】键,设置阵列列数。
(6)输入5并按【Enter】键,设置阵列层数。
(7)输入60并按【Enter】键,设置行间距的值为60。
(8)输入70并按【Enter】键,设置列间距的值为70。
(9)输入80并按【Enter】键,设置层间距的值为80。
(10)选择→菜单项。
9.5.4使用ALIGN命令在3D空间对齐曲面
在选择想要对齐的图形后,ALIGN命令行提示用户选择三对点,每对点都包括一个源点和一个目标点。其中,第一对点定义对象的移动;第二对点定义2D或3D变换和对象的旋转;第三对点定义对象的不明确的3D变换。此外,还可通过选择→→菜单来执行该命令。
9.5.5使用MIRROR3D命令对选择对象做镜像处理
该命令能以用户定义的平面作为镜像平面对选择对象做镜像处理。通过选择→→菜单来执行该命令。
9.63D曲线、曲面绘制和编辑
前面介绍了如何通过将2D对象拉伸生成3D对象。实际上,AutoCAD系统提供了生成3D对象的诸多命令,从本节开始,将陆续介绍这方面的知识。
9.6.1绘制3D直线和样条
当用户从一个高度到另一个高度间绘制直线时,既可以绘制一条与当前UCS不在同一平面内的直线,又可以为直线设置厚度。
前面介绍了如何用SPLINE命令绘制复杂的2D样条。实际上,和绘制直线一样,如果用户定义样条的点不是共面点,则可生成一条穿过3D空间的复杂曲线。
9.6.2利用3DPOLY命令绘制3D多段线
生成3D多段线的命令为3DPOLY,其对应菜单项为→。3D多段线和2D多段线的区别如下:
3D多段线顶点Z坐标不同。
3D多段线不含圆弧,只有直线段。
3D多段线无宽度,无厚度,并且线型只能为实线。
在使用PLINE命令绘制二维多段线时,尽管各线段可以设置宽度和厚度,但它们必须共面。
9.6.3利用3DMESH命令绘制三维网格
利用3DMESH命令可以生成由M×N点矩阵定义的三维网格,其对应的菜单项为→→。M和N的最小值为2,最大值为256,表明定义三维网格至少要4个点。由于网格顶点的Z坐标可变,因此可用3DMESH构造不规则曲面。
一般情况下,除非Z坐标变化缓慢,否则网格将呈锯齿形。由于三维网格是一条多段线,因此可用PEDIT命令修改锯齿形3D网格,使之光滑。
SURFTYPE值越大,生成的曲面就越光滑。实际上,所谓光滑3D网格就是用SURFTYPE确定的方程组计算得到的顶点组成的网格替代原始的3D三维网格。替代网格的密度由系统变量SURFU和SURFV控制(等效于3DMESH中的M和N),具体步骤如下:
(1)选择→→菜单项,执行3DMESH命令。
(2)输入网格在M向上的顶点数目值为4,在N向上的顶点数目值为4。