明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: K_猫叔

[已解答] 求助按图层统计面积,按不同标注文字分类统计面积~~

[复制链接]
发表于 2015-9-18 10:53 | 显示全部楼层
K_猫叔 发表于 2015-9-18 10:31
恩恩看到了,不好意思请问一下,能帮忙看一下http://bbs.mjtd.com/thread-95135-6-1.html这个帖子有些语句 ...

你理解lambda这个函数的意义,就理解了其中x的用意。

x就是指这个函数中你提供的表中的每一个参数,只不过执行的时候,是每一小次执行一个参数,y就是指除了x以外的另一个参数

x,y突然出现,是省去了,你重新定义变量,如(setq x (xx))(setq y(yy)),如果一个列表中五百个参数,那你就要定义五百次。

你还是要看看lambda和foreach函数的意义
回复

使用道具 举报

 楼主| 发表于 2015-9-18 13:55 | 显示全部楼层
dingtiedt 发表于 2015-9-18 10:53
你理解lambda这个函数的意义,就理解了其中x的用意。

x就是指这个函数中你提供的表中的每一个参数,只 ...

恩恩 好的谢谢~~~
回复

使用道具 举报

发表于 2015-9-18 14:13 | 显示全部楼层
线是line的话可以用pedit批量把连接成多段线,再进行计算
回复

使用道具 举报

 楼主| 发表于 2015-9-21 15:29 | 显示全部楼层
本帖最后由 K_猫叔 于 2015-9-21 15:31 编辑
mmmmmm 发表于 2015-9-17 17:46
我大概针对你的图写了一下比较简单的程序,可以自动处理一半的图形

mmmmmm大神~~!!还在吗?想问一下,因为拆迁征地只需要计算两岸设计控制线以内的房屋,可不可能用程序实现将拆迁房屋按1层、2层楼层分类(与砖、混无关仅按楼层分类),并且要是在设计控制线以内的,然后分别统计出它们的面积?类似我图上的分类,按1、2、简分类,还要排除没有碰到设计控制线的房屋

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2015-9-21 15:46 | 显示全部楼层
本帖最后由 mmmmmm 于 2015-9-21 16:12 编辑

你可以将控制线范围连成一个封闭的pline,然后提取pline端点,调用ssget “cp"来选择范围内和穿过的封闭pline。
但是前提依然是需要将房屋的轮廓及数字对应好,否则判断时容易出错。如附图所示,无法简单判断绿色的框是2层还是1层的。当然可以增加判断情况来保证,但是实际情况有很多种,程序不能全部包括,程序结果也就不可靠。
实际程序设计中,可以考虑将程序不是很确定的结果,置于单独的图层,后期由人工调整完成。

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2015-9-22 09:04 | 显示全部楼层
解决了???求成果
回复

使用道具 举报

 楼主| 发表于 2015-9-22 10:34 | 显示全部楼层
spp_wall 发表于 2015-9-22 09:04
解决了???求成果

没有啊 只能解决一些啊 因为我的图太粗糙了 。。。。还是要人工辅助,我现在都想放弃了。
回复

使用道具 举报

发表于 2015-9-22 11:03 | 显示全部楼层
本帖最后由 dingtiedt 于 2015-9-22 11:23 编辑

第一,肯定先要把那些不到框边的那些线延长到框边,形成封闭区域,这个不解决,是没有办法算出面积的,因为有的间隙太大,容差设到最大也解决不了。可在搜索批量延长之类的。
第二,langjs有选择文字获取面积导出excel的程序。当然只能得到一层的面积,再在excel加上层数,可得到总面积。
第三,找一个能在图上标注面积和序号的,hao3ren和香田里浪人改过lanjs的,在论坛里找找吧。这样图上面积和导出的面积能对上号。当然最好的是把langjs的修改成能在图上标上序号。
这样工程量要少很多。
祝你成功!


找到langjs那个选择文字获得面积的那个程序,再把一楼那个能在图上标注序号的部分移植到上面,就可以了。
回复

使用道具 举报

发表于 2015-9-22 11:42 | 显示全部楼层
K_猫叔 发表于 2015-9-22 10:34
没有啊 只能解决一些啊 因为我的图太粗糙了 。。。。还是要人工辅助,我现在都想放弃了。

你也承认你的图太粗糙,程序不可能把所有的情况考虑到并相应有处理代码,所以人工后期干预是肯定的。
事实上,程序的目的仅仅是做【简单重复的】工作,节省体力,不能节省智力的。但是体力的节省,也是时间和效率的提升。
回复

使用道具 举报

发表于 2015-9-22 17:36 | 显示全部楼层
解决内部不闭合的问题,把所有的多段线炸开转成直线,运用G版的程序,就能实现,下面就可运用你一楼找到的程序,获取面积,要是能修改那个取文字得到面积的那个程序,还可以更快捷。

【Gu_xl】[讨论]根据选择的直线·、圆弧等实体,自动生成有实体围成的所有边界
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=80267&fromuid=7309019

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 16:55 , Processed in 0.296906 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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