找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5884|回复: 21

[编程申请] 求按图层统计面积升级版功能:按不同标注文字分类统计封闭曲线面积

[复制链接]

已领礼包: 912个

财富等级: 财运亨通

发表于 2013-5-21 16:00:17 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 yangliucq 于 2013-5-21 17:48 编辑

我是做园林的,经常需要统计灌木数量,刚才看到老大发布了按图层统计面积的插件,奈何在我电脑上无法使用,不能体验其功能,只能说与佛无缘了。不过想来应该无法实现我一直向往的这个功能:按不同标注文字分类统计封闭曲线面积。附件在下面,希望各位编程高手能让我实现这个梦想,缓解我重复庞大的加法体力劳动。

贴一下浩辰cad专业版的统计求和功能,可以实现我说的“标注文字在封闭曲线内”的面积统计,“引出标注”的方式浩辰这个功能应该也实现不了,只是我自己的一种愿望。
未标题-1.jpg
浩辰cad专业版统计求和功能.jpg

样板文件.zip

67.51 KB, 下载次数: 30, 下载积分: D豆 -1 , 活跃度 1

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

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-21 16:15:53 | 显示全部楼层
看你的话,如果我给你写你也用不了。
程序是死的,人要适应程序,你可以组织下数据,你需要处理的东西都放一个层上面就行了。

另外,你说统计灌木数量,那应该是块的数量,你再统计文字啥的是不是求远了。

再另外,以后有求助的,除了附上DWG图外,最好附一个图片文件,里面详细标示下,让大家直接在页面上就能看到,方便不同的人就你的问题解答。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 912个

财富等级: 财运亨通

 楼主| 发表于 2013-5-21 16:24:25 | 显示全部楼层
XDSoft 发表于 2013-5-21 16:15
看你的话,如果我给你写你也用不了。
程序是死的,人要适应程序,你可以组织下数据,你需要处理的东西都放 ...

嗯,你说的对,我把截图加上去。但是我说这个是灌木不是乔木,乔木我们都是做成块的,这个有插件可以统计的。每个项目灌木的种类有几十到上百种,按图层统计的话,每种灌木建一个图层,就会有几十上百个图层,这样又会带来另外一个问题,我要关闭灌木图层的话,就有点费时了。我之所以有这个想法,是因为我看到浩辰专业版里面有个“统计求和”的命令,跟我这个想法是完全一样的,只是浩辰我们没有使用,所以只有退而求其次了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-5-21 17:16:13 | 显示全部楼层
图层是组织的一种方式,对CAD而言最终认的是实体,而要让CAD 程序能把这些实体区分出来有多种办法,这要在绘制阶段组织,线都是一个层又和文字没有关联,任何程序都做不到自动统计的。
解决的办法很多种,比如在进行标注的时候,自动生成的闭合线增加植被名称的扩展数据,这样就可以用 SSget 过滤选择出来
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 912个

财富等级: 财运亨通

 楼主| 发表于 2013-5-21 17:24:37 | 显示全部楼层
eachy 发表于 2013-5-21 17:16
图层是组织的一种方式,对CAD而言最终认的是实体,而要让CAD 程序能把这些实体区分出来有多种办法,这要在 ...

“自动生成的闭合线增加植被名称的扩展数据”,这个不知您指的什么操作才能实现?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-5-21 17:31:34 | 显示全部楼层
EACHY大师说的对,你的“引出标注”和他对应的乔木曲线有关联吗? 怎么知道这个标注就是对这个乔木?

你不用块的话,要么组织成组,要么把标注的信息写到曲线的扩展实体数据里面。

所以说,如果你的那些数据没关系,你应该先申请个 点个 乔木 点个标注,先把他们关联起来的工具。

另外你说的浩辰,是园林方面的吗?你能不能做一个说的“统计求和”的动画贴来论坛,借鉴借鉴。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 912个

财富等级: 财运亨通

 楼主| 发表于 2013-5-21 17:39:59 | 显示全部楼层
本帖最后由 yangliucq 于 2013-5-21 17:49 编辑
Lispboy 发表于 2013-5-21 17:31
EACHY大师说的对,你的“引出标注”和他对应的乔木曲线有关联吗? 怎么知道这个标注就是对这个乔木?

你 ...


我们灌木是用封闭曲线来表示的,有点像草坪,都是成片种植的。引出标注是从封闭曲线内部指引出来的,只能这样描述了;还有一种方式是文字直接标注在封闭曲线内部的。浩辰是国产通用cad平台,我见过但是没用过,内核跟autocad是一样的,所以不管从操作还是界面就是autocad的孪生兄弟,只是限于国产的技术问题,在操作体验上会有区别,据用过浩辰cad的人说,对于体积庞大的文件来说,浩辰操作起来会很卡且容易崩溃;但是正因为是国产的,所以加入了一些特别的命令,我说的“统计求和”就是其中之一。动画我是没有的,不过有一张生成灌木表格截图,贴到一楼给大家看看,如果还需要其他的信息我再找别人要。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-21 17:50:24 | 显示全部楼层
yangliucq 发表于 2013-5-21 17:39
我们灌木是用封闭曲线来表示的,有点像草坪,都是成片种植的。引出标注是从封闭曲线内部指引出来的,只能 ...

你的标注和灌木是分开的,就是你认为他们是标注和灌木,别人可能看成别的,机器不认,你必须在标注的时候就和曲线关联起来。

