userzhl 发表于 2008-8-10 08:51:00

[求助]请教高手一个关于获取多义线端点的坐标点的问题。

<p>请教高手:</p><p>如何用LSP获取最靠近鼠标点取的多义线的端点的坐标,以及与这个端点相邻的转折点的坐标?</p>

userzhl 发表于 2008-8-11 07:07:00

<p>;该函数特别适合用于找到细多义线上的所有顶点。<br/>;返回包含每一出现在列表中的指定键的cdr(点对的后部分)的列表<br/>(defun th1-massoc (key alist / tmp pts)<br/>&nbsp; (while (setq tmp (assoc key alist))<br/>&nbsp;&nbsp;&nbsp; (setq alist (cdr (member tmp alist))<br/>&nbsp;&nbsp; pts (cons (cdr tmp) pts)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (reverse pts)<br/>)<br/>(defun th2-massoc (key alist / x nlist)<br/>&nbsp; (foreach x alist<br/>&nbsp;&nbsp;&nbsp; (if (eq key (car x))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq nlist (cons (cdr x) nlist))<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (reverse nlist)<br/>)<br/>(defun th3-massoc (id lst)<br/>&nbsp; (mapcar<br/>&nbsp;&nbsp;&nbsp; 'cdr<br/>&nbsp;&nbsp;&nbsp; (vl-remove-if-not '(lambda (x)<br/>&nbsp;&nbsp;&nbsp; (= id (car x))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ) lst<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>)<br/>(th1-massoc 10 (entget (car (entsel))))</p><p>如何升级一下成为我需要的功能呢?</p>

byghbcx 发表于 2008-8-11 08:13:00

用nentsel选择

caoyin 发表于 2008-8-11 10:24:00

<p>(defun test (pline point / pp)<br/>&nbsp; (setq point (vlax-curve-getClosestPointTo pline point))<br/>&nbsp; (setq pp (fix (vlax-curve-getParamAtPoint pline point)))<br/>&nbsp; (list (vlax-curve-getPointAtParam pline pp)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vlax-curve-getPointAtParam pline (1+ pp))<br/>&nbsp; )<br/>)</p><p><br/>;;(apply 'test (entsel))</p>

userzhl 发表于 2008-8-11 18:35:00

&nbsp;谢谢高人:<strong><font face="Verdana" color="#61b713">caoyin</font></strong>

userzhl 发表于 2008-8-12 17:32:00

<p>如何让端点坐标始终排在前面?</p>

userzhl 发表于 2008-8-13 09:57:00

<p>在左边的端点会排在前面,但在右边的端点会排在后面呢?<strong><font face="Verdana" color="#61b713">caoyin<font color="#000000">在不在?或者哪位高手帮帮忙。</font></font></strong></p>

userzhl 发表于 2008-8-13 12:40:00

是不是跟反向有关?

userzhl 发表于 2008-8-13 17:19:00

哪位高手帮帮忙,急用。

userzhl 发表于 2008-8-14 10:10:00

哪位高手帮帮忙,急用。
页: [1] 2
查看完整版本: [求助]请教高手一个关于获取多义线端点的坐标点的问题。