由于大多数设计人员对Diesel表达式不了解,因此这个功能会用的人不多,CAD高版本提供了字段(field)功能,这个功能预定义了一系列动态文字,设计人员只需在列表中选用即可,这样使用起来就简单多了。当然也支持高手们用Diesel表达式、LISP变量、系统变量来自定义动态文字。
一、直接插入字段
1、字段不仅可以单独插入,也可以在单行文字、多行文字、属性文字的值中插入字段。和其他文字一样,使用字段之前要设置好文字样式。单独插入字段的话,直接输入field命令,或者在菜单或工具面板中执行字段命令d出对话框,如图所示。
2、如果只是要插入预设好的字段 *** 作非常简单,直接在左侧列表中选择“ 字段名称 ”,在右侧列表中选择一个符合自己要求的“ 样例 ”,然后点“ 确定 ”按钮后在图面上确定位置即可。由于预设的字段比较多,为了更快找到自己需要的字段,可以现在“ 字段类别 ”中选择需要的类别,例如在类别中选择“ 打印 ”或“ 日期和时间 ”,下面列出的名称就少多了,选起来会更方便。
3、只左侧的字段名称中选择保存日期,在右侧的样例列表中选择一种我们需要的形式,然后单击确定按钮,关闭字段对话框,按提示在图面上确定字段插入的位置。
4、为了区别于 普通的文字 ,字段插入后可以看到灰色的背景。 双击字段, 可以d出多行文字编辑器,我们可以在字段的基础上添加其他文字
5、如果想看到字段变化的效果,我们可以尝试着修改一下系统时间,然后再保存一下图纸。
二、在多行文字或单行文字中插入字段
1、如果要把字段插入普通的文字中间,在写单行文字和多行文字时右键,右键中都会有“ 插入字段 ”,也可以按快捷键 CTRL+F ,多行文字编辑器的面板中也有插入字段的按钮。
三、属性文字中添加字段
1、如果你的图框用的是属性块,也可以在定义属性文字时插入字段,“ 属性定义 ”对话框的属性值的后面有一个“插入字段”的按钮,点此按钮可以在属性中插入字段,如图所示。
四、用字段标注面积或长度
1、字段不仅可以设置日期、比例,还可以提取对象的属性,如长度、面积、半径等,这些字段也会随图形的变化而自动变化。下面看一下如何用字段来标注一个圆的面积。绘制一个圆, 执行字段命令, 在字段类别中选择“ 对象 ”,单击选择对象按钮,拾取圆,在属性中选择面积,后面还可以设置数字的格式,如图所示。
2、单击确定按钮,关闭字段对话框,在图中单击确定字段的位置,如图所示。
3、选中圆, 拖动夹点, 改变圆的大小,然后输入 RE ,回车,更新字段,观察面积字段的变化,如图所示。
4、如果感兴趣,还可以尝试用字段标注对象的其他属性。
小结:
在字段对话框中提供了大量预设的字段,当我们选择一个字段的时候就可以看到对话框下面会显示“字段表达式”,如果感兴趣,可以研究一下。
不过我觉得目前预定义的字段对于大多数普通设计人员来说完全够用了。我对CAD编程方面也不太了解,无法给大家太多指导。后面从网上介绍动态反应文字的文章中Diesel表达式的文章中摘取两个例子,看看对大家有没有帮助。
注意事项:
以上技巧适用于AUTOCAD和浩辰CAD等类似CAD软件
一般有两个方案第一个方案:用AutoLisp方案,首先用 取得图块这个图元,然后用 entnext 逐一找到属性块来找到其中length的属性,然后将它的值给找出来,然后进行运算,注意 entnext 的运用。这个很简单,你自己应该写吧。
第二个方案:用VisualLisp方案,注意vla-getattributes,vlax-variant-value,vlax-safeArray->list这几个函数的运用,以下为 VisualLisp的例子
(Defun C:Test ()
(setq en0 (car (entsel)))
此处请选有属性定义的图块
(setq vn0 (vlax-ename->vla-object en0))
(setq lstVar (vla-getattributes vn0))
(setq lstAttrs (vlax-safeArray->list (vlax-variant-value lstVar)))
(setq TextString nil)
(foreach attr lstAttrs
(setq TagString (vla-get-TagString attr))
(if (equal TagString "length") 此处为你想要的元素
(setq TextString (vla-get-TextString attr))
)
)
(if TextString
(princ (strcat "The content of length = " TextString))
(princ "没有找到length ")
)
(prin1)
)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)