本帖最后由 kucha007 于 2022-9-30 09:45 编辑
多谢楼主回复。我又根据自己的思路改了一下: 1-我的图层较多,删除图层容易卡,所以还是维持之前的思路:只清空图层。视口比例图层默认为不打印图层。
----(当前布局中存放视口比例的图层为空时,创建视口的比例。不为空时则清空图层)
2-我加了一些判断,只有当图层、字体样式等不存在时才新建或执行相应的命令。具体见源码
----(例如:新建图层时如果图层存在,则检查图层的颜色和打印状态是否一致,不一致则调整,避免之前存在但颜色和打印状态不对)
3-增加子程序:将非视口图层的视口对象移动到视口图层
----(相当于自动规整视口对象到视口图层,根据自己的情况启用)
4-用了另外一种办法忽略当前视口,并选择当前布局的所有视口。部分lisp节选:
- (setq SS (ssget "_x" (list '(0 . "VIEWPORT")(cons 410 (getvar 'ctab));当前布局
- '(-4 . "<NOT")
- '(69 . 1);忽略当前视口
- '(-4 . "NOT>")
- ))
- )
5-如果当前布局不存在视口对象则在命令行打印警告。
6-在模型空间中输入命令同样在命令行打印警告。
7-视口比例大于等于100时,字体大小为20。小于100字体大小为10。位置显示在右下角
|