AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

[討論]寫了一個方便的lisp,但確執行沒反應,請高手幫幫忙

上一篇主題 下一篇主題 向下

[討論]寫了一個方便的lisp,但確執行沒反應,請高手幫幫忙

發表 由 蔣秉澔 于 2015-06-19, 09:11

(defun c:dimx( / en x10-1 x11-1 en1 enqu qu ent x-10 x-11 y10-1 y11-1 z10-1 z11-1 x10 x11)
 (setq en(entget(car (entsel "請選取要要對齊的標註"))))
 (setq x10-1(car(cdr(assoc 10 en))))
 (setq x11-1(car(cdr(assoc 11 en))))
 (setq en1(ssget "_:L" '((0 . "DIMENSION"))))
 (setq enqu(sslength en1))
 (setq qu 0)
 (while (< enqu qu)
   (setq ent(entget(ssname en1 qu)))
   (setq x-10(assoc 10 ent))
   (setq x-11(assoc 11 ent))
   (setq y10-1(cadr(cdr(assoc 10 ent))))
   (setq y11-1(cadr(cdr(assoc 11 ent))))
   (setq z10-1(caddr(cdr(assoc 10 ent))))
   (setq z11-1(caddr(cdr(assoc 11 ent))))
   (setq x10(cons 10 (list x10-1 y10-1 z10-1)))
   (setq x11(cons 11 (list x11-1 y11-1 z11-1)))
   (setq ent(subst x10 x-10 ent))
   (setq ent(subst x11 x-11 ent))
   (entmod ent)
   (setq qu(1+ qu))
   )
 (princ)
 )
此程式的功用是把標註線對齊x軸,我一個一個檢查時(用顯微鏡)沒有問題,但載入使用都沒反應,到底哪邊卡住了...暈倒
avatar
蔣秉澔
初級會員
初級會員

文章總數 : 210
年齡 : 40
來自 : 嘉義市
職業 : 大電力系統設計、製程、檢測
愛好 : 電腦相關,出遊踏青
個性 : 待人隨和,對事執著
使用年資 : 8年
使用版本 : 2011 Electrical,2014
積分 : 4
經驗值 : 2827
威望值 : 168
注冊日期 : 2013-08-31
顧問外掛程式 藍鵲661號
男 金牛座 蛇

回頂端 向下

回復: [討論]寫了一個方便的lisp,但確執行沒反應,請高手幫幫忙

發表 由 Atsai 于 2015-06-21, 12:13

while 之後的判斷式是不是有相反呢?不會有enqu < qu=0的情況哦!因為不存在所以之後要對齊的代碼就不會運行。
avatar
Atsai
中級會員
中級會員

文章總數 : 115
年齡 : 42
來自 : 台中
職業 : 工程
愛好 : 看漫畫
個性 : 樂天
使用年資 : 10
使用版本 : 2010
AutoCAD基礎篇等級 : 10星級
積分 : 7
經驗值 : 2956
威望值 : 337
注冊日期 : 2012-04-06
男 金牛座 兔

回頂端 向下

回復: [討論]寫了一個方便的lisp,但確執行沒反應,請高手幫幫忙

發表 由 蔣秉澔 于 2015-06-22, 01:28

Atsai哥,真是一語點醒,我回去檢查了一下,果然判斷式反了,修改一下OK~
有時候真的都會卡很單純的地方........怪
其實我只要自己等個幾天後再去看程式,也許就能夠自己發現了,但最近也開始收拾心情要轉跑道,或許以後接觸CAD不多,所以怕放著放著又是很久以後....
avatar
蔣秉澔
初級會員
初級會員

文章總數 : 210
年齡 : 40
來自 : 嘉義市
職業 : 大電力系統設計、製程、檢測
愛好 : 電腦相關,出遊踏青
個性 : 待人隨和,對事執著
使用年資 : 8年
使用版本 : 2011 Electrical,2014
積分 : 4
經驗值 : 2827
威望值 : 168
注冊日期 : 2013-08-31
顧問外掛程式 藍鵲661號
男 金牛座 蛇

回頂端 向下

上一篇主題 下一篇主題 回頂端


 
這個論壇的權限:
無法 在這個版面回復文章