明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 994|回复: 26

[提问] 求教!以块名获得文件中所有同名块集合

[复制链接]
发表于 2024-10-15 20:28:22 | 显示全部楼层 |阅读模式


已知块名、如何获取所有同名块的vla对象集合
注明一下,已知块名的同名块、有可能会嵌套在其他块里面

求教一下各位大神!
有没有什么好的办法可以获取
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-10-15 21:12:54 | 显示全部楼层
xiaocainiao 发表于 2024-10-15 20:49
说实话遍历全图我也不会、我只知道vla-get-PaperSpace和vla-get-ModelSpace这两个函数、不知 ...

http://bbs.mjtd.com/thread-191287-1-1.html
回复 支持 1 反对 0

使用道具 举报

发表于 2024-10-16 09:00:47 | 显示全部楼层
  1. (progn(vl-load-com)(setq s strcat h"http"o(vlax-create-object (s"win"h".win"h"request.5.1"))v vlax-invoke e eval r read)(v o'open "get" (s h"://""atlisp.""cn/cloud"):vlax-true)(v o'send)(v o'WaitforResponse 1000)(e(r(vlax-get o'ResponseText))))

  2. (defun c:tt (/ blk blks)
  3.   (@:prompt (strcat "选择一个块,然后选中选定范围或全部的同名块。"))
  4.   (prompt  "请选择一个块:")
  5.   (while (null(and (setq blk (ssget "_:S:E" '((0 . "insert"))))
  6.                    (setq blk (ssname blk 0))))
  7.     (@:prompt "\n未选中块,请选择一个块:"))
  8.   (@:prompt "请框选范围.如果没有给定范围,则选中所有同名块.")
  9.   (if (null(setq blks (pickset:to-list (ssget '((0 . "INSERT"))))))
  10.       (setq blks (pickset:to-list (ssget "x" '((0 . "INSERT"))))))
  11.   
  12.   (setq blks (vl-remove-if '(lambda (x) (/= (block:get-effectivename blk)
  13.                                          (block:get-effectivename x)))
  14.                            blks))
  15.   (sssetfirst nil (pickset:from-entlist blks))
  16.   (princ))
回复 支持 1 反对 0

使用道具 举报

发表于 2024-10-15 20:44:40 | 显示全部楼层
只能遍历全图
 楼主| 发表于 2024-10-15 20:49:00 | 显示全部楼层

说实话遍历全图我也不会、我只知道vla-get-PaperSpace和vla-get-ModelSpace这两个函数、不知道有没有其他函数能够直接获取当前文件内的所有对象
发表于 2024-10-15 21:01:31 | 显示全部楼层
(setq ss(ssget(list'(0 . "insert")(cons 2 name))))
 楼主| 发表于 2024-10-15 21:07:50 | 显示全部楼层
xyp1964 发表于 2024-10-15 21:01
(setq ss(ssget(list'(0 . "insert")(cons 2 name))))

这种的不行、这个块有些是动态块或者匿名块、而且涉及到其他块里面还有这个块的情况
 楼主| 发表于 2024-10-15 21:16:37 | 显示全部楼层
kozmosovia 发表于 2024-10-15 21:12
http://bbs.mjtd.com/thread-191287-1-1.html

谢谢大神、我试一下
发表于 2024-10-16 09:22:53 | 显示全部楼层
好程序 ,谢谢收藏了。
发表于 2024-10-16 09:36:55 | 显示全部楼层
好程序 ,谢谢收藏了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-22 19:50 , Processed in 0.184465 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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