AutoLISP目标捕捉函数osnap
2011-06-10 22:36 精诚所至 金石为开 阅读(3491) 评论(0) 编辑 收藏 举报Auto LISP提供的OSNAP函数所完成的功能与Auto CAD中的OSNAP命令完成的功能相似,捕捉目标的特征点。调用格式:(osnap 〈点〉 〈目标捕捉方式〉)功用及求值结果。该函数是用〈点〉先取屏幕图形目标,再根据〈目标捕捉方式〉求出该目标的特征点如(圆心、直线端点、切点、线段中点、交点等),并返回该特征点。若对给定〈点〉没有捕捉到目标,但找不到与指定捕捉方式相匹配的目标特征点。OSNAP则返回nil。目标捕捉方式只作一简述:
NEA(Nearest)—捕捉靶区中心点位置最近的线、弧线或圆上的点。ENDP(Endpoint)—捕捉靶区中心点最近的线、弧线的端点。MID(Midpoint)—捕捉线段或弧线的中点。CEN(Center)—捕捉弧线或圆(可见部份)的圆心。NOD(Node)—捕捉点元素,这些点应置于块定义的插入基点上,该块插入时的snap节点。 QUA(Quadrand)—捕捉圆或弧线上的象限点(可见的)-0o、90o、180o、270o的点,若圆或弧线是旋转后的块的一部份,其象限点也是随之转动。INT(Interserction)—捕捉两条线(或者一线与圆或弧,或者两个圆或弧)的交点。INS(Insert)—捕捉一个形、文本、属性定义或块的插入点。PER(Perpendicular)—在直线、弧线或圆捕捉一点,该点与前一点的连接为该直线、弧线或圆的法线。用该方式的弧线或圆不能是块的一部份。TAN(Tangent)—捕捉圆或弧线上的某一点,该点与前一点连接为该弧线的一条切线。用该方式的圆或弧线不能是块的一部份。QUI(Quick)—该方式只能与上述方式一起使用,目标捕捉一般搜索落入靶区的所有目标,并先取最靠近指定方式的特征点,当屏幕上出现多个可见图素时,这种搜索很费时,若加上QUI快捷方式,则只要找到符合指定类型的目标的一个点便停止搜索,但若遇到INT方式时,则不管QUI方式均进行全面搜索。NON(None)—关闭目标捕捉方式。