[分享]複線取尺寸lisp
5 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[分享]複線取尺寸lisp
一個很簡易的小程式,給有需要的冰友,很粗糙哦~
這隻程式,我將來還會做的更好,只是沒時間去改它。
會把每個折點尺寸也算出最後總長寫在尾端
下載:
https://www.dropbox.com/s/kh659iuknvro756/%40pp.lsp
備用載點:
https://app.box.com/s/6mbxgg6z9ym9rxc0k75r
這隻程式,我將來還會做的更好,只是沒時間去改它。
會把每個折點尺寸也算出最後總長寫在尾端
下載:
https://www.dropbox.com/s/kh659iuknvro756/%40pp.lsp
備用載點:
https://app.box.com/s/6mbxgg6z9ym9rxc0k75r
蔣秉澔- 初級會員
- 文章總數 : 211
年齡 : 47
來自 : 嘉義市
職業 : 大電力系統設計、製程、檢測
愛好 : 電腦相關,出遊踏青
個性 : 待人隨和,對事執著
使用年資 : 8年
使用版本 : 2011 Electrical,2014
積分 : 4
經驗值 : 5398
威望值 : 198
注冊日期 : 2013-08-31
回復: [分享]複線取尺寸lisp
感謝分享!!~魚幫水、水幫魚~
請問我載入使用他對話窗顯示---- 錯誤: 損壞的引數類型: consp nil---是設定問題嗎?謝謝!
請問我載入使用他對話窗顯示---- 錯誤: 損壞的引數類型: consp nil---是設定問題嗎?謝謝!
hannibal1112- 初級會員
- 文章總數 : 55
年齡 : 59
來自 : 台南
職業 : 網購
愛好 : 玩
個性 : 悶燒
使用年資 : 3個月
使用版本 : r14
AutoCAD基礎篇等級 : 9星級
積分 : 2
經驗值 : 4405
威望值 : 69
注冊日期 : 2013-08-28
回復: [分享]複線取尺寸lisp
請問您是用在複線的物件嗎
蔣秉澔- 初級會員
- 文章總數 : 211
年齡 : 47
來自 : 嘉義市
職業 : 大電力系統設計、製程、檢測
愛好 : 電腦相關,出遊踏青
個性 : 待人隨和,對事執著
使用年資 : 8年
使用版本 : 2011 Electrical,2014
積分 : 4
經驗值 : 5398
威望值 : 198
注冊日期 : 2013-08-31
回復: [分享]複線取尺寸lisp
恩我是有把線段聚合起來,但不是一個封閉路徑就像你的範例一樣,如果是封閉聚合線我想應該無法顯示吧...
hannibal1112- 初級會員
- 文章總數 : 55
年齡 : 59
來自 : 台南
職業 : 網購
愛好 : 玩
個性 : 悶燒
使用年資 : 3個月
使用版本 : r14
AutoCAD基礎篇等級 : 9星級
積分 : 2
經驗值 : 4405
威望值 : 69
注冊日期 : 2013-08-28
回復: [分享]複線取尺寸lisp
如果是把線段聚合起來,應該是pline,而不是mline,我這個lisp只能用在mline,如果要可以使用在pline,必須在改良。
蔣秉澔- 初級會員
- 文章總數 : 211
年齡 : 47
來自 : 嘉義市
職業 : 大電力系統設計、製程、檢測
愛好 : 電腦相關,出遊踏青
個性 : 待人隨和,對事執著
使用年資 : 8年
使用版本 : 2011 Electrical,2014
積分 : 4
經驗值 : 5398
威望值 : 198
注冊日期 : 2013-08-31
回復: [分享]複線取尺寸lisp
恩我用mline 就可以顯示,不過我比較常用pline...mlie不會用到,也謝謝你的分享與解說!
hannibal1112- 初級會員
- 文章總數 : 55
年齡 : 59
來自 : 台南
職業 : 網購
愛好 : 玩
個性 : 悶燒
使用年資 : 3個月
使用版本 : r14
AutoCAD基礎篇等級 : 9星級
積分 : 2
經驗值 : 4405
威望值 : 69
注冊日期 : 2013-08-28
回復: [分享]複線取尺寸lisp
蔣秉澔 寫到:如果是把線段聚合起來,應該是pline,而不是mline,我這個lisp只能用在mline,如果要可以使用在pline,必須在改良。
我請問一下你最下面的迴圈原寫法是以 4 3 2 1 0 的方向往回計算的嘛,還是我誤解了......
還是有其它的高手可以教一下呢,我看不太懂(一般都是採串列反轉的方法,再進入迴圈)
這個好像是往回走的呢?
接上
..................................
(setq i 0)
(SETQ pc3 0) ;
(setq i (- (length da5) 1))
(setq pc1 (cdr (nth i da5)))
(while (> i -1)
(setq p1 (cdr (nth i da5 )))
...................................
接下
借你的東西小小修正一下 *LINE及PLINE都可以,修正-1的字眼
- 代碼:
(defun c:pp()
(setq da(entget(car(entsel"請選1支銅排"))))
(setq da1(length da))
(setq i 0
da5 nil)
(while (< i da1)
(setq db1(nth i da))
(setq db2(car db1))
(if (= db2 10)
(progn
(prin1 db1)
(setq da5 (cons db1 da5))
);progn 結束
);if 結束
(if (= db2 11)
(progn
(prin1 db1)
(setq da5(cons db1 da5))
);progn 結束
);if 結束
(setq i(+ i 1))
);while 結束
(setq i 0)
(SETQ pc3 0) ;
(setq i (- (length da5) 1))
(setq pc1 (cdr (nth i da5)))
(while (> i -1)
(setq p1 (cdr (nth i da5 )))
(setq p12 (distance pc1 p1))
(setq pc3 (+ p12 pc3))
(setq pc1 p1)
(setq p1 (polar p1 (/ pi 2) 3))
(command "text" p1 10 0 (rtos pc3 2 0))
(setq i (- i 1))
);while 結束
(IF (= I -1) (SETQ I ""))
(PRINC)
);程式結束
adslwang- 高級會員
- 文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7210
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
回復: [分享]複線取尺寸lisp
謝adslwang哥指教~^^,我還算是LISP的初手,有很多都還不會,所以請見諒。我有空回頭去看一下,因為~我忘了。
蔣秉澔- 初級會員
- 文章總數 : 211
年齡 : 47
來自 : 嘉義市
職業 : 大電力系統設計、製程、檢測
愛好 : 電腦相關,出遊踏青
個性 : 待人隨和,對事執著
使用年資 : 8年
使用版本 : 2011 Electrical,2014
積分 : 4
經驗值 : 5398
威望值 : 198
注冊日期 : 2013-08-31
cgh09300- 一般會員
- 文章總數 : 14
年齡 : 45
來自 : 高雄
職業 : 建築
愛好 : 音樂
個性 : 樂觀
使用年資 : 新手初學
使用版本 : 2013
經驗值 : 4412
威望值 : 3
注冊日期 : 2012-12-28
回復: [分享]複線取尺寸lisp
感謝板主分享,先下載以防以後會用到
d24410- 初級會員
- 文章總數 : 36
年齡 : 48
來自 : 台南市
職業 : 模具繪圖設計
愛好 : 看書
個性 : 內向
使用年資 : 13年
使用版本 : Auto CAD 2013
積分 : 1
經驗值 : 3042
威望值 : 30
注冊日期 : 2017-01-12
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章