清风明月名字 发表于 2014-4-7 21:18:55

用视口去刷指北针可能吗

本帖最后由 清风明月名字 于 2014-4-7 21:21 编辑

请问,我有一个指北针在“布局1”中,在视口A也在该布局中,视口是旋转过的,怎么让指北针的方向与世界坐标系的Y轴吻合呢?好象视口图元的组码中应该包含了世界坐标系的信息。
我的设想是,如果视口的DXF码中有世界坐标系Y轴方位的信息 ,就可以写代码,用视口去刷指北针



ahhfsy 发表于 2022-3-7 00:03:01

偶尔刷到,正好我有解决过这个问题,不是很完美,但基本能用
(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 指北针,调整指北针方向")

moshouhot 发表于 2024-5-29 23:53:20

完美解决,注意块要先正北做,先点视口然后点需要选择的块。
页: [1]
查看完整版本: 用视口去刷指北针可能吗