多分これでOKかと。
矢印が非表示の場合は、その寸法に設定されている寸法スタイルの矢印になるようにしました。
(defun C:BLKTGL () (BLKTGLSEL))
(defun BLKTGLSEL (/ obj objName objData pickPoint)
(graphscr)
(while (setq obj (entsel))
(setq objName (car obj)
objData (entget objName '("ACAD"))
pickPoint (cadr obj)
)
(if (equal "DIMENSION" (cdr (assoc 0 objData)))
(BLKTGLACT objName objData pickPoint)
)
)
)
(defun BLKTGLACT (objName objData pickPoint /
distance1 distance2 side blkOverride t_blk a_blk
)
(setq distance1 (distance pickPoint (cdr (assoc 10 objData)))
distance2 (/ (cdr (assoc 42 objData)) 2)
)
(setq side '("Arrowhead2Type" "Arrowhead1Type"))
(if (> distance1 distance2)
(setq side (reverse side))
)
(setq t_blk (getpropertyvalue objName (car side)))
(setq a_blk (getpropertyvalue objName (cadr side)))
(if (eq t_blk "_None")
(progn
(command-s "dimoverride" "c" objName "")
(setpropertyvalue objName (cadr side) a_blk)
)
(setpropertyvalue objName (car side) "_None")
)
)
(princ)
- LUNE
- 2025/10/28 (Tue) 12:41:03