明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4250|回复: 26

谁有图纸目录自动生成的插件呀?

  [复制链接]
发表于 2012-8-21 10:43 | 显示全部楼层 |阅读模式
比如图框的图名在特定的图层(假设图层名为“图名”),
图框摆放的顺序是从上往下,
同时有的图名的文字内容在多行。

在上面的三个条件下,如何得到图纸目录自动生成的插件呢?
请高手指点。。。

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-8-21 11:16 | 显示全部楼层
本帖最后由 libo2000 于 2012-8-21 12:03 编辑

  1. (defun test ()
  2.         (vl-load-com)
  3.         (setq ss (ssget "x" (list '(8 . "图名"))))
  4.         (setq i 0 lst '())
  5.         (while (setq et (ssname ss i))
  6.                 (setq p1 (cdr (assoc 10 (entget et))))
  7.                 (setq p1 (cadr p1))
  8.                 (setq p1 (rtos p1))
  9.                 (setq lst (append lst (list (strcat p1 ":::" (rtos i)))))
  10.                 (setq i (1+ i))
  11.         )
  12.         (setq lst (vl-sort lst '>) ss2 (ssadd))
  13.         (foreach p1 lst
  14.                 (setq i (vl-string-search ":::" p1))
  15.                 (setq i (substr p1 (+ i 4)))
  16.                 (setq i (atoi i))
  17.                 (ssadd (ssname ss i) ss2)
  18.         );end foreach
  19.         ss2
  20. )

选择集ss2就是图纸目录所需要的安装Y坐标(从上到下)已经排列好了的文本图元,可自行处理
 楼主| 发表于 2012-8-21 11:20 | 显示全部楼层
libo2000 发表于 2012-8-21 11:16
选择集ss2就是图纸目录所需要的安装Y坐标(从上到下)已经排列好了的文本图元,可自行处理

能把程序简单的注释一下吗?
对了,这个程序能处理图名文字内容在多行的情况吗?
 楼主| 发表于 2012-8-21 11:26 | 显示全部楼层
libo2000 发表于 2012-8-21 11:16
选择集ss2就是图纸目录所需要的安装Y坐标(从上到下)已经排列好了的文本图元,可自行处理

这个函数似乎AutoCAD加载利用不了呀

点评

再copy运行。刚才的有个bug  发表于 2012-8-21 11:38
发表于 2012-8-21 11:30 | 显示全部楼层
xiaomm250 发表于 2012-8-21 11:20
能把程序简单的注释一下吗?
对了,这个程序能处理图名文字内容在多行的情况吗?

只是对图名进行了排序,(cdr (assoc 1 (entget (ssname ss 0))))函数随便获取文本的内容啊?多行文字需要过滤掉部分特殊字符。
 楼主| 发表于 2012-8-21 11:44 | 显示全部楼层
xiaomm250 发表于 2012-8-21 11:26
这个函数似乎AutoCAD加载利用不了呀

还是加载不了呀

点评

哦。忘了,你的还得(vl-load-com)下  发表于 2012-8-21 12:02
 楼主| 发表于 2012-8-21 12:17 | 显示全部楼层
网盘ljttjl.ys168.com  2009-2试用程序及演示  20090831自动创建图纸目录程序演示
这儿有个,但是似乎不是免费的1
 楼主| 发表于 2012-8-21 12:19 | 显示全部楼层
xiaomm250 发表于 2012-8-21 11:44
还是加载不了呀

你能写个比较彻底的图纸目录程序吗?
 楼主| 发表于 2012-8-21 12:21 | 显示全部楼层
xiaomm250 发表于 2012-8-21 11:44
还是加载不了呀

我还是加载不了,即使加了一句:
        (vl-load-com)
我是在函数内部的第一行加的,但是没用

点评

要这样用:(test)  发表于 2012-8-21 21:43
发表于 2012-8-21 13:11 | 显示全部楼层
图框做成属性块多好,图名提取就方便多了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-28 17:25 , Processed in 0.273232 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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