明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2817|回复: 17

请大神帮忙修改一下这个属性块提取到EXCEL表的源码!!!!

[复制链接]
发表于 2020-4-10 13:30 | 显示全部楼层 |阅读模式
10明经币
请大神帮忙修改一下这个属性块提取到EXCEL表的源码,现在这个提取数据到EXCEL表,不能把相同的项合并,请大神帮忙改成可以合并相同项,后面还能统计出相同的项有多少。


*********************************************

(defun c:tSK () ;(/ d r ss n obj atts)
  (while (setq d (tblnext "block" (null d)))
    (setq r (cons (cdr (assoc 2 d)) r))
  )
  (and r
       (setq filename (getfiled "属性输出文件名" "" "csv" 1))
  )
  (if filename
    (progn
      (setq f (open filename "w"))
      (setq ss (ssget '((0 . "INSERT")))) ;选择对像,修改这里.
                                        ;(foreach name r
                                        ;(foreach (sslength ss) r
                                        ;(setq ss (ssget '((0 . "INSERT"))));选择对像,修改这里.
      (if ss
        (progn
          (setq
            atts (append
                   (vlax-invoke
                     (setq obj (vlax-ename->vla-object (ssname ss 0)))
                     'GetConstantAttributes
                   )
                   (vlax-invoke obj 'GetAttributes)
                 )
          )
          (princ "序号," f)
          (foreach att atts
            (princ (vla-get-TagString att) f)
            (princ "," f)
          )                             ;求出属性列表,写表头
          (princ "\n" f)
          (setq n -1)
          (repeat (sslength ss)
            (setq
              obj (vlax-ename->vla-object (ssname ss (setq n (1+ n))))
            )
            (setq atts (append
                         (vlax-invoke obj 'GetConstantAttributes)
                         (vlax-invoke obj 'GetAttributes)
                       )
            )
            (princ (1+ n) f)
            (princ "," f)
            ;(foreach att (reverse atts)  ;;;同一列前后颠倒
            (foreach att atts
              (princ (vla-get-TextString att) f)
              (princ "," f)
            )
            (princ "\n" f)              ;写出属性值
          )
         (close f)
        )
      )
    )
    ;(close f)
  )
)

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

最佳答案

评分

参与人数 1明经币 +1 收起 理由
xj6019 + 1 帮你+1个 嘿嘿!!

查看全部评分

发表于 2020-4-10 13:30 | 显示全部楼层
见动画

本帖子中包含更多资源

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

x

点评

骗钱的,抄了楼主的文件来骗钱  发表于 2020-11-7 22:16
回复

使用道具 举报

发表于 2020-4-10 15:00 | 显示全部楼层
  这个自己在excel中做下分类汇总即可
回复

使用道具 举报

 楼主| 发表于 2020-4-10 15:15 | 显示全部楼层
mikewolf2k 发表于 2020-4-10 15:00
这个自己在excel中做下分类汇总即可

能一步到位最好,不然用CAD自带的数据提取就能自动汇总。
回复

使用道具 举报

发表于 2020-4-10 15:25 | 显示全部楼层
184632152 发表于 2020-4-10 15:15
能一步到位最好,不然用CAD自带的数据提取就能自动汇总。

那为什么不用自带的呢?
如果要汇总,根据什么汇总?B列一样就汇总,不管CDEF?还是BCDEF都一样才汇总?
原程序只是简单输出而已,要实现汇总功能就要读取已输出数据,程序要重写,原程序基本没用。
没有现成的,祝你好运早日等到。
回复

使用道具 举报

 楼主| 发表于 2020-4-10 16:37 | 显示全部楼层
mikewolf2k 发表于 2020-4-10 15:25
那为什么不用自带的呢?
如果要汇总,根据什么汇总?B列一样就汇总,不管CDEF?还是BCDEF都一样才汇总? ...

根据B列汇总就可以
回复

使用道具 举报

发表于 2020-4-16 17:02 | 显示全部楼层
代码基本要重写了,自己excel里弄弄吧
回复

使用道具 举报

 楼主| 发表于 2020-4-17 09:05 | 显示全部楼层
sharetow 发表于 2020-4-16 17:02
代码基本要重写了,自己excel里弄弄吧

好的,谢谢!
回复

使用道具 举报

发表于 2020-9-25 12:40 | 显示全部楼层
本帖最后由 kongel 于 2020-9-25 12:42 编辑

试过了,计数有问题,有些属性值不同也统计进去了

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2020-11-1 07:01 来自手机 | 显示全部楼层
学习学习学习一下!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 08:27 , Processed in 0.232753 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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