1.不明白你“只选直线和180度拐角圆”,大概忘记了所给前提条件“图中的几个元素全部选中后”,不要自相矛盾地来验证在所给前提条件下编制的程序呀。
2.下面给你提供个思路吧:
(1).将所有的圆作为一选择集,直线段另作一个选择集;
(2).对圆选择集中的每一个圆,在直线段选择集中找出和它相切的两条直线段;
(3).根据两个切点、圆半径求出弧长及其相对应的圆心角,并将弧长加到具有相同半径、圆心角的长度中;
(4).求两条切线的长度,并判断其长度是否被统计过,如未统计过则加入到直线段长度中;
(5).根据你所提供的示例图形,判断直线段和圆切的条件是:如果直线段有一个端点到圆心的距离等于该圆的半径,直线段即与该圆相切。(注意:图中别提供有与圆有两个交点的直线段来验证这个思路!)
(6).最好将要量取长度的这些图元放到一个图层上,不要掺无关的图元。在作选择集]时,只选这一层上的“LINE”和“CIRCLE”。 |