微型机与应用
MICROCOMPUTER & ITS APPLICATIONS
1999年 第18卷 第1期 Vol.18 No.1 1999



AUTOCAD中用多种轴测方法绘制零部件拆装图
罗云飞　曾昭茂
　　摘　要：分析了轴测图的投影原理、实际绘法以及在实际中用轴测图绘制零部件拆装图的方法。在AUTOCAD中仿照其二维绘图功能中绘制正等轴测图的功能模式，编写了一段LISP程序，为方便绘制其它形式的轴测图，提供了一个实用工具。
　　关键词：轴测图　计算机绘图　AUTOCAD绘图软件
　　在机械设备制造业中，除了需在设计、生产中产生零部件工作图(可用二维或三维方法产生)外，还有一类图是厂家要在销售产品前准备好的，这就是产品说明书资料中的零部件图册(PARTS CATALOG)，其中最主要的部分就是设备结构中的零部件拆装解剖图。它是一种以三维形式画出的反映各零部件形状和位置关系的图形，为用户了解机器内部结构提供了最直观的资料。这种图可以是从三维实体的轴测投影得来，也可以从二维视图按照轴测投影的画法得到。由于建立三维模型需要高档的软、硬件支持且使用成本高，因此如果不是为了解决某些设计、分析和计算方面的问题，就不必动用高档系统来为此服务。目前在微机上使用的优秀的三维软件为数不多，更谈不上普及，加上零部件复杂结构与计算机处理速度及存储容量总是一个现实的矛盾，1张磁盘往往装不下一个稍为复杂的三维实体模型数据。因此用后一种方法来产生零部件结构拆装图便是一种优先、实用的选择。实际上，二种方法最终产生的效果是一样的。对掌握制图技术的专业人员来说，绘制轴测图并不是一件十分困难的事情，从经济和效率上讲轴测绘图相对先实体建模后投影的方法有明显的优势。
1　轴测图的绘制原理
　　轴测投影是指把物体连同其空间位置和形状、大小的直角坐标系OXYZ一起投影到投影面上去。投影时按投影光线相对于轴测投影面是垂直或倾斜确定为正轴测或斜轴测。从投影特性来看，不论是正或斜轴测，都具有平行投影的一切投影特性(见图1)。


图1　轴测投影
　　下面分析轴测投影的一些关系［2］。
　　空间实物的直角坐标轴有OX、OY、OZ 3个方向，而在投影平面上则变成了沿轴测轴OX1、OY1、OZ1方向了。由于二轴从O1点出发在1个平面上，它们不再相互垂直，而是有一定大小的夹角，所以沿空间轴到轴测轴上的长度也有变化。假定：
　　　
u、v、w称为轴向变形系数。在各种轴测图方法中，依3个轴向变形系数的异同分为等测(u=v=w)、二测(u＝w≠v)、三测(u≠v≠w)。正测中有u2+v2+w2＝2。那么正等测的u＝v＝w＝0.82，正二测的u∶v∶w＝1∶0.5∶1，有u＝w＝0.94，v＝0.47。斜测中不满足上面等式。常见的斜二测中，国家标准推荐值为u＝w＝1，v＝0.5。
　　依据变形系数的大小，可以确定3种常见轴测投影的轴间角。它可以确定各轴测轴在投影面的位置，一般来说轴间角应为钝角(但≠180°)才能使轴测的立体感加强。
　　假设φ1、φ2、φ3分别为轴间夹角：
　　
　　
　　
　　将3种轴测方法的u、v、w值代入可得：
　　正等测　φ1＝φ2＝φ3＝120°
　　正二测　φ1＝φ3＝131°25′，φ2＝97°10′
　　斜二测　φ1＝φ3＝135°，φ2＝90°
　　实际上为了方便绘图，避免繁琐的换算工作，一般取简化变形系数，如正等测使u＝v＝w＝1而扩大为1/0.82＝1.22倍；正二测扩大为1/0.94＝1.06倍使u＝w＝1，v＝0.5；斜二测不变。这样称简化变形系数的轴测投影图为轴测图(见图2)。

正等测　　　正二测　　　斜二测 


图2　轴测图
2　3种轴测图画法和效果的比较
　　1.从立体感效果方面比较
　　正测，它的立体效果较好，与人们观察零件时的视线和投影方向一致，并和轴测投影面垂直，符合人们的视觉习惯。正等测由于Z轴与轴测投影P的倾角较大(成35°)，故它常给人一种前倾的感觉，视觉上的后大前小现象比较严重。而正二测则给人重心稳定、形态自然的感觉，较正等测图的立体感强。
　　斜二测，由于投影光线与人们的观察视线方向不一致，所以它的图形不符合人们的视觉，故立体感不好(上部给人以歪扭的感觉)。但这种图的显示特点是正面形状反映实形，故绘制正面形状复杂的零件有独到的优点(见图3)。


