帖子的顯示效果不好,請直接下載pdf看吧:
Autocad插入動態日期-DIESEL函數的具體介紹.pdf
(443.9 KB, 下載次數: 22, 售價: 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, 下載次數: 3, 售價: 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”參數中逗號必須放在引號中,否則它將被當作參數分隔符。 | |
|