gdslqs 发表于 2011-6-3 15:47:20

求助完善关于command调用旋转rotate和镜像mirror的lisp

在明经上热心朋友的帮助下我得到了一个框选对象直接缩小指定被倍数的lisp,该lisp核心是自动选择图元中心为缩放基点,我看不太懂。
(defun C:s4()
    (COMMAND "scale"
      (setq ss (ssget ":E:S"))
      ""
      (mapcar '(lambda (x) (/ x 2)) (apply 'mapcar (cons '+ (acet-ent-geomextents (ssname ss 0)))))
       "4"
    )
)
然后我仿效缩放命令,把scale改成rotate后修改了一下,但还是不行,请帮忙弄弄,实现框选对象自动指定中心为选择基点旋转90度
(defun C:test()
    (COMMAND "rotate"
      (setq ss (ssget ":E:S"))
      ""
      (mapcar '(lambda (x) (/ x 2)) (apply 'mapcar (cons '+ (acet-ent-geomextents (ssname ss 0)))))
       "90"
    )
)
类似的,关于镜像一个图元,框选对象,自动指定水平中心线或竖向中心线镜像并删除原对象。谢谢大家!

yoyoho 发表于 2011-6-3 16:52:25

;;AUTOCAD2008 运行测试 O.K.
(defun C:test()
    (COMMAND "rotate"
      (setq ss (ssget ":E:S"))
      ""
      (mapcar '(lambda (x) (/ x 2)) (apply 'mapcar (cons '+ (acet-ent-geomextents (ssname ss 0)))))
       "90"
    )
)
页: [1]
查看完整版本: 求助完善关于command调用旋转rotate和镜像mirror的lisp