明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 896|回复: 4

帮忙看看

[复制链接]
发表于 2009-2-3 11:38:00 | 显示全部楼层 |阅读模式

求高手编程:选取矩形左右上下四个点后将矩形移动到图中心,中间是0,0

发表于 2009-2-3 13:02:00 | 显示全部楼层
(defun c:tt (/ e d p1 p2)
(if (setq e (entsel "\n选择矩形: "))
  (progn
    (setq e  (car e)
          d  (entget e)
          p1 (assoc 10 d)
          p2 (nth (+ (vl-position p1 d) 8) d)
    )
    (command "_.move"
             e
             ""
             "_non"
             (mapcar '(lambda (x y) (/ (+ x y) 2.))
                     (cdr p1)
                     (cdr p2)
             )
             "_non"
             '(0 0)
    )
  )
)
(princ)
)
 楼主| 发表于 2009-2-4 16:02:00 | 显示全部楼层
不好意思,表达得不是很清楚,我是想选四个点(左右上下)后取得中间点再将整个图形移动到0,0
发表于 2009-2-4 19:29:00 | 显示全部楼层
本帖最后由 作者 于 2009-2-4 19:35:11 编辑

中间点不好求吗?上面的

(mapcar '(lambda (x y) (/ (+ x y) 2.))

不是已经求出?

发表于 2009-2-4 21:38:00 | 显示全部楼层
zzzsss发表于2009-2-4 16:02:00不好意思,表达得不是很清楚,我是想选四个点(左右上下)后取得中间点再将整个图形移动到0,0

为何要选四点?选矩形的对角线两点不就可以了。

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

本版积分规则

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

GMT+8, 2025-7-29 17:28 , Processed in 0.166476 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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