乐筑天下

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

[编程交流] 协助计划更新

[复制链接]

13

主题

146

帖子

136

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
62
发表于 2022-7-18 10:08:23 | 显示全部楼层 |阅读模式
我有一个工作程序,是李在2010年为我整理的。
它最初是为了突出显示某些插入或块引用。
我修改了一个副本以接受用户输入,该输入基于其块定义中的对象类型条目高亮显示属性区域。
标签是OBJTYPE,条目可以是EQ、PP、LDB和许多更多。通常,图形中分散着几个,有时是几十个,这个例程有助于快速定位所有特定对象类型。
我似乎不知道如何修改这个东西,以便如果正在搜索的对象类型在图形中不存在,则在警告框中通知用户。不是打印到命令行,而是一个警报框。
目前,如果一个对象类型不存在,该程序只会退出,而不会出现戏剧效果。
没关系,但我想消除在一些非常大的图形上逐点搜索所造成的延迟,只需告诉用户没有正在搜索的内容。
任何帮助或提示将不胜感激,我上传了一个绘图(2010年格式)与一些地区,如果你的游戏。
谢谢


  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;; Original by LeeMac @ cadtutor.net 16 NOV 2010
  3. ;; So long ago the saved link is broken.
  4. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  5. ;; Mod by SteveJ July 2022 to highlight all of specified OBJ TYPE.
  6. (defun c:OBJ (/ ot ss attLst Box ul lr)
  7.   (vl-load-com)
  8.   (setq ot (strcase (getstring "Enter OBJ TYPE to locate: ")))
  9.   (if (setq ss (ssget "_X" '((0 . "INSERT") (66 . 1))))
  10.     (progn
  11.       (command "regen");erases current highlighting for next search.
  12.       (foreach Obj (mapcar 'vlax-ename->vla-object
  13.                      (mapcar 'cadr (ssnamex ss)))
  14.         (setq attLst nil)
  15.         (foreach att (vlax-safearray->list
  16.                        (vlax-variant-value
  17.                          (vla-getAttributes Obj)))
  18.           (setq attLst (cons (cons (vla-get-TagString att)
  19.                                    (vla-get-TextString att)) attLst)))
  20.         (if (and (assoc "OBJTYPE" attLst)
  21.                  (eq ot (cdr (assoc "OBJTYPE" attLst)))
  22.                  (setq Box (assoc "BOXSIZE" attLst)
  23.                        Box (read (cdr Box))))
  24.           (progn
  25.             (setq ul (list (car Box) (cadr Box))
  26.                   lr (list (caddr Box) (cadddr Box)))
  27.             (grvecs (list 1 lr (list (car lr) (cadr ul)) ;RIGHT
  28.                           1 ul (list (car lr) (cadr ul)) ;TOP
  29.                           1 lr (list (car ul) (cadr lr)) ;BOTTOM
  30.                           1 ul (list (car ul) (cadr lr)) ;LEFT
  31.                                         ))))))
  32.     (princ "\n<!> No Attributed Blocks Found <!>"))
  33.   (princ))
  34. ;;
  35. ;;(alert "No Such Animal")
  36. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 01:25 , Processed in 0.674812 second(s), 54 queries .

© 2020-2025 乐筑天下

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