请教两个问题
<P> 最近在编一个自动标注某类零件的程序,编程中有以下困难没有找到办法:</P><P> 1, 在某个图元中如何找到X或Y坐标最大最小的点;</P>
<P> 2. 在一批图元中(或一个图元中)如何找到UCS的X坐标或Y坐标为0的点.</P>
<P> 特向各位请教</P> <P>1.把点都找出来构成列表 lpts (你不会是做不出这步吧?)</P>
<P>(setq lx (mapcar 'car lpts))</P>
<P>(nth (vl-position (apply 'min lx) lx) lpts)</P>
<P>其他的依此类推</P>
<P>2.(vl-remove-if-not (function (lambda (x) (or (zerop (car x)) (zerop (cadr x))))) lpts)</P> 只需要一个循环就可以把你的两个问题都解决了。 <P> 我觉得上面两位可能把问题想简单了,把点全部找出来,只能找一些控制点,只分析控制点得出的东西可能是不正确的</P> <P>噢,原来是位"业余侠客",我说的呢,比我还菜的应该不多了,早知道就不卖这三板斧了.</P>
<P>那就给你第二条提个建议吧:做一条X坐标为0的水平XLINE,用INTERSECTWITH方法求交点.</P> 用ap-api中的getboundingbox方法找到封闭一个实体边界框 <P>vlisp中就有getboundingbox的方法,vla-getboundingbox</P>
<P>不过这个方法有些问题,看下面的讨论,,,不知道ap-api中的会不会有不同</P>
<P><A href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=15387" target="_blank" >http://bbs.mjtd.com/forum.php?mod=viewthread&tid=15387</A></P>
页:
[1]