明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1317|回复: 6

请教两个问题

[复制链接]
发表于 2005-11-17 08:33 | 显示全部楼层 |阅读模式

         最近在编一个自动标注某类零件的程序,编程中有以下困难没有找到办法:

    1, 在某个图元中如何找到X或Y坐标最大最小的点;

   2. 在一批图元中(或一个图元中)如何找到UCS的X坐标或Y坐标为0的点.

    特向各位请教

发表于 2005-11-17 09:19 | 显示全部楼层

1.把点都找出来构成列表 lpts (你不会是做不出这步吧?)

(setq lx (mapcar 'car lpts))

(nth (vl-position (apply 'min lx) lx) lpts)

其他的依此类推

2.(vl-remove-if-not (function (lambda (x) (or (zerop (car x)) (zerop (cadr x))))) lpts)

发表于 2005-11-17 09:33 | 显示全部楼层
只需要一个循环就可以把你的两个问题都解决了。
 楼主| 发表于 2005-11-17 10:02 | 显示全部楼层

  我觉得上面两位可能把问题想简单了,把点全部找出来,只能找一些控制点,只分析控制点得出的东西可能是不正确的

发表于 2005-11-17 14:45 | 显示全部楼层

噢,原来是位"业余侠客",我说的呢,比我还菜的应该不多了,早知道就不卖这三板斧了.

那就给你第二条提个建议吧:做一条X坐标为0的水平XLINE,用INTERSECTWITH方法求交点.

发表于 2005-11-17 15:38 | 显示全部楼层
用ap-api中的getboundingbox方法找到封闭一个实体边界框
发表于 2005-11-17 17:09 | 显示全部楼层

vlisp中就有getboundingbox的方法,vla-getboundingbox

不过这个方法有些问题,看下面的讨论,,,不知道ap-api中的会不会有不同

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=15387

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-18 05:13 , Processed in 0.216002 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表