乐筑天下

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

[编程交流] Lisp选择字段和hig

[复制链接]

8

主题

22

帖子

14

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 08:43:42 | 显示全部楼层 |阅读模式
我不确定这是内置在CAD中还是需要lisp。我想选择一个包含区域信息的字段,并突出显示与该字段关联的对象。字段是块中的属性。有什么建议吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:53:18 | 显示全部楼层
以下是该计划的基本形式:
 
  1. (defun c:fieldobject ( / en )
  2.    (while
  3.        (progn (setvar 'ERRNO 0) (setq en (car (nentsel "\nSelect Field: ")))
  4.            (cond
  5.                (   (= 7 (getvar 'ERRNO))
  6.                    (princ "\nMissed, try again.")
  7.                )
  8.                (   (eq 'ENAME (type en))
  9.                    (if
  10.                        (and
  11.                            (wcmatch (cdr (assoc 0 (setq en (entget en)))) "*TEXT,ATTRIB")
  12.                            (setq en (cdr (assoc 360 en)))
  13.                            (setq en (dictsearch en "ACAD_FIELD"))
  14.                            (setq en (dictsearch (cdr (assoc -1 en)) "TEXT"))
  15.                            (setq en (cdr (assoc 360 en)))
  16.                            (setq en (cdr (assoc 331 (entget en))))
  17.                        )
  18.                        (redraw en 3)
  19.                        (princ "\nObject does not contain a Field.")
  20.                    )
  21.                )
  22.            )
  23.        )
  24.    )
  25.    (princ)
  26. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 09:04:08 | 显示全部楼层

 
  1. (defun c:TesT (/ selectionlist ss i ssNme lst)
  2. ;;; Tharwat 17. Oct. 2011 ;;;
  3. (if (setq selectionlist (ssadd)
  4.            ss            (ssget "_x" '((0 . "INSERT") (66 . 1)))
  5.      )
  6. (progn
  7.    (repeat (setq i (sslength ss))
  8.      (setq ssNme (ssname ss (setq i (1- i))))
  9.      (vlax-for x
  10.                  (vla-item
  11.                    (vla-get-blocks
  12.                      (vla-get-activedocument (vlax-get-acad-object))
  13.                    )
  14.                    (cdr (assoc 2 (entget ssNme)))
  15.                  )
  16.        (if
  17.          (and
  18.            (eq (vla-get-objectname x) "AcDbMText")
  19.            (not
  20.              (eq (vl-string-search "Area" (vla-fieldcode x) 0) "")
  21.            )
  22.          )
  23.           (ssadd ssNme selectionlist)
  24.        )
  25.      )
  26.    )
  27. (sssetfirst nil Selectionlist)
  28. )
  29.    (princ)
  30. )
  31. (princ)
  32. )
  33. (vl-load-com)
Tharwat
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:13:10 | 显示全部楼层
这两种解决方案中有一种适合markv,还是我们在浪费时间?
回复

使用道具 举报

8

主题

22

帖子

14

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 09:21:50 | 显示全部楼层
对不起,我一直在用第一种溶液。谢谢你的帮助。我以为我已经发回了。我再次道歉
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 09:29:30 | 显示全部楼层
 
没问题,很高兴终于收到你的来信。
回复

使用道具 举报

8

主题

22

帖子

14

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 09:40:48 | 显示全部楼层
现在,如果我能检查一下拼写错误
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:50:14 | 显示全部楼层
好东西markv
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 08:08 , Processed in 0.454241 second(s), 68 queries .

© 2020-2025 乐筑天下

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