Hart 发表于 2014-4-29 16:29:40

如何获得(粘贴板)粘贴后的的图元选择集?

从一个文件中选择一些图元(Ctrl+C 个数不定),然后粘贴到另一个文件中(Ctrl+V),请问如何获得粘贴后的这些数据的选择集?

Hart 发表于 2014-4-30 08:24:02

哪位高人指点一下,用参数P和L都没办法满足粘贴图集的选择 ,怎么处理呢?

vectra 发表于 2014-4-30 08:57:48

粘贴之前用entlast得到最后的图元对象,粘贴之后遍历entnext获取所有新建图元。

粘贴事件不知道是不是能通过命令反应器劫获。CommandWillStart和 CommandEnded?

Gu_xl 发表于 2014-4-30 09:34:09

本帖最后由 Gu_xl 于 2014-4-30 09:45 编辑

(or *vlrPASTECLIP*    (setq *vlrPASTECLIP*
           (vlr-command-reactor
             nil
             '((:vlr-commandWillStart . commandWillStart)
             (:vlr-commandEnded . commandEnded)
              )
           )
    )
)
(defun commandWillStart        (a b)
(if (= "PASTECLIP" (car b))
    (setq *endEnt* (entlast))
)
)
(defun commandEnded (a b / ss)
(if (= "PASTECLIP" (car b))
    (progn
      (setq ss (ssadd))
      (if (not *endEnt*)
        (setq ss (ssget "x"))
        (while (setq *endEnt* (entnext *endEnt*))
          (ssadd *endEnt* ss)
        )
      )
      (princ "\n复制")
      (princ (sslength ss))
      (princ "个对象")
      (sssetfirst nil ss)
    )
)
)

vectra 发表于 2014-4-30 09:35:47

G版真是迅速啊

Hart 发表于 2014-5-5 22:09:47

谢谢G版和各位大侠 这几天出差 回去试一下

dgm333 发表于 2014-10-15 17:07:13

学习,正需要

yoyoho 发表于 2014-10-16 08:12:22

感谢 G版 分享程序,谢谢!
页: [1]
查看完整版本: 如何获得(粘贴板)粘贴后的的图元选择集?