明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3624|回复: 13

[已解答] 求LISP自动修改标注样式管理器中所有标注样式的文字高度为9和箭头大小0.5和角度精...

[复制链接]
发表于 2015-7-21 14:43 | 显示全部楼层 |阅读模式
本帖最后由 wayne_myles 于 2015-7-21 14:47 编辑

请大侠出手 求LIS自动修改标注样式管理器中所有标注样式的文字高度为9和箭头大小0.5和角度精度为0.01,可以吗!最好可以把以前的标注全部更新为修改后标注样式,可以吗!!估计有难度,在论坛搜索不到类似的
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2015-7-21 18:38 | 显示全部楼层
  1. ;;标注统一
  2. ;;by edata@mjtd 2015-7-21
  3. (defun c:tt(/ elist a dim_a dim_lst en obj ss)
  4.   (setq dim_a(tblnext "dimstyle" t) dim_lst '())
  5.   (setq dim_lst(cons (cdr(assoc 2 dim_a)) dim_lst))
  6.   (while(setq dim_a(tblnext "dimstyle"))
  7.     (setq dim_lst(cons (cdr(assoc 2 dim_a)) dim_lst))
  8.     )
  9.   (print dim_lst)
  10.   (while(setq a(car dim_lst))
  11.   (setq elist (entget(tblobjname"dimstyle" a)))
  12.     (if(assoc 140 elist)
  13.     (setq elist(subst(cons 140 9)(assoc 140 elist)elist))
  14.     (setq elist(reverse(cons(cons 140 9)(reverse elist))))
  15.     )
  16.     (if(assoc 41 elist)
  17.     (setq elist(subst(cons 41 0.5)(assoc 41 elist)elist))
  18.     (setq elist(reverse(cons(cons 41 0.5)(reverse elist))))
  19.     )
  20.   (if(assoc 179 elist)
  21.     (setq elist(subst(cons 179 2)(assoc 179 elist)elist))
  22.     (setq elist(reverse(cons(cons 179 2)(reverse elist))))
  23.     )
  24.   (entmod elist)
  25.     (setq dim_lst(cdr dim_lst))
  26.     )
  27.   (setvar 'dimadec 2)
  28.   (setvar 'dimtxt 9.0)
  29.   (setvar 'dimasz 0.5)
  30.   (if (setq ss (ssget "x" '((0 . "DIMENSION"))))
  31.     (while (setq en (ssname ss 0))
  32.       (setq obj (vlax-ename->vla-object en))
  33.       (vla-put-ArrowheadSize obj 0.5)
  34.       (vla-put-TextHeight obj 9.0)
  35.       (if (= (vla-get-objectname obj) "AcDb2LineAngularDimension")
  36.         (vla-put-TextPrecision obj 2)
  37.       )
  38.       (setq ss (ssdel en ss))
  39.     )
  40.   )
  41.   (princ)
  42.   )

评分

参与人数 2明经币 +2 收起 理由
wayne_myles + 1 必须得顶啊!
lucas_3333 + 1 E大,明经的活雷锋!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2015-7-21 15:27 | 显示全部楼层
一点都不实用, 还是你那天所说的, 从别的图拷贝来了图形增加了很多文字样式和标注样式, 都不统一, 然后你苦想了几天,就想到了这招? 你为何不去想如何统一标注样式 ?统一用一个标注样式,
回复 支持 1 反对 0

使用道具 举报

发表于 2023-7-6 16:33 | 显示全部楼层

瞬间让图面标注统一,好东西,顶!
 楼主| 发表于 2015-7-21 14:45 | 显示全部楼层
这是个很实用的功能啊!望高手造福大家!
 楼主| 发表于 2015-7-21 15:30 | 显示全部楼层
本帖最后由 wayne_myles 于 2015-7-21 15:40 编辑
lucas_3333 发表于 2015-7-21 15:27
一点都不实用, 还是你那天所说的, 从别的图拷贝来了图形增加了很多文字样式和标注样式, 都不统一, 然后你苦 ...


呵呵 厉害啊啥都逃不过你的眼睛 可是统一标注样式的时候有个问题,就是替换时候,公差会全部消失!
做设计的时候,经常会参考别人的图纸,一些标准件和常用的部件是相同的,所以会经常拷贝过来,样式一多就无法控制的因素就多,而且字体标注形态各不相同,打印图纸很难看!
 楼主| 发表于 2015-7-21 15:52 | 显示全部楼层
不信你看别人也为这个样式问题苦恼了!http://bbs.mjtd.com/thread-110672-1-1.html

点评

总感觉不太好,一张图纸N个标注样式 ,文字样式,  发表于 2015-7-21 19:49
发表于 2015-7-21 19:51 | 显示全部楼层
建议楼主还是把dimtxsty 加进去, 否则不同的字体,就算一样的文字高度, 实际大小也会不一样.

点评

谢谢指点了!  发表于 2015-7-31 08:06
好的,谢谢你啊!一直关注这个问题  发表于 2015-7-22 07:35
 楼主| 发表于 2015-7-22 07:33 | 显示全部楼层
本帖最后由 wayne_myles 于 2015-7-23 07:48 编辑
edata 发表于 2015-7-21 18:38


谢谢E大出手,终于有希望解决这个问题了!
刚才试用E大的程序,很强啊!轻松解决困扰许久的问题,明经真是藏龙卧虎啊!呵
 楼主| 发表于 2015-7-24 11:18 | 显示全部楼层
本帖最后由 wayne_myles 于 2015-7-24 11:47 编辑
edata 发表于 2015-7-21 18:38

E大,谢谢你了,真乃牛人也!效果很好太给力了,,能不能做个框选的,使用中发现有的图框大小相差较大,需要单独框选调整就完美了!!
发表于 2015-7-24 12:02 | 显示全部楼层
wayne_myles 发表于 2015-7-24 11:18
E大,谢谢你了,真乃牛人也!效果很好太给力了,,能不能做个框选的,使用中发现有的图框大小相差较大,需 ...

(if (setq ss (ssget "x" '((0 . "DIMENSION"))))

把这里的 "x" 去掉试试

评分

参与人数 1明经币 +1 收起 理由
wayne_myles + 1 赞一个!谢谢一直关注此问题!

查看全部评分

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

本版积分规则

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

GMT+8, 2024-3-29 08:58 , Processed in 0.272623 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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