明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 10572|回复: 37

[源码] 自己制作的一个生成目录的小插件,发源码

[复制链接]
发表于 2015-9-18 16:21:21 | 显示全部楼层 |阅读模式
本帖最后由 那个猎人 于 2018-1-2 15:24 编辑

帖子作废,新帖在http://bbs.mjtd.com/thread-170197-1-1.html   

自己制作目录一直是用提取属性块里的文字到Excel,然后在Excel里整理完毕后,再复制到CAD里面,略有些复杂,后来看了论坛里的帖子http://bbs.mjtd.com/forum.php?mod=viewthread&tid=96502,效果挺好,但是存在一些小问题,比如不同前缀的图号可能不是按照预想的顺序排列,不同图纸里的目录合并需要手动,图幅需要手动填写。
    本人是新手,费了好大重新做了生成目录,另外加了一个合并目录功能。与前面相比,完善功能如下:
命令:SCML(生成目录)
    1.可以同时提取多种图名的图框块,需要这些图框块均需具有相同的图名图号属性
    2.可以自动判断图纸幅面,需要图框块是1:1的比例制作
备注:目录字体分别采用的是"D_宋体" "D_Hztxt",如果没有这两种字体,会改为"Standerd"字体,请手动修改字体名称
命令:HBML(合并目录)作为调整目录必不可少的一个功能,用于
    1.将不同图纸里提取的目录合并为一个目录
    2.同一张图里面不同前缀的图号因字母顺序自动排序,未达到预想顺序,手动移动文字,重新整合
好像少上传了一个函数


  • ;;[功能]提取属性块指定属性值
  • (defun Get_AttValue(blockObj attTag / attblock attvalue)
  •   (setq attBlock (vl-catch-all-apply '(lambda () (vlax-invoke blockObj 'GetAttributes ) )))
  •   (if (not (vl-catch-all-error-p attBlock))
  •     (setq attValue (cdr (assoc attTag (mapcar '(lambda (x)  (cons (vla-get-TagString x)(vla-get-TextString x) )  ) attBlock )) )   )
  •   )
  •   attValue
  • )

    (defun NthA2B(lst a b / i partlst)
            (setq partLst (list) i a)
            (repeat (1+ (- b a))
                    (if (nth i lst)
                            (progn
                                    (setq partLst (append partLst (list (nth i lst))))
                            )
                    )
                    (setq i (1+ i))
            )
            partLst
    )
上图:

本帖子中包含更多资源

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

x

评分

参与人数 3明经币 +3 收起 理由
vlisp2012 + 1 幕墙同行啊!
gaics + 1 新手都喜欢做目录吗,哈哈。我写那个的时候.
USER2128 + 1 赞一个!

查看全部评分

 楼主| 发表于 2018-1-2 15:25:37 | 显示全部楼层
zyceder 发表于 2017-11-18 22:36
弄了一个半成品上来,弄出了一堆问题,还好意思要钱?发了一堆程序吗上来,就不能更新一下程序,以为谁都懂 ...

不好意思给您带来麻烦了,其实更新过帖子
http://bbs.mjtd.com/thread-170197-1-1.html
发表于 2017-11-18 22:36:57 | 显示全部楼层
本帖最后由 zyceder 于 2017-11-18 22:38 编辑

弄了一个半成品上来,弄出了一堆问题,还好意思要钱?发了一堆程序吗上来,就不能更新一下程序,以为谁都懂吗?
发表于 2019-7-1 16:33:24 | 显示全部楼层
很好的插件,谢谢分享
发表于 2015-9-18 18:11:43 | 显示全部楼层
为什么必须要求图框属性块是1:1的比例,图框有可能是根据零件大小改变的,有没有办法按照图框属性块的指定的类别统计,我在FOX里的图框都不是1:1的,不知道是怎么统计出零件件号和版次的,咱技术有限写不出复杂程序

本帖子中包含更多资源

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

x
 楼主| 发表于 2015-9-18 21:51:57 | 显示全部楼层
F4164789 发表于 2015-9-18 18:11
为什么必须要求图框属性块是1:1的比例,图框有可能是根据零件大小改变的,有没有办法按照图框属性块的指定 ...

不是必须1:1的比例啦,我的意思是图框是由1:1制作的然后放大,因为有些设计院1倍的图框就是100倍的大小,这样子就不好确认图幅。
你的图框也可以做,可以发个想要的目录样式看看
发表于 2015-9-19 00:05:07 | 显示全部楼层
不错,挺方便的!!
发表于 2015-9-19 10:48:22 | 显示全部楼层
新手都喜欢做目录吗,哈哈。我写那个的时候也是新手,借鉴很多前辈的程序才弄出来的。
发表于 2015-9-19 15:39:44 | 显示全部楼层
怎么用。能不能发 一个图框文件上来
发表于 2015-9-19 22:10:48 | 显示全部楼层
把所以属性值都提取出来更好
发表于 2015-9-20 09:56:40 | 显示全部楼层
楼主,上传一个测试文件吧,老是出错
发表于 2015-9-20 10:47:44 | 显示全部楼层
好东西就是要顶一顶。。。虽然我没币下载。
发表于 2015-9-20 20:12:50 | 显示全部楼层
这个不错顶一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-18 15:45 , Processed in 0.899792 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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