【求助】如何批量获得封闭多段线内部文字的选择集
如图,颜色的色块是房子,中间的文字是层数。本人是做城市规划的,在实际工作中经常要遇到计算建筑面积的问题。这时候往往要一个个地选建筑的边线,计算其占地面积,再乘以该房子的层数。规模一大的话,人工计算要累死。
故在此求有没有什么方法:我先选择外面的建筑边线,然后获得建筑边线内部的文字的选择集?如果这些文字和每个房子的图元名能够一一对应起来构建成表就更好了,能够省很多的人工选择的时间。
求各位高手帮忙。
Gu_xl 发表于 2011-7-7 22:20
回复 iancool 的帖子
一个粗糙的多段线选择内部图元函数,根据你的示意图,足够满足需要了,根据这个函 ...
如果多段线中有圆弧,可能就不准确了吧? 本帖最后由 Gu_xl 于 2011-7-7 22:22 编辑
回复 iancool 的帖子
一个粗糙的多段线选择内部图元函数,根据你的示意图,足够满足需要了,根据这个函数,你就可以写出满足你的要求的程序了
;;;测试: (SSGetByPoly (car (entsel "\n 选择多段线: ")) '((0 . "*text")))
(defun SSGetByPoly (poly filter / pl ss)
(setq pl (mapcar 'cdr (vl-remove-if '(lambda (X) (/= 10 (car x))) (entget poly))))
(setq ss (ssget "wp" pl filter))
)
楼上好东西,很实用,谢谢g版。 如果都是这种情况的话,可以有更简便的方法:批量选择所有房屋图形和层数文字后,自动分类统计出每栋楼的占地面积和建筑面积,并汇总。
如果像阳台等有些要算半面积,不知道有没有这种情况? G版的程序学习了~~~!!!
页:
[1]