找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 843|回复: 8

[求助] [求助]:有无办法列出dwg文件中所有的块

[复制链接]
发表于 2007-2-1 08:27:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
看到一个程序可以实现在autocad文本窗口中输出,但autocad文本窗口有长度限制,输出不全。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-2-2 08:27:06 | 显示全部楼层
用(tblnext table-name [rewind])函数
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-2 09:17:58 | 显示全部楼层
能不能给出实例啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-2-2 13:09:25 | 显示全部楼层
;;;显示图中图块的全部内容
(defun c:b1 ()
  (setq        snl '()
        sll (tblnext "BLOCK" T)
  )
  (while (setq snl (cons (cdr (assoc 2 sll)) snl)
               sll (tblnext "BLOCK" nil)
         )
  )
  (PrinC "\n现有层:")
  (PrinC snl)
  (PrinC)
)
;;;snl结果为所有图块名称的表
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2007-2-2 22:08:32 | 显示全部楼层
ddinsert
rename

全部在里面
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-2-4 11:18:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. <font face="Arial" size=14>(vlax-for l (vla-get-blocks (vla-get-activedocument
  2. (vlax-get-acad-object))) (princ "\n") (princ (vla-get-name l)))</font>
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2007-2-4 19:02:51 | 显示全部楼层
最初由 xyzjint_cn 发布
[B];;;显示图中图块的全部内容
(defun c:b1 ()
  (setq        snl '()
        sll (tblnext "BLOCK" T)
  )
  (while (setq snl (cons (cdr (assoc 2 sll)) snl)
               sll (tblnext "BLOCK" nil)
         )
  )
  (PrinC "\n&#65533;.. [/B]

执行结果为:
uew block new bloce4jk new bl34ydfhock n436uiew block n34djhew block new434j
block new34ydu block new bloyefjck new5k block ne434yuw block n4yew b5tlock
n4ew blgock n434yjw block nsdh5ew block new bloc457kk new bl3w3tock new block43
ne4eu4w block new b3whlock 246new block new34yu block new bloc345k n47ew block
ne4e57w block new bloc5uk new bloc4k new blo6458ck ne7ujw block n5uew block
new436block new bl3yck n4yuew block new b5rtuulock new bl44yuock ne4dyjw block
4eyyew block new blo6tick new blo4yck n4uew block news blo4ck new bloc4yyk 5new
block new b2346lock new bl3ttock new block67uyl ne33hw block newter block new
bl323rock new bloc70k ne26w block newfh5 block new blo5ruck new 4rtuublock new
block5gfjk new blo5rtuuck new bloc6yik new bl5rtuck new blo43dfghck new5rtyh
block new bloc5yrtyk ne4d45w block new 5block new bloc3457k new 4eryyblock n4ew
bldfg4ock new blo5ck4ery new bl5tujock ne4dfhyyw block new block4dh new
blo4dfhk ne4e4ryw block new block4ery new blo4erthck new 3sfblock new
bloc4dryyk 5ew block new bloc49k n4erhew block new bloc4yk new block355 new
bl4ERYUock new bl332Yock ne4Uw block new bl4ock new bl4EYo4ck n4Yew block new
b4lock new blo234Yck new45 block new block5TGJ new bloc345ERYk new b4345Hlock
new block4 new b4Elock ne3456Rw block new bloc5Yk new bloc3k new bloc3WETTk new
bloc4eyyhk new b3wettlock new b36tuulock new blo4dyuck new bl3gock n4eryew
block new bl545ujock new blo7lhjkck new bloc34eryk new blocghmk n4ew bl434ock
new bl56Jock n3GGGew block new block5 new3 block n6hkew block new blo4eyuuhck
GENDIM2)YYJJblock new bl2QUUock new bQ23YYlock new WUETUIock W7UYHUnew block
new blockKR7L n2347ew block new bl23YYock 34EUew block new3UJK546 block new34JJ
block ne2yh4uw block newwy5 block newqy4qy block n24h64ew block new b2lo34uuck
new24jj block newej455w block new btw34ujlock new blo4ekkghck new b252uilock
new whj5block n23uriew block new3ukk block new23yy block new block5679kj
ne24uuiiw block new blosjck new bl22514ock n34uuihew block new bl2wysyjock new
block23yhh new 2y656block new3uii block new blosh35ck new blo3uiick new
b24yulock new blo4djjjck new blo4YUUUck 34UUKnew block new blo3YYFRGck new
bloc3UUUk new bl379Oock new34UUG block new blo3SHHFck newYT23U block nAG3JJew
block new bloc23YSk new b2YFDGKlock ne37w block new b7lock new396DHKL block new
blo43uufck new bl23tyyock new32yuj block new bl23tyock new bl3ywyock ne23yyw
block new b23yyhlock new b3shhlock new 426yhhblock new block23tweh new34yu54
block ne32665w block new bloc3eryk new2366 block new3weyyy block n4e54uuiew
block new blo3weyyck new 34uiiblock new b3yyylock new blo769pck new bl3yyyock
new b23UYHlock new bl34Iock new blo34UUUck new blo34UUck new blo45GFYKck
n56I5I5Oew block nW3IIYew block new bl23Yock new bloc320968k ne235IIw block new
bloc23UUk ne4UUUw block ne34uuu block ne4eyuw block new blo87009ck new
b233654lock 34new bl4eryuock new blo34uyetuck new blo44hck new bloc3oujk new
bl4ehock new 236wuyblock new bloc3ryyk n43uuew bltock new blo23euck ne32yyw
block neewry3w block new bloc23trwhk new bloc2tstghk new b23ylocdk n3ysgew
block new b23yloack neeuw block n3wyyew block new bloc23yk new block23y ne4w
block new blofk4 new beryyulock new b4ulock new bloc45uik new blocreuik new
bloc34uurk new bl34urock new bl3ew4568ock new bl235hock new blo32yeryck n4euuw
block new b23yhlock new bloc34utk new block347yu new blo34235ck new
bloc34yudtrk new b98787glock new blo32yhck new bloc32t6tk n56udujew block new
block3dfjj new bg4jock new blodfjrtck new 34ufblock new bloc43ysfhk 34unew
5block new blo346jk new blo25345dfhck n32TYew block new b34YUlock ne23Yw block
ne34UUw block new 34UUblock n34YUew block new 32YYblock neI6w block ne34YUw
block ne54Uw block n347Uew bDHlock nT4EUew block new b23Ylock n34UIew block
nU46ew block new b34Ulock new blo34ukdck ne43yuw block new34yu blofck 34ujjnew
block new bloc43ujk 34unew block new bloc54984k newet34w block new block4jdfg
new54uu block new bl6ock ne34yw block n34uew block n45iw block new blo4jck
new43j block ne434jw block n34yw block new block45udrj new bloc346jk new
blo43yck ne236fdhjw block n43u

但是我需要的是块名而不是块的定义名啊。

for aeo
rename命令虽然是列出了块名,但无法导出为文本啊。

如下程序可以列出块的名字,但文本窗口有长度限制。
(DEFUN C:SUMBLK ( / blk ss)
  (prompt "\n块名\t数量")
  (prompt "\n--------------")
  (while (setq blk (tblnext "block" (not blk)))
    (if (/= "*" (substr (cdr (assoc 2 blk)) 1 1))
      (progn
(setq ss (ssget "x" (list '(0 . "INSERT") (assoc 2 blk))))
(if ss (princ (strcat "\n" (cdr (assoc 2 blk)) ":\t" (rtos (sslength ss)))))
      )
    )
  )
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 10405个

财富等级: 富甲天下

发表于 2007-2-4 20:49:52 | 显示全部楼层
将结果写入文件不就解决问题了?

  1. (DEFUN C:SUMBLK ( / blk ss)
  2. (setq f (open "blktmp.txt" "w"))
  3. (princ "块名\t数量\n" f)
  4. (while (setq blk (tblnext "block" (not blk)))
  5. (if (/= "*" (substr (cdr (assoc 2 blk)) 1 1))
  6. (progn
  7. (setq ss (ssget "x" (list '(0 . "INSERT") (assoc 2 blk))))
  8. (if ss (princ (strcat "\n" (cdr (assoc 2 blk)) ":\t" (rtos (sslength ss))) f))
  9. )
  10. )
  11. )
  12. (close f)
  13. (startapp "notepad" "blktmp.txt")
  14. (princ)
  15. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-5 08:33:56 | 显示全部楼层
谢谢,正是我需要的,文件写入的方法我没有研究过,不会啊。
很感谢你,解决大问题啊。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-17 19:23 , Processed in 0.191171 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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