找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3868|回复: 17

[编程申请] 墙长统计

[复制链接]
发表于 2014-3-29 09:28:08 | 显示全部楼层 |阅读模式

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

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

×
大哥能不能帮忙编一个统计墙长的lisp程序,选中所有墙之后电脑计算后在屏幕上显示出墙长总共有多长,这样就不用再一道墙一道墙的加了。
QQ截图20100329092117.gif
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2014-3-29 13:01:54 | 显示全部楼层
将墙的中心线放在一个特定层上  遍历层  统计长度   这是我的想法 谢谢

点评

你说的很对,一个工程图纸墙有好多好多,要是一道墙一道墙的画不如手算了。如果仁兄能用lisp把墙中线画出来到一个特定的图层上面,再统计长度也能解决问题。但是特别要注意T形墙和墙封头的问题。  详情 回复 发表于 2014-3-29 15:24
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-29 15:24:06 来自手机 | 显示全部楼层
小妖妖 发表于 2014-3-29 13:01
将墙的中心线放在一个特定层上  遍历层  统计长度   这是我的想法 谢谢

你说的很对,一个工程图纸墙有好多好多,要是一道墙一道墙的画不如手算了。如果仁兄能用lisp把墙中线画出来到一个特定的图层上面,再统计长度也能解决问题。但是特别要注意T形墙和墙封头的问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-3-29 21:29:40 | 显示全部楼层
如果是天正实体统计就简单,弄成Line 就是自找麻烦

点评

大哥,一般是天正画的,但是有些的墙厚不一样,需要把它们分类单算。大哥,如果是pline会不会好弄呢?谢谢  详情 回复 发表于 2014-3-29 22:10
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-29 22:10:48 | 显示全部楼层
st788796 发表于 2014-3-29 21:29
如果是天正实体统计就简单,弄成Line 就是自找麻烦

大哥,一般是天正画的,但是有些的墙厚不一样,需要把它们分类单算。大哥,如果是pline会不会好弄呢?谢谢
QQ截图20100329220904.gif
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-3-30 08:34:45 | 显示全部楼层
Pline 画的才不好统计,天正墙体都有信息的,墙厚、长度等,统计方便

点评

嗯,我也都是从天正上面挪出来的墙图层,我见单个墙体信息都有,要是所有墙的总信息不知道从哪儿查看,天正小弟也用的不太熟,还望大哥给指点指点。谢谢  详情 回复 发表于 2014-3-30 10:46
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-30 10:46:42 来自手机 | 显示全部楼层
st788796 发表于 2014-3-30 08:34
Pline 画的才不好统计,天正墙体都有信息的,墙厚、长度等,统计方便

嗯,我也都是从天正上面挪出来的墙图层,我见单个墙体信息都有,要是所有墙的总信息不知道从哪儿查看,天正小弟也用的不太熟,还望大哥给指点指点。谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-3-30 12:47:46 来自手机 | 显示全部楼层
hphkjz 发表于 2014-3-30 10:46
嗯,我也都是从天正上面挪出来的墙图层,我见单个墙体信息都有,要是所有墙的总信息不知道从哪儿查看,天 ...

总信息要写程序统计了

点评

应该是的大哥,可小弟才能有限,大哥技术精湛,以前仰仗大哥给帮了不少的忙。这次还想劳烦大哥再给编一个这样的程序,大哥你看可好?  详情 回复 发表于 2014-3-30 13:44
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-30 13:44:15 来自手机 | 显示全部楼层
st788796 发表于 2014-3-30 12:47
总信息要写程序统计了

应该是的大哥,可小弟才能有限,大哥技术精湛,以前仰仗大哥给帮了不少的忙。这次还想劳烦大哥再给编一个这样的程序,大哥你看可好?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-3-30 14:20:39 来自手机 | 显示全部楼层
hphkjz 发表于 2014-3-30 13:44
应该是的大哥,可小弟才能有限,大哥技术精湛,以前仰仗大哥给帮了不少的忙。这次还想劳烦大哥再给编一个 ...

你要怎样统计?

点评

