xiaocainiao
发表于 2022-2-8 14:42:30
轮回 发表于 2022-2-8 13:59
就是这样!
这种情况没有遇见过、你可以看看你选择的对象有啥特殊之处没
guosheyang
发表于 2022-3-14 13:23:31
这个不需用矩阵 求出包围盒 用zoom /w就可以实现了
guosheyang
发表于 2022-3-14 13:26:17
xclip命令重新生成获取剪裁框
xiaocainiao
发表于 2022-3-14 13:34:26
guosheyang 发表于 2022-3-14 13:23
这个不需用矩阵 求出包围盒 用zoom /w就可以实现了
现在就是不会求正确的包围盒:'(
流氓兔
发表于 2022-3-15 09:57:25
你有种再说一遍 发表于 2022-2-7 21:40
入门一下cad.net,倒腾半个月就行( ≧ω≦)/
你上代码呀
springwillow
发表于 2022-3-15 12:04:47
视口比例与对象的长宽比例一致应该就可以放满了。或者根据对象的长宽比例调整视口的比例。
guosheyang
发表于 2022-3-15 15:54:17
本帖最后由 guosheyang 于 2022-3-15 15:57 编辑
用你的文件测试了下, lisp是可以实现最大化显示的,用的就是zoom/w 包围盒角点,也可以循环所有视口
xiaocainiao
发表于 2022-3-16 17:09:59
guosheyang 发表于 2022-3-15 15:54
用你的文件测试了下, lisp是可以实现最大化显示的,用的就是zoom/w 包围盒角点,也可以循环所有视口
大神、你这个是直接将视口内的所有对象在视口内最大化了吗
xiaocainiao
发表于 2022-3-16 17:14:40
guosheyang 发表于 2022-3-15 15:54
用你的文件测试了下, lisp是可以实现最大化显示的,用的就是zoom/w 包围盒角点,也可以循环所有视口
能不能分享一下代码啊、感谢:handshake
guosheyang
发表于 2022-3-18 13:24:04
本帖最后由 guosheyang 于 2022-3-18 13:25 编辑
你这个分成三种情况,带剪裁框的普通块儿,没剪裁框的动态块儿和多行文字三种情况。上面那个是带剪裁框的普通块儿,先用boundingbox函数求出其包围框角点,再画出矩形(范围延伸到块儿基点处),生成面域,然后用xclip命令画出剪裁框矩形,生成面域,再将生成的两个面域求交,即得到显示块儿部分面域,求出角点;对于下面那个动态块,可以先复制一份,然后炸开,再求包围框角点;对于多行文字,可以复制一份,炸开为单行文字,再求文字包围框角点;最后通过三个角点来求出最大的包围框角点(左下角 右上角),这个也是zoom/w 需要的两个点。这个过程中需要的函数论坛上都有现成的,自己搜索下即可,详细的思路就这样,自己动手呗,那样才能提高水平