明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: mokson

[提问] viewsize 只获取了视图的高度, 那么它的宽度如何获取?

[复制链接]
 楼主| 发表于 2023-9-5 11:36 | 显示全部楼层
本帖最后由 mokson 于 2023-9-5 11:40 编辑
e2002 发表于 2023-9-5 10:47
你是想搞清楚布局中的VP对象与其中显示区域的换算关系吧?

对呀, 我想用 (ssget "w" P1 P2 '((0 . Dimension)))  取得布局里当前可见的绘图区域的全部标注对象, 这些标注对象有许多是落在视口框的外面的, 所以,我想获得绘图工作空间的对角点.
发表于 2023-9-5 13:53 | 显示全部楼层
本帖最后由 gaics 于 2024-3-15 07:53 编辑

先保存视图
(command "-view" "S" "myview")        

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2023-9-5 14:21 | 显示全部楼层
gaics 发表于 2023-9-5 13:53
先保存视图
(command "-view" "S" "myview")

谢谢大佬, 我也想到用这个方法了, 我以为有直接现成的系统参数呢.
步骤如下:先保存命名一个视图
(command "-view" "S" "myview") ;;将当前工作区域的视图保存
(setq ent (tblsearch "view" "myview"))  ;获取该视图的图元数据
(setq H (cdr (assoc 40 ent)))  ;;获取该视图的高度
(setq W (cdr (assoc 41 ent)))  ;;获取该视图的宽度
(setq C (cdr (assoc 10 ent))) ;;获取该视图的中心点

然后, 四个角点就可以通过运算得出了.
发表于 2023-9-5 14:27 | 显示全部楼层
mokson 发表于 2023-9-5 14:21
谢谢大佬, 我也想到用这个方法了, 我以为有直接现成的系统参数呢.
步骤如下:先保存命名一个视图
(comma ...

最后加一行删除视图,如果不再需要这个视图的话。命名会冲突。
发表于 2023-9-5 15:06 | 显示全部楼层
在模型空间的中心点要用“组码10”减去“组码12”
 楼主| 发表于 2023-9-5 16:09 | 显示全部楼层
本帖最后由 mokson 于 2023-9-5 16:13 编辑
gaics 发表于 2023-9-5 15:06
在模型空间的中心点要用“组码10”减去“组码12”

非常感谢仁兄指导, 再请教一下, 模型空间里, 组码10 和 12 的数据是代表什么参数?
发表于 2023-9-5 17:31 | 显示全部楼层
mokson 发表于 2023-9-5 16:09
非常感谢仁兄指导, 再请教一下, 模型空间里, 组码10 和 12 的数据是代表什么参数?

10 视景中心点(在DCS)
12 目标点(在WCS)
发表于 2023-9-6 12:43 | 显示全部楼层
是不是搞复杂了啊

(* (getvar 'viewsize) (apply '/ (getvar 'screensize))) ;视图长度:
(getvar 'viewsize) ;当前视图高度

 楼主| 发表于 2023-9-6 15:05 | 显示全部楼层
pzweng 发表于 2023-9-6 12:43
是不是搞复杂了啊

(* (getvar 'viewsize) (apply '/ (getvar 'screensize))) ;视图长度:

尝试了一下, 与 view 查出来的数值有很大的误差. 不够准确!
发表于 2023-12-19 09:32 | 显示全部楼层
谢谢分享  .
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 17:50 , Processed in 0.285195 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表