学习啦>学习电脑>工具软件>图像处理教程>CAD教程>新手上路>

 CAD中的动态文字:字段(field)和动态反应文字(rtext)

时间: 思伟715 分享

  CAD中有些文字需要随着图纸的当前条件的变化自动变化,例如保存日期、打印日期、打印比例等等。CAD早期版本只是在扩展工具中提供了动态反应文字(rtext)功能,动态反应文字可以用CAD的Diesel表达式来定义动态文字,也可以动态链接文本文档,文本文档被编辑后,图纸中的文字会自动更新。由于大多数设计人员对Diesel表达式不了解,因此这个功能会用的人不多,CAD高版本提供了字段(field)功能,这个功能预定义了一系列动态文字,设计人员只需在列表中选用即可,这样使用起来就简单多了。当然也支持高手们用Diesel表达式、LISP变量、系统变量来自定义动态文字。

  CAD中的动态文字:字段(field)和动态反应文字(rtext)

  一、字段(field)

  字段不仅可以单独插入,也可以在单行文字、多行文字、属性文字的值中插入字段。单独插入字段的话,CAD教程网直接输入field命令,或者在菜单中选择:插入>字段;弹出对话框如下:

  CAD中的动态文字:字段(field)和动态反应文字(rtext)

  如果只是要插入预设好的字段操作非常简单,直接在左侧列表中选择“字段名称”,在右侧列表中选择一个符合自己要求的“样例”,然后点“确定”按钮后在图面上确定位置即可。

  由于预设的字段比较多,为了更快找到自己需要的字段,可以现在“字段类别”中选择需要的类别,例如在类别中选择“打印”或“日期和时间”,下面列出的名称就少多了,选起来会更方便。

  如果要把字段插入普通的文字中间,在写单行文字和多行文字时右键,右键中都会有“插入字段”的功能。如果你的图框用的是属性块,CAD教程网也可以在定义属性文字时插入字段,“属性定义”对话框的属性值的后面有一个“插入字段”的按钮,点此按钮可以在属性中插入字段,如下图所示。

  CAD中的动态文字:字段(field)和动态反应文字(rtext)

  在选择一个字段的时候就可以看到对话框下面会显示“字段表达式”,如果感兴趣,可以研究一下。CAD教程网不过我觉得目前预定义的字段对于大多数普通设计人员来说完全够用了。我对CAD编程方面也不太了解,无法给大家太多指导。后面从网上介绍动态反应文字的文章中Diesel表达式的文章中摘取两个例子,看看对大家有没有帮助。

  二、动态反应文字(RTEXT)

  动态反应文字可以说是字段的前身,AutoCAD和浩辰CAD都放在扩展工具中。

  动态反应文字需要自己编写表达式,不如字段方便,但RTEXT还有一个字段没有的功能:链接文本文件。

  1、链接文本文件

  使用文件作为输入可以把大量规格化的文本保存在外部文件中,在图形中用RTEXT显示出来。例如如果多张同类图纸中会使用了相同的注解或说明文字,这些文字有时需要批量修改,就可以利用这个功能插入,只需修改文本文件,所有图纸中的内容都会自动修改。当然打开图纸时必须要能找到这个文本文件,如果要将图纸文件归档或发送给其他人,直接分解(x)成普通文字就好了。

  例1:使用RTEXT显示文本文件内容

  操作很简单,执行RTEXT命令后,选择RTEXT的“文件(F)”选项,弹出文件选择对话框,可选择一个文本文件。如下图:

  CAD中的动态文字:字段(field)和动态反应文字(rtext)

  2、Diesel表达式

  这里从别的文章中摘取两段用Diesel表达式定义的例子,让大家对Diesel表达式有所了解。CAD教程网

  示例2:使用RTEXT显示文件位置

  我们可以使用RTEXT来自动记录文件位置并在图中显示出来,无论你的文件在何处。使用RTEXT的Diesel选项,输入内容为$(getvar, "dwgprefix")$(getvar, "dwgname"),则在图中指定位置会显示如下文本:

  CAD中的动态文字:字段(field)和动态反应文字(rtext)

  示例3:使用RTEXT显示日期、时间

  选择RTEXT的Diesel选项,在弹出的表达式输入对话框中输入如下字符串:

  $(edtime,$(getvar,date),DDD", "D MON YYYY)

  在图中选择适当位置后,则在图中位置显示如下当前日期文本:

  CAD中的动态文字:字段(field)和动态反应文字(rtext)

  通过这个可以看到,这个表达式跟字段对话框中显示的表达式是类似的,CAD教程网有了字段功能后,大家就可以不用在研究这个Diesel了。如果你对LISP编程有一点了解的话,这个Diesel表达式其实也非常简单。

  以上技巧适用于AUTOCAD和浩辰CAD等类似CAD软件。

528242