乐筑天下

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

[编程交流] 搜索列表中的项目

[复制链接]
pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 09:31:57 | 显示全部楼层
李是对的。即使使用选择过滤器,也不会选择动态块的有效名称,并且没有必要选择两次对象
t
无论如何,这已经太晚了。。。在初始运行时,您可以组成所有块名的列表,并从该列表中进行计数
 
  1. (defun c:cntblk(/ allblocks n i  blklst blkobj blkobjname)
  2. (setq allblocks (ssget "_X" (List (cons 0 "INSERT"))))
  3. (setq n (sslength allblocks))
  4. (setq i 0)
  5. (repeat n
  6.    (setq blkobj (ssname allblocks i))
  7.    (setq blkobjname (getEffectiveName blkobj))
  8.      (setq blklst (cons blkobjname blklst))
  9. (setq i (1+ i))
  10. )
  11. (while (setq a (car blklst))
  12.         (prompt (strcat "\n" a "-----------------"
  13. (itoa (- (length blklst) (length (setq blklst (vl-remove a blklst)))))
  14.                       ))
  15.         )
  16.      (princ)
  17. )

 
正如李所说,它尽可能地接近您的原始代码
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:39:03 | 显示全部楼层
 
谢谢harilalmn,很高兴知道我的程序在全世界都得到了很好的使用,这很有帮助,因为我非常喜欢编写它们
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 09:41:31 | 显示全部楼层
李,当你在帮我的时候。
 
大约三天前,我写了一篇简短的文章:
 
  1. (defun c:scx  (/ ent Xnme clrs lst)
  2.      (vl-load-com)
  3.      (setq ent (ssget "_+.:S:E" '((0 . "INSERT"))))
  4.      (setq ent (entget (ssname ent 0)))
  5.      (if (= 4
  6.             (logand 4
  7.                     (cdr (assoc 70
  8.                                 (tblsearch
  9.                                       "BLOCK"
  10.                                       (setq Xnme (cdr (assoc 2 ent))))))))
  11.            (progn
  12.                  (setq clrs (acad_truecolordlg
  13.                                   '(420 . 8882055)
  14.                                   nil))
  15.                  (command "_Layer" "_Color")
  16.                  (while (> (getvar "cmdactive") 0)
  17.                        (if (> (length clrs) 1)
  18.                              (command
  19.                                    "TrueColor"
  20.                                    (progn
  21.                                          (setq lst  (vl-princ-to-string
  22.                                                           (LM:TRUE->RGB
  23.                                                                 (cdr (cadr clrs)))))
  24.                                          (setq lst  (vl-string-translate
  25.                                                           " "
  26.                                                           ","
  27.                                                           lst))
  28.                                          (vl-symbol-name
  29.                                                (car (read lst)))
  30.                                          )
  31.                                    (strcat Xnme "*")
  32.                                    ""
  33.                                    )
  34.                              (command
  35.                                    (cdr (car clrs))
  36.                                    (strcat Xnme "*")
  37.                                    "")
  38.                              )
  39.                        )
  40.                  )
  41.            (princ "\nNObject Selected Not an Xref:")
  42.            )
  43.      (princ)
  44.      )

 
它将外部参照的图层颜色更改为较浅的阴影(或用户选择的任何颜色)
 
今天早些时候,我的人问waht,我们是否希望它恢复到原始颜色?在调用此例程之前告诉他们使用图层状态保存图层信息。这样想比较容易。但是对于已屏蔽外部参照图层的现有图形,现在该怎么办?告诉他们再次分离并重新附着外部参照。我在想,也许通过lisp通过ODBX从源文件中检索层信息足够简单。或者使用你的绘画套路。
 
除此之外还有更简单的方法吗?
 
编辑:哎呀,忘了包括你的子程序Lee(LM:True->RGB),顺便说一句,到现在为止,它还不知道你是如何得出这些数字的
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 09:46:29 | 显示全部楼层
 
没问题harilalmn
很高兴为您服务
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:49:23 | 显示全部楼层
 
我将使用ObjectDBX与外部参照源文件进行交互,然后更改活动图形中与外部参照相关的图层的图层颜色,以匹配源文件中的图层颜色。
 
这听起来像是一个有趣的程序编写,所以我忍不住编码它-见附件。
 
 
你可以在这个感兴趣的帖子里找到我的帖子
重置外部参照图层。lsp
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 09:51:35 | 显示全部楼层
 
酷豆。。
谢谢你,李,我稍后会看一看,但只有在我试着自己做一个之后。。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 09:55:10 | 显示全部楼层
 
李非常狡猾。谢谢
 
 
谢谢你提供的信息。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:59:06 | 显示全部楼层
干杯pBe
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 06:12 , Processed in 0.543034 second(s), 77 queries .

© 2020-2025 乐筑天下

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