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 需要的两个点。这个过程中需要的函数论坛上都有现成的,自己搜索下即可,详细的思路就这样,自己动手呗,那样才能提高水平
页: 1 2 [3] 4
查看完整版本: 研究了好几年的难题、ZOOM+O无法布满视口