找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1573|回复: 2

[求助] [求助]:请问在LISP内如何判断图块是否经过XCLIP处理?

[复制链接]
发表于 2009-2-26 10:12:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请问在LISP内如何判断图块是否经过XCLIP处理?
例如:A为一图块(未经xclip处理,复制A得出B,然后对A进行xclip处理,
分别查看两者的DXF码,和(vlax-dump-object obj T),无法观察到其的区别.

请问如何对其进行判断呢?最好还能得出其xclip处理的数据,谢谢.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2009-3-20 08:21:47 | 显示全部楼层
;; Based on code by John Uhden 4/16/2005.
;; Argument: a block reference ename or vla-object.
;; Returns: the xclip boundary WCS point list if the block is clipped,
;; otherwise nil.
(defun GetClipBoundary (obj / xdict filter spatial elst ptlst)
  (if (= (type obj) 'ENAME)
    (setq obj (vlax-ename->vla-object obj))
  )
  (setq        elst
         (vl-catch-all-apply
           '(lambda ()
              (setq xdict (vla-getextensiondictionary obj))
              (setq filter (vla-getobject xdict "ACAD_FILTER"))
              (setq spatial (vla-getobject filter "SPATIAL"))
              (entget (vlax-vla-object->ename spatial))

            )
         )
  )
  (princ elst)
  (princ "\n")
  (if (not (vl-catch-all-error-p elst))
    (foreach x elst
      (if (eq 10 (car x))
        (setq ptlst (cons (cdr x) ptlst))
      )
    )
  )
  ptlst

)
                                        ;end[/code]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-3-20 09:18:42 | 显示全部楼层
学习一下二楼的代码。。。

另外

  1. xclip后的图元信息:
  2. (-1 . <图元名: 7ef72038>)
  3. (0 . "INSERT")
  4. (5 . "FF")
  5. [COLOR=orangered]
  6. (102 . "{ACAD_XDICTIONARY")
  7. (360 . <图元名: 7ef72048>)
  8. (102 . "}")
  9. (330 . <图元名: 7ef63cf8>)
  10. [/COLOR]
  11. (100 . "AcDbEntity")
  12. (67 . 0)
  13. (410 . "Model")
  14. (8 . "0")
  15. (100 . "AcDbBlockReference")
  16. (2 . "1")
  17. (10 867.12 486.241 0.0)
  18. (41 . 1.0)
  19. (42 . 1.0)
  20. (43 . 1.0)
  21. (50 . 0.0)
  22. (70 . 0)
  23. (71 . 0)
  24. (44 . 0.0)
  25. (45 . 0.0)
  26. (210 0.0 0.0 1.0)

  27. 未xclip:
  28. (-1 . <图元名: 7ef72038>)
  29. (0 . "INSERT")
  30. (330 . <图元名: 7ef63cf8>)
  31. (5 . "FF")
  32. (100 . "AcDbEntity")
  33. (67 . 0)
  34. (410 . "Model")
  35. (8 . "0")
  36. (100 . "AcDbBlockReference")
  37. (2 . "1")
  38. (10 867.12 486.241 0.0)
  39. (41 . 1.0)
  40. (42 . 1.0)
  41. (43 . 1.0)
  42. (50 . 0.0)
  43. (70 . 0)
  44. (71 . 0)
  45. (44 . 0.0)
  46. (45 . 0.0)
  47. (210 0.0 0.0 1.0)
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-6-18 20:07 , Processed in 0.370789 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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