快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

种高效、灵活的批量文字处理程序

AUTOCAD的绘图功能异常强盛,然而处理批量文字尤其是汉字的功能尚不够理想。虽然可以使用UTOCAD软件包 中的ASCTEXT应用程序,但经使用表明这个程序的界面不是很好,选项太多,而且程序运行中不答应调整各选项的内容。下面介绍的名为ITX的程序则解决了上述问题。ITX是由AUTOLISP语言编制、将外部的文字文件变成图形的程序。它的特点是程序短小,全部中文提示,可以反复调整字型、字高、字间距、插入点各选项。特殊适合引用含有汉字的大量文字。

  使用ITX之前应先用EDIT等文本编辑软件编辑需要插入到AUTOCAD中文字内容

  ITX的主要功能有:

  ・自动产生汉字字型;

  ・自动计算行间距;

  ・答应多次修改各个选项的内容;

  ・判定是否存在指定的文件或字型;

  ・保存原有的字型设置。

  ITX的使用方式如下:

  ・将ITX.LSP拷贝至ACAD12下面的SUPPORT子目录下;

  ・修改SUPPORT子目录下的ACADR12.LSP文件,在该文件中加入(autoload"itx"'("itx"));

  ・键入ITX启动程序;

  ・首先输入插入的文件名(可以带目录),假如指定的文件不存在,程序将退出;

  ・指定插入点;

  ・输入字型,缺省的字型为HZ。

  假如用户使用缺省字型(HZ)而且已经定义了该字型,程序则把它设定为当前字型;否则将程序自动产生的HZ 字型设定为当前字型。假如指定的字型不存在,程序将退出。

  ・输入字高,缺省值是当前字高。可以输入数值,也可使用鼠标指定两点确定字高。

  ・输入字间距。首次显示的缺省值是字高的1.5倍。输入方式同上。

  ・确定是否进行调整。回答“Y”重新设定插入点、字型、字高及字间距,直到满足为止。回答“N”结束程序。

  程序清单如下:

  程序名:ITX.LSP

  程序内容:

  (defun*ERROR*(err)(prompt"ιn非正常退出!请查明是否存在指定的文件或字型.")(princ))

  (defunc:itx(/osfnamekspttslsdstxtdtne)

  (graphscr)(princ"ιn插入文字程序.")

  (setvar"cmdecho"0)(setvar"blipmode"0)

  (setqos(getvar"textstyle"))

  (setqfname(getstring"ιn请输入文件名:")

  (setqtxt(openfname"r"))

  (if(nulltxt)(quit))

  (if(tblsearch"style""HZ")

  (setvar"textstyle""HZ")

  (command"style""HZ""txt,hztxt""""0

.85"""""""""))

  (setqk"Y")(while(Κk"Y")

  (if(nullsp)(princ"ιn请指定插入点:")

  (princ"ιn请指定插入点〈原插入点〉:"))

  (setqt(getpoint))

  (if(/Κtnil)(setqspt))

  (setqts(getvar"textstyle"))

  (princ(strcat"ιn请输入字型名Ι"ts"Λ:"

))

  (setqt(getstring))

  (if(/Κt"")(setqtst))

  (setqe(tblsearch"style"ts))

  (if(nulle)(quit))

  (setvar"textstyle"ts)

  (princ(strcat"ιn输入字高Ι"(rtos(getvar

"textsize"))"Λ:"))

  (initget32)(setqt(getdist))

  (if(/Κtnil)(setvar"textsize"t))

  (if(nullls)(setqls(*1.5(getvar"textsi

ze:)))

  (princ(strcat"ιn输入字间距Ι"(rtosls)"

Λ:"))

  (initget32)(setqt(getdist))

  (if(/Κtnil)(setqlst))

  (setqds(strcat"Ν"(rtosls)"Ι-90"))

  (setqtxt(openfname"r"))

  (setqdt(read-linetxt))

  (command"undo""mark")

  (command"text"sp""""dt)

  (setqdt(read-linetxt))

  (whiledt

  (command"text"ds""""dt)

  (setqdt(read-linetxt)))

  (closetxt)

  (setqk(strcase(getstring"ιn是否进行调整[

Y/N]ΙNΛ:")))

  (if(Κ"Y"k)(command"undo""back"))

  (setvar"cmdecho"1)

  (setvar"blipmode"1)

  (setvar"textstyle"os)

  (princ)

  )


返回类别: AuotoCAD教程
上一教程: AutoCAD中表格自动化
下一教程: AUTOCAD2004

您可以阅读与"种高效、灵活的批量文字处理程序"相关的教程:
· AUTOCAD系列批量处理程序
· AutoCAD二次开发程序的自动安装处理
· AUTOLISP程序设计技巧
· CAD外挂程序简繁切换
· 使用Visual LISP创建简朴的LISP应用程序
    微笑服务 优质保证 索取样品