1681008 发表于 2014-11-26 14:16:28

统计封闭多线段内圆的数量

统计封闭多线段内圆的数量
如图



有劳论坛大神百忙中抽空弄个lsp用用!谢谢!!

fan_zh 发表于 2014-11-27 10:37:20

本帖最后由 fan_zh 于 2014-11-27 11:02 编辑

(cdr(assoc ent))
应为(cdr(assoc 0 ent))

补充一下,该程序选择的多边形必须全在屏幕范围内,否则程序出错

ZZXXQQ 发表于 2014-11-27 08:23:05

本帖最后由 ZZXXQQ 于 2014-11-27 19:57 编辑

(defun c:tt ()
(while (and (setq s1 (entsel "\n选择多段线: "))
             (setq ent (entget(car s1)))
             (= (cdr(assoc 0 ent)) "LWPOLYLINE"))
   (setq ptlst (list))
   (foreach x ent (if (= (car x) 10) (setq ptlst (cons (cdr x) ptlst))))
   (princ (setq n (sslength(ssget "WP" ptlst '((0 . "CIRCLE"))))))
)
(princ)
)

1681008 发表于 2018-3-29 09:38:41

fan_zh 发表于 2014-11-28 13:32


请教下大神,框选范围怎么改成封闭多线段范围呢?
因为多数情况下圆种类、数量要统计的范围,都是用封闭多线段来划分的不规则图形,不好框选,
如果改成统计所选封闭多线段范围内各种圆的直径、数量并列表,就方便很多了。万分谢谢!谢谢!!

1681008 发表于 2014-11-27 10:09:32

谢谢~
试了下命令栏提示:
命令: TT
选择多段线: 参数太少

1681008 发表于 2014-11-27 10:10:26

ZZXXQQ 发表于 2014-11-27 08:23 static/image/common/back.gif


谢谢~
试了下命令栏提示:
命令: TT
选择多段线: 参数太少

1681008 发表于 2014-11-27 11:45:54

fan_zh 发表于 2014-11-27 10:37 static/image/common/back.gif
(cdr(assoc ent))
应为(cdr(assoc 0 ent))




谢谢!
改了后提示
APPLOAD 已成功加载 TT.lsp。
命令: 读入的 (八进制) 字符不正确: 0

1681008 发表于 2014-11-27 11:54:23

1681008 发表于 2014-11-27 11:45 static/image/common/back.gif
谢谢!
改了后提示
APPLOAD 已成功加载 TT.lsp。


ok了
谢谢

bai2000 发表于 2014-11-27 20:08:33

能改成统计块(选择)的数量就好了

ZZXXQQ 发表于 2014-11-27 20:41:11

bai2000 发表于 2014-11-27 20:08 static/image/common/back.gif
能改成统计块(选择)的数量就好了

将程序中'((0 . "CIRCLE"))改成'((0 . "INSERT"))即可

1681008 发表于 2014-11-28 08:02:07

ZZXXQQ 发表于 2014-11-27 20:41 static/image/common/back.gif
将程序中'((0 . "CIRCLE"))改成'((0 . "INSERT"))即可

大神,统计数量能不能改成圆直径(或半径)的各有多少呢?
谢谢!!
页: [1] 2
查看完整版本: 统计封闭多线段内圆的数量