- A+
所屬分類:cad
10多年前在網(wǎng)上發(fā)過CAD查詢標(biāo)注多條線段總長度這個文章,被很多人轉(zhuǎn)來轉(zhuǎn)去,文件已經(jīng)不全,今天又發(fā)現(xiàn)以前的功能只能查詢,并不能進(jìn)行標(biāo)注,這次又修改了一下,分享給大家,希望能給您帶來一點用處。首先輸入命令:appload
加載lsp
(也可以添加到啟動組,這樣不用每次都需要加載,啟動組—內(nèi)容—找到.lsp文件,‘如果加到啟動組,需要關(guān)閉cad,再重新打開才生效’)
輸入命令dxzc
選擇
多條線段,然后在屏幕中選取標(biāo)注位置進(jìn)行標(biāo)注。
將以下代碼復(fù)制到記事本,以【.lsp】為后綴命名,存儲以ANSI編碼形式,打開cad,【appload】加載,命令【zhbz】就可以查詢并標(biāo)注。
(princ "\n 程序:(XKBUILD)統(tǒng)計線段長度命令:dxzc") (defun C:dxzc (/ CURVE TLEN SS N SUMLEN) (vl-load-com) (setq SUMLEN 0) (setq SS (ssget '((0 . "CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC")))) (setq N 0) (repeat (sslength SS) (setq CURVE (vlax-ename->vla-object (ssname SS N))) (setq TLEN (vlax-curve-getdistatparam CURVE (vlax-curve-getendparam CURVE)))(setq SUMLEN (+ SUMLEN TLEN)) (setq N (1+ N)) ) (princ (strcat "\n共選擇" (itoa (sslength SS)) "條線段線段總長" (rtos SUMLEN 2 3) ".")) (setq b (rtos SUMLEN 2 2)) ;將數(shù)據(jù)結(jié)果由實數(shù)轉(zhuǎn)換成字符串,且設(shè)置為兩個精度,即小數(shù)點后兩位 (setq a (getpoint "\n屏幕單擊插入點")) ;指定插入點 (entmake (list '(0 . "text") ;建立文字圖元屬性列表,文字,插入點,內(nèi)容,字高 (cons 10 a) (cons 11 a) (cons 1 b) '(40 . 15);字高 ) ) (princ) );復(fù)制到記事本,以【.lsp】為后綴命名,存儲以ANSI編碼形式,打開cad,【appload】加載,命令【zhbz】就可以查詢并標(biāo)注,by xkbuild,跟多內(nèi)容搜索xkbuild
贊
0
賞

