CAD多線段(\曲線)標注指定點到起點距離(樁號)

幾天前遇到了麻煩,需要在一條多線段上標注某點距離起點距離,在網上查了半天,找到了方法(部分代碼來自網絡,作者不詳),可以測量距離,但是不能標注距離,之后進行了一下修

CAD多線段(\\曲線)標注指定點到起點距離(樁號)-1文章源自四五設計網-http://www.wasochina.com/45343.html

CAD多線段(\\曲線)標注指定點到起點距離(樁號)-2文章源自四五設計網-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
繼續閱讀
我的微信
微信掃一掃
weinxin
我的微信
惠生活福利社
微信掃一掃
weinxin
我的公眾號
 
  • 本文由 四五設計網小助手 發表于 2024年4月15日11:11:09
  • 轉載請務必保留本文鏈接:http://www.wasochina.com/45343.html

發表評論

匿名網友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

拖動滑塊以完成驗證