幾天前遇到了麻煩,需要在一條多線段上標(biāo)注某點(diǎn)距離起點(diǎn)距離,在網(wǎng)上查了半天,找到了方法(部分代碼來自網(wǎng)絡(luò),作者不詳),可以測(cè)量距離,但是不能標(biāo)注距離,之后進(jìn)行了一下修
文章源自四五設(shè)計(jì)網(wǎng)-http://www.4968ejs.cn/45343.html
文章源自四五設(shè)計(jì)網(wǎng)-http://www.4968ejs.cn/45343.html
標(biāo)注。現(xiàn)在分享給大家。文章源自四五設(shè)計(jì)網(wǎng)-http://www.4968ejs.cn/45343.html
1.加載lsp命令為appload文章源自四五設(shè)計(jì)網(wǎng)-http://www.4968ejs.cn/45343.html
也可以添加到啟動(dòng)組,這樣不用每次都需要加載,啟動(dòng)組—內(nèi)容—找到.lsp文件。2.命令為zhbz,選擇多線段(不能為封閉線段)—點(diǎn)擊需要測(cè)量的位置—點(diǎn)擊標(biāo)注距離文字的位置,(注意,自己判斷起點(diǎn)\終點(diǎn),頭尾可不一定哦,當(dāng)然,你自己畫的線就沒問題了。)將以下代碼復(fù)制到記事本,以【.lsp】為后綴命名,存儲(chǔ)以ANSI編碼形式,打開CAD,【appload】加載,命令【zhbz】就可以查詢并標(biāo)注。文章源自四五設(shè)計(jì)網(wǎng)-http://www.4968ejs.cn/45343.html
(defun C:zhbz ( / &dis1 &k1 &n1 &p1 &ss1) (if (null vlax-dump-object) (vl-load-com) ) (setq &ss1 '("LINE" "LWPOLYLINE" "CIRCLE" "ARC" "HELIX" "ELLIPSE" "SPLINE" "POLYLINE")) ;曲線有起點(diǎn):直線,多段線,圓,圓弧,螺旋對(duì)象,橢圓,樣條曲線,二維多段線 (if (and (setq &k1 (entsel "\n請(qǐng)選擇曲線")) (setq &k1 (car &k1)) (member (cdr (assoc 0 (entget &k1))) &ss1);確認(rèn)是曲線 (setq &p1 (getpoint "\n請(qǐng)選擇指定點(diǎn)")) (setq &p1 (vlax-curve-getclosestpointto &k1 &p1));取得最近點(diǎn) (setq &n1 (vlax-curve-getParamAtPoint &k1 &p1));取得參數(shù) (setq &dis1 (vlax-curve-getDistAtParam &k1 &n1));到起點(diǎn)距離 (setq b (rtos &dis1 2 2)) ;將數(shù)據(jù)結(jié)果由實(shí)數(shù)轉(zhuǎn)換成字符串,且設(shè)置為兩個(gè)精度,即小數(shù)點(diǎn)后兩位 (setq a (getpoint "\n屏幕單擊插入點(diǎn)")) ;指定插入點(diǎn) (entmake (list '(0 . "text") ;建立文字圖元屬性列表,文字,插入點(diǎn),內(nèi)容,字高 (cons 10 a) (cons 11 a) (cons 1 b) '(40 . 15);字高 ) ) ) (princ (strcat "\n指定點(diǎn)到起點(diǎn)距離為" (rtos &dis1)));命令行顯示 ) (princ) );復(fù)制到記事本,以【.lsp】為后綴命名,存儲(chǔ)以ANSI編碼形式,打開cad,【appload】加載,命令【zhbz】就可以查詢并標(biāo)注,by xkbuild,更多搜索 xkbuild文章源自四五設(shè)計(jì)網(wǎng)-http://www.4968ejs.cn/45343.html文章源自四五設(shè)計(jì)網(wǎng)-http://www.4968ejs.cn/45343.html
繼續(xù)閱讀
我的微信
微信掃一掃

我的微信
惠生活福利社
微信掃一掃

我的公眾號(hào)
評(píng)論