明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: zctao1966

[原创]CAD中收集图纸中存在的BOM信息

  [复制链接]
发表于 2011-12-29 10:55:52 | 显示全部楼层
谢谢楼主分享,高质量的代码
发表于 2011-12-29 11:16:34 | 显示全部楼层
原来楼主是敏敏工具箱的作者?可否把最新版共享一下呢?
 楼主| 发表于 2011-12-29 12:54:36 | 显示全部楼层
xiaxiang 发表于 2011-12-29 11:16
原来楼主是敏敏工具箱的作者?可否把最新版共享一下呢?

敏敏工具箱是我在机械设计中常用的一些命令,明经中都有的。
本人觉得好的原创程序,在明经中,都有提供源码,谢谢关注!
适合自己才是最重要!
发表于 2012-10-16 22:55:41 | 显示全部楼层
呵呵!楼主!真好人呀!
发表于 2012-10-16 23:18:58 | 显示全部楼层
alwtyp 发表于 2011-8-16 23:04
第一,你的信息要做成属性块里的属性。
第二,如果你的CAD版本是04及上应该就有EATTEXT.04以下很久没 ...

这个块属性提取很有用!
发表于 2014-3-11 22:59:30 | 显示全部楼层
看着比较复杂,应该可以简化下.
一堆变量看着头晕.

评分

参与人数 1明经币 +1 收起 理由
zctao1966 + 1 很给力!

查看全部评分

 楼主| 发表于 2014-3-12 12:22:37 | 显示全部楼层
本帖最后由 zctao1966 于 2014-3-12 12:41 编辑
机械工程师 发表于 2014-3-11 22:59
看着比较复杂,应该可以简化下.
一堆变量看着头晕.

现在看来的确是可以简化,只不过,以前的话,只能这样写,没那么高的水平!你有时间可以写个来分享下呗!先给你加个币,写不写随你哟!
发表于 2014-3-12 16:59:04 | 显示全部楼层
谢谢,贴个类似的实现。
参考了猫的批量执行脚本

(defun c:newgetatti(/ qxpath qxname files data ff )
    (setq ff (open "c:\\tempfiles\\bom.txt" "w"))
    (princ "" ff)
    (close ff)
    (setvar "filedia" 0)
(setvar "sdi" 1)
(setvar "lispinit" 0)
    (setq qxpath "C:\\tempfiles\\")
    (setq qxname "*.dwg")
    (setq files (vl-directory-files qxpath qxname 1))
    ;(setq files (FileNameSort files))
    (setq data (car files))
    (while data
                (command "open" )
                (command (strcat "c:\\tempfiles\\" data))
                (getatti)
                (command "qsave")
                (setq files (cdr files))
                (setq data (car files))
    )
        (setvar "sdi" 0)
        (setvar "lispinit" 1)
        (command "close")
)

(defun getatti(/ ss i ent elist tymc tydh js loop ename ff)
    (setq ss (ssget "all" (list '(0 . "INSERT") (cons 2 "A4,A4横,A3,A2,A1,A0"))))
    (if ss
        (progn
            (setq i (sslength ss))
            (setq ent (ssname ss (setq i (1- i)))
                ename (entnext ent)
                loop t
            )
            (while (and ename loop)
                (setq elist (entget ename))
                (if (= (cdr (assoc 0 elist)) "ATTRIB")
                    (progn
                        (if (= (cdr (assoc 2 elist)) "图样名称")
                            (progn
                                (setq tymc (cdr (assoc 1 elist)))
                            )
                        )
                        (if (= (cdr (assoc 2 elist)) "图样代号")
                            (progn
                                (setq tydh (cdr (assoc 1 elist)))
                            )
                        )
                        (if (= (cdr (assoc 2 elist)) "件数")
                            (progn
                                (setq js (cdr (assoc 1 elist)))
                            )
                        )
                    )
                    (setq loop nil)
                )
                (setq ename (entnext ename))
            )
        )
    )
    (setq ff (open "c:\\tempfiles\\bom.txt" "a"))
    (princ (strcat tymc "\t\t" tydh "\t" js "\n") ff)
    (close ff)
    (princ)
)

评分

参与人数 1明经币 +1 收起 理由
zctao1966 + 1 赞一个!

查看全部评分

发表于 2022-3-19 10:14:40 | 显示全部楼层
学习一下,感谢楼主的分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 01:16 , Processed in 0.495142 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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