用SSGET筛选尺寸时,如何区分Dimension中的线性尺寸和角度尺寸?
用SSGET筛选尺寸时,如何区分Dimension中的线性尺寸和角度尺寸?组码 70 值 用 vla-get-ObjectName 更精确 组码100的子类标记应该可以区分吧 本帖最后由 wzg356 于 2023-12-16 15:14 编辑
xiaocainiao 发表于 2023-12-16 14:27
组码100的子类标记应该可以区分吧
组码100不参与ssget
7楼或
(Vlax-Get(Vlax-Ename->Vla-Object(Car(Entsel))) 'ObjectName)
("AcDbRotatedDimension" "转角标注")
("AcDbAlignedDimension" "对齐标注")
("AcDb2LineAngularDimension" "角度标注")
("AcDbDiametricDimension" "直径标注")
("AcDbRadialDimension" "半径标注")
("AcDb3PointAngularDimension" "三点角度标注")
("AcDbOrdinateDimension" "坐标标注")
组码70为34或37是角度标注,组码70为32是线性标注。 本帖最后由 wzg356 于 2023-12-16 15:17 编辑
ssyfeng 发表于 2023-12-16 14:55
组码70为34或37是角度标注,组码70为32是线性标注。
实在要ssget
(setq v(assoc 70 (entget e))
(apply 'max(mapcar (function(lambda(i)(logand i v)))(list 0 1 2 3 4 5 6)))== 返回值确定种类
要连续写一大串or
n= 0 1 2 3 4 5 6 对应5楼种类
(list '(-4 . "<or")
(cons 70 (+ 32 n))
(cons 70 (+ 64 n))
(cons 70 (+ 96 n))
(cons 70 (+ 128 n))
(cons 70 (+ 160 n))
'(-4 . "or>")
)
多谢各位,搞定了。。
(setq Z70 (cdr(assoc 70 (entget (ssname ss i)))));;角度尺寸组码70是34,线性尺寸是32,直径163,半径164
(if (/= Z70 34)
(progn wzg356 发表于 2023-12-16 14:28
组码100不参与ssget
7楼或
弧长标注的子类标记是什么?
页:
[1]