明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: xiaocainiao

[提问] 研究了好几年的难题、ZOOM+O无法布满视口

[复制链接]
 楼主| 发表于 2022-2-8 14:42 | 显示全部楼层

这种情况没有遇见过、你可以看看你选择的对象有啥特殊之处没
发表于 2022-3-14 13:23 | 显示全部楼层
这个不需用矩阵   求出包围盒   用zoom /w  就可以实现了
发表于 2022-3-14 13:26 | 显示全部楼层
xclip命令重新生成获取剪裁框
 楼主| 发表于 2022-3-14 13:34 | 显示全部楼层
guosheyang 发表于 2022-3-14 13:23
这个不需用矩阵   求出包围盒   用zoom /w  就可以实现了

现在就是不会求正确的包围盒
发表于 2022-3-15 09:57 | 显示全部楼层
你有种再说一遍 发表于 2022-2-7 21:40
入门一下cad.net,倒腾半个月就行( ≧ω≦)/

你上代码呀
发表于 2022-3-15 12:04 | 显示全部楼层
视口比例与对象的长宽比例一致应该就可以放满了。或者根据对象的长宽比例调整视口的比例。
发表于 2022-3-15 15:54 | 显示全部楼层
本帖最后由 guosheyang 于 2022-3-15 15:57 编辑

  用你的文件测试了下, lisp是可以实现最大化显示的,用的就是zoom/w 包围盒角点,也可以循环所有视口

本帖子中包含更多资源

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

x
 楼主| 发表于 2022-3-16 17:09 | 显示全部楼层
guosheyang 发表于 2022-3-15 15:54
用你的文件测试了下, lisp是可以实现最大化显示的,用的就是zoom/w 包围盒角点,也可以循环所有视口

大神、你这个是直接将视口内的所有对象在视口内最大化了吗
 楼主| 发表于 2022-3-16 17:14 | 显示全部楼层
guosheyang 发表于 2022-3-15 15:54
用你的文件测试了下, lisp是可以实现最大化显示的,用的就是zoom/w 包围盒角点,也可以循环所有视口

能不能分享一下代码啊、感谢
发表于 2022-3-18 13:24 | 显示全部楼层
本帖最后由 guosheyang 于 2022-3-18 13:25 编辑

你这个分成三种情况,带剪裁框的普通块儿,没剪裁框的动态块儿和多行文字三种情况。上面那个是带剪裁框的普通块儿,先用boundingbox函数求出其包围框角点,再画出矩形(范围延伸到块儿基点处),生成面域,然后用xclip命令画出剪裁框矩形,生成面域,再将生成的两个面域求交,即得到显示块儿部分面域,求出角点;对于下面那个动态块,可以先复制一份,然后炸开,再求包围框角点;对于多行文字,可以复制一份,炸开为单行文字,再求文字包围框角点;最后通过三个角点来求出最大的包围框角点(左下角 右上角),这个也是zoom/w 需要的两个点。这个过程中需要的函数论坛上都有现成的,自己搜索下即可,详细的思路就这样,自己动手呗,那样才能提高水平
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-26 18:35 , Processed in 0.135835 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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