求大神修改autolsp程序 10
希望该程序,在全选时m值减少1,其他不变;;;;块统计(defunc:ktj()(setqstt)(whilest(while(not(setqst(entsel"\n选...
希望该程序,在全选时m值减少1,其他不变
;;;;块统计
(defun c:ktj ()
(setq st t)
(while st
(while (not (setq st (entsel "\n选择需要统计的块:"))))
(if (= (cdr (assoc '0 (entget (car st)))) "INSERT")
(progn
(setq blockname (cdr (assoc '2 (entget (car st)))))
(setq st nil)
)
(princ "\n未选择到块!")
)
)
(princ (strcat "\n选择块" blockname "<全选:"))
(setq ss (ssget))
(if (= ss nil) (setq ss (ssget "x")))
(setq n 0 m 0)
(while (and ss (< n (sslength ss)))
(setq ssn (ssname ss n))
(if (= (cdr (assoc '0 (entget ssn))) "INSERT")
(progn
(setq blockname1 (cdr (assoc '2 (entget ssn))))
(if (= blockname blockname1)
(setq m (+ m 1))
)
)
)
(setq n (+ n 1))
)
(alert (strcat "(不含图例)" blockname ":" (rtos (- m 1) 2 0) "个"))
(setq pt (getpoint "\n给定输出的点位<不输出>:"))
(if pt
(command "text" pt (getvar "textsize") "0" (strcat blockname " " (rtos (- m 1) 2 0) "个"))
)
) 展开
;;;;块统计
(defun c:ktj ()
(setq st t)
(while st
(while (not (setq st (entsel "\n选择需要统计的块:"))))
(if (= (cdr (assoc '0 (entget (car st)))) "INSERT")
(progn
(setq blockname (cdr (assoc '2 (entget (car st)))))
(setq st nil)
)
(princ "\n未选择到块!")
)
)
(princ (strcat "\n选择块" blockname "<全选:"))
(setq ss (ssget))
(if (= ss nil) (setq ss (ssget "x")))
(setq n 0 m 0)
(while (and ss (< n (sslength ss)))
(setq ssn (ssname ss n))
(if (= (cdr (assoc '0 (entget ssn))) "INSERT")
(progn
(setq blockname1 (cdr (assoc '2 (entget ssn))))
(if (= blockname blockname1)
(setq m (+ m 1))
)
)
)
(setq n (+ n 1))
)
(alert (strcat "(不含图例)" blockname ":" (rtos (- m 1) 2 0) "个"))
(setq pt (getpoint "\n给定输出的点位<不输出>:"))
(if pt
(command "text" pt (getvar "textsize") "0" (strcat blockname " " (rtos (- m 1) 2 0) "个"))
)
) 展开
1个回答
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询