明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2438|回复: 5

[求助]统计图上所有多义线面积(含非封闭)并写到文字上

[复制链接]
发表于 2010-8-7 23:37 | 显示全部楼层 |阅读模式

图上有上千个多义线所生成的面积(含非封闭),应如何选取某范围后提取

1、面积等于1000、

2、大于等于500小于1000

3、小于500后,

统计数量后生成文字。

如:

面积等于1000 数量=800

面积大于等于500及小于1000 数量=150

面积小于500 数量=250

谢谢~~

发表于 2010-8-7 23:48 | 显示全部楼层
你是要选择图上的多义线还是文字面积?
 楼主| 发表于 2010-8-8 00:02 | 显示全部楼层
gufeng发表于2010-8-7 23:48:00你是要选择图上的多义线还是文字面积?

选择图上的多义线~提取其面积~~

发表于 2010-8-8 07:40 | 显示全部楼层
qq534206572
发表于 2010-8-8 12:41 | 显示全部楼层

用插件直接查询你所选的范围就行了

发表于 2010-8-8 13:45 | 显示全部楼层
[money=15]
  1. (defun c:Test (/ <500NUM     =1000NUM  >=500<1000NUM
  2.    OBJ      OBJ_AREA  OBJ_I      OBJ_VLA
  3.    OLDCMDECHO  PT   TEXT_H      TEXT_JL
  4.   )
  5. (setq obj (ssget '((0 . "*POLYLINE"))))
  6. (if obj
  7. (progn
  8. (vl-load-com)
  9. (setq oldcmdecho (getvar "cmdecho"))
  10. (setvar "cmdecho" 0) ;_禁止回显
  11. (setq text_h 3) ;_文字的高度
  12. (setq text_jl 10) ;_文字的行间距,使用的是单选文字
  13. (setq =1000Num 0) ;_面积 =1000 的个数
  14. (setq >=500<1000Num 0) ;_面积等(and >=500 <1000) 的个数
  15. (setq <500Num 0) ;_面积 <500 的个数
  16. (setq obj_i -1)
  17. (repeat (sslength obj)
  18. (setq obj_vla (vlax-ename->vla-object
  19. (ssname obj (setq obj_i (1+ obj_i)))
  20. )
  21. ) ;_Vla对象
  22. (setq obj_area (vla-get-Area obj_vla)) ;_面积
  23. (cond
  24. ((= obj_area 1000)
  25. (setq =1000Num (1+ =1000Num))
  26. )
  27. ((and (>= obj_area 500) (< obj_area 1000))
  28. (setq >=500<1000Num (1+ >=500<1000Num))
  29. )
  30. ((< obj_area 500)
  31. (setq <500Num (1+ <500Num))
  32. )
  33. )
  34. )
  35. (setq pt (getpoint "\n指定文字插入点:"))
  36. (command "-text"
  37. "j"
  38. "ml"
  39. pt
  40. text_h
  41. 0
  42. (strcat "面积等于1000 数量=" (itoa =1000Num))
  43. )
  44. (command "-text"
  45. "j"
  46. "ml"
  47. (setq pt (polar pt (* pi 1.5) text_jl))
  48. text_h
  49. 0
  50. (strcat "\n面积大于等于500及小于1000 数量="
  51. (itoa >=500<1000Num)
  52. )
  53. )
  54. (command "-text"
  55. "j"
  56. "ml"
  57. (polar pt (* pi 1.5) text_jl)
  58. text_h
  59. 0
  60. (strcat "\n面积小于500 数量=" (itoa <500Num))
  61. )
  62. (setvar "cmdecho" oldcmdecho)
  63. )
  64. )
  65. (princ)
  66. )
[/money]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 15:58 , Processed in 0.402100 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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