图3　斜二测
2.从做图方面考虑
　　正等测投影后，实物上的圆形轮廓会不同程度地变成椭圆形状。但由于各轴向的测量系数不变，且绘制时可充分利用30°三角板作图而较为方便。
　　当零件在1个坐标面及其平行面上有较多的圆、圆弧或其它曲线形，而在别的位置平面上图形较简单时，采用正面斜二测做图较容易。因为平行轴测投影面的任何图形在轴测图上不改变形状和大小，所以可根据图沿这2个轴向直接度量，而在另一个方向只要缩短一半。这样的做法容易掌握，在绘制时，可利用45°三角板直接绘制。
　　正二测由于2个轴向角不等；且有2个轴向简化系数不同，而且各投影面椭圆的绘制方法繁琐，故较前二种困难。
　　综合衡量一下，首先推选用正等测，不论从效果还是绘法方面都比较合适，大部分人现在仍选用此种轴测画法。其次是正二测，从效果来说最佳，绘法方面虽然较困难，但现在由于计算机绘图的普及，这也不存在问题。最后，斜二测也是可选的1种轴测画法，主要原因是正面投影无变形而且极方便。但是对于多个零部件在1张图中按装配位置排列的话，就很难做到摆准每一个零件的位置使它们处于最佳绘制状态。而视图效果差的问题会显得更为突出，所以这种方法多用于单个零件的绘制。
3　正二测和斜二测绘法辅助工具的实现
　　在AUTOCAD中，提供了1种绘制轴测图的工具，那就是对正等测图的绘制，它使得在任意3个平面及其平行平面上绘制圆形非常方便。而点、直线、平面在各种轴测图上的位置都需经过简化变形系数处理后直接找点成型即可，关键就是处理圆在2种二测绘法中变成椭圆过程的控制。为了便于人们使用这2种轴测方法进行绘图，作者利用AUTOCAD中提供的AUTOLISP语言工具，根据正二测和斜二测的投影原理，将不同平面上的圆变成轴测面上的椭圆，并在图面上方便地绘出。就象AUTOCAD软件中提供的正等测圆的画法模式一样，这样就可以方便地绘出另2种轴测图形来了。
　　在这段LISP程序运行中，首先选择正二测或斜二测轴测投影法，进而要求选择哪一面投影。作为在空间直角坐标系的正六面体来说，有3对平行平面，即左(LEFT)、顶(TOP)、右(RIGHT)面。然后要确定椭圆的中心点，这之后如果移动鼠标的话，就可以观察到1个具有橡皮筋拖拉效果的椭圆，它随着鼠标的位置变化而沿中心点改变其大小。操作者可根据估测来确定其大小，还可以给定1个半径值确定大小。为编程方便，在确定椭圆曲线上的点坐标时，先采用椭圆的极坐标方程式ρ＝计算出中心点到任意转角θ位置的轮廓点的距离后再转化为直角坐标下的坐标值。
　　AUTOLISP程序如下：
(defun drawell(p1 p2 tht ta t b /pp1 pp2 )；画椭圆橡皮筋拖拉效
；果子过程
(setq conv (/pi 180))
(setq al 0 st t 1o 0.0)
(setq dis1 (*(-(car p1)(car p2))(-(car p1)(car p2))))
(setq dis2(*(-(cadr p1)(cadr p2))(-(cadr p1)(cadr p2))))
(set1 dis (sqrt (+dis1 dis2)))
(setq dis (sqrt (+dis1 dis2)))
(setq a (*a dis ) b(*b dis ))
(while st
　(setq c1 (cos (*a1 conv)))
　(setq s1 (sin (*a1 conv)))
　(setq 1o1(*(* a a) (* b b)))
　(setq 1o2(+(*(* b b) (* c1 c1))(*(* a a) (*s1 s1)))
　(if (and (/=0.0 1o1) (/=0.0 1o2))
　 (setq 1o (sqrt (/ 1o1 1o2)))
　)
　(setq c1 (cos (*(+a1 theta) conv)))
　(setq s1 (sin (*(+a1 theta) conv)))
　(setq x (+(car p1) (*1o c1)))
　(setq y (+(cadr p1) (* 1o s1)))
　(setq pp2 (list x y))
　(if (= 0 a1)
　 (setq pp1 pp2)
　)
　(grdraw pp1 pp2 -1)
　(setq pp1 pp2)
　(setq a1 (+ a1 5))
　(if (=365 a1)
　(setq st nil))
　)
)(defun c∶ell(/bp sp loop spl source pt);主程序
(setq conv (/pi 180))
(initget 1 “Right Oblique")
(prompt “＼n 正二测 Right diametrical system or 斜二测 Oblique diametrical system ?")
(setq j (getkword “＼n［Right＼＼Oblique］"))
(if (= j “Right")
(progn
　(initget 1 “Left Top Right")
　(prompt “＼n Select which face to projected ?")
　(setq kt (getkword “＼n［左Left＼＼顶Top＼＼右Right］"))
　(if (=kt “Left")
　 (setq theta 96.9 a 1.06 b 0.35)
　)
　(if (=kt “Top")
　 (setq theta 0 a 1.06 b 0.35)
　)
　(if (=kt“Right")
　 (setq theta 51.51 a 1.06 b 0.94)
　)
)
)
(if (=j “Oblique")
(progn
　(initget 1 “Left Top Right")
　(prompt “＼nSelect which face to projecte ?")
　(setq kt (getkword“［左Left＼＼顶Top＼＼右Right］"))
　(if (= kt “Left ")
　 (setq theta 97.14 a 1.06 b 0.33)
　)
　(if (= kt “Top ")
　 (setq theta -7.17 a 1.06 b 0.33)
　)
　(if (=kt “Right")
　 (setq theta 0 a 1 b 1)
　 )
　)
)
(setq bp (getpoint “＼n中心点Center Point:") sp bp)
(initget 1 “Radius Position")
(prompt “＼n Input the Radius or Poisition")
(setq dd (getkword “＼n［半径Radius＼＼定位Position］"))
(if (=dd “Radius")
　(Progn
　 (setq rd (getreal “＼n输入半径值input the radius of cirele: "))
　 (setq a (* a rd) b (* b rd))
　)
)
(if (=dd“Position")
　(progn
　 (drawell bp sp theta a b)
　 (setq loop t)
　 (drawell bp sp theta a b)
　 (prompt “＼nSecond point:")
　 (while loop
　　(setq spl (grread t))
　　(setq source (car spl) pt (cadr spl))
　　(cond ((and (=source 5) (or (/=(car sp) (car pt)) (/=(cadr sp) (cadr pt))))
　　 (drawell bp sp theta a b)
　　 (drawell bp pt theta a b)
　　 (setq sp pt)
　　)
　　((or (=source 3) (and (=soruce 2) (or (=pt 13) (=pt 32))))
　　 (drawell bp sp theta a b)
　　 (setq dis1 (*(-(car bp) (car sp)) (-(car bp) (car sp))))
　　 (setq dis2 (*(-(cadr bp) (cadr sp)) (-(cadr bp) (cadr sp))))
　　 (setq dis (sqrt (+ dis1 dis2)))
　　 (setq a (*a dis) b (*b dis))
　　 (setq loop nil)
　　)
　 )
　)
)
)
(setq cs (cos (* theat conv)))
(setq sn (sin (* theat conv)))
(setq snc (-0.0 sn))
(setq pel (list (+ (car bp) (* a cs)) (+(cadr bp) (* a sn))))
(setq pe2 (list (+ (car bp) (* b snc)) (+(cadr bp) (* b cs))))
(command“ELLIPSE" “c"bp pe1 pe2)
)
　　有了这样1个小工具后，在AUTOCAD软件上可以像原来绘制正等测图那样方便地绘制正二测和斜二测图。实际绘制产品的零部件拆装图时，为了提高绘制效率，可以先将一些常用的零件(如标准件、通用件等)做好。一般来说1个零件只要给出它的2个方向的轴测图当作图块以备调用即可，往后在组图时不论该零件放置在任何位置，只要调出其中之一的图块放置好稍作调整即可。将某部分结构的所有零部件1个个绘出其轴测图，然后按装配关系串接起来即成为零部件拆装图。最后配以必要的表格，对应说明零部件编号、名称、数量、规格及特性值等，即可组成完整的零部件图册。
4　结论
　　利用轴测绘制方法来完成零部件图册中的零部件拆装图是1种简便易行、经济实用的方法。除通常的正等测画法外，如能充分利用正二测和斜二测2种轴测画法的特点，可绘出不同形式和风格的轴测图及零部件拆装图。本文提供的这段AUTOLISP工具程序能给这种应用带来极大方便，实现了AUTOCAD中功能的扩展和延伸。实际应用效果良好。
作者单位：长沙交通学院汽车系(410076)
参考文献
　1　刘银远，董华.AUTOLISP教程.北京：希望电脑公司，1992
　2　王敬言，张玉南.怎样画轴测图.成都：四川科学技术出版社，1986
(收稿日期：1998-07-23)
