帖子的显示效果不好,请直接下载pdf看吧:
Autocad插入动态日期-DIESEL函数的具体介绍.pdf
(443.9 KB, 下载次数: 23, 售价: 3 金币)
关于autocad如何插入动态变化的日期,为了方便大家理解,特地做了个录像,相信大家一看就懂了:
有两种方式:
1. 利用字段插入diesel函数 进而插入日期步骤:点击cad的“插入”-“字段”-“diesel表达式”,填入函数(点击下面播放器左下角的播放按钮可以播放视频
注意不是附件那里,是附件上面的)
CAD插入日期-字段方式-插入今天 少3天日期.avi
(954.5 KB, 下载次数: 3, 售价: 3 金币)
2. 利用RTEXT插入diesel函数 进而插入日期(发现这种方式只支持高版本cad(例如,cad2016可以),低版本cad(如cad2011)是不可以的)
步骤:输入命令:“RTEXT”- “D”,输入函数
cad插入日期 - rtext-diesel方法.avi
(475.5 KB, 下载次数: 6, 售价: 3 金币)
Autocad的DIESEL函数的具体介绍
DIESEL(Direct Interpretively EvaluatedString ExpressionLanguage)是指“直接解释求值的字符串表达式语言”。使用的DIESEL可以控制AutoCAD系统变量MODEMACRO的值,也可用来编写菜单宏,但只能用来处理字符串。 DIESEL的宏表达式格式如下: $(字符串函数名,函数参数1,函数参数2…) 其中,根据函数的不同,函数参数的个数可以为零或者多个,但最多为9个。在宏表达式的不同元素之间,不可以有任何空格。所有的宏表达式都必须以“$”符号开头。 表2 diesel函数格式
函数 | 说明/样例 | +(加) | 返回数字val1、val2、…、val9的和。 $(+,val1[,val2,…,val9]) 如果当前厚度被设定为5,则以下DIESEL字符串返回15。 $(+,$(getvar,thickness),10) | -(减) | 返回从数字val1中减去val2至val9的结果。 $(-,val1[,val2,…,val9]) | *(乘) | 返回数字val1、val2、…、val9的积。 $(*,val1[,val2,…,val9]) | /(除) | 返回数字val1除以val2、…、val9的结果。 $(/,val1[,val2,…,val9]) | =(等于) | 如果数字val1和val2相等,则字符串返回1;否则,返回0。 $(=,val1,val2) | <(小于) | 如果数字val1小于val2,则字符串将返回1;否则,返回0。 $(<,val1,val2) 以下表达式用于获取HPANG的当前值;如果该值小于系统变量USERR1中存储的值,则将返回1。如果USERR1中存储的值为10.0且HPANG的当前设置为15.5,则以下字符串将返回0。 $(<,$(getvar,hpang),$(getvar,userr1)) | >(大于) | 如果数字val1大于val2,则字符串返回1;否则,返回0。 $(>,val1,val2) | !=(不等于) | 如果数字val1和val2不相等,则字符串返回1;否则,返回0。 $(!=,val1,val2) | <=(小于或等于) | 如果数字val1小于或等于val2,则字符串返回1;否则,返回0。 $(<=,val1,val2) | >=(大于或等于) | 如果数字val1大于或等于val2,则字符串返回1;否则,返回0。 $(>=,val1,val2) | 并且 | 返回整数val1到val9的按位逻辑与。 $(and,val1[,val2,…,val9]) | angtos | 按指定的格式和精度返回角度值。 $(angtos,value[,mode,precision]) 按mode和precision指定的格式将给定的value作为角度值进行编辑,与类似的AutoLISP函数的定义一样。如果mode和precision被省略,则使用由UNITS命令选择的当前值。 注:AutoLISP在AutoCADLT中不可用。 可应用以下mode值: · 0,表示度 · 1,表示度/分/秒 · 2,表示百分度 · 3,表示弧度 · 4,表示勘测单位 | Edtime | 返回基于指定图片的格式化的日期和时间。 $(edtime,time,picture) 编辑由time指定的Julian日期(例如,根据给定的picture从$(getvar,date)获取)。picture由被具体日期和时间代替的格式短语组成。不能解释为格式短语的字符被完整地复制到$(edtime)的结果中。格式短语的定义如下表所示。 例如,假定日期为1998年9月5日星期六,时间为4:53:17.506,则edtime的相应格式短语和输出样例如下所示: · D-5 · DD-05 · DDD-Sat · DDDD-Saturday · M-9 · MO-09 · MON-Sep · MONTH-September · YY-98 · YYYY-1998 · H-4 · HH-04 · MM-53 · SS-17 · MSEC-506 · AM/PM-AM · am/pm-am · A/P-A · a/p-a 如上表所示,应该输入完整的AM/PM短语。如果仅使用AM,则A将按字面复制而M将返回当前月份。 如果图片中出现任何AM/PM短语,则H和HH短语将按12小时国内时钟(12:00-12:591:00-11:59)编辑时间,而不是按24小时时钟(00:00-23:59)编辑时间。 下面的样例使用上表中的日期和时间。请注意,由于逗号被读为参数分隔符,因此必须将它括在引号中。 $(edtime,$(getvar,date),DDD","DDMONYYYY-H:MMam/pm) 该表达式返回以下结果: Sat,5Sep1998-4:53am 如果time为0,则使用执行最外层宏时的时间和日期。这避免了对$(getvar,date)的冗长而费时的多次调用,并保证所有由多个$(edtime)宏组成的字符串都使用相同的时间。 | eq | 如果字符串val1和val2相同,则字符串返回1;否则,返回0。 $(eq,val1,val2) 以下表达式用于获取当前图层的名称;如果该名称与USERS1(USERS1-5)系统变量中存储的字符串值相匹配,则将返回1。假设字符串“PART12”存储在USERS1中,并且当前图层相同。 注:USERS1-5系统变量在AutoCADLT中不可用。 $(eq,$(getvar,users1),$(getvar,clayer)) 该表达式返回以下结果: 1 | Eval | 将字符串str传给DIESEL计算器,并返回计算结果。 $(eval,str) | fix | 通过舍弃小数部分,将实数数字值截断为整数。 $(fix,value) | Getenv | 返回环境变量varname的值。 $(getenv,varname) 如果未定义具有该名称的变量,则返回空字符串。 | Getvar | 返回具有给定varname的系统变量的值。 $(getvar,varname) | if | 根据条件计算表达式。 $(if,expr,dotrue[,dofalse]) 如果expr为非零,则进行计算并返回dotrue。否则,进行计算并返回dofalse。请注意,不计算expr未选择的分支。 | 索引颜色 | 返回以逗号分隔的字符串中的指定成员。 $(index,which,string) 假定string参数包含一个或多个由宏参数分隔符字符(逗号)分隔的值。which参数选择这些值中的一个值进行提取,第一项编号为0。此函数通常用于从$(getvar)返回的点坐标中提取X、Y或Z坐标值。 使用此函数,应用程序可从USERS1-5系统变量中检索存储为以逗号分隔的字符串的值。 注:USERS1-5系统变量在AutoCADLT中不可用。 | nth | 计算并返回由which选定的参数。 $(nth,which,arg0[,arg1,…,arg7]) 如果which为0,则nth返回arg0,依此类推。请注意,$(nth)和$(index)之间的区别;$(nth)将一系列参数中的一个返回给函数,而$(index)从作为单个参数传递的以逗号分隔的字符串中提取值。不计算which未选择的参数。 | 或 | 返回整数val1到val9的按位逻辑或。 $(or,val1[,val2,…,val9]) | Rtos | 按指定的格式和精度返回实数值。 $(rtos,value[,mode,precision]) 将给定的值作为实数进行编辑,按照下面两个变量指定的格式:mode和precision。如果省略mode和precision,则使用由UNITS命令选择的当前值。 | strlen | 返回string的字符长度。 $(strlen,string) | Substr | 返回string的子串,该子串从字符start开始,长度为length。 $(substr,string,start[,length]) 字符串中的字符从1开始编号。如果省略length,则返回所有剩余字符串。 | 上 | 返回string按当前地区的规则转换为大写的结果。 $(upper,string) | xor | 返回整数val1到val9的按位逻辑异或。 $(xor,val1[,val2,…,val9]) |
注:该函数根据参数“mode”和“precision”指定的格式,给定的参数“value”作为角度值进行编辑,如果参数“mode”和“precision”被省略,则使用由“unites”命令指定的当前值。参数“mode”的取值及其含义见表3。 表3 “mode”的取值及其含义 注:该函数返回基于指定图片的格式化的日期和时间。 插入日期的重点介绍 选择RTEXT的Diesel选项,在弹出的表达式输入对话框中输入如下字符串: $(edtime,$(getvar,date),DDD","DMONYYYY) 在图中选择适当位置后,则在图中位置显示如下当前日期文本: 其中,“time”参数为给定的AutoCAD日期,通常使用函数“$(getvar,date)”来获取; “picture”参数由日期和时间的特定表示法替代的格式短语组成。格式短语的定义如表1所示。所有不能解释为格式短语的字符将被完整地复制到函数返回结果中。 表1 “edtime”函数格式短语定义
举例:
| | | | $(edtime,$(getvar,date),D.MO.YYYY) | | | $(+,$(edtime,$(getvar,date),D),3).$(edtime,$(getvar,date),MO).$(edtime,$(getvar,date),YYYY) | | | $(edtime,$(getvar,date),DDD","DDMONYYYY-H:MMam/pm) 注意“picture”参数中逗号必须放在引号中,否则它将被当作参数分隔符。 | |
|