求一个另类块统计,根据块属性值统计图,部分属性值相同可是图块名不同,统计为相同块
本帖最后由 664571221 于 2023-9-6 11:42 编辑求一个另类块统计,根据块属性值统计图,部分属性值相同可是图块名不同,统计为相同块,图中第一个表格有属性相同的块,可是名称不同就列了两行,不正确,属性值相同统计为同一个块
需要定制嘛,;P;P ssyfeng 发表于 2023-9-6 11:42
需要定制嘛,
:lol.......... https://atlisp.cn/static/videos/stat-att.mp4
vitalgg 发表于 2023-9-6 12:04
图例可以放上去吗 本帖最后由 vitalgg 于 2023-9-6 15:20 编辑
664571221 发表于 2023-9-6 13:10
图例可以放上去吗
有没有一种可能,属性值一样,但是块名不同,样式完全不同。这该放哪个块作为图例?。
一般编程只能解决确定性的问题。 张家庄的张三,张家村的张三 vitalgg 发表于 2023-9-6 15:12
有没有一种可能,属性值一样,但是块名不同,样式完全不同。这该放哪个块作为图例?。
一般编程只能解决 ...
你说的有道理 波总的代码
(defun c:tt (/ k s ss)
(vl-load-com)
(if (and (setq s (ssget '((0 . "INS*"))))
(setq s (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))))
(setq s
(vl-remove nil
(mapcar
(function
(lambda(x)
(if (and (= :vlax-true (vla-get-HasAttributes x))
(setq x (vlax-safearray->list (vlax-variant-value (vla-GetAttributes x))))
(setq x (vl-remove nil (mapcar '(lambda(k)(if (= "A"(vla-Get-TagString k))(vla-Get-TextString k)))x)))
)
(car x)
)
)
)
s
)
)
)
)
(progn
(while s
(setq ss (append ss (list (progn (setq k (vl-remove-if-not (function(lambda(x)(equal (car s)x)))s))(list (car k) (length k)))))
s (vl-remove (car s) s)
)
)
(if ss (foreach x (append '("========================") ss '("========================")) (print x)))
(princ)
)
)
)
664571221 发表于 2023-9-7 21:16
波总的代码
(defun c:tt (/ k s ss)
波总改线型记录一下
(defun c:tt (/ e k s)
(vl-load-com)
(if(and (setq e (ssget ":E:S" '((0 . "*LINE,ARC,CIRCLE,ELLIPSE"))))
(setq e (vlax-ename->vla-object (ssname e 0)))
(setq s(float(vla-get-LinetypeScale e)))
(setq k (getreal (strcat "\nBOBO曰:设置新线型比例<" (rtos s 2 3) ">:")))
)
(vla-put-LinetypeScale e k)
)
(princ)
)
LinetypeScale >> ScaleFactor
页:
[1]