woxin168 发表于 2023-12-16 12:47:38

用SSGET筛选尺寸时,如何区分Dimension中的线性尺寸和角度尺寸?

用SSGET筛选尺寸时,如何区分Dimension中的线性尺寸和角度尺寸?

sowin 发表于 2023-12-16 13:07:30

组码 70 值

飞雪神光 发表于 2023-12-16 13:36:09

用 vla-get-ObjectName 更精确

xiaocainiao 发表于 2023-12-16 14:27:20

组码100的子类标记应该可以区分吧

wzg356 发表于 2023-12-16 14:28:21

本帖最后由 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" "坐标标注")

ssyfeng 发表于 2023-12-16 14:55:36

组码70为34或37是角度标注,组码70为32是线性标注。

wzg356 发表于 2023-12-16 15:10:52

本帖最后由 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>")
)

woxin168 发表于 2023-12-16 21:40:30

多谢各位,搞定了。。
       (setq Z70 (cdr(assoc 70 (entget (ssname ss i)))));;角度尺寸组码70是34,线性尺寸是32,直径163,半径164
       (if (/= Z70 34)
       (progn

huxu823 发表于 2024-4-30 09:02:09

wzg356 发表于 2023-12-16 14:28
组码100不参与ssget

7楼或


弧长标注的子类标记是什么?
页: [1]
查看完整版本: 用SSGET筛选尺寸时,如何区分Dimension中的线性尺寸和角度尺寸?