明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2545|回复: 8

申请编制视口比例刷

[复制链接]
发表于 2014-4-2 09:30:21 | 显示全部楼层 |阅读模式
1明经币
由于本人不懂编程,但图纸很多,标注图纸比例工作量很大,请高人帮我编制一把视口比例刷,在布局作图中将视口比例刷到图纸标签的图纸比例属性中,并且关联,即视口比例变化图纸标签中的图纸比例也相应变化。如果不能关联,也可以不关联。先谢谢啦

附件: 您需要 登录 才可以下载或查看,没有账号?注册
发表于 2014-7-30 21:39:56 | 显示全部楼层
如果能实现还是非常有用的,顶一下
回复

使用道具 举报

发表于 2015-3-15 16:32:22 | 显示全部楼层
还没没看到
回复

使用道具 举报

发表于 2015-4-22 10:37:58 | 显示全部楼层
本帖最后由 danxingpen 于 2022-4-16 17:02 编辑

;今天闲的逛了一下,改一下
;要想进行关联的话需要进行反应器的编写,很久没有接触了,先搞个手动的给你用用。
;主要功能是根据视口的比例调整图框的比例属性----
(defun c:vtob( / ss ent scale SetAttrib)
  (vl-load-com)
  (defun SetAttrib(obj sear val / attrs)
                    (setq attrs (vlax-invoke obj 'getattributes))
                    (foreach x attrs
                      (if (= (strcase (vlax-get x 'tagstring)) (strcase sear))(vlax-put x 'textstring val)))
                    )
  (princ "\n请选择视口:")
  (if (setq ss (ssget ":s" '((0 . "VIEWPORT"))))
    (progn
      (setq ent(entget (ssname ss 0)))
      (setq scale(/ (cdr(assoc 41 ent))(cdr(assoc 45 ent))))
      (setq scale(/ (fix(* scale 1000000)) 1000000.0))
      (princ "\n选择要调整视口比例的图块:")
      (if (setq ss (ssget ":s" '((0 . "INSERT"))))
        (progn
          (SetAttrib (setq ent(vlax-ename->vla-object (ssname ss 0))) "比例" (strcat "1:" (rtos (/ 1.0 scale) 2 0)))
          (vla-update ent)
        )
      )
      
    )
  )
  (princ)
)
回复

使用道具 举报

发表于 2016-4-5 22:28:02 | 显示全部楼层
可以把所有的视口选择后修改它的特性——标准比例
回复

使用道具 举报

发表于 2022-2-14 12:01:03 | 显示全部楼层
您好,这个代码帮改下,改好的比例不是小数点吗?
;主要功能是根据视口的比例调整图框的比例属性----
(defun c:vtob( / ss ent scale SetAttrib)
  (vl-load-com)
  (defun SetAttrib(obj sear val / attrs)
                    (setq attrs (vlax-invoke obj 'getattributes))
                    (foreach x attrs
                      (if (= (strcase (vlax-get x 'tagstring)) (strcase sear))(vlax-put x 'textstring val)))
                    )
  (princ "\n请选择视口:")
  (if (setq ss (ssget ":s" '((0 . "VIEWPORT"))))
    (progn
      (setq ent(entget (ssname ss 0)))
      (setq scale(/ (cdr(assoc 41 ent))(cdr(assoc 45 ent))))
      (setq scale(/ (fix(* scale 1000000)) 1000000.0))
      (princ "\n选择要调整视口比例的图块:")
      (if (setq ss (ssget ":s" '((0 . "INSERT"))))
        (progn
          (SetAttrib (setq ent(vlax-ename->vla-object (ssname ss 0))) "比例" (vl-princ-to-string scale))
          (vla-update ent)
        )
      )
      
    )
  )
  (princ)
)

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2022-2-14 12:02:53 | 显示全部楼层
danxingpen 发表于 2015-4-22 10:37
要想进行关联的话需要进行反应器的编写,很久没有接触了,先搞个手动的给你用用。
;主要功能是根据视口的 ...

麻烦您改下,刷好的比例要整数,谢谢

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2022-2-14 12:05:52 | 显示全部楼层
您好,我刷了下是小数点,您刷好是什么样的呢?
回复

使用道具 举报

发表于 2022-2-16 18:09:44 | 显示全部楼层
感谢各位大神分享,学习了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 08:03 , Processed in 0.192583 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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