求大神修改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) "个"))
)
)
展开
 我来答
朱06CAD
2017-12-06 · 知道合伙人软件行家
朱06CAD
知道合伙人软件行家
采纳数:4172 获赞数:18068
高中,熟悉AutoCAD。会autolisp及VBA程序。

向TA提问 私信TA
展开全部
修改m的初始值
(setq n 0 m 0)这句话,修改为:(setq n 0 m -1)
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式