不过如果你处理旧图,如果一个封闭曲线里面只有一个 “标注”,那么可以给你写个工具,自动把他们关联起来。但能保证封闭曲线内没别的文字? 或者你的标注文字有明显的区别其他字的关键字,举个例子,文字内容都含有园林这样。

组织数据很重要,图层,图块,线型什么的,就是方便计算机能快速的找到需要的实体根据特征。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-21 17:51:26 | 显示全部楼层
yangliucq 发表于 2013-5-21 17:39
我们灌木是用封闭曲线来表示的,有点像草坪,都是成片种植的。引出标注是从封闭曲线内部指引出来的,只 ...

我觉得你还是应该把一种“植物”放在一个层上,层上没别的东西。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 912个

财富等级: 财运亨通

 楼主| 发表于 2013-5-21 17:56:12 | 显示全部楼层
XDSoft 发表于 2013-5-21 17:50
你的标注和灌木是分开的,就是你认为他们是标注和灌木,别人可能看成别的,机器不认,你必须在标注的时候 ...

嗯,虽然我不懂编程,但是你说的还是能理解的,的确是你说的这样软件才能辨认实体特征或关键数据,只是我看到浩辰那个统计求和的功能马上就心向神往了,但是具体操作我还是不了解的,等过段时间有空了我装一个浩辰cad专业版,看看它那个功能到底是怎么处理数据的,到时候我会把具体的情况发上来给大家看看。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-21 17:58:50 | 显示全部楼层
yangliucq 发表于 2013-5-21 17:24
“自动生成的闭合线增加植被名称的扩展数据”,这个不知您指的什么操作才能实现?

你看你这图,引出的文字和 封闭的曲线没任何关系,程序找不到的。 所有的信息都是分散的。
你要有颜色啥区分也行,也没有。

既然你有统计的需要,那么在画的时候就应该把每种植物放到不同的层上。


QQ截图20130521175640.png

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-5-21 18:01:00 | 显示全部楼层
yangliucq 发表于 2013-5-21 17:24
“自动生成的闭合线增加植被名称的扩展数据”,这个不知您指的什么操作才能实现?

一个简单的示例
  1. (defun c:tt (/ doc ms)
  2.   (setq doc (vla-get-activedocument (vlax-get-acad-object))
  3. ms  (vla-get-modelspace doc)
  4.   )
  5.   (vl-catch-all-apply
  6.     (function
  7.       (lambda (/ p p1 p2 pl str)
  8. (while (and (setq p (getpoint "\n点选标注区域: "))
  9.       (setq p1 (getpoint p "\n引出点: "))
  10.       (setq pl (bpoly p))
  11.       (setq str (getstring "\n植被名称: "))
  12.         )
  13.    (vl-cmdf ".pline"
  14.      "_non"
  15.      p
  16.      "_non"
  17.      p1
  18.      "_non"
  19.      (setq p2 (polar p1 0. 2.))
  20.      ""
  21.    )
  22.    (setq txt (vla-addtext ms str (vlax-3d-point p2) 2.5))
  23.    (vla-put-alignment txt acalignmentmiddleleft)
  24.    (vla-put-textalignmentpoint txt (vlax-3d-point p2))
  25.    (setq el (entget pl))
  26.    (regapp str)
  27.    (entmod
  28.      (append el (list (list -3 (list str (cons 1000 str)))))
  29.    )
  30. )
  31.       )
  32.     )
  33.   )
  34.   (vlax-release-object doc)
  35.   (vlax-release-object ms)
  36.   (princ)
  37. )
比如标注了“萱草",统计的时候可以用 (ssget "x" '((-3("萱草")))) 将所有的萱草线选择出来进行统计,也可以通过拾取”萱草“文字后再构造选择集进行统计,实现自动统计要进行系统规划才行。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 912个

财富等级: 财运亨通

 楼主| 发表于 2013-5-21 18:02:03 | 显示全部楼层
XDSoft 发表于 2013-5-21 17:58
你看你这图,引出的文字和 封闭的曲线没任何关系,程序找不到的。 所有的信息都是分散的。
你要有颜色啥 ...

就我的这个具体情况而言,你说的关联我是不是可以这样理解,对于引出标注,就是封闭曲线内部会有一个标注点,这个标注点作为一个关键点,指引了封闭曲线和文字之间的对应关系,当然,这种关系是靠文字下部的水平线和与水平线相连接的斜线来联系的,不知道我的理解在编程上对不对,乱猜的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-21 18:03:11 | 显示全部楼层
yangliucq 发表于 2013-5-21 17:56
嗯,虽然我不懂编程,但是你说的还是能理解的,的确是你说的这样软件才能辨认实体特征或关键数据,只是我 ...

他那个东西在统计前,画的东西肯定也是他的工具做的。

像上面的木春菊, 要不在一个层上,要不用专门的工具标注文字,标完后保存信息。

我推荐以后画图,一种植物一个图层,或者同层,但不同颜色区分开来。

你都是一个颜色,一个线型,一个图层,文字还是单独的(也没和植物组成组),只有画图的人知道哪个是哪个,换谁也统计不出来。何况机器。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-5-21 18:04:44 | 显示全部楼层
yangliucq 发表于 2013-5-21 18:02
就我的这个具体情况而言,你说的关联我是不是可以这样理解,对于引出标注,就是封闭曲线内部会有一个标注 ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 03:16 , Processed in 0.221217 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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