hyg公司
总计。LSP
在我开始修改代码之前告诉我它是如何进行的
[为sergiu定制]
- (defun c:summd (/ aDoc Total ss val)
- (setq aDoc (vla-get-ActiveDocument (vlax-get-acad-object))
- Total 0
- )
- (if (ssget '((0 . "*DIMENSION")
- (-4 . "<OR")
- (1 . "*?*")
- (-3 ("ACAD"))
- (-4 . "OR>")
- )
- )
- (progn
- (vlax-for e (setq ss (vla-get-ActiveSelectionSet aDoc))
- (if (wcmatch (setq val (strcase (vla-get-textoverride e))) "*#X#*")
- (progn
- (while (and (setq p (vl-string-position 59 val))
- (setq val (substr val (+ 2 p)))
- (eq (substr val 1 1) "\")
- )
- )
- (setq total (+ (atoi val) total))
- )
- )
- )
- (vla-delete ss)
- (alert (itoa Total))
- )
- )
- )
|