entsel约束条件lisp_autocad-plugin
據(jù)我所知,使用assoc函數(shù)是在關(guān)聯(lián)列表中找到關(guān)鍵值,這就像字典搜索你需要給關(guān)鍵搜索特定值檢查更多here。
在應(yīng)用函數(shù)assoc之后,它的輸出是列表格式,見下面的例子。
(assoc 8 (entget (car (entsel)) ))
選擇像(8 . "0")這樣的實(shí)體輸出后
這是您的案例名稱中所選實(shí)體的圖層名稱可能不同
再檢查一個(gè)例子
(assoc 10 (entget (car (entsel)) ))
選擇實(shí)體輸出后是(10 3.25 5.5 0.0)
輸出值是所選實(shí)體的插入坐標(biāo)。
請注意,Strcat函數(shù)只加入字符串檢查更多here。
在第5行的函數(shù)中,您嘗試使用列表連接字符串,以確定錯(cuò)誤發(fā)生的原因。
當(dāng)你提到錯(cuò)誤時(shí),我認(rèn)為你需要加入價(jià)值3000.0.
為此你可以改變你的功能如下。
(defun c:getObjectLenght()
(setq a (car (entsel "\nSelect a object: ")))
(setq b (entget a))
(setq c (if (assoc 142 b) (rtos (cdr (assoc 142 b))) "Not Found" ) )
;Note that rtos function use to convert decimal value into sting.
; And if condition use in case entity not contain Key value 142 so to avoid error.
(prompt (strcat "\nThe value of 142 is: " c))
(princ)
)
我從來沒有遇到過DXF代碼assoc 142我谷歌,但沒有找到太多。
總結(jié)
以上是生活随笔為你收集整理的entsel约束条件lisp_autocad-plugin的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webpack常用配置
- 下一篇: 批处理中的IF详解