1樓:朱正偉
有中文的lisp不能夠求和,因為lisp語言不能夠識別中文。所以沒有辦法。
2樓:匿名使用者
通過對字串的處理,最終可以解決你的問題。
3樓:匿名使用者
把你的測試圖發一份到[email protected],也許能解決。
cad中怎麼對帶單位的數字(多行文字)進行求和:比如110m,95m,132m.
4樓:
可以編制一個autolisp程式,拾取文字,並將文字串去掉單位後轉為數字,相加後再將其和轉回字串,合併單位m字元,即可繪製和的文字。
求,cad數字文字分類求和外掛 20
5樓:朱正偉
要分類求和的話,需要對文字內容分析。這個需要提供dwg檔案,並指定動作要求,定製lisp程式,還要測試。這個不是幾句話就能夠解決的。
6樓:
浩辰cad裡有這樣的工具
求cad lisp查詢文字後,定位並統計數量 10
7樓:匿名使用者
不是我小氣,就你這點分,有誰會花那麼多時間給你去寫這麼繁複的lisp?現在的社會,時間就是金錢的啊!
8樓:又一個蝦腐
寫是不難,可是沒時間。畢竟還要花腦子去想。
如何在cad讓選取的數字相加,是通過什麼外掛執行的,還是什麼軟體啊?還是cad自帶功能啊?
9樓:匿名使用者
autocad主要功能是繪製圖紙,要把數字文字加起來的話,使用小外掛就可以辦到。
**如下:
(defun c:tes ( / #t1 #t2 &k1 &kw1)
(if (setq &kw1 (ssget '((0 . "text,mtext") (1 . "~*[~+-.0-9]*" ))) );只是選擇數字的文字
(progn
(setq #t1 0)
(while (setq &k1 (ssname &kw1 0))
(setq &kw1 (ssdel &k1 &kw1))
(if (setq #t2 (atof (cdr (assoc 1 (entget &k1))))) (setq #t1 (+ #t1 #t2)) )
)(princ "\n數字和是:")
(princ #t1);命令列顯示))
(princ)
);複製到記事本,以【.lsp】為字尾命名,開啟cad,autolisp載入,命令【tes】
如何統計一張cad圖紙中相同文字的數量
10樓:朱正偉
有兩個方法,
選擇圖形,右鍵,快速選擇,文字,輸入文字內容,就會把相同的文字全部找出來了。
使用autolisp查詢相同的文字。得到文字後,右鍵,屬性,裡面看文字數量即可。(高版本的autocad裡面有快捷面板,可以直接看數量)
(defun c:tt2 ( / #kw #k2 )
(if (null vlax-dump-object) (vl-load-com) )
(initget "t") (setq #kw (entsel "\n請選擇文字或輸入文字(t)[輸入文字(t)]: 《選擇文字》 "))
(cond
((= (type #kw) 'list)
(if (= (vla-get-objectname (setq #kw (vlax-ename->vla-object (car #kw)))) "acdbtext")
(setq #kw (vla-get-textstring #kw))
(progn
(setq #kw nil) (princ "\n錯誤的物件,請選擇單行文字物件!")))
)((member #kw (list "t" "t"))
(if (= (setq #kw (getstring "\n請輸入要選取的文字: ")) "")
(progn
(setq #kw nil) (princ "\n未輸入文字,程式退出!")))
))(if #kw (princ (strcat "\n框選包含文字 < " #kw " >的物件")) )
(if (and #kw (setq #kw (ssget (list (cons 0 "text") (cons 1 #kw)))))
(progn
(initget "v c s e") (setq #k2 (getkword "\n選擇文字或[移動(v)/複製(c)/刪除(e)]: 《選擇(s)> "))
(if (null #k2)
(sssetfirst nil #kw)
(cond
((member #k2 (list "v" "v")) (command "_.move" #kw "" pause) )
((member #k2 (list "c" "c")) (command "_.copy" #kw "" pause) )
((member #k2 (list "e" "e")) (command "_.erase" #kw "") )
((member #k2 (list "s" "s")) (sssetfirst nil #kw) )))
)(princ "\n未定義文字或未選擇物件!")
)(prin1)
)(prompt "\n《tt2》框選文字")
(prin1)
cad如何把所有數字加起來
11樓:朱正偉
autocad主要功能是繪製圖紙,要把數字文字加起來的話,使用小外掛就可以辦到。
**如下:
(defun c:tes ( / #t1 #t2 &k1 &kw1)
(if (setq &kw1 (ssget '((0 . "text,mtext") (1 . "~*[~+-.0-9]*" ))) );只是選擇數字的文字
(progn
(setq #t1 0)
(while (setq &k1 (ssname &kw1 0))
(setq &kw1 (ssdel &k1 &kw1))
(if (setq #t2 (atof (cdr (assoc 1 (entget &k1))))) (setq #t1 (+ #t1 #t2)) )
)(princ "\n數字和是:")
(princ #t1);命令列顯示))
(princ)
);複製到記事本,以【.lsp】為字尾命名,開啟cad,autolisp載入,命令【tes】
12樓:
常青藤外掛裡有一個選項是“數值合計計算”,可以把選中的單行文字的數值加起來。比較方便。
13樓:匿名使用者
這種情況你應當將你的各個商鋪建立面域,然後使用area命令
具體步驟:area 依次輸入a+空格——o+空格,滑鼠點選,命令提示來就會顯示出結果
14樓:掌千凡
1、如果是稍新的版本,支援**功能,把面積輸入**(或直接在**裡採用插入欄位的方式把各個物件面積引用到**中),然後就可以求和了,跟excel差不多;
2、如果你已經把面積以文字的形式輸入到圖形中,我倒是以前編了個求和的程式,可以對任意個選中的數字物件求和或求積,不過要求文字必須是單行文字且文字中不能帶其它字元。
如果需要的話就把郵箱給我吧。
15樓:匿名使用者
都是一比一畫的嗎?如果是的話。可以直接求面積。
lsp程式如何提取cad文字中的數字?
16樓:匿名使用者
提取到文字以後,判斷每個字是否屬於0 - 9 和點,不就可以將數字分離出來了嗎。
求大神幫我用lisp語言把這張圖表示出來!!!?圓圈裡要加上文字或者數字!! 15
17樓:匿名使用者
public static void main(string args)