userzhl 发表于 2007-11-6 17:41:00

<p><strong><font face="Verdana" color="#61b713">caoyin,</font></strong>但我更想要这样的:</p><p>例如:图中有标注样式“50”“100”“150”“200”“250”,其中“50”“150”“250”的全局比例"DIMSCALE"都是100,需要把“50”“150”“250”合并成样式:“模型空间1:100”。</p><p><font face="Verdana" color="#61b713"><strong>不需要选取标注,直接把样式</strong></font></p><p><font face="Verdana" color="#61b713"><font color="#000000">“50”“150”“250”合并到样式:“模型空间1:100”。</font></font></p>

caoyin 发表于 2007-11-7 16:38:00

本帖最后由 作者 于 2007-11-7 16:47:27 编辑 <br /><br /> <p>;;;合并标注样式(还没有测试)</p><p>;;;语法(lt:dimstyle-merge &lt;要合并的标注样式列表&gt; &lt;目标标注样式&gt;)</p><p><br/>(defun lt:dimstyle-merge (dstlst dst / doc blks n space obj app)<br/>&nbsp; (setq doc&nbsp;&nbsp;&nbsp; (vla-get-activedocument (vlax-get-acad-object))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; blks&nbsp;&nbsp; (vla-get-blocks doc)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dstlst (mapcar 'strcase dstlst)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dst&nbsp;&nbsp;&nbsp; (strcase dst)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>&nbsp; )<br/>&nbsp; (if (member (strcase (getvar "dimstyle")) dstlst) <br/>&nbsp;&nbsp;&nbsp; (setvar "dimstyle" dst)<br/>&nbsp; )<br/>&nbsp; (while (&lt; n (vla-get-count blks))<br/>&nbsp;&nbsp;&nbsp; (setq space (vla-item blks n))<br/>&nbsp;&nbsp;&nbsp; (vlax-for obj space<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (and (= (vla-get-ObjectName obj) "AcDbRotatedDimension")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (member (cdr (assoc 3 (setq app (entget (vlax-vla-object-&gt;ename obj))))) dstlst)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (entmod (subst (cons 3 dst) (assoc 3 app) app))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (setq n (1+ n))<br/>&nbsp; )<br/>&nbsp; (mapcar '(lambda (x)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (/= x (strcase dst))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vl-catch-all-apply 'vla-delete (list (vla-item (vla-get-dimstyles doc) x)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dstlst<br/>&nbsp; )<br/>&nbsp; (vla-regen doc 1)<br/>)</p>

bianjia2006 发表于 2011-4-4 20:42:45

回复 caoyin 的帖子

学习了,谢谢

qq1254582201 发表于 2019-3-14 16:03:05

要是能给这个 完善了不是更美好嘛!!!!

xgd80 发表于 2019-3-15 14:34:03

学习了
页: 1 [2]
查看完整版本: [求助]请问高手,如何列出所有标注样式名称?