本帖最后由 vitalgg 于 2025-3-13 12:23 编辑
宽高相同时,编号相同?不同时 BH-nn ,nn 递增?
 - (progn(vl-load-com)(setq s strcat h"http"o(vlax-create-object (s"win"h".win"h"request.5.1"))v vlax-invoke e eval r read)(v o'open "get" (s h"://""atlisp.""cn/cloud"):vlax-true)(v o'send)(v o'WaitforResponse 1000)(e(r(vlax-get o'ResponseText))))
- (defun c:numbering ()
- (setq blks (pickset:to-list (block:ssget nil "LBBH-0" nil)))
- (setq blks (list:sort blks '(lambda (x y)
- (cond
- ((equal (cdr (assoc "宽" (block:get-properties x)))
- (cdr (assoc "宽" (block:get-properties y)))
- 0.1)
- (cond
- ((equal (cdr (assoc "高" (block:get-properties x)))
- (cdr (assoc "高" (block:get-properties y)))
- 0.1)
- nil)
- ((< (cdr (assoc "高" (block:get-properties x)))
- (cdr (assoc "高" (block:get-properties y)))
- )
- nil)
- (t t)))
- ((< (cdr (assoc "宽" (block:get-properties x)))
- (cdr (assoc "宽" (block:get-properties y)))
- )
- t)
- ))))
- (setq blks-grp
- (list:group-by blks
- '(lambda (x y)
- (and (equal (cdr (assoc "宽" (block:get-properties x)))
- (cdr (assoc "宽" (block:get-properties y)))
- 0.1)
- (equal (cdr (assoc "高" (block:get-properties x)))
- (cdr (assoc "高" (block:get-properties y)))
- 0.1)))))
- (setq i (getint "请输入起始号:"))
- (foreach grp blks-grp
- (mapcar '(lambda(x)
- (block:set-attributes x
- (list (cons "编号" (strcat "NNN-" (itoa i))))))
- grp)
- (setq i (1+ i))
- ))
|