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

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

我的公眾號
評論