sniper1111 发表于 2023-9-7 16:24:50

根据标注角度向外移动标注进行避让

画墙柱增加墙剖断线后标注被挡住,特意写了一个这个小程序根据标注的角度向外移动。后期想做一个是被暗柱自动贴边。


(defun c:44 (/ ss_dim n ent p0 p1 ang);;;移动标注600
        (setq ss_dim (ssget '((0 . "DIMENSION"))))
        (setq d 600);;;偏移距离。
        (repeat (setq n (sslength ss_dim))
                (setq n (1- n))
                (setq ent (ssname ss_dim n))
                (setq
                        pt0 (cdr (assoc 10 (entget ent)))
                        pt1 (cdr (assoc 14 (entget ent)))
                )
                (setq ang (apply 'atan (mapcar '- pt0 pt1 '(0 0))));;;根据pt0,pt1获取弧度加'(0 0)为了转换二维坐标。
                (command "move" ent "" "d" (list (* (sin ang) d) (* (cos ang) d) ))
        )
        (princ)
)

土豪入口可以选择下边附件。

不一样地设计 发表于 2023-9-8 11:58:06

太棒了,感谢分享!

行天下 发表于 2023-9-9 09:51:26

太棒了,感谢分享!
页: [1]
查看完整版本: 根据标注角度向外移动标注进行避让