修改系统变量target的方法
在acad中,系统变量target是只读变量,有时不知什么原因就变了,总之不为(0 0 0),给程序设计带来了诸多麻烦,需要用trans函数去转换,可又经常会忘记.下面的代码能够人为修改target系统变量:
(defun target->0 ( / DOC VIEW)
(setq doc (vla-get-ActiveDocument (VLAX-GET-ACAD-OBJECT)))
(setq view (vla-item (vla-get-Viewports doc) 0))
(vla-put-target view (vlax-3d-point 0 0 0))
(vla-put-ActiveViewport doc view)
t
)
希望对大家有用
不错,看起来功能好像是plan w tryhi 发表于 2021-4-25 09:41
不错,看起来功能好像是plan w
plan w是改变不了target变量的值的
lijiao 发表于 2021-4-26 08:50
plan w是改变不了target变量的值的
虽然楼主热心的贴出了代码,可是小白同学们还是不知道怎么用啊?能否送佛到西,直接搞成一个LISP文件或者什么的,可以一步到位。直接就用了,谢谢。 andyhua 发表于 2021-4-26 09:06
虽然楼主热心的贴出了代码,可是小白同学们还是不知道怎么用啊?能否送佛到西,直接搞成一个LISP文件或者 ...
嘿嘿嘿,你也不是佛,我也不知道西在哪里,抱歉抱歉. 好东西,谢谢。一直找这个,以前都是转换坐标来解决。 本帖最后由 asen 于 2022-5-14 09:12 编辑
以下两条试试:
1. 可以将视图调整为俯视图,-view-> _top
2. dview -> po -> 0,0,0 -> 0,0,1
3. ucs ->w
这个变量如果不是初始值的话,会有什么情况下出现什么问题? 本帖最后由 guosheyang 于 2022-5-14 15:09 编辑
nyistjz 发表于 2022-5-14 10:24
这个变量如果不是初始值的话,会有什么情况下出现什么问题?
好像只要你 用3do命令旋转了一下视图 , 即使 再回到世界坐标系的俯视图 后,这个变量也回不到 0 0 0了 所以只要是在世界坐标系 的俯视图下不为0 0 0也没啥影响 请问这个类似的效果,即相当于 plan命令下 c (当前ucs)的效果 如何这样简洁地实现,谢谢?
页:
[1]