找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 867|回复: 8

[每日一码] 选择的填充按图层或者模式统计面积并生成CSV报表文件

[复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2018-12-5 22:50:12 | 显示全部楼层 |阅读模式

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

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

×
  1. (defun c:hareas        (/ _writefile a b key out s)
  2.   (defun _writefile (filename lst / file)
  3.     (cond ((and        (eq 'str (type filename))
  4.                 (setq file (open filename "w"))
  5.            )
  6.            (foreach x lst (write-line x file))
  7.            (close file)
  8.            filename
  9.           )
  10.     )
  11.   )
  12.   (initget 0 "Pattern Layer")
  13.   (if
  14.     (and (or (setq key (getkword "\nPattern or LayerName [<Pattern>]: "))
  15.              (setq key "Pattern")
  16.          )
  17.          (setq s (ssget '((0 . "hatch"))))
  18.     )
  19.      (progn
  20.        (setq s
  21.               (mapcar
  22.                 '(lambda (x)
  23.                    (cons (if (= "Pattern" key)
  24.                            (vla-get-patternname x)
  25.                            (vla-get-layer x)
  26.                          )
  27.                          (if (vl-catch-all-error-p
  28.                                (setq
  29.                                  a (vl-catch-all-apply 'vla-get-area (list x))
  30.                                )
  31.                              )
  32.                            0.0
  33.                            a
  34.                          )
  35.                    )
  36.                  )
  37.                 (mapcar        'vlax-ename->vla-object
  38.                         (vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))
  39.                 )
  40.               )
  41.        )
  42.        (foreach        h s
  43.          (if (setq b (assoc (car h) out))
  44.            (setq out (subst (cons (car b) (+ (cdr b) (cdr h))) b out))
  45.            (setq out (cons h out))
  46.          )
  47.        )
  48.        (print
  49.          (_writefile
  50.            (strcat (getvar 'dwgprefix)
  51.                    (vl-filename-base (getvar 'dwgname))
  52.                    "_Hatch_"
  53.                    key
  54.                    "_Areas.csv"
  55.            )
  56.            (mapcar '(lambda (x)
  57.                       (strcat (car x) "," (vl-princ-to-string (cdr x)))
  58.                     )
  59.                    out
  60.            )
  61.          )
  62.        )
  63.        (if (setq b (vl-remove-if-not '(lambda (x) (= 0 (cdr x))) out))
  64.          (alert
  65.            (strcat (itoa (length b)) " hatches have no area property!")
  66.          )
  67.        )
  68.      )
  69.   )
  70.   (princ)
  71. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 5个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

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

使用道具 举报

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-12-6 11:13:07 | 显示全部楼层
kqqt6236 发表于 2018-12-6 08:30
要是能生成EXCEL就更好了。

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

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 137个

财富等级: 日进斗金

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 19:45 , Processed in 0.253964 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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