cad lisp 背景遮罩_单行文字转多行文字带背景遮罩

这篇博客介绍了一个LISP程序,用于将CAD中的单行文本转换为多行文本,并为转换后的多行文本设置1.1倍边界的背景遮罩,填充颜色与图形背景相同。程序还处理了已存在背景遮罩的多行文本,更新其参数。
摘要由CSDN通过智能技术生成

http://bbs.xdcad.net/thread-643906-1-1.html

-----------------------------程序代码--------------------------------------------

;这个lisp程序的作用是,将单行文本转换为多行文本,为多行文本设置背景遮罩

;背景遮罩边界偏移因子为1.1,使用图形背景颜色填充。

;s1选择集名称,i m n 计数器,addlist增加的组码

;entname 图元名,nlist 图元数据,tid 图元标志(若为TEXT则表示为单行文本),tt 文本,th文本高度

;pt 文本基点,tang 文本旋转角度,ttlen 文本大致长度,tstr 相对坐标形式的多行文本的另一点

(defun c:bg()

;首先要对图形进行一些设置,否则将会影响程序的使用。在程序结束前将会恢复这些设置!

(setq sysosnap (getvar "OSMODE")) ;取得对象捕捉设置

(setvar "OSMODE" 16384)  ;关闭对象捕捉

(setq sysang (getvar "ANGDIR")) ;取得角度方向(顺时针/逆时针)

(setvar "ANGDIR" 0)   ;设置为逆时针方向

(setq sysabase (getvar "ANGBASE")) ;取得方向的基准角度

(setvar "ANGBASE" 0)   ;设置方向的基准角度为东

(command "ucs" "")   ;设置为wcs

(setq s1 (ssget))    ;选取单行文本或多行文本,构造非空选择集

(if (/= s1 nil) (print)    ;构造选择集成功,继续

(progn      ;构造失败,恢复设置退出

(setvar "OSMODE" sysosnap)  ;恢复对象捕捉设置

(setvar "ANGDIR" sysang)  ;恢复角度方向

(setvar "ANGBASE" sysabase)  ;恢复方向的基准角度

(command "ucs" "p")   ;恢复ucs

(exit)    ;退出

)

)

(setq i 0 m 0 n 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值