求CAD lisp程式,選擇一條或多條多段線,輸出其上點的x,y,z座標

2021-04-02 21:35:55 字數 4739 閱讀 7346

1樓:志遠

複製下面的指令碼到命令列回車即可載入,輸入pldd,程式會提示選擇pline,選擇pline後會列印所有的三維座標

(defun c:pldd (/ wb cc ss1 aa pts bhbz ent)

(setq ent (car (entsel "\n請選擇pline")))

(setq wb (entget ent) cc nil bhbz (cdr (assoc 70 wb)) )

(cond

((= (cdr (assoc 0 wb)) "polyline")

(setq ss1 (entnext ent))

(while (/= ss1 nil)

(setq aa (entget ss1))

(if (= (cdr (assoc 0 aa)) "vertex") (progn

(setq aa (cdr (assoc 10 aa)))

(if (/= aa nil) (progn

(if (= (length aa) 2)

(setq aa (list (car aa) (cadr aa) 0.0) )

)(if (= cc nil)

(setq pts aa)

)(setq cc (cons aa cc))

))(setq ss1 (entnext ss1))

)(setq ss1 nil)))

(if (= bhbz 1)

(setq cc (cons pts cc))))

((= (cdr (assoc 0 wb)) "lwpolyline")

(setq wb (member (assoc 10 wb) wb))

(while (assoc 10 wb)

(setq aa (cdr (assoc 10 wb)))

(if (= (length aa) 2)

(setq aa (list (car aa) (cadr aa) 0.0) )

)(if (= cc nil)

(setq pts aa)

)(if (= (length aa) 2)

(setq aa (list (car aa) (cadr aa) 0.0) )

)(setq cc (cons aa cc) wb (cdr wb))

(if (assoc 10 wb)

(setq wb (member (assoc 10 wb) wb))))

(if (= bhbz 1)

(setq cc (cons pts cc))))

((= (cdr (assoc 0 wb)) "spline")

(setq wb (member (assoc 11 wb) wb))

(while (assoc 11 wb)

(setq aa (cdr (assoc 11 wb)))

(if (= (length aa) 2)

(setq aa (list (car aa) (cadr aa) 0.0) )

)(if (= cc nil)

(setq pts aa)

)(setq cc (cons aa cc) wb (cdr wb))

(if (assoc 11 wb)

(setq wb (member (assoc 11 wb) wb))))

))cc) ;end of defun

求修改lisp程式,如何提取cad圖中多段線的座標(要當前ucs座標系)

2樓:匿名使用者

