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

Join the forum, it's quick and easy

AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Ioaoe110[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 2020-310[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Oiu15010[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 2020-211[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Ia15010[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aizyao10[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Uos15010[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 BPl3tjj[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Ziao1510
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Oo-2-110[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Zuoiy_10[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aizyao11[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Iyb_1510[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aoe1-111[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Uos15011[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aoe2da10[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aoe2da11[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aoe10

[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字

2 posters

向下

[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Empty [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字

發表 由 pc200098 2017-01-01, 17:59

因小弟從事鋼筋撿料行業,自己原手動計算,現在想透過圖面有的資訊進行資料計算,因小弟Lisp功力實在落後很多,想請教板上高手幫我修改或建議,謝謝~
圖面有片我撿好的牆,也改好了簡易數值計算LISP,但不會新增判斷與多行文字格式
圖面有圖層3#(白色)、4#(綠色)5#(紫色)6#(天空藍)
希望能增加選取後判斷圖層後再判斷文字內的符號,^為加總記號+號為搭接記號不是加總記號
以範例"上層筋5#20@20^400+600+420*10"
選取後可以判斷為上層筋、5#、20@、20^400(長度)*10(數量)、600*10、420*10
析出為 上層筋(忽視),5#為鋼筋徑(忽視),20@為間距(忽視),400*10為第一組料,600*10為第二組料,420*10為第三組料,圖層為5#,且第一組料420與第三組料420視為不同資料不合併
然後暫存記憶體後再判斷下一個文字,若下一組文字內容一樣5#,且長度一樣為20^400*n,則會合併數量10+n,也因與第三組視為相異,所以不與第三組合併
最後分類各圖層內容計算,插入多行文字
並指定插入位置、指定文字高度、圖層為0、顏色為3#白色、4#綠色5#紫色6#天空藍、小數精確度為個位數

如果文字前方無5#或20@會以圖層做判別,例如只有180*6,圖層為5#,則判斷為紫色180*6並計入5#資料內
圖檔我會以文字標示,圖層會確實定義,線條只會示意,不會全部繪出,所以可能有三種文字格式
1.文字4#20@300*10
2.4#300*10
3.300*10
但判別析出資料只有圖層300*10

這邊是我的代碼,我覺得很有挑戰性,希望有高手若不嫌麻煩,也請多指點,謝謝!
代碼:
(defun C:TTR () ;/ sum eset enlist oldht len ln total pt)
;(princ "\n \n \nSelect Text: ")
(princ
"\n \n \n請選取多個看起來像數字的文字 Text, 來加總求和 : "
)
(if (setq eset (ssget))
(progn
(setq len (sslength eset)
ln (- len 1)
total 0
)
(while (>= (setq len (- len 1)) 0)
(setq en (ssname eset len)
enlist (entget en)
)
(if (= "TEXT" (cdr (assoc 0 enlist)))
(progn
(if (= len ln)
(princ
"\n \n \n...請稍候....正在計算選取內容..."
)
)
(setq sum (atof (cdr (assoc 1 enlist))))
(setq total (+ total sum))
)
(setq ln (- ln 1))
)
)
(princ "\n \nTotal = ")
(princ total)
;(setq pt (getpoint "\nInsertion Point: "))
(setq pt (getpoint "\n[ 數值總和 ] 文字的插入點 : "))
(command "text" "c" pt "" "" (rtos total 2))
)
(princ "\n \n....*錯誤*.. 沒有選擇動作! \n ")
)
(princ)
)

附上圖片及檔案,萬分感謝
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 2qupw21
附件
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Attachment
SumLisp.zip 您無權下載這里的附件。(31 Kb) 下載 8 次


pc200098 在 2017-01-03, 18:21 作了第 2 次修改
pc200098
pc200098
初級會員
初級會員

文章總數 : 49
年齡 : 38
來自 : 台南市
職業 : 機械製圖
愛好 : 電玩
個性 : 執著
使用年資 : 12
使用版本 : 2013&2016
積分 : 1
經驗值 : 5079
威望值 : 53
注冊日期 : 2011-03-10
男 天秤座 牛

學習小孩 likes this post

回頂端 向下

[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Empty 回復: [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字

發表 由 Atsai 2017-01-02, 11:36

4#20@20^340*10
4#340*2
340*20
20^340*10
x跟*可以當成乘數,目前只能吃這幾種文字格式。
205+340*8,這種類型,我的認知:205的組數1,340的組數8,這我就不處理了。
附件
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Attachment
ttr_鋼筋統計.zip 命令:ttr您無權下載這里的附件。(3 Kb) 下載 5 次

____________________________________________________________________________________
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Ioaoe110 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Zuoiy_10 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 2020-211 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aizyao11 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Iyb_1510
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aizyao10 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 BPl3tjj.png [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Ziao1510 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Oo-2-110 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Oooa_110
Atsai
Atsai
中級會員
中級會員

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

回頂端 向下

[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Empty 回復: [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字

發表 由 pc200098 2017-01-02, 12:14

Atsai 寫到:4#20@20^340*10
4#340*2
340*20
20^340*10
x跟*可以當成乘數,目前只能吃這幾種文字格式。
205+340*8,這種類型,我的認知:205的組數1,340的組數8,這我就不處理了。

205+340*8 意思是205+340的搭接有8組
所以能改成205的8組,340的8組嗎? 非常感謝!!!

[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 2n8alps
pc200098
pc200098
初級會員
初級會員

文章總數 : 49
年齡 : 38
來自 : 台南市
職業 : 機械製圖
愛好 : 電玩
個性 : 執著
使用年資 : 12
使用版本 : 2013&2016
積分 : 1
經驗值 : 5079
威望值 : 53
注冊日期 : 2011-03-10
男 天秤座 牛

回頂端 向下

[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Empty 回復: [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字

發表 由 Atsai 2017-01-02, 13:35

pc200098 寫到:
Atsai 寫到:4#20@20^340*10
4#340*2
340*20
20^340*10
x跟*可以當成乘數,目前只能吃這幾種文字格式。
205+340*8,這種類型,我的認知:205的組數1,340的組數8,這我就不處理了。

205+340*8 意思是205+340的搭接有8組
所以能改成205的8組,340的8組嗎? 非常感謝!!!

[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 2n8alps

這個應該是你要的結果,測試看看吧!
附件
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Attachment
ttr_鋼筋統計_ok.zip 您無權下載這里的附件。(4 Kb) 下載 7 次

____________________________________________________________________________________
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Ioaoe110 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Zuoiy_10 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 2020-211 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aizyao11 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Iyb_1510
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aizyao10 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 BPl3tjj.png [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Ziao1510 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Oo-2-110 [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Oooa_110
Atsai
Atsai
中級會員
中級會員

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

回頂端 向下

[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Empty 回復: [已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字

發表 由 pc200098 2017-01-02, 14:20

[quote="Atsai"][quote="pc200098"]
Atsai 寫到:4#20@20^340*10
4#340*2
340*20
20^340*10
x跟*可以當成乘數,目前只能吃這幾種文字格式。
205+340*8,這種類型,我的認知:205的組數1,340的組數8,這我就不處理了。

205+340*8 意思是205+340的搭接有8組
所以能改成205的8組,340的8組嗎? 非常感謝!!!



這個應該是你要的結果,測試看看吧!


非常謝謝你,但如果可以,是否能給我原始碼,或是私下給我,因為有必要時想隨時設變就不用在線上麻煩您
未來可能會把^彎鉤記號改成┌,或是把圖層"3#"判斷改成"3分鋼筋",或是把熱鍵指令TTR改TTR2
但如果可以直接改原始碼,我就直接改就好,不然還要再PO麻煩您為我修改,除非您真的不介意...
在此也十分感謝您的幫助,謝謝您~
pc200098
pc200098
初級會員
初級會員

文章總數 : 49
年齡 : 38
來自 : 台南市
職業 : 機械製圖
愛好 : 電玩
個性 : 執著
使用年資 : 12
使用版本 : 2013&2016
積分 : 1
經驗值 : 5079
威望值 : 53
注冊日期 : 2011-03-10
男 天秤座 牛

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Ioaoe110[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 2020-310[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Oiu15010[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 2020-211[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Ia15010[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aizyao10[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Uos15010[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 BPl3tjj[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Ziao1510
[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Oo-2-110[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Zuoiy_10[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aizyao11[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Iyb_1510[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aoe1-111[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Uos15011[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aoe2da10[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aoe2da11[已解決]如何建立Lisp可判斷文字內容與屬性後匯整並插入文字 Aoe10