CAD中數據統計方法_第1頁
CAD中數據統計方法_第2頁
CAD中數據統計方法_第3頁
CAD中數據統計方法_第4頁
CAD中數據統計方法_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上 CAD中統計數字的方法:(1) 使用CAD中的快捷鍵TT,但是需要先進行加載,加載方法是:打開CAD,選擇菜單欄-工具-加載應用程序-選擇窗口中全部文件-加載(即可)。然后就可以用這個快捷鍵了。在CAD中選擇需要計算的數據,然后TT快捷鍵,點下空格后就會出現一個對話框了。(2) 在繪圖過程中,經常會對數字文本進行四則運算,或者統計數字,在現有的CAD命令中沒有直接命令與之相關,用計算器又麻煩。所以可以用一個小程序來解決。我覺得挺好的。快捷鍵TJ。 用法:1、 先加載程序,首先會提示你如何用這個程序。2、然后你輸入計算結果的精度,即小數點位數:這個只要在開始的時候輸入

2、就可以了,以后的命令你不用輸入精度,如果你要調整精度,隨時輸入命令JD.3、下面為它的具體用法,你可以選擇多個文字,如果是除法,勸你最好不要選擇0數字,否則會出錯。而且命令可以連用,直到你空輸入(沒有選擇或者取點)為止。+ - * / 命令不用多說。. 命令為對所選文字同時加減乘除某個數。4、統計的命令為TJ。其速度是很快的,我曾對十萬級的數字驗證,求結果既快又準。5、這個程序適用于各個版本,我甚至覺得可以用于DOS的CAD版本。原程序:;說明(alert 提醒: n請首先設置好輸精度,在繪圖的過程中可隨時用命令JD設置精度。 n命令+ - * /分別代表對所選擇的數字求和差積商。 n其中-

3、/ 則是以你第一個選到的數字文本為被減數和被除數。 n命令.(點點)代表對所選擇的數字文本統一加減乘除某個數,默認為1。 n命令TJ代表對所選擇的數字文本進行數學統計。 n所有生成的新文本均與第一個選到的數字文本的樣式相同(除角度外)。);定義了一個全局變量為精度(defun C:JD (/ ) (prompt n請輸入精度,直接回車則為系統精度:) (initget 4) (if (setq PRECISION (getint) (princ) (setq PRECISION (getvar LUPREC) ) )(C:JD) ;加(defun C:+ (/ key sel ins firs

4、t numlst result) (while (common1) (setq result (apply + (cadr numlst) (common2) ) (princ);減(defun C:- (/ key sel ins first numlst result) (while (common1) (setq result (apply - (cadr numlst) (common2) ) (princ);乘(defun C:* (/ key sel ins first numlst result) (while (common1) (setq result (apply * (c

5、adr numlst) (common2) ) (princ);除(defun C:/ (/ key sel ins first numlst result) (while (common1) (setq result (apply / (cadr numlst) (common2) ) (princ);所有數字都加減乘除某個數(defun C:. (/ key op sel ins first numlst result) (while (setq sel (ssget (0 . TEXT) (setq first (ssname sel 0) (setq Numlst (sel-list

6、sel) (initget 1 + - * /) (setq key (getkword n請輸入加減乘除符號:) (initget 2) (if (null (setq op (getreal n請輸入操作數:) (setq op 1.0) ) (all-cal numlst key op) ) (princ);(defun all-cal (result sym op / lst old new) (foreach n (car numlst) (setq lst (entget n) (setq old (atof (cdr (assoc 1 lst) (setq new (eval (

7、cons (read sym) (list old op) (setq new (cons 1 (rtos new (getvar LUNITS) PRECISION) (setq lst (subst new (assoc 1 lst) lst) (entmod lst) );選擇和插入點(defun common1 () (and (setq sel (ssget (0 . TEXT) (null (initget 0 Yes No) (if (setq key (getkword n是否保留原數字Yes,No?:) (setq key Yes) (setq key No) ) (setq

8、 first (ssname sel 0) (setq Numlst (sel-list sel) );做文字或者更新文字(defun common2 () (setq result (rtos result (getvar LUNITS) PRECISION) (if (= key No) (if (setq ins (getpoint n請輸入插入點:) (make-text first result ins) ) (update-text first result) );選擇集合轉化成數字列表(defun sel-list (sel / i ent lst num Els nls) (s

9、etq i 0) (repeat (sslength sel) (setq ent (ssname sel i) (setq lst (entget ent) (setq num (atof (cdr (assoc 1 lst) (setq Els (cons ent Els) (setq Nls (cons num Nls) (setq i (1+ i) ) (list (reverse Els) (reverse Nls) ) ;創建新文字,在指定點插入(defun make-text (first string inspt / remove txtlst lst) (setq remov

10、e (list -1 330 5 1 10 11 50) (setq txtlst (entget first) (foreach n txtlst (if (not (member (car n) remove) (setq lst (cons n lst) ) ) (setq lst (cons (cons 1 string) lst) (setq lst (cons (cons 10 inspt) lst) (setq lst (cons (cons 11 inspt) lst) (setq lst (reverse lst) (cdr (assoc 40 (entmake lst);保

11、留文字,僅更新內容(defun update-text (ent string / txtlst) (setq txtlst (entget ent) (setq txtlst (subst (cons 1 string) (assoc 1 txtlst) txtlst) (entmod txtlst);統計數字文本(defun C:tj (/ un sel ins tollst numlst first data len ang HIG j n m) (setq un (getvar LUNITS) (while (and (setq sel (ssget (0 . TEXT) (setq

12、ins (getpoint n請輸入插入點:) (princ n統計正在進行.) (setq tollst (sel-list sel) (setq numlst (cadr tollst) (setq first (caar tollst) (setq data (STAT numlst) (setq len (strcat (caar data) (itoa (cdar data) (setq HIG (* (make-text first len ins) 1.5) (setq ang (* Pi -0.5) (setq j 1) (repeat 4 (setq n (nth j dat

13、a) (setq m (strcat (car n) (rtos (cdr n) un PRECISION) (make-text first m (polar ins ang (* j HIG) (setq j (1+ j) ) (princ n統計已經完成!) ) (princ);統計函數(defun STAT (numlst / len sum ave var sqr std) (setq len (length numlst) ;樣本數目 (setq sum (apply + numlst) ;和 (setq ave (/ sum len) ;均值 (setq var (mapcar (lambda (x)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論