(defun c:tqzb (/)

(setq cm (getvar "cmdecho"))

(setvar "cmdecho" 0)

(if (setq wjm (getfiled "請指定要儲存的座標檔案" "e:\\" "txt" 1))

(if (setq ssa (ssget '((0 . "lwpolyline"))))

(progn

(setq fff (open wjm "w")

n (sslength ssa)

i 0

no 0

)(repeat n

(setq dxf (entget (ssname ssa i))

i (1+ i)

ptb (mapcar 'cdr (vl-remove-if-not '(lambda(x)(= (car x) 10)) dxf))

ptb (mapcar '(lambda(x)(trans x 0 1)) ptb)

)(foreach pt ptb

(setq no (1+ no))

(write-line (strcat (itoa no) ","

(rtos (car pt) 2 2) ","

(rtos (cadr pt) 2 2) ","

)fff))

)(close fff)

(princ (strcat "\n座標已存入\"" wjm "\"中"))))

)(setvar "cmdecho" cm)

(princ))

求一個cad的lisp:一次計算多個封閉線框的面積,並顯示每個面積和總面積。

3樓:魔點

;求spline,polyline,lwpolyline,arc面積(defun c:ss ()

(setq 總面積 0)

(setq 總畝數 0)

(setq 面積 0)

(setq 總周長 0)

(setq 周長 0)

(setq k 0)

(setq a nil)

(setq a (ssget))

(setq len (sslength a))(repeat len

(setq name (ssname a k))(setq ent1 (entget name))(setq na (assoc 0 ent1))(setq na (cdr na))

(if (= na "spline")

(progn

(command "area" "o" name)(setq 面積 (getvar "area"))(setq 總面積 (+ 總面積 面積))(setq 周長 (getvar "perimeter"))(setq 總周長 (+ 總周長 周長))))(if (= na "polyline")(progn

(command "area" "o" name)(setq 面積 (getvar "area"))(setq 總面積 (+ 總面積 面積))(setq 周長 (getvar "perimeter"))(setq 總周長 (+ 總周長 周長))))(if (= na "arc")

(progn

(command "area" "o" name)(setq 面積 (getvar "area"))(setq 總面積 (+ 總面積 面積))(setq 周長 (getvar "perimeter"))(setq 總周長 (+ 總周長 周長))))(if (= na "circle")

(progn

(command "area" "o" name)(setq 面積 (getvar "area"))(setq 總面積 (+ 總面積 面積))(setq 周長 (getvar "perimeter"))(setq 總周長 (+ 總周長 周長))))(if (= na "ellipse")

(progn

(command "area" "o" name)(setq 面積 (getvar "area"))(setq 總面積 (+ 總面積 面積))(setq 周長 (getvar "perimeter"))(setq 總周長 (+ 總周長 周長))))(if (= na "line")

(progn

(command "area" "o" name)(setq 面積 (getvar "area"))(setq 總面積 (+ 總面積 面積))(setq 周長 (getvar "perimeter"))複製以下內容到記事本:

(setq 總周長 (+ 總周長 周長))))(if (= na "lwpolyline")(progn

(command "area" "o" name)(setq 面積 (getvar "area"))(setq 總面積 (+ 總面積 面積))(setq 周長 (getvar "perimeter"))(setq 總周長 (+ 總周長 周長))))(setq k (+ k 1))

(setq 總畝數 (/ 總面積 666.667)))(print (list "總周長=" 總周長))(print (list "總面積=" 總面積 "平方米" 總畝數 "畝"))

(princ)

)結束複製,儲存檔案。將檔案字尾.txt更改為.lsp。ok。完成,載入應用程式(cad快捷命令ap)。本lisp的快捷命令為:ss

4樓:琴暉皇甫依絲

可以首先把這幾個線框做成面域,然後用面域合併命令合併面域。然後總面積就出來了。不用lisp就可以實現了。

我想通過autolisp將cad中的兩個矩形座標輸出,怎麼實現呢?

5樓:du知道君

用 command 命令即可 下面是我隨手輸入的 你自己除錯一下 (defun c:cla() (setvar "cmdecho" 0) (setq ss (+ 1 2)) (command "text" (getpoint "point:") "" "" ss ) (princ) )

一條化學選擇題

ada 加無色酚酞有紅色的為naoh,往naoh加其他兩種 過量 再加無色酚酞,無色的則加了hcl,還有紅的為nacl d 加無色酚酞有紅色的為naoh或ba oh 2,無色為na2so4。將naoh或ba oh 2加到na2so4中,有沉澱為ba oh 2,無為naoh。明白了嗎?明白就選我最佳答...

求一條中秋祝福簡訊

床前明月光頭佬bai,疑du是地上鑲牙佬,zhi舉頭望明月餅 dao佬,低頭思故鄉下佬。看此版訊息正傻佬 中秋節到了,我要送你一個月餅。第一層體貼 第二層關懷 第三層浪漫 中權間夾層甜蜜 願你喜歡 中秋國慶喜相逢,萬家團圓意相同。祝您節日快樂 閤家團圓,心想事成,幸福一生。月圓家圓事圓圓圓滿滿,國和...

服裝搭配一條雪紡短裙,求搭配,服裝搭配 一條雪紡短裙,求搭配。

一 清新顏色 白色 淺粉色 天藍色等 的寬鬆t二 清新顏色的簡潔款襯衫 三 清新顏色的寬鬆背心 別自動腦補那些運動背心 下面搭配小白鞋或者匡威經典款 不是學生之類的話 就搭配簡潔款涼鞋什麼的 高跟鞋也最好是淺色系 禁忌暗色系 有什麼還可以繼續聯絡我 搭配師 candy 上衣搭一件材質相近,款式簡潔的...