lisp全部文本改宋体字型_[推荐]修改任何文字(包括属性块、有名无名块)
转发一好用程序,可修改任何文字,唯独不能修改尺寸文字,望原创作者或各位高手能修改一下。
LISP:
;自定义UnDo范围
(defun EF:UNDOBegin ()
(setvar "CMDECHO" 0 )
(command "_.undo" "_group")
(princ)
) ;end defun
(defun EF:UNDOEnd()
(setvar "CMDECHO" 0)
(command "_.undo" "_end")
(princ)
) ;end defun
(defun c:tt( / dcl_id1 oba ob1 obn obt ptn otxt txt sty styno lay cyn layno hig wid ang col cnu etlst style layer)
(graphscr)
(EF:UNDOBegin)
(setq olderr *error*)
(defun *error*(msg)
(princ "\n*ERROR*...")
(princ msg)
(princ)
);end defun error.
(defun set_color ( conm / costr )
(defun map_color ( ckey mno )
(start_image ckey)
(fill_image 0 0 (DimX_tile ckey) (DimY_tile ckey) mno)
(end_image)
) ;end defun
(cond ((= 0 conm)(setq costr "Byblock"))
((= 1 conm)(setq costr "Red"))
((= 2 conm)(setq costr "Yellow"))
((= 3 conm)(setq costr "Green"))
((= 4 conm)(setq costr "Cyan"))
((= 5 conm)(setq costr "Bule"))
((= 6 conm)(setq costr "Magenta"))
((= 7 conm)(setq costr "color"))
((= 256 conm)(setq costr "Bylayer"))
( t (setq costr ""))
) ;end cond
(cond ((= 0 col) (map_color "col" 7))
((= 256 col)(map_color "col" (cdr (assoc 62 (tblsearch "layer" lay)))))
(t (map_color "col" conm))
) ;end cond
(if (= 256 conm)
(set_tile "cnu" (strcat "" costr))
(set_tile "cnu" (strcat "" costr))
) ;end if
) ;end set_color
(defun map_keylist( key keylst );set popuplist
(start_list key)
(mapcar 'add_list keylst)
(end_list)
);end map
(defun layer_get_all( / lay layer layname)
(setq layer nil ;;All layer
lay (tblnext "LAYER" T)
)
(while (/= lay nil)
(setq layname (cdr (assoc 2 lay))
layer (cons layname layer))
(setq lay (tblnext "LAYER"))
)
(setq layer (ACAD_Strlsort layer))
layer ;all layer.
) ;end defun
(defun style_get_all( / sty style sty_list)
(setq sty_list nil sty (tblnext "style" t))
(setq style (cdr (assoc 2 sty)))
(while style
(if (/= "" style)(setq sty_list (append sty_list (list style))))
(setq sty (tblnext "style"))
(setq style (cdr (assoc 2 sty)))
);end while]
(setq sty_list (ACAD_Strlsort sty_list))
sty_list
);end defun
(defun set_error(str)
(set_tile "error" str)
) ;end defun
(defun sub_mtext ( color entlist / ei newlist)
(setq ei 0 newlist nil)
(while (< ei (length entlist))
(setq newlist (cons (nth ei entlist) newlist))
(if (= 8 (car (nth ei entlist)))
(setq newlist (cons (cons 62 color) newlist))
) ;end if
(setq ei (1+ ei))
) ;end while
(reverse newlist)
) ;end defun
(setq ob1 (entsel "\n选择要修改的任何文本:"))
(SETQ obn (car ob1) ptn (car (cdr ob1 )))
(setq obt (car (nentselp ptn)))
(setq oba (cdr (assoc 0 (entget obt))))
(if (or (= oba "TEXT")(= oba "MTEXT")(= oba "ATTRIB"))
(setq otxt (cdr (assoc 1 (entget obt))))
) ;end if
(if (= oba "ATTDEF")
(setq otxt (cdr (assoc 2 (entget obt))))
) ;end if
(if otxt
(progn
(setq
sty (cdr (assoc 7 (entget obt)))
lay (cdr (assoc 8 (entget obn)))
hig (cdr (assoc 40 (entget obt)))
wid (cdr (assoc 41 (entget obt)))
ang (cdr (assoc 50 (entget obt)))
) ;end setq
(if (or (= oba "TEXT")(= oba "MTEXT")(= oba "ATTRIB"))
(setq col (cdr (assoc 62 (entget obt))))
(setq col (cdr (assoc 62 (entget obn))))
) ;end if
(setq ang (* 180 (/ ang pi)))
(if (null col)(progn (setq cyn 0)(setq col 256))(setq cyn 1))
(setq style (style_get_all))
(setq layer (layer_get_all))
(setq styno (- (length style)(length (member sty style))))
(setq layno (- (length layer)(length (member lay layer))))
(setq dcl_id1 (load_dialog "文字修改.DCL"))
(if (not (new_dialog "文字修改" dcl_id1))(exit))
(set_color col)
(set_tile "text" otxt)
(set_tile "hig" (rtos hig 2 2))
(set_tile "wid" (rtos wid 2 2))
(set_tile "ang" (rtos ang 2 2))
(mode_tile "text" 2)
(map_keylist "sty" style)(set_tile "sty" (itoa styno))
(map_keylist "lay" layer)(set_tile "lay" (itoa layno))
(action_tile "text" "(setq txt $value)")
(action_tile "sty" "(setq styno (atoi $value))")
(action_tile "hig" "(setq hig (distof $value))(if (>= 0 hig)(progn (mode_tile \"hig\" 3)(mode_tile \"hig\" 2)(set_error \"Input error ! \"))(set_error \"\"))")
(action_tile "wid" "(setq wid (distof $value))(if (>= 0 wid)(progn (mode_tile \"wid\" 3)(mode_tile \"wid\" 2)(set_error \"Input error ! \"))(set_error \"\"))")
(action_tile "lay" "(setq layno (atoi $value))")
(action_tile "col" "(if (setq cnu (ACAD_ColorDlg col))(progn (setq col cnu)(set_color col)))")
(action_tile "ang" "(setq ang (distof $value))")
(action_tile "accept" "(done_dialog 1)")
(action_tile "cancel" "(done_dialog 0)")
(if (= 1 (start_dialog))
(if txt
(progn
(setq sty (nth styno style))
(setq lay (nth layno layer))
(setq ang (* (/ ang 180) pi))
(setq etlst (entget obt))
(if (= oba "ATTDEF")
(setq etlst (subst (cons 2 txt)(assoc 2 etlst) etlst))
(setq etlst (subst (cons 1 txt)(assoc 1 etlst) etlst))
) ;end if
(setq etlst (subst (cons 7 sty)(assoc 7 etlst) etlst))
(setq etlst (subst (cons 40 hig)(assoc 40 etlst) etlst))
(setq etlst (subst (cons 41 wid)(assoc 41 etlst) etlst))
(setq etlst (subst (cons 50 ang)(assoc 50 etlst) etlst))
(if (= 1 cyn)
(setq etlst (subst (cons 62 col)(assoc 62 etlst) etlst))
(if (= "MTEXT" oba)
(setq etlst (sub_mtext col etlst))
(setq etlst (cons (cons 62 col) etlst))
) ;end if
) ;end if
(entmod etlst)
(setq etlst (subst (cons 8 lay)(assoc 8 (entget obn)) (entget obn)))
(entmod etlst)
(entupd obt)
(entupd obn)
)
) ;end if
);end if
(if (= 11 (start_dialog))(Command "_help"))
) ;end progn
) ;end if
(setq *error* olderr)
(EF:UNDOEnd)
(princ)
) ;end defun
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DCL:
//SUPERDDEDIT
文字修改: dialog {
label = "文字编辑...";
: boxed_radio_column {
label = "超级文字编辑...";
: edit_box { label= "文字:"; key = "text"; edit_width = 50; }
: row {
: popup_list {label="样式"; key = "sty"; edit_width = 13; fixed_width = true;}
: edit_box {label="高度"; key = "hig"; edit_width = 7; fixed_width = true;}
: edit_box {label="宽度"; key = "wid"; edit_width = 7; fixed_width = true;}
}
: row {
: popup_list {label="图层"; key = "lay"; edit_width = 13; fixed_width = true;}
: image_button {key = "col"; width= 4; aspect_ratio = 0.75; fixed_width = true;}
: text_part {key = "cnu"; width= 12;fixed_width = true; }
: edit_box {label="角度"; key = "ang"; edit_width = 7; fixed_width = true;}
}
spacer_1;
}
: row {
alignment = right;
: spacer {width = 1; fixed_width = true;}
ok_cancel;
}
errtile;
}
lisp全部文本改宋体字型_[推荐]修改任何文字(包括属性块、有名无名块)相关推荐
- cad文本改宋体字型lisp_给CAD初学者的一些建议
左下角阅读原文看CAD视频 好课推荐: 1.CAD2014:点击查看 2.室内&全屋:点击查看 3.CAD2019:点击查看 4.CAD2018:点击查看 5.[bim]revit:点击查看 ...
- cad文本改宋体字型lisp_CAD绘图员必须掌握的15个高能技巧,别人3天工作量你半天搞定!...
▲ 点击"CAD教学",获取海量学习资料和免费教程 1.将默认保存文件设置为最低版本 a) 在绘图界面输入命令"OP" b)点击"打开和保存选项卡&q ...
- cad文本改宋体字型lisp_CAD的40个常用命令和20个常见问题解决方法 撩妹必备技能...
CAD这么多命令和快捷方式,你掌握了几分? 1. 创建直线的命令是L+空格 18. 局部观察平面图细节Z+空格 2. 创建圆的命令是C+空格 19. 显示实时缩放的放大镜 Z+双空格 3. 创建圆弧的 ...
- python批量处理excel文本改为数字_Python批量修改Excel中的文件内容
import os import xlrd from xlutils.copy import copy def base_dir(filename=None): return os.path.join ...
- idea的tomcat改端口号_如何修改tomcat默认端口号8080的方法
1.背景 在默认情况下,tomcat的端口是8080,使用了两个tomcat,那么就需要修改其中的一个的端口号才能使得两个同时工作. 2.方法 2.1改动一 那么,如何修改tomcat的端口号呢?首先 ...
- .idea文件夹是做什么的_推荐 33 个 IDEA 最牛配置,让你效率提高10倍!
作者:琦彦 blog.csdn.net/fly910905/article/details/77868300 1.设置maven 1.在File->settings->搜索maven 2. ...
- idea jar放进本地仓库 为何依赖不了_推荐 33 个 IDEA 最牛配置,写代码太爽了
点击蓝色"架构文摘"关注我哟 加个"星标",每天上午 09:25,干货推送! 来自:琦彦 blog.csdn.net/fly910905/article/det ...
- java语言中声明布尔型_【Java初探02】——Java语言基础
本篇博文就Java语言的一些基本元素进行一些记录和阐述,主要讲解一下Java语言的一些基本构成元素和Java的主类结构. Java语言基础的大致组成 java主类结构 基本的数据类型 变量与常量 运算 ...
- OPC UA客户端工具Softing OPC Client使用_推荐使用
OPC UA客户端工具Softing OPC Client使用_推荐使用 Softing OPC Client工具介绍 Softing OPC Client工具是德国Softing公司出品的标准OPC ...
最新文章
- LOJ6079「2017 山东一轮集训 Day7」养猫
- 求两个整数的最大公约数
- Django - Form和ModelForm
- 解决maven内存溢出
- Hadoop YARN学习之核心概念(2)
- python flask api 统计_python之restful api(flask)获取数据
- 表关系+表的详细操作+字段详细操作+特殊表--day40
- mysql5.5.53安装教程_mysql5.5.28安装教程 超详细!
- 安全bios手册(5)
- 飞鸽传书2007绿色版还需要遵循些基本的原则
- 三极管实现与门、或门和非门操作
- 应届毕业生找软件测试工作实习的心得(一)
- 知乎 高级操作系统_一款假的国产操作系统被吹上知乎热榜:浮夸只会害了科技创新...
- 基于传统方法的单目深度估计
- 极客日报:阿里回应1000万成立“元境生生”;马斯克一年上了75次热搜;微软.NET中文官网正式上线
- Calendar加減月份、年份-月底的处理逻辑
- Quartz相关配置
- Curl转python在线工具
- Python金融股票和量化分析三方库汇总
- 图片懒加载的原理和实现