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 <要合并的标注样式列表> <目标标注样式>)</p><p><br/>(defun lt:dimstyle-merge (dstlst dst / doc blks n space obj app)<br/> (setq doc (vla-get-activedocument (vlax-get-acad-object))<br/> blks (vla-get-blocks doc)<br/> dstlst (mapcar 'strcase dstlst)<br/> dst (strcase dst)<br/> n 0<br/> )<br/> (if (member (strcase (getvar "dimstyle")) dstlst) <br/> (setvar "dimstyle" dst)<br/> )<br/> (while (< n (vla-get-count blks))<br/> (setq space (vla-item blks n))<br/> (vlax-for obj space<br/> (if (and (= (vla-get-ObjectName obj) "AcDbRotatedDimension")<br/> (member (cdr (assoc 3 (setq app (entget (vlax-vla-object->ename obj))))) dstlst)<br/> )<br/> (entmod (subst (cons 3 dst) (assoc 3 app) app))<br/> )<br/> )<br/> (setq n (1+ n))<br/> )<br/> (mapcar '(lambda (x)<br/> (if (/= x (strcase dst))<br/> (vl-catch-all-apply 'vla-delete (list (vla-item (vla-get-dimstyles doc) x)))<br/> )<br/> )<br/> dstlst<br/> )<br/> (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]