激活(模型空间)viewpor
我的启动程序似乎有一个奇怪而恼人的问题。大多数情况下,当我创建dwg时,paperspace视口会被激活(在mspace中)。我已经将其添加到我的启动例程中(在acaddoc.lsp中),但它仍然在发生。(if (zerop (getvar 'tilemode)) (vla-put-mspace (vla-get-activedocument (vlax-get-acad-object)) :vlax-false))
代码似乎在命令行上工作,但在打开dwg时没有帮助。
有什么想法吗?我不知道它在哪里/为什么总是激活vports。。。
谢谢 可能
(if (and (zerop (getvar 'tilemode))
(eq (vla-get-mspace
(vla-get-activedocument (vlax-get-acad-object))
)
:vlax-true
)
)
(vla-put-mspace
(vla-get-activedocument (vlax-get-acad-object))
:vlax-false
)
)
(defun _toPaper (doc)
(if (and (zerop (getvar 'TILEMODE)) (> (getvar 'CVPORT) 1))
(vla-put-mspace doc :vlax-false)
)
) @Chulse-当您的代码被注释掉后,即使您要在未激活PViewport的情况下保存图形,您的图形是否仍然在激活PViewport的情况下打开?
*如果*是这样,这表明有单独的代码正在激活PViewport,它*可能*在acaddoc之后执行。lsp(S::可能启动?)。这只是一个猜测,我可能完全错了。
@Tharwat-我会避免多次调用ActiveDocument(或任何其他)对象,除非发生了更改,在该更改中,调用对象的后续时间使所需的更改可用。出于此线程的目的,请考虑存储到局部变量(ActiveDoc?)。
这是正确的和更快的。
非常感谢。
别担心;次要细节。
我想我应该测试更多。。。我首先添加了代码来对抗这种行为。我试图避免猎杀鹬。
只需将图形保存在所需状态(其中PViewport未激活),然后重新打开所述图形。
*如果*Pviewport处于相同的状态,那么这可能不是问题的根源。
但是,*如果重新打开时激活了Pviewport,则需要评估启动时加载的代码(acaddoc.lsp、startup suite等)。我将从您有权打开视图内容的任何文件(编译代码,如.FAS、.VLX等,是不可读的)开始。
祝你好运 好像是创业套件里的东西。我需要挖掘才能找到它,但至少它已经缩小到了这个范围。
谢谢大家
页:
[1]