xiaocainiao 发表于 2023-2-16 15:42:34

难题求教!光标在视口内如何获取布局空间的视图高度

请教一下论坛的各位大神、我想问一下我的光标在视口内、
有没有什么函数或者方法、可以不退出视口去获取到布局空间的视图高度、
我现在是用viewsize来获取视图高度、但它在视口内获取的是模型空间视图高度、
我想在视口内获取布局空间的视口高度不知道怎么弄了、有没有懂的大神、求告知方法

cq4920 发表于 2023-2-16 15:42:35

本帖最后由 cq4920 于 2023-2-18 17:42 编辑

xiaocainiao 发表于 2023-2-18 17:35
不好意思、我可能没有表达清楚、我是想在视口内、获取此视口对应的布局空间视图高度、这个视图高度就相当 ...
我确实不懂了,视口尺寸 模型尺寸屏幕尺寸 都给你方法去获得了,你还要什么尺寸呢?
你在布局空间进入视口,然后想要布局的屏幕尺寸,那就退出视口,然后再返回视口就好啦!又不是手动退出和进入!
你的程序在视口内运行和能不能退出视口有什么关系呢?难道退出视口会引起什么变化?

xiaocainiao 发表于 2023-2-16 17:40:30

给自己顶一下。有没有会的大神啊

xiaocainiao 发表于 2023-2-17 15:24:20

再给自己顶一波、求懂的大神指教

cq4920 发表于 2023-2-17 17:02:07

本帖最后由 cq4920 于 2023-2-17 17:03 编辑

(setq ent(entget (ssname ss 0)))
      (setq scale(/ (cdr(assoc 45 ent))(cdr(assoc 41 ent))));视口内模型空间高度 视口自己的高度 应该是这样

你应该只需要获取当前激活视口的名称然后就通过组码得到高度

xiaocainiao 发表于 2023-2-18 07:53:39

cq4920 发表于 2023-2-17 17:02
(setq ent(entget (ssname ss 0)))
      (setq scale(/ (cdr(assoc 45 ent))(cdr(assoc 41 ent))));视口 ...

我要获取的不是当前视口的视图高度、是视口外的视图高度(或者说当前布局空间的视图高度)

cq4920 发表于 2023-2-18 16:51:57

;;;117.3 [功能] 返回当前视窗左下角和右上角 坐标
(defun viewpnts        (/ A B C D X)
(setq d (getvar "screensize"))              ;屏像素
(setq        b (* (getvar "viewsize") 0.5)          ;viewsize屏竖长
        a (* b (/ (car d) (cadr d)))                          ;屏横长
        x (trans (getvar "viewctr") 1 2)                  ;屏中点viewctr
        c (list (- (car x) a) (- (cadr x) b) 0.0)
        d (list (+ (car x) a) (+ (cadr x) b) 0.0)
)
(list (trans c 2 1) (trans d 2 1))
)

xiaocainiao 发表于 2023-2-18 17:35:04

cq4920 发表于 2023-2-18 16:51


不好意思、我可能没有表达清楚、我是想在视口内、获取此视口对应的布局空间视图高度、这个视图高度就相当于直接在视口外执行(getvar "screensize")、但是我不能退出视口去执行(getvar "screensize")这个代码

xiaocainiao 发表于 2023-2-18 17:49:07

cq4920 发表于 2023-2-18 17:41
我确实不懂了,视口尺寸 模型尺寸屏幕尺寸 都给你方法去获得了,你还要什么尺寸呢?
你在布局空间进入 ...

这么讲吧、我用grread做了一个功能、需要在光标旁用文字实时显示一些数据、而这个文字高度现在我是用(getvar "viewsize")来获取当前空间视图高度来实时调整的、但是如果在是一个锁定视口内去执行这个功能、再用(getvar "viewsize")获取视图高度、获取的是当前视口的视图高度、这个高度是一个固定值、这就导致我的文字高度无法随着滚轮而实时调整、最后的结果就是我滚动滚轮是这个文字会非常大或者非常小、只有在视口内去获取到布局空间的视图高度、才能实时变化

xiaocainiao 发表于 2023-2-18 17:57:12

cq4920 发表于 2023-2-18 16:51


http://bbs.mjtd.com/forum.php?mod=viewthread&tid=185419&highlight=%B6%AF%CC%AC

我论坛里面找到一个类似的功能、就是光标旁动态显示文字数据、这个文字的高度就是通过(getvar "viewsize")来动态调整的、但是视口内执行时就会有问题
页: [1] 2 3
查看完整版本: 难题求教!光标在视口内如何获取布局空间的视图高度