选择文字并统计列表?大佬们请帮忙 谢谢
(defun c:1125()(setq wz (ssget "X" '((0 . "TEXT,MTEXT")(8 . "*D*") )))
(if (/= wz nil);;如果有选择了文字
(progn
(setq L (sslength wz))
)
(vl-cmdf "text" "J" "BC" "0,0" "8" "0" "DDZ""" )
)
(setq wz (ssget "X" '((0 . "TEXT,MTEXT")(8 . "*P*"))))
(if (/= wz nil);;如果有选择了文字
(progn
(setq L (sslength wz))
)
(vl-cmdf "text" "J" "BC" "0,0" "8" "0" "PPH""" )
)
目的是想达到下述图示的结果。对表不熟悉 是否可达成?谢谢各位 请大展身手
)
https://atlisp.cn/static/videos/stat-text.mp4
linheyuanpcb 发表于 2023-9-12 09:15
感谢回复,但不是只统计呢
(@:menu-stat-text)
(defun match-to-obj (char / res)
(setq obj '("Apple" "Book" "Cat" "Dog"))
(setq n 0)
(while (null (wcmatch (nth n obj) (strcat char"*")))
(setq n (1+ n)))
(setq res (nth n obj))
(if res res "")
)
;; 将实物与字符组成表格
(setq n 0)
(table:make
(getpoint)
"分类统计"
'("序号""对象""数量""名称")
(mapcar 'cons
'("1" "2" "3" "4" "5")
(vl-sort
(mapcar '(lambda(x)
(list
(car x)
(cdr x)
(match-to-obj (car x))))
@:tmp-stat-result)
'(lambda(x y)
(< (car x)
(car y)))
)))
视频已更新 本帖最后由 vitalgg 于 2023-9-12 10:14 编辑
linheyuanpcb 发表于 2023-9-12 10:08
很高兴你的回复,但你的程序无法支行,应该是缺少了很多函数,谢谢
需要安装 @lisp,及@lisp中的数学工具, 不然程序不会这么短。
光一个统计代码就不止这几行就能实现的。还有绘制表格的代码。
@lisp数学工具 是开源的。
见 https://gitee.com/atlisp/packages下的 at-math。
有开发能力的可自行研究。
vitalgg 发表于 2023-9-12 08:37
感谢回复,但不是只统计呢 vitalgg 发表于 2023-9-12 09:58
视频已更新
很高兴你的回复,但你的程序无法支行,应该是缺少了很多函数,谢谢{:1_1:} http://bbs.mjtd.com/thread-188562-1-1.html我这个求助帖里面的程序适合你,你去试试吧。
AndyWang 发表于 2023-9-12 11:10
http://bbs.mjtd.com/thread-188562-1-1.html我这个求助帖里面的程序适合你,你去试试吧。
谢谢你,我去试了,只出了表格没有文字:L AndyWang 发表于 2023-9-12 11:10
http://bbs.mjtd.com/thread-188562-1-1.html我这个求助帖里面的程序适合你,你去试试吧。
找到原作者的程序了,后面怎么加上对应备注是个头疼事
http://bbs.mjtd.com/thread-179722-1-1.html
页:
[1]
2