乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: harilalmn

[编程交流] 标记对象#039;s层使用

[复制链接]

1

主题

23

帖子

22

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:29:49 | 显示全部楼层
我想我还没有解释好。。
 
选择多个对象。。。输出:选定对象所在的所有层,以及在哪个层上有多少选定对象。。。
vb层:绿色-2
图层:蓝色-1
图层:红色
 
这是一个更好的例子吗?
 
格里茨·约翰
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 08:32:55 | 显示全部楼层
通过一点复制和粘贴以及一些尝试和错误,我已经走到了这一步。
但是在最后得到一个错误来放置字符串
 
我在那里留下了原始代码来帮助我
 
我不太擅长Lisp程序,只是学习而已
 
 
  1. (defun c:Test (/ spc p1 p2 str lead)
  2. (vl-load-com)
  3. ;; Tharwat 08. 07. 2011
  4. (cond ((not acdoc)
  5.         (setq acdoc (vla-get-activedocument (vlax-get-acad-object)))
  6.        )
  7. )
  8. (setq spc (if (> (vla-get-activespace acdoc) 0)
  9.              (vla-get-modelspace acdoc)
  10.              (vla-get-paperspace acdoc)
  11.            )
  12. )
  13. (while
  14.    (and
  15.      (setq p1 (getpoint "\n specify First Point :"))
  16.      (setq p2 (getpoint p1 "\n Specify Second point :"))
  17.      (setq
  18.        str (car
  19.              (entsel "\n Specify any entity to get its Layer name :")
  20.            )
  21.      )
  22.    )
  23.     (progn
  24.       (setq lead (vla-addmleader
  25.                    spc
  26.                    (vlax-make-variant
  27.                      (vlax-safearray-fill
  28.                        (safearray vlax-vbdouble '(0 . 5))
  29.                        (apply 'append (list p1 p2))
  30.                      )
  31.                    )
  32.                    0
  33.                  )
  34.       )
  35.       (vla-put-textstring
  36.         lead
  37.         (strcat
  38.           "Layer name = "
  39.           (cdr (assoc 8 (entget str)))
  40.           "\\P"
  41.           "Number of Object(s) :"
  42.           (itoa
  43.             (sslength
  44.               (ssget "_x" (list (cons 8 (cdr (assoc 8 (entget str))))))
  45.             )
  46.           )
  47.         )
  48.       )
  49.     )
  50. )
  51. (princ)
  52. )
回复

使用道具 举报

1

主题

23

帖子

22

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:36:56 | 显示全部楼层
回复

使用道具 举报

1

主题

23

帖子

22

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:44:09 | 显示全部楼层
With a little copy and paste and some trial and error i have come this far.
but getting a error at the end to put the string
 
i left the original code in there tot help me
 
i'm not that great with lisp, just learning
 
 
  1. (defun c:lala (/ spc p1 p2 str lead) (vl-load-com) ;; Tharwat 08. 07. 2011 (cond ((not acdoc)        (setq acdoc (vla-get-activedocument (vlax-get-acad-object)))       ) ) (setq spc (if (> (vla-get-activespace acdoc) 0)             (vla-get-modelspace acdoc)             (vla-get-paperspace acdoc)           ) ) (while   (and     (setq p1 (getpoint "\n specify First Point :"))     (setq p2 (getpoint p1 "\n Specify Second point :"));      (setq str lst);;;;;;            (car (entsel "\n Specify any entity to get its Layer name :"));;;(setq ss (ssget)) (progn   (repeat (setq i (sslength ss))     (setq layer (cdr (assoc 8 (entget (ssname ss (setq i (1- i)))))))     (if (not (member layer lst)) (setq lst (cons layer lst)))   )   (setq lst (acad_strlsort lst)) )(setq str lst);;;        )    (progn      (setq lead (vla-addmleader                   spc                   (vlax-make-variant                     (vlax-safearray-fill                       (safearray vlax-vbdouble '(0 . 5))                       (apply 'append (list p1 p2))                     )                   )                   0                 )      )      (vla-put-textstring lead (cdr (assoc 8 (entget str))))    ) ) (princ))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-15 08:04 , Processed in 1.998659 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表