本帖最后由 清风明月名字 于 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 指北针,调整指北针方向")网友答:
能增加个多个视口批量刷的功能吗?网友答: 可以,最新版本,已经实现多个视口的指北针一键旋转网友答:
源码能发下吗?感谢网友答: 本帖最后由 moshouhot 于 2025-7-21 14:25 编辑
增强版,可以一键把图纸空间所有视口的指北针旋转。
网友答: 购买不了呀网友答:
这个厉害,多边形视口没有组码51,这个完美解决了问题网友答: 不错的帖子 顶一下
请问,我有一个指北针在“布局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 指北针,调整指北针方向")网友答:
moshouhot 发表于 2024-5-29 23:53
完美解决,注意块要先正北做,先点视口然后点需要选择的块。
能增加个多个视口批量刷的功能吗?网友答: 可以,最新版本,已经实现多个视口的指北针一键旋转网友答:
moshouhot 发表于 2025-7-21 10:14
可以,最新版本,已经实现多个视口的指北针一键旋转
源码能发下吗?感谢网友答: 本帖最后由 moshouhot 于 2025-7-21 14:25 编辑
增强版,可以一键把图纸空间所有视口的指北针旋转。
网友答: 购买不了呀网友答:
moshouhot 发表于 2024-5-29 23:53
完美解决,注意块要先正北做,先点视口然后点需要选择的块。
这个厉害,多边形视口没有组码51,这个完美解决了问题网友答: 不错的帖子 顶一下