(3)轮廓节点处的凹凸性判断。在上述轮廓线中取一外轮廓(见图8),要求确定节点A处的凹凸性,算法为:①在A点邻域内,分别在构成点A的2个实体上取点B和C;②在A、B、C三点沿轮廓的方向排序,构成三角形△CAB;③计算三角形△CAB的面积;④判断面积的符号,如为正,则节点A为凸节点,否则为凹节点。
对于顺时针方向的轮廓,其结论与上述结果相反;对内环轮廓,其结论又与外轮廓的情况相反。
图8 轮廓的凹凸性判断
利用上述算法分析轮廓数据结构中所有节点的凹凸性,若构成A点的2个实体为直线,则B、C取直线的另一个端点,若实体为非直线,将实体等弧长分割简化成多段小直线,从而方便用直线的方式来处理,分析出其凹凸性。
至此表达截面线轮廓的数据结构构建全部完成。
2.3 特征参数的识别
截面线轮廓的特征参数包括侧面最小内R角半径Rmin和最小槽间距值Dmin。识别出这些特征值便能确定使用何种尺寸刀具能够完成加工,进而确定相应的加工工艺,具体识别算法如下。
2.3.1 侧面最小内 R 角
截面轮廓被表达为由多个环按所处层号联系在一起的数据结构,侧面内R角的分析针对单个环进行,由于环的几何形状变化较多,需要分如下3种情况讨论。
(1)内环由整圆或者封闭圆锥曲线单个实体组成。整个内环都为内凹的,内R角半径值为圆的半径或者椭圆的半短轴,如图9(a)中R1和R2所示。
(2)构成环的实体中有样条曲线时。样条曲线的凹凸性并不一定是单调的,为了简化分析,把样条曲线按等弧长分成小段曲线并且将小段曲线的凹凸性近似看作单调的。这样,样条曲线的内R角计算需分段进行,当小曲线段为内凹时,获取样条曲线在该段范围内的最小曲率半径作为此小曲线段的内R半径值,综合比较组成样条曲线的所有曲线段的内R半径,取最小值作为该样条曲线的内R半径值。小段曲线的凹凸性采用选择曲线段的中点,求其凹凸性代表曲线段整体的凹凸性的方法进行判断。
图9(b)所示的一个轮廓外环,环的方向为顺时针,曲线AD为样条曲线,首先将样条曲线按弧长等分为两段,增加等分点E,经过等分操作,此时构成轮廓环的各实体都是凹凸性单调的。直线的凹凸性用直线起点的凹凸性代替,判断构成该轮廓环的所有实体的凹凸性,结果是曲线段ED为内凹,其他实体为外凸的,最后求出曲线 ED 的最小半径值Rmin,即为该轮廓环的最小内R半径值。
(3)构成环的实体中的开放圆弧或者开放圆锥曲线。根据几何特性圆弧与圆锥曲线凹凸性都是单调的,因而不需要像样条曲线一样作等分操作,取曲线段中点的凹凸性代替曲线段的凹凸性,其他判断过程同样条曲线的做法类似。图9(c)所示圆弧EF为内凹的,其他实体均为外凸的,则圆弧段的半径R即为整个环的最小内R半径值Rmin。
2.3.2 最小槽间距 Dmin
在数控编程的方案中,是否需要半精加工以及操作所用刀具需要分析待加工模型的凹槽与间隙的尺寸,以保证选用的刀具可以深入到凹槽或间隙中进行加工。为分析方便,将凹槽与间隙的尺寸一并归为槽间距。待加工电极的形状较多,给槽间距做一个大致的分类便于后续分析。