大哥,就是单把天正墙的图层挪出来,然后分类统计每种墙的长度,在屏幕上显示出来,就像第二个截图那样,大哥。  详情 回复 发表于 2014-3-30 14:56
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-30 14:56:40 来自手机 | 显示全部楼层
st788796 发表于 2014-3-30 14:20
你要怎样统计?

大哥,就是单把天正墙的图层挪出来,然后分类统计每种墙的长度,在屏幕上显示出来,就像第二个截图那样,大哥。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-3-30 15:02:57 来自手机 | 显示全部楼层
hphkjz 发表于 2014-3-30 14:56
大哥,就是单把天正墙的图层挪出来,然后分类统计每种墙的长度,在屏幕上显示出来,就像第二个截图那样, ...

怎么个分类法?

点评

就是一个图纸有两种或三种墙厚,把他们分开来统计,大哥  详情 回复 发表于 2014-3-30 15:21
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-30 15:21:09 来自手机 | 显示全部楼层
st788796 发表于 2014-3-30 15:02
怎么个分类法?

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-3-30 23:57:17 | 显示全部楼层
本帖最后由 st788796 于 2014-3-30 23:59 编辑
hphkjz 发表于 2014-3-30 15:21
就是一个图纸有两种或三种墙厚,把他们分开来统计,大哥

天正一直在变化,下面程序供参考,可以扣除门窗洞开,但遇到转角窗时会短半个墙厚
分析这个天正数据要综合运用 DXF 组码、OBJECT对象,包括借助 XDRXAPI
  1. (defun c:tt (/ ss el)
  2.   (defun _getwalllength        (e / el _HasWindows len)
  3.     (defun _HasWindows (el)
  4.       (assoc 330 (cdr (member (assoc 330 el) el)))
  5.     )
  6.     (setq el  (entget e)
  7.           len (apply 'distance (xdrx_entity_getstretchpoint e))
  8.     )
  9.     (if        (_HasWindows el)
  10.       (- len
  11.          (apply        '+
  12.                 (mapcar        '(lambda (a)
  13.                            (cdr (assoc 40 (entget a)));_门窗洞开尺寸
  14.                          )
  15.                         (mapcar
  16.                           'cdr
  17.                           (vl-remove-if-not
  18.                             '(lambda (x)
  19.                                (and (= (car x) 330)
  20.                                     (/=        (cdr (assoc 0 (entget (cdr x))))
  21.                                         "BLOCK_RECORD"
  22.                                     )
  23.                                );_门窗
  24.                              )
  25.                             el
  26.                           )
  27.                         )
  28.                 )
  29.          )
  30.       )
  31.       len
  32.     )
  33.   )
  34.   (if (setq ss (ssget '((0 . "TCH_WALL"))))
  35.     (progn
  36.       (setq el
  37.                (mapcar
  38.                  '(lambda (x)
  39.                     (list (vlax-get (vlax-ename->vla-object x) 'TotalWidth);_墙厚
  40.                           x
  41.                     )
  42.                   )
  43.                  (xdrx_pickset->ents ss)
  44.                )
  45.             el (XD::List:GroupByIndex el 0)
  46.       )
  47.       (princ (mapcar '(lambda (x)
  48.                         (list (car x)
  49.                               (apply '+
  50.                                      (mapcar '(lambda (a)
  51.                                                 (_getwalllength a)
  52.                                               )
  53.                                              (cdr x)
  54.                                      )
  55.                               )
  56.                         )
  57.                       )
  58.                      el
  59.              )
  60.       )
  61.     )
  62.   )
  63.   (princ)
  64. )

点评

大哥,是不是lisp数据库还不全呢,我运行时出现no function definition: VLAX-ENAME->VLA-OBJECT 这个该怎么解决哇大哥,我用的是CAD2009  详情 回复 发表于 2014-3-31 06:15
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-31 06:15:24 | 显示全部楼层
st788796 发表于 2014-3-30 23:57
天正一直在变化,下面程序供参考,可以扣除门窗洞开,但遇到转角窗时会短半个墙厚
分析这个天正数据要综 ...

大哥,是不是lisp数据库还不全呢,我运行时出现no function definition: VLAX-ENAME->VLA-OBJECT       这个该怎么解决哇大哥,我用的是CAD2009
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 02:06 , Processed in 0.518400 second(s), 63 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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