[討論]標註修改的LISP
+44
Cher
ring1789
smallpower84
masao_8
rickyyang
wateraustin
wuwubaibai
pighead5855
jkinspire
Jason kid
布之道
vision25
ming1789
view
swcforest
MK WU
ctest
zhangcan0516
lcskc
jackiehover
厚速共
ts01456646
天蠍
wawhch
redlemon1103
arcojames120307
djh1006
weiyaolieh
rex614
lingo_st
ianlcc
as920029as
鄭坤露
Jakie
tarpon
adslwang
GRACE0724
kshuangt
anais99
ginse0727
ccxsw
張譽璋
DARDAR
小豬
48 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共3頁)
[討論]標註修改的LISP
主題回顧 :
畫圖的時候要設定標註公差都覺的很麻煩,無意間在網路上看到有人寫公差設定的LISP,不過它是直接修改"文字置換",這樣就不能使用"MATCHPROP"來複製性質,
每次要用"MATCHPROP"複製公差性質結果竟然不能用都會感到...
所以就自己學LISP寫寫看...
不過沒有學過起他程式的基礎有點吃力...
但是寫出來滿有成就感的...
裡面還有加一些我常用的功能,不過現在是初學者寫的不太好,還要請各位高手指導一下了...
(回覆後可看見以下程式)
把公差設定獨立出來,程式有在做點小修改
(1)公差精度可跟隨使用者輸入而變動且結尾0不抑制
(2)不會因偏差公差上限為0時"+"消失
(3)公差大小設定為標註文字大0.8倍
(回覆後可看見以下程式)
謝謝程式分享及說明~< 積分 +1>
[公告]關於團隊成員的回文及貢獻
畫圖的時候要設定標註公差都覺的很麻煩,無意間在網路上看到有人寫公差設定的LISP,不過它是直接修改"文字置換",這樣就不能使用"MATCHPROP"來複製性質,
每次要用"MATCHPROP"複製公差性質結果竟然不能用都會感到...
所以就自己學LISP寫寫看...
不過沒有學過起他程式的基礎有點吃力...
但是寫出來滿有成就感的...
裡面還有加一些我常用的功能,不過現在是初學者寫的不太好,還要請各位高手指導一下了...
(回覆後可看見以下程式)
把公差設定獨立出來,程式有在做點小修改
(1)公差精度可跟隨使用者輸入而變動且結尾0不抑制
(2)不會因偏差公差上限為0時"+"消失
(3)公差大小設定為標註文字大0.8倍
(回覆後可看見以下程式)
謝謝程式分享及說明~< 積分 +1>
[公告]關於團隊成員的回文及貢獻
小豬 在 周二 16 2月 - 10:59 作了第 3 次修改 (原因 : 新增程式修改)
小豬- 初級會員
- 文章總數 : 17
年齡 : 36
來自 : 台北
職業 : 打雜
愛好 : 上網
個性 : 隨和
使用年資 : 初學者
使用版本 : 2010
積分 : 1
經驗值 : 5725
威望值 : 45
發帖精華 : 0
注冊日期 : 2009-06-12
蘇祥瑋 and renmimi0072 like this post
回復: [討論]標註修改的LISP
標註的調整跟設定在我的觀念裡一直是很煩的事
所以 下載來練習看看可不可以省下一些時間
所以 下載來練習看看可不可以省下一些時間
____________________________________________________________________________________
沒有功勞也有苦勞,沒有苦勞也有疲勞的年代已經過去
現在是...........................................
沒有功勞直接就是個屁,連個屁都不是,那就真的很疲勞了
大家一起努力吧,努力別落到連個屁都不是................
lingo_st- 中級會員
- 文章總數 : 211
年齡 : 60
來自 : 新北市
職業 : 營造,建設
愛好 : 學習,服務,電腦軟硬體
個性 : 正直,達觀且無可救藥的雞婆
使用年資 : 使用12年但真的是新手
使用版本 : 2012,2013
積分 : 6
經驗值 : 5964
威望值 : 271
注冊日期 : 2011-12-18
回復: [討論]標註修改的LISP
最近公司有需要一尺寸計算%數的公差
但還在研究中
先借來學習一下
但還在研究中
先借來學習一下
rex614- 初級會員
- 文章總數 : 109
年齡 : 35
來自 : 台灣
職業 : 製圖
愛好 : 3C
個性 : 陰森
使用年資 : 十年
使用版本 : 2010
積分 : 4
經驗值 : 5854
威望值 : 6
注冊日期 : 2009-01-11
回復: [討論]標註修改的LISP
下載來試試看謝謝分享!...
新年快樂.....
新年快樂.....
weiyaolieh- 初級會員
- 文章總數 : 13
年齡 : 55
來自 : 桃園
職業 : 土木環工
愛好 : 遊玩
個性 : 活潑好動
使用年資 : 10年
使用版本 : 2004
積分 : 1
經驗值 : 5521
威望值 : 12
注冊日期 : 2009-12-08
回復: [討論]標註修改的LISP
試試看這招
程式2014已經修正
這裡下載
程式2014已經修正
這裡下載
- Spoiler(用來隱藏帖子內容):
- 檔名DJH_130.DCL
內容如下: DCL以下錯誤
正確如這
https://www.autocad-tw.com/t5539p15-topic#109360- 代碼:
DJH_131 : dialog {
label = "標註註記";
:column{
:edit_box {label = "前註記";key = "keb1";edit_width=10;}
:edit_box {label = "標註修改";key = "keb2";edit_width=10;}
:edit_box {label = "後註記";key = "keb3";edit_width=10;}
:toggle {label = "刪除前註記";key = "ktb1";}
:toggle {label = "刪除標註修改";key = "ktb2";}
:toggle {label = "刪除後註記";key = "ktb3";}
}
spacer_1;
ok_cancel;
}
檔名DJH_130.LSP
內容如下:- 代碼:
;DJH_130
;公差標註
(defun c:DJH_130(/ dcl_id dd UM1 DM1 UM2 DM2 UM3 DM3 MS1 T1 NDIM S1 N i S1en S1endata S1dimstyle OLD_TXT NEW_TXT DSE DTJ)
(graphscr)
(setq dcl_id (load_dialog "DJH_130"))
(new_dialog "DJH_130" dcl_id)
(mode_tile "keb1" 2)
(action_tile "keb1" "(setq UM1 $value)")
(action_tile "keb2" "(setq DM1 $value)")
(action_tile "keb3" "(setq NDIM 999)")
(action_tile "accept" "(done_dialog 1)") ;; 按 "確定"
(setq dd (start_dialog))
(unload_dialog dcl_id)
(setvar "CMDECHO" 0)
(if (= dd 1)
(progn
(if (/= NDIM 999)
(progn
(if (= UM1 nil) (setq UM1 "0"))
(if (= DM1 nil) (setq DM1 "0"))
(setq
UM2 (atof UM1)
DM2 (atof DM1)
)
(while (and (< UM2 DM2)(/= UM2 0))
(princ "公差上限須小於下限!")
(setq
UM2 (getreal "\n上限:")
DM2 (getreal "\n下限:")
)
)
(if (> UM2 0) (setq UM3 (strcat "+" (rtos UM2))))
(if (= UM2 0) (setq UM3 (strcat " " (rtos UM2))))
(if (< UM2 0) (setq UM3 (rtos UM2)))
(if (> DM2 0) (setq DM3 (strcat "+" (rtos DM2))))
(if (= DM2 0) (setq DM3 (strcat " " (rtos DM2))))
(if (< DM2 0) (setq DM3 (rtos DM2)))
(setq MS1 0.7)
(if (/= UM2 DM2) (setq DM2 (* DM2 -1)))
(if (/= UM2 DM2) (setq T1 (strcat "{\\H0.7x;\\S" UM3 "^" DM3 ";}")))
(if (= UM2 DM2) (setq T1 (strcat "{\\H0.7x;\\S%%p" (rtos UM2) "^;}")))
)
)
;(if (and (= UM1 "0") (= DM1 "0"))
;(progn
;(setq YN1 (getstring "\n是否刪除公差?[Y/N] <yes>:"))
;(if (= YN1 "Y") (setq NDIM 999))
;(if (= YN1 "y") (setq NDIM 999))
;(if (= YN1 "YES") (setq NDIM 999))
;(if (= YN1 "yes") (setq NDIM 999))
;(if (= YN1 "") (setq NDIM 999))
;)
;)
(if (= NDIM 999)
(progn
(setq
UM2 0
DM2 0
)
)
)
(princ)
(princ "請選取標註尺寸:")
(setq S1 (ssget))
(if (= S1 nil) (exit))
(setq N (sslength S1) i 0)
(repeat N
(if (/= NDIM 999)
(progn
(command "UNDO" "BE")
(setq
S1en (ssname S1 i)
S1endata (entget S1en)
S1dimstyle (cdr (assoc 3 S1endata))
)
(if (= (cdr (assoc 0 S1endata)) "MTEXT")
(progn
(setq
OLD_TXT (cdr (assoc 1 S1endata))
NEW_TXT (cons 1 (strcat OLD_TXT T1))
S1endata (subst NEW_TXT (cons 1 OLD_TXT) S1endata)
)
(entmod S1endata)
) ;end progn
) ;end if
(if (= (cdr (assoc 0 S1endata)) "TEXT") (princ "單行文字無法加公差,請使用多行文字編輯後再使用此功能加上公差!"))
(if (= (cdr (assoc 0 S1endata)) "DIMENSION")
(progn
(if (/= DSE S1dimstyle) (command "-DIMSTYLE" "R" S1dimstyle))
(if (/= UM2 DM2) (setq DTJ 0))
(if (= UM2 DM2) (setq DTJ 2))
(command "_DIMOVERRIDE" "DIMTOL" "ON" "DIMTOLJ" DTJ "DIMTFAC" MS1 "DIMTP" UM2 "DIMTM" DM2 "" S1en "")
;(command "_DIMOVERRIDE" "DIMTOL" "ON" "DIMATOL" "ON" "DIMTOLJ" DTJ "DIMATOLJ" DTJ "DIMTFAC" MS1 "DIMATFAC" MS1 "DIMTP" UM2 "DIMATP" UM2 "DIMTM" DM2 "DIMATM" DM2 "" S1en "")
) ;end progn
) ;end if
)
) ;end if
(if (= NDIM 999)
(progn
(command "UNDO" "BE")
(setq
S1en (ssname S1 i)
S1endata (entget S1en)
S1dimstyle (cdr (assoc 3 S1endata))
)
(if (= (cdr (assoc 0 S1endata)) "MTEXT") (princ "多行文字無法刪除公差,請使用文字編輯器直接刪除!"))
(if (= (cdr (assoc 0 S1endata)) "TEXT") (princ "單行文字無此功能!"))
(if (= (cdr (assoc 0 S1endata)) "DIMENSION")
(command "_DIMOVERRIDE" "DIMTOL" "OFF" "DIMTP" UM2 "DIMTM" DM2 "" S1en "")
) ;end if
)
) ;end if
(setq i (1+ i))
(command "UNDO" "E")
) ;end repeat
) ;end progn
) ;end if
(setq NDIM 0)
(graphscr)
(prin1)
)
分別存成2個檔案,一個是DCL,另一個是LSP
這是好幾年前寫的程式,可以自行簡化、修改
djh1006 在 周四 2 五月 - 17:28 作了第 2 次修改
djh1006- 中級會員
- 文章總數 : 177
年齡 : 53
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 連續沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 23年以上
使用版本 : 2014
積分 : 7
經驗值 : 6136
威望值 : 359
注冊日期 : 2011-06-16
回復: [討論]標註修改的LISP
謝謝您的提供分享
來去使用看看吧
來去使用看看吧
arcojames120307- 一般會員
- 文章總數 : 15
年齡 : 49
來自 : 台灣台北
職業 : 營造
愛好 : 電影
個性 : 和平
使用年資 : 2
使用版本 : 2008
經驗值 : 4707
威望值 : 12
注冊日期 : 2012-03-07
回復: [討論]標註修改的LISP
以上是操作畫面
可複製性質到別的標註
取消公差除了用本程式的刪除公差功能外,還可以用性質管理員刪除
judyyai 在 周二 28 10月 - 22:03 作了第 1 次修改 (原因 : 幫忙修正-JUDY)
djh1006- 中級會員
- 文章總數 : 177
年齡 : 53
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 連續沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 23年以上
使用版本 : 2014
積分 : 7
經驗值 : 6136
威望值 : 359
注冊日期 : 2011-06-16
回復: [討論]標註修改的LISP
喔!!!有關標註修改的LISP,看來可以在工程圖上用到耶!!
感謝分享!!
感謝分享!!
redlemon1103- 一般會員
- 文章總數 : 23
年齡 : 37
來自 : 台北市
職業 : 工程師
愛好 : 音樂
個性 : 熱情
使用年資 : 3年
使用版本 : 2014
經驗值 : 5167
威望值 : 0
注冊日期 : 2011-01-06
回復: [討論]標註修改的LISP
感謝諸位高手的教學~小弟又多學一招了
wawhch- 一般會員
- 文章總數 : 16
年齡 : 43
來自 : 台中
職業 : 製圖員
愛好 : 園藝
個性 : 好相處
使用年資 : 10
使用版本 : 2013
經驗值 : 4331
威望值 : 0
注冊日期 : 2013-03-24
回復: [討論]標註修改的LISP
剛好有需要 正巧大大友分享
天蠍- 一般會員
- 文章總數 : 97
年齡 : 48
來自 : 中華民國 -臺中
職業 : 電機工程 (施工圖規劃)
愛好 : 收集圖塊 學cad
個性 : 隨和
使用年資 : 2
使用版本 : 2010
經驗值 : 5529
威望值 : 6
注冊日期 : 2010-10-30
回復: [討論]標註修改的LISP
努力收集LSP.期待加速在加速
親愛的老闆大大.別開除偶.....感恩啦
親愛的老闆大大.別開除偶.....感恩啦
ts01456646- 初級會員
- 文章總數 : 29
年齡 : 49
來自 : 台中市
職業 : 工具機
愛好 : 網路漫遊
個性 : 偏靜
使用年資 : 15
使用版本 : 2007
積分 : 1
經驗值 : 4275
威望值 : 24
注冊日期 : 2013-08-14
回復: [討論]標註修改的LISP
要感謝大大不吝分享''
天蠍- 一般會員
- 文章總數 : 97
年齡 : 48
來自 : 中華民國 -臺中
職業 : 電機工程 (施工圖規劃)
愛好 : 收集圖塊 學cad
個性 : 隨和
使用年資 : 2
使用版本 : 2010
經驗值 : 5529
威望值 : 6
注冊日期 : 2010-10-30
回復: [討論]標註修改的LISP
- Spoiler(用來隱藏帖子內容):
- 代碼:
DJH_130 : dialog {
label = "公差標註";
:column{
:edit_box {label = "公差上限";key = "keb1";edit_width=8;}
:edit_box {label = "公差下限";key = "keb2";edit_width=8;}
:toggle {label = "刪除公差";key = "keb3";}
}
spacer_1;
ok_cancel;
}
程式2014已經修正
這裡下載
judyyai 在 周二 28 10月 - 22:05 作了第 1 次修改 (原因 : 幫忙修正-JUDY)
____________________________________________________________________________________
djh1006- 中級會員
- 文章總數 : 177
年齡 : 53
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 連續沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 23年以上
使用版本 : 2014
積分 : 7
經驗值 : 6136
威望值 : 359
注冊日期 : 2011-06-16
回復: [討論]標註修改的LISP
剛開始學習機械製圖,幾何公差是機械製圖上不可或缺的,來研究看看囉
厚速共- 一般會員
- 文章總數 : 25
年齡 : 44
來自 : 桃園
職業 : 待業中
愛好 : 球賽欣賞
個性 : 隨和
使用年資 : 新手初學
使用版本 : 2012
經驗值 : 4289
威望值 : 18
注冊日期 : 2013-06-16
回復: [討論]標註修改的LISP
之前畫機械的時候沒看到,現在才看到阿~~先下載來備份囉,感謝大大。
jackiehover- 初級會員
- 文章總數 : 160
年齡 : 38
來自 : 桃園市八德區
職業 : 消防設備、水電設計
愛好 : 上網、遊戲、網拍
個性 : 平易近人
使用年資 : 2014/09至今
使用版本 : 2014、15、16
積分 : 1
經驗值 : 4190
威望值 : 96
注冊日期 : 2015-08-31
回復: [討論]標註修改的LISP
努力學習,感謝分享!
lcskc- 一般會員
- 文章總數 : 59
年齡 : 52
來自 : 高雄
職業 : 模具
愛好 : pc相關
個性 : 安靜
使用年資 : 10
使用版本 : R12
經驗值 : 4171
威望值 : 31
注冊日期 : 2014-05-02
回復: [討論]標註修改的LISP
学习一下 看看谢谢
zhangcan0516- 初級會員
- 文章總數 : 83
年齡 : 33
來自 : 彰化
職業 : 結構工程師
愛好 : CAD,lisp,c,c++,vb
個性 : 温和
使用年資 : 5
使用版本 : 12
積分 : 1
經驗值 : 4113
威望值 : 36
注冊日期 : 2014-10-23
回復: [討論]標註修改的LISP
下载下来试试看如何
zhangcan0516- 初級會員
- 文章總數 : 83
年齡 : 33
來自 : 彰化
職業 : 結構工程師
愛好 : CAD,lisp,c,c++,vb
個性 : 温和
使用年資 : 5
使用版本 : 12
積分 : 1
經驗值 : 4113
威望值 : 36
注冊日期 : 2014-10-23
回復: [討論]標註修改的LISP
下載了 , 謝謝分享
ctest- 一般會員
- 文章總數 : 59
年齡 : 55
來自 : 中壢
職業 : 待業
愛好 : watch
個性 : 溫和
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 5077
威望值 : 12
注冊日期 : 2011-09-19
回復: [討論]標註修改的LISP
這麼好用的程式現在才發現,不下載來用等何時?感謝分享~~
MK WU- 初級會員
- 文章總數 : 67
年齡 : 52
來自 : 台灣台北
職業 : 工
愛好 : 看電視
個性 : 隨緣
使用年資 : 1年
使用版本 : 2013
積分 : 1
經驗值 : 4871
威望值 : 57
注冊日期 : 2012-07-02
回復: [討論]標註修改的LISP
感謝大大提供分享程式
下載下來研究
增進一下自己的功力
下載下來研究
增進一下自己的功力
swcforest- 初級會員
- 文章總數 : 113
年齡 : 45
來自 : 台中市南區
職業 : 土木工程設計
愛好 : 遊山玩水及AutoLISP
個性 : 開朗活潑
使用年資 : 六七年了
使用版本 : AutoCAD 2016
積分 : 1
經驗值 : 6243
威望值 : 10
注冊日期 : 2008-07-27
回復: [討論]標註修改的LISP
小豬 寫到:畫圖的時候要設定標註公差都覺的很麻煩,無意間在網路上看到有人寫公差設定的LISP,不過它是直接修改"文字置換",這樣就不能使用"MATCHPROP"來複製性質....
能夠不用一直設定標註直徑,實在能少掉一些時間,
而且我也想看看怎麼寫的,謝謝你!
view- 一般會員
- 文章總數 : 6
年齡 : 44
來自 : 高雄
職業 : 機械
愛好 : 電影
個性 : 呆
使用年資 : 5年
使用版本 : 2014
經驗值 : 2583
威望值 : 0
注冊日期 : 2017-11-23
ming1789- 一般會員
- 文章總數 : 26
年齡 : 49
來自 : 彰化
職業 : 機械
愛好 : 上網
個性 : 樂觀
使用年資 : 10
使用版本 : 2014
經驗值 : 3202
威望值 : 0
注冊日期 : 2016-06-18
回復: [討論]標註修改的LISP
感謝分享...!
vision25- 一般會員
- 文章總數 : 61
年齡 : 45
來自 : 新竹線
職業 : 測試
愛好 : 旅遊 攝影
個性 : 沉默寡言
使用年資 : 6
使用版本 : 2011
經驗值 : 5265
威望值 : 0
注冊日期 : 2011-02-01
回復: [討論]標註修改的LISP
下載來參考 感恩
布之道- 一般會員
- 文章總數 : 4
年齡 : 44
來自 : 彰化
職業 : 機械
愛好 : 睡覺
個性 : 沉默
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 2237
威望值 : 0
注冊日期 : 2018-10-27
回復: [討論]標註修改的LISP
感謝大大的分享
Jason kid- 一般會員
- 文章總數 : 5
年齡 : 31
來自 : 台中
職業 : 機構設計
愛好 : 健身
個性 : 謹慎
使用年資 : 3年
使用版本 : 2014
經驗值 : 1751
威望值 : 0
注冊日期 : 2020-02-29
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共3頁)
這個論壇的權限:
您 無法 在這個版面回復文章