作者在使用JoinEntity时出现eNotApplicable的问题,查阅了Autodesk论坛的相关帖子,发现大多数人都有遇到这个问题,但没有找到合适的解决方法,可能原因是进行Join时两Curve需要同类型,例如Arc有相同的圆心等,当然不管什么情况,肯定是需要端点重合。
作者针对上述情况,自己重新定义了JoinEntity,具体思路如下:
1.首先将需要Join的Curve(Line,Circle,Arc,Spline,等)统一转化为Polyline;
2.设置容差delta,端点距离在此容差范围以内的可视为重合;
3.将源多段线SourcePoly和目标多段线TargetPoly进行操作,即SourcePoly依次添加TargetPoly多段线的每个Point2d和bulge,然后将TargetPoly从database中删除。至此两个Curve的Join就已经完成;
安徽.合肥