一键显示视口比例
本帖最后由 cq4920 于 2022-8-29 10:51 编辑早年的问题!
“敢问一下有没什么方式能在视口内显示视口比例,
一般图纸都有几十个视口,每个视口的比例都要用鼠标去点击才能显示!然后才能改下面的索引!
能不能有个命令直接在视口内显示比例,再次输入命令就关闭视口的比例提示!”
没想到早年的问题贴,还有人回复并有了相同的问题!于是就用了一些时间简单勾勒一下!效果基本是想要的!
用的不是自己电脑,就不上图了 直接发源码!
更新了一下,创建文字用了entmake,速度更快了,临时比例文字的位置做了调整
中间穿插了一个彩蛋!
kucha007 发表于 2022-9-21 15:13
删除图层太卡了。改为:图层为空时创建视口比例,不为空时清空图层内的对象(若图层不存在则创建图层)
比 ...
你这个图层删除会卡的问题,原因你最好研究一下!我觉得可能是你图层太多的问题!
然后关于当前视口的也会显示的问题,我在21楼已经告诉你该怎么弄了,也说明了原理,我觉得你可以做到的! tfanghui 发表于 2023-2-14 15:54
请教大佬,把大佬回复的码替换原来的码 ...
出现种问题,应该是字符类型的问题,有的需要转成字符串 有的需要转成实数 还有的需要转成整数 本帖最后由 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。位置显示在右下角
tfanghui 发表于 2022-8-26 20:11
楼主,这个问题解决了吗,分享一下。
去下载新版的 只有节点详图所在的布局内才有可能这么多个Viewports吧?
“下面的索引”的含义不知道是不是指节点对应的详图编号文字或者标签块?如果是,可以使用Field来做到关联这个比例数值,就不需要手工改了。
建议提问时带上附图,便于别人理解你的需求。
能幻影一直显示比例最好,不需要打印出来的幻影,或者点击、放住视口外框线的时候显示。 建个单独图层,然后挨个查每个视口,视口中心写文字?文字写到新图层上,看完直接删掉?这是很笨的法吧,动态显示最好,但是需要高手才能搞定吧 xj6019 发表于 2021-5-22 22:12
建个单独图层,然后挨个查每个视口,视口中心写文字?文字写到新图层上,看完直接删掉?这是很笨的法吧,动 ...
楼主,这个问题是怎么解决的, 楼主,这个问题解决了吗,分享一下。 tfanghui 发表于 2022-8-26 20:11
楼主,这个问题解决了吗,分享一下。
没有弄,但是确实有思路了!想一想就觉得可能挺麻烦就没继续深究 tfanghui 发表于 2022-8-26 20:11
楼主,这个问题解决了吗,分享一下。
已经,用了一个小时,当年的问题现在解决起来还真不是很麻烦! 很棒,谢谢分享。