xiaocainiao 发表于 2022-5-17 19:25:05

求助!用lisp如何循环进入选择的视口内

(if (setq E (entsel))(progn    (command "_.MSPACE")    (setvar 'CVPORT (cdr (assoc 69 (entget (car E)))))))求教论坛的各位大神、我想要循环进入到选择的视口内、
除了修改CVPORT的值外、还有没有其他方式啊、
修改CVPORT的方法经常会报错、很头疼

pzweng 发表于 2022-5-17 19:25:06

本帖最后由 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)
)


可能不知道你的意图,循环进入到选择的视口需要干嘛用呢,

xiaocainiao 发表于 2022-5-17 20:30:10

用CVPORT切换视口、如果视口不再屏幕显示范围内、就无法切换、所以求教论坛内的大神、有没有其他方法可以进入到屏幕外的视口中

kozmosovia 发表于 2022-5-17 20:52:36

ZOOM object视口,再mspace

xiaocainiao 发表于 2022-5-18 07:22:58

kozmosovia 发表于 2022-5-17 20:52
ZOOM object视口,再mspace

这个方法我也想到了、但是多了一步、总想着有没有更直接的方法能不能一步到位

xiaocainiao 发表于 2022-5-19 06:54:31

给自己顶一下、有没有朋友知道其他方法啊、求教

自贡黄明儒 发表于 2022-5-19 07:31:30

xiaocainiao 发表于 2022-5-19 06:54
给自己顶一下、有没有朋友知道其他方法啊、求教

想问一下,你进入选择的视口内想做什么呢?用vlax-for行不?

xiaocainiao 发表于 2022-5-19 08:08:48

自贡黄明儒 发表于 2022-5-19 07:31
想问一下,你进入选择的视口内想做什么呢?用vlax-for行不?

主要是想要进入视口切换注释比例等操作、不进入视口操作不了:'(

自贡黄明儒 发表于 2022-5-19 18:54:12

错误信息是什么?是不是执行加(command "_.PSPACE")就好了?

xiaocainiao 发表于 2022-5-19 19:22:01

自贡黄明儒 发表于 2022-5-19 18:54
错误信息是什么?是不是执行加(command "_.PSPACE")就好了?

就是不允许设置这个变量、我查了一下、如果视口关闭、或者视口不再绘图区显示范围内都会报错、所以想着有没有其他办法可以解决这个问题、目前就是先将要编辑的视口用ZOOM显示出来、再去设置变量
页: [1] 2 3 4
查看完整版本: 求助!用lisp如何循环进入选择的视口内