上述两方面说明了,在复杂图形对象偏移过程中,关键要解决的问题是偏移处理以及后续自动修剪。譬如对圆或圆弧进行偏移,应该根据偏移方向,偏移距离来决定创建更大或更小的圆或圆弧,或者不创建圆或圆弧;偏移二维多段线和样条曲线需要判断偏移距离与可调整距离的相互关系,根据实际情况自动进行修剪,如图3。+ p4 b R/ Q, J0 o) e3 P! Y
修改图形对象操作中除了一些基本操作如删除、复制、移动、旋转、对齐等,还有一些较复杂的修改操作,譬如偏移、镜像、倒角、拉伸、修剪等。创建与修改图形对象是CAD下载系统中最基本、最常用的功能之一,其完成效果与质量是评价一个CAD系统是否成熟的关键因素之一。其中偏移从技术上讲是一个比较困难的操作。 ' J: t" L( r) H S3 g1 E' y 偏移存在的难点问题 * q2 h7 ^% A) y4 r 在CAD下载系统中存在着许多不同的图形对象,当然能偏移尽的图形对象越多越好,最基本的要求是要能偏移以下几类对象:( U2 M6 ]7 [9 O# f8 r% P- ]6 E
1. 直线——直线、构造线(参照线)、射线 . O/ W1 s' W4 y) ?. a 2. 弧——圆和圆弧、椭圆和椭圆弧* \: N9 F# A) B1 f x3 n$ g
3. 二维多段线) j* b1 Q2 q% @ s4 Y
4. 样条曲线! j& {$ a$ A/ T
简单的图形如有直线、弧以及简单的二维多段线与样条曲线,偏移实现还是比较容易的,一般的CAD系统都没有问题。但复杂的图形,许多国内CAD系统做的工作不够,要么是错的,要么根本没法实现。复杂的图形主要指复杂的二维多段线与样条曲线,一般有两种情况:一是,自相交,即存在环岛,如“又”字形,“8”字形,“6”字形图形等等,或者延伸后相交,如“c”字形,“G”字形图形等等;二是,具有细节的图形,即图形在某个局部不平滑,如存在许多拐点、含有大量的倒角圆角等等。这些图形的偏移处理存在着许多难点。