明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4494|回复: 19

属性块的图框自动填写比例尺,请大侠给建议

  [复制链接]
发表于 2011-11-25 17:02:56 | 显示全部楼层 |阅读模式
本帖最后由 lidaxiu 于 2011-11-25 17:16 编辑

想编写属性块的图框自动填写比例尺,请大侠给建议
就是画完图纸后框选 图框,自动改写图框比例
比如图框是1:2的,比例项就填写1:2
比如图框是1:5的,比例项就填写1:5

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2021-5-21 13:38:18 | 显示全部楼层
学习,学无止境,感谢明经。
发表于 2021-3-31 08:01:33 | 显示全部楼层
字符串,就可以
 楼主| 发表于 2011-11-25 17:20:20 | 显示全部楼层
应该和自动编写页码的代码意思差不多
 楼主| 发表于 2011-11-26 00:23:30 | 显示全部楼层
图框的比例可以算出来
以前做程序时参考过类似代码:(defun C:kbl (/ xscale yscale zscale
blockname sourceblkobj targetblkobj
blklist ss i n
)
(setq sourceblkobj (entsel "\n请选择块,查看比例:"))
(if (null sourceblkobj) (exit))
(setq sourceblkobj (vlax-ename->vla-object (car sourceblkobj)))
(if (/= "AcDbBlockReference" (vla-get-objectname sourceblkobj))
(progn
(princ
"\nThe object you selected was not block reference. Application terminated."
)
(exit)
)
)
(setq blockname (vla-get-name sourceblkobj)
xscale (vla-get-xscalefactor sourceblkobj)
yscale (vla-get-yscalefactor sourceblkobj)
zscale (vla-get-zscalefactor sourceblkobj)
)
)


,感觉主要难点是比例是属性文字,并且随块比例大小变化

评分

参与人数 1金钱 +6 收起 理由
wudi + 6

查看全部评分

发表于 2011-11-26 04:39:10 | 显示全部楼层
lidaxiu 发表于 2011-11-26 00:23
图框的比例可以算出来
以前做程序时参考过类似代码:(defun C:kbl (/ xscale yscale zscale
blockname s ...

这个太简单了。你把你的标题栏dwg文件贴出来。每个公司的定义是不一样的。
 楼主| 发表于 2011-11-26 19:12:49 | 显示全部楼层

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-11-26 19:13:44 | 显示全部楼层
本帖最后由 lidaxiu 于 2011-11-26 23:18 编辑

谢谢大师出手相助!!!上面已经把我公司的图框上传,我只想做完图纸后,改图框的比例尺时简单些!
发表于 2011-11-27 09:55:48 | 显示全部楼层
其实我倒有另外一种思路,就是图框全部放到布局里边,标注也在布局里边,这样所有的图框和标注都是1:1的,但是图纸还是有比例的。应该还是好解决的。
 楼主| 发表于 2011-11-28 23:30:55 | 显示全部楼层
才看到  “修改块中文字属性值的程序”  的贴子里,里面有相似内容,可以适当改下程序就能完成该需求了
;替换图块属性 ZZXXQQ 2007.10.28
(DEFUN CHATTRIB (OLDATT NEWATT)
(IF (AND (PRINC "\nSelect Block with attribute 选择带属性图块 :")
    (SETQ SS (SSGET '((0 . "INSERT") (66 . 1))))) (PROGN
(SETQ I -1)
(REPEAT (SSLENGTH SS)
(SETQ ENT (ENTGET (SSNAME SS (SETQ I (1+ I))))
   ENT1 ENT)
(WHILE (= (CDR (ASSOC 0 (SETQ ENT1 (ENTGET (ENTNEXT (CDR (ASSOC -1 ENT1))))))) "ATTRIB")
  (IF (= (CDR (ASSOC 1 ENT1)) OLDATT) (PROGN
(SETQ ENT1 (SUBST (CONS 1 NEWATT) (ASSOC 1 ENT1) ENT1))
(ENTMOD ENT1)
(ENTMOD ENT)
))
)
)
))
(PRINC)
)
(DEFUN C:A ()
(CHATTRIB "1:1" "1:kbl")
(PRINC)
)
发表于 2011-11-29 08:39:25 | 显示全部楼层
用反应器解决会好些

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-11-29 13:03:06 | 显示全部楼层
楼上的大侠,反应器程序在哪里,本站里有么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 17:41 , Processed in 0.177808 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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