明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3479|回复: 7

怎样在LISP中修改标注样式

[复制链接]
发表于 2008-6-12 09:08 | 显示全部楼层 |阅读模式
怎样在LISP中修改标注样式,是修改不是样式替代!就是说关了以后整个CAD图中的标注全部自动更新,替代不会自动更新,只会在以后的标注中起作用。请问怎么才能用LISP实现,不打开那个烦死的对话框!比如说我想把文字尺寸由3.0改为2.0,怎么编程,谢谢!
发表于 2008-6-12 09:54 | 显示全部楼层

;;试试我写的这个程序,可以轻松修改标注内容

;;支持批量修改哦。

(setq txt_de "100")
(defun c:de (/ ss txt)
 (setvar "cmdecho" 0)   (princ "\n 选择需修改的标注:")
 (setq ss (ssget))
(if ss (progn (princ "\n 请输入字符(空格=恢复)<\"")(princ txt_de)
 (setq txt (getstring T "\">:"))
(cond ((= txt " ")(setq txt ""))
 ((= txt "")(setq txt txt_de))
 (T (setq txt_de txt))
)
(command "dimedit" "n" txt "p" "")
))(princ)
)
(princ "标注修改程序 命令de")(princ)

 楼主| 发表于 2008-6-12 10:18 | 显示全部楼层
谢谢老兄回复,不是我想要的结果,继续等待中。。。。。。。
发表于 2008-6-12 10:54 | 显示全部楼层

简单修改一下就成了,等现成的啊。

 楼主| 发表于 2008-6-12 11:26 | 显示全部楼层
可能你理解错了,我意思是说把所有标注高度为3.0的尺寸全部改为标注高度为2.0的尺寸,不是把3.0改为2.0,我当然知道打开那个标注样式可以改了,怎么在不打开那个框的情况下用LISP实现,而且要在图面上立马更新成功,不用dim-update那个命令,谢谢
发表于 2008-6-18 11:49 | 显示全部楼层

(defun c:changdim()
   (setq currentLay (getvar "dimstyle"))

;;设置标注变量
;;本例仅设置字体大小的变量,如要修改其他变量,在此处添加
  (setvar "DIMTXT"  (getreal "\n请输入需更改的标注尺寸:"))

  (command ".-DIMSTYLE" "S" currentLay)
  (command "_Y" ))

加载后命令行输入changdim即可,也可加入自已的程序段中

发表于 2008-6-18 12:33 | 显示全部楼层

补充:虽然可实现变更,但一般不建议做这样的修改。

      因为这样未指定的项(如箭头大小、引线粗细)等并不会变化,单字体变大会显得不协调。

      最佳的办法是修改全局变量!

发表于 2008-6-18 16:18 | 显示全部楼层
试试利德行工具,命令DG
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-18 07:26 , Processed in 0.247150 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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