用视口去刷指北针可能吗
本帖最后由 清风明月名字 于 2014-4-7 21:21 编辑请问,我有一个指北针在“布局1”中,在视口A也在该布局中,视口是旋转过的,怎么让指北针的方向与世界坐标系的Y轴吻合呢?好象视口图元的组码中应该包含了世界坐标系的信息。
我的设想是,如果视口的DXF码中有世界坐标系Y轴方位的信息 ,就可以写代码,用视口去刷指北针
偶尔刷到,正好我有解决过这个问题,不是很完美,但基本能用
(defun C:zbz ( ) ;从视口获取UCS方向,然后更改指北针方向
(setq en1 (entsel "选择视口"))
(setq en1_data (entget (car en1)))
(setq oldr (assoc 51 en1_data))
(setq aoldr (cdr oldr))
(setq ab (cons 50 aoldr))
;;;;-------------------------------------------------------
(setq en2 (entsel "选择指北针--块或文字"))
(setq en2_data (entget (car en2)))
(setq oldr2 (assoc 50 en2_data))
(setq en2_data (subst ab oldr2 en2_data))
(entmod en2_data)
)
(princ "\nzbz 指北针,调整指北针方向") 完美解决,注意块要先正北做,先点视口然后点需要选择的块。
页:
[1]