求助!用lisp如何循环进入选择的视口内
(if (setq E (entsel))(progn (command "_.MSPACE") (setvar 'CVPORT (cdr (assoc 69 (entget (car E)))))))求教论坛的各位大神、我想要循环进入到选择的视口内、除了修改CVPORT的值外、还有没有其他方式啊、
修改CVPORT的方法经常会报错、很头疼
本帖最后由 pzweng 于 2022-5-21 08:23 编辑
(defun c:ms (/ e doc)
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
(vla-put-mspace doc :vlax-false)
(if (and (setq e (car (entsel "\n选取视口进入模型空间或<返回图纸空间>: "))) (= "VIEWPORT" (cdr (assoc 0 (entget e)))))
(progn
(vla-put-mspace doc :vlax-true)
(vla-put-activepviewport doc (vlax-ename->vla-object e))
)
)
(princ)
)
可能不知道你的意图,循环进入到选择的视口需要干嘛用呢,
用CVPORT切换视口、如果视口不再屏幕显示范围内、就无法切换、所以求教论坛内的大神、有没有其他方法可以进入到屏幕外的视口中 ZOOM object视口,再mspace kozmosovia 发表于 2022-5-17 20:52
ZOOM object视口,再mspace
这个方法我也想到了、但是多了一步、总想着有没有更直接的方法能不能一步到位 给自己顶一下、有没有朋友知道其他方法啊、求教 xiaocainiao 发表于 2022-5-19 06:54
给自己顶一下、有没有朋友知道其他方法啊、求教
想问一下,你进入选择的视口内想做什么呢?用vlax-for行不? 自贡黄明儒 发表于 2022-5-19 07:31
想问一下,你进入选择的视口内想做什么呢?用vlax-for行不?
主要是想要进入视口切换注释比例等操作、不进入视口操作不了:'( 错误信息是什么?是不是执行加(command "_.PSPACE")就好了? 自贡黄明儒 发表于 2022-5-19 18:54
错误信息是什么?是不是执行加(command "_.PSPACE")就好了?
就是不允许设置这个变量、我查了一下、如果视口关闭、或者视口不再绘图区显示范围内都会报错、所以想着有没有其他办法可以解决这个问题、目前就是先将要编辑的视口用ZOOM显示出来、再去设置变量