lidaxiu 发表于 2011-11-25 17:02:56

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

本帖最后由 lidaxiu 于 2011-11-25 17:16 编辑

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

longyuan2020 发表于 2021-5-21 13:38:18

学习,学无止境,感谢明经。

彳余 发表于 2021-3-31 08:01:33

字符串,就可以

lidaxiu 发表于 2011-11-25 17:20:20

应该和自动编写页码的代码意思差不多

lidaxiu 发表于 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)
)
)


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

cabinsummer 发表于 2011-11-26 04:39:10

lidaxiu 发表于 2011-11-26 00:23 static/image/common/back.gif
图框的比例可以算出来
以前做程序时参考过类似代码:(defun C:kbl (/ xscale yscale zscale
blockname s ...

这个太简单了。你把你的标题栏dwg文件贴出来。每个公司的定义是不一样的。

lidaxiu 发表于 2011-11-26 19:12:49

lidaxiu 发表于 2011-11-26 19:13:44

本帖最后由 lidaxiu 于 2011-11-26 23:18 编辑

谢谢大师出手相助!!!上面已经把我公司的图框上传,我只想做完图纸后,改图框的比例尺时简单些!

wade320 发表于 2011-11-27 09:55:48

其实我倒有另外一种思路,就是图框全部放到布局里边,标注也在布局里边,这样所有的图框和标注都是1:1的,但是图纸还是有比例的。应该还是好解决的。

lidaxiu 发表于 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)
)

byghbcx 发表于 2011-11-29 08:39:25

用反应器解决会好些

lidaxiu 发表于 2011-11-29 13:03:06

楼上的大侠,反应器程序在哪里,本站里有么?
页: [1] 2
查看完整版本: 属性块的图框自动填写比例尺,请大侠给建议