wline 发表于 2024-7-5 23:20:04

麻烦哪位大神帮我把这个lsp从单选改为多选啊,谢谢

这个lsp是我在明经上东捡西捡拼出来的,大部分程序是来自“pzweng”这位大神,我只是添加了一点东西,命令只能单选,每次只可以选择一个对象,

cghdy 发表于 2024-7-6 08:02:56

(defun c:mh (/ doc e n num ss)
(while(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
                (vla-put-mspace doc :vlax-false)
                (setq ss (ssget '((0 . "VIEWPORT"))))
                (setq n 0 num (sslength ss))
                (while (< n num)
                        (setq e (ssname ss n))
                        (progn
                                (vla-put-mspace doc :vlax-true)
                                (vla-put-activepviewport doc (vlax-ename->vla-object e))
                                (command-s "_.ucs""v")
                                (command-s "_.PSPACE"))
                        (setq n (+ n 1))
                )
                (princ)
        )
)

wline 发表于 2024-7-5 23:24:24

点错了,怎么就发布了啊
下面就是源码,麻烦哪位大神帮我修改一下
(defun c:mh (/ e doc)
(while(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))
      (command-s "_.ucs""v")
(command-s "_.PSPACE"))
)
(princ)
)
)

paulpipi 发表于 2024-7-6 08:24:28

这是什么功能呀,能介绍一下吗

MZ_li 发表于 2024-7-6 08:31:09

paulpipi 发表于 2024-7-6 08:24
这是什么功能呀,能介绍一下吗

(command-s "_.ucs""v")
(command-s "_.PSPACE"))
这个功能,你的金牌会员是混上去的?

wline 发表于 2024-7-6 08:41:32

cghdy 发表于 2024-7-6 08:02
(defun c:mh (/ doc e n num ss)
(while(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
...

好用啊,感谢大神,东西贼好使:lol

wline 发表于 2024-7-6 08:42:49

paulpipi 发表于 2024-7-6 08:24
这是什么功能呀,能介绍一下吗

就是一个功能,不用点进视口,使用ucs+v,然后在退出来

tranque 发表于 2024-7-6 10:12:55

MZ_li 发表于 2024-7-6 08:31
(command-s "_.ucs""v")
(command-s "_.PSPACE"))
这个功能,你的金牌会员是混上去的?

我也在混,我嘎嘎水经验

你有种再说一遍 发表于 2024-7-6 17:17:31

直接修改视口坐标系不就好了...不过不知道lisp有没有提供vla函数

wline 发表于 2024-7-6 17:21:33

你有种再说一遍 发表于 2024-7-6 17:17
直接修改视口坐标系不就好了...不过不知道lisp有没有提供vla函数

哈哈,我用的一个插件批量生成的视口,光标不是正的,所以才想着用这个方法
页: [1]
查看完整版本: 麻烦哪位大神帮我把这个lsp从单选改为多选啊,谢谢