明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: K_猫叔

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

[复制链接]
 楼主| 发表于 2015-9-17 10:00:23 | 显示全部楼层
本帖最后由 K_猫叔 于 2015-9-17 16:42 编辑
mmmmmm 发表于 2015-9-15 20:58
建议你以字体中间(或定位点),使用bpoly或者boundary命令重建外侧边界边界并做成组。
最后叠图处理一下错 ...

。。。。。。。。。。不好意思,不知道怎么删回复,一下子发太多了,想问一下http://bbs.mjtd.com/thread-95135-1-1.html这个帖子里,
(setq lst (vl-sortlst(function (lambda (x y)(< (car(car x))(car (car y)))))))         
  ;
根据给定的比较函数来对表中的元素排序
(setq lst (vl-sort lst (function (lambda (x y)(>(cadr (car x))(cadr (car y)))))))
这两句里xy分别表示什么啊?

回复

使用道具 举报

 楼主| 发表于 2015-9-17 14:49:32 | 显示全部楼层
本帖最后由 K_猫叔 于 2015-9-17 15:29 编辑
mmmmmm 发表于 2015-9-15 20:58
建议你以字体中间(或定位点),使用bpoly或者boundary命令重建外侧边界边界并做成组。
最后叠图处理一下错 ...

     你好,你还在吗?我发了一张dwg附图,是我从测量单位提供的地形图里筛选了具有代表性的一小块。

     主要问题是表示房屋的线段不闭合,有的甚至不相交,不相交的话连BOUNDARY都没法用了。

     怎么通过lisp语言检索居民地的相应图层内的多段线和直线来自动生成相应的闭合边界呢?以字体中间或定位点是什么意思呀?
   
回复

使用道具 举报

 楼主| 发表于 2015-9-17 17:00:25 | 显示全部楼层
本帖最后由 K_猫叔 于 2015-9-17 17:01 编辑
mmmmmm 发表于 2015-9-17 16:36
我把DWG看了一下,因为图形不规则的地方有点多,一步到位的全部做好有困难,建议你分步骤做。
1)仅处理文 ...

将文字和pline生成一个组,不是很懂啊。。。
我是个小白,请再看一下我第一页的一条回复,我有些语句不懂想问你一下。
回复

使用道具 举报

 楼主| 发表于 2015-9-17 17:34:01 | 显示全部楼层
mmmmmm 发表于 2015-9-17 16:36
我把DWG看了一下,因为图形不规则的地方有点多,一步到位的全部做好有困难,建议你分步骤做。
1)仅处理文 ...

mmmmmm,还在吗?将文字和pline生成一个组是怎么实现呀?我真的是小白,只能写一写很简单的或者看懂别人写的程序,不知道能不能给个模板呀?
还有请问一下,http://bbs.mjtd.com/thread-95135-6-1.html这个帖子貌似对我来说还挺管用的,但是有些语句我看不太懂,
这两句
(setq lst (vl-sort lst (function (lambda (x y)(< (car (car x)) (car (car y)))))))           ; 根据给定的比较函数来对表中的元素排序
(setq lst (vl-sort lst (function (lambda (x y)(> (cadr (car x)) (cadr (car y)))))))
不知道xy怎么就突然出现了啊 表示什么呢?
(foreach x lst                                          
   (setq pt(car x)m2(cadr x) d (caddrx))                     ;每一个元素按顺序对应
    (maketext (strcat Textbh (itoa i)) (list(car pt) (+ (cadr pt) (* 1.2 TextHeight))))
这两句里面x我也不是很明白,(list (car pt) (+ (cadr pt) (* 1.2 TextHeight))))这句的意义是什么呢?拜托拜托~~请帮我看一下吧
回复

使用道具 举报

发表于 2015-9-17 17:46:26 | 显示全部楼层
本帖最后由 mmmmmm 于 2015-9-17 17:48 编辑

我大概针对你的图写了一下比较简单的程序,可以自动处理一半的图形

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

恩恩,感谢~~我先学习一下,有不懂的再问你哈,不知道你还有时间帮我看看上面的另外一个帖子的问题啊,看不懂的语句我都贴粗来了,求教啊~~~

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2015-9-17 19:51:32 | 显示全部楼层
mmmmmm 发表于 2015-9-17 17:46
我大概针对你的图写了一下比较简单的程序,可以自动处理一半的图形

(vla-getboundingbox (vlax-ename->vla-object sn) 'll 'ur)还在吗?请问这句里面vla-getboundingbox什么意思啊?我查阅书籍和函数目录都找不到
回复

使用道具 举报

发表于 2015-9-17 22:00:22 | 显示全部楼层
K_猫叔 发表于 2015-9-17 19:51
(vla-getboundingbox (vlax-ename->vla-object sn) 'll 'ur)还在吗?请问这句里面vla-getboundingbox什么 ...

请教vla-getboundingbox用法
http://bbs.mjtd.com/forum.php?mo ... amp;fromuid=7309019
回复

使用道具 举报

发表于 2015-9-17 22:20:54 | 显示全部楼层
应该看得得见吧

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2015-9-18 10:31:14 | 显示全部楼层
dingtiedt 发表于 2015-9-17 22:20
应该看得得见吧

恩恩看到了,不好意思请问一下,能帮忙看一下http://bbs.mjtd.com/thread-95135-6-1.html这个帖子有些语句我看不太懂,
这两句
(setq lst (vl-sort lst (function (lambda (x y)(< (car (car x)) (car (car y)))))))           ; 根据给定的比较函数来对表中的元素排序
(setq lst (vl-sort lst (function (lambda (x y)(> (cadr (car x)) (cadr (car y)))))))
不知道xy怎么就突然出现了啊 表示什么呢?
(foreach x lst                                          
   (setq pt(car x)m2(cadr x) d (caddrx))                     ;每一个元素按顺序对应
    (maketext (strcat Textbh (itoa i)) (list(car pt) (+ (cadr pt) (* 1.2 TextHeight))))
这两句里面x我也不是很明白,(list (car pt) (+ (cadr pt) (* 1.2 TextHeight))))这句的意义是什么呢?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 17:27 , Processed in 0.184685 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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