Lisp不适用于仅模型la
您好,我有一个lisp,只有在布局谁可以修改它,所以我也可以在模型中运行工作。thxxxxx在模型中,它说:;错误:错误的参数类型:lselsetp nil
(Defun c:vplk ()
(setq d (ssget "_x" '((0 . "VIEWPORT"))))
(vplock d T)(princ))
(Defun c:vpun ()
(setq d (ssget "_x" '((0 . "VIEWPORT"))))
(vplock d nil)
(princ)
)
(Defun vplock (sel flg)
(setq mode (if flg:vlax-true :vlax-false))
(repeat (setq i (sslength sel))
(vlax-put-property (vlax-ename->vla-object (ssname sel (Setq i (1- i))))
'DisplayLocked mode)
)
(princ (strcat "\nViewports " (if flg "" "Un" )"locked"))(princ)
)
(vl-load-com)
好了,你不能锁定/解锁主模型空间视口。。。 不是说,当iam在“模型”选项卡中时,我希望布局选项卡具有视口锁定/解锁功能。lisp仅在iam位于“布局”选项卡中时有效。 你好
一个例子。
(defun c:vplk (/ spc)
(setq spc (getvar 'ctab))
(foreach lay (layoutlist)
(setvar 'ctab lay)
(vplock (ssget "_X" (list '(0 . "VIEWPORT") (cons 410 lay))) t)
)
(setvar 'ctab spc)
(princ)
)
你好Tharwat,
Lisp程序不起作用。
它在我的Cad 2015上确实有效。
命令栏上有错误消息吗? 查看OP中的代码,问题应该只发生在没有视口的图形中。
要修复它,请尝试:
(defun c:vplk ( / d)
(if (setq d (ssget "_X" '((0 . "VIEWPORT"))))
(vplock d T)
)
(princ)
) 两个代码均不工作错误代码
命令:VPLK
恢复缓存的视口-重新生成布局。
; 错误:无函数定义:VPLOCK
我使用的是acad2016,你还可以添加vpunlock功能吗
您需要加载该函数“VPLOCK”以及我之前发布的代码,因为我以另一种方式重新编写了该函数,您可以用与第一篇文章中发布的相同的方式将其用于两个选项。
是的,谢谢你,当我结合它的作品很好!!!
页:
[1]
2