帮忙看看
<p>求高手编程:选取矩形左右上下四个点后将矩形移动到图中心,中间是0,0</p> (defun c:tt (/ e d p1 p2)<br/>(if (setq e (entsel "\n选择矩形: "))<br/> (progn<br/> (setq e (car e)<br/> d (entget e)<br/> p1 (assoc 10 d)<br/> p2 (nth (+ (vl-position p1 d) 8) d)<br/> )<br/> (command "_.move"<br/> e<br/> ""<br/> "_non"<br/> (mapcar '(lambda (x y) (/ (+ x y) 2.))<br/> (cdr p1)<br/> (cdr p2)<br/> )<br/> "_non"<br/> '(0 0)<br/> )<br/> )<br/>)<br/>(princ)<br/>) 不好意思,表达得不是很清楚,我是想选四个点(左右上下)后取得中间点再将整个图形移动到0,0 本帖最后由 作者 于 2009-2-4 19:35:11 编辑 <br /><br /> <p>中间点不好求吗?上面的</p><p>(mapcar '(lambda (x y) (/ (+ x y) 2.))</p><p>不是已经求出?<br/></p> zzzsss发表于2009-2-4 16:02:00static/image/common/back.gif不好意思,表达得不是很清楚,我是想选四个点(左右上下)后取得中间点再将整个图形移动到0,0<p>为何要选四点?选矩形的对角线两点不就可以了。</p>
页:
[1]