[討論]標註修改的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>
[公告]關於團隊成員的回文及貢獻
每次要用"MATCHPROP"複製公差性質結果竟然不能用都會感到...
所以就自己學LISP寫寫看...
不過沒有學過起他程式的基礎有點吃力...
但是寫出來滿有成就感的...
裡面還有加一些我常用的功能,不過現在是初學者寫的不太好,還要請各位高手指導一下了...
(回覆後可看見以下程式)
把公差設定獨立出來,程式有在做點小修改
(1)公差精度可跟隨使用者輸入而變動且結尾0不抑制
(2)不會因偏差公差上限為0時"+"消失
(3)公差大小設定為標註文字大0.8倍
(回覆後可看見以下程式)
謝謝程式分享及說明~< 積分 +1>
[公告]關於團隊成員的回文及貢獻
小豬 在 2010-02-16, 10:59 作了第 3 次修改 (原因 : 新增程式修改)
小豬- 初級會員
- 文章總數 : 17
年齡 : 36
來自 : 台北
職業 : 打雜
愛好 : 上網
個性 : 隨和
使用年資 : 初學者
使用版本 : 2010
積分 : 1
經驗值 : 5741
威望值 : 45
發帖精華 : 0
注冊日期 : 2009-06-12
蘇祥瑋 and renmimi0072 like this post
回復: [討論]標註修改的LISP
下載來試試看謝謝分享!...
新年快樂....
新年快樂....
DARDAR- 高級會員
- 文章總數 : 337
年齡 : 66
來自 : 台北
職業 : 營造金屬
愛好 : AutoCAD
個性 : 隨和
使用年資 : 5年↑
使用版本 : 2012
積分 : 15
經驗值 : 6742
威望值 : 96
注冊日期 : 2008-05-13
回復: [討論]標註修改的LISP
真正業界使用的公差並不是使用複製性質的方式來解決的,因為公差的變數有標註精確度的設定問題,尤其尾數是零時,零會被抑制以及正負符號,字體大小及對正方式的問題所以才會以修改文字置換的方式解決,連原廠機械專用版的公差標註也是使用文字置換的方式寫成的程式,你所提的方法並不是最好的解決方案喔!剛剛有試過你的程式,建議你嘗試讓程式的操作更簡便,使用起來才會節省時間,標註時最好能自動跟隨標註比例變化.
張譽璋- 榮譽顧問
- 文章總數 : 304
年齡 : 54
來自 : 彰化縣員林鎮
職業 : 機械設計工程師/AutoCAD講師/AutoCAD外掛系統開發/AutoCAD書籍作者
愛好 : 旅行及電影
個性 : 風趣健談
使用年資 : 25年
使用版本 : AutoCAD2010/2011/2012/2013
積分 : 20
經驗值 : 7536
威望值 : 641
發帖精華 : 2
回帖精華 : 1
注冊日期 : 2008-05-28
回復: [討論]標註修改的LISP
會堅持不用"文字置換"來寫公差當然不是純粹為了要使用複製性質,我是希望公差不只是在圖面上顯示,而是可以另外再拉出數值另做起他用途,甚至可以達到聯動的可能性,張譽璋 寫到:真正業界使用的公差並不是使用複製性質的方式來解決的,因為公差的變數有標註精確度的設定問題,尤其尾數是零時,零會被抑制以及正負符號,字體大小及對正方式的問題所以才會以修改文字置換的方式解決,連原廠機械專用版的公差標註也是使用文字置換的方式寫成的程式,你所提的方法並不是最好的解決方案喔!剛剛有試過你的程式,建議你嘗試讓程式的操作更簡便,使用起來才會節省時間,標註時最好能自動跟隨標註比例變化.
標註精確度,零會被抑制,正負符號...等等問題應改也是在參數上可進行修改,現在努力學習中...
非常感謝張老師的指導...
小豬- 初級會員
- 文章總數 : 17
年齡 : 36
來自 : 台北
職業 : 打雜
愛好 : 上網
個性 : 隨和
使用年資 : 初學者
使用版本 : 2010
積分 : 1
經驗值 : 5741
威望值 : 45
發帖精華 : 0
注冊日期 : 2009-06-12
回復: [討論]標註修改的LISP
下載來試試看
謝謝分享!.
謝謝分享!.
ccxsw- 中級會員
- 文章總數 : 164
年齡 : 57
來自 : TAIWAN
職業 : AUTOCAD ENG
愛好 : sleep
個性 : 反戰
使用年資 : 18
使用版本 : 2008 MDT
積分 : 5
經驗值 : 6260
威望值 : 81
注冊日期 : 2008-10-04
回復: [討論]標註修改的LISP
謝謝分享,我也想下載來觀摩研究一下
ginse0727- 高級會員
- 文章總數 : 256
年齡 : 50
來自 : 台北巿
職業 : 帷幕牆
愛好 : 電玩,漫畫,網路小說
個性 : 宅男/正直/死腦筋
使用年資 : 退伍後工作迄今,10年以上
使用版本 : 2012
積分 : 14
經驗值 : 6844
威望值 : 500
發帖精華 : 1
注冊日期 : 2010-07-13
回復: [討論]標註修改的LISP
我也想看看是如何寫的。
anais99- 初級會員
- 文章總數 : 107
年齡 : 46
來自 : 台北縣
職業 : 模具製圖
愛好 : 騎自行車
個性 : 開朗
使用年資 : 12
使用版本 : 2010
積分 : 4
經驗值 : 5700
威望值 : 12
注冊日期 : 2010-06-14
回復: [討論]標註修改的LISP
我想下載來研究一下,謝謝分享
kshuangt- 初級會員
- 文章總數 : 55
年齡 : 49
來自 : 桃園
職業 : 製造業
愛好 : 小遊戲
個性 : 內向,沉默寡言
使用年資 : 18年↑
使用版本 : 2012
積分 : 4
最佳解答 : 1
經驗值 : 5228
威望值 : 58
注冊日期 : 2011-04-27
回復: [討論]標註修改的LISP
觀摩研究一下 謝謝分享
adslwang- 高級會員
- 文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7226
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
回復: [討論]標註修改的LISP
雖然沒畫機械製圖還是下載來研究一下感謝樓主分享
tarpon- 中級會員
- 文章總數 : 209
年齡 : 34
來自 : 台北
職業 : 設計
愛好 : 打球
個性 : 溫和
使用年資 : 5年
使用版本 : 2006
積分 : 6
經驗值 : 6267
威望值 : 263
注冊日期 : 2010-07-01
回復: [討論]標註修改的LISP
好期待
趕快進去下載
今天已經收集好多了~好滿喔挖哈哈哈
趕快進去下載
今天已經收集好多了~好滿喔挖哈哈哈
Jakie- 初級會員
- 文章總數 : 80
年齡 : 47
來自 : Tainan Baiho
職業 : 土木
愛好 : 自然藝術
個性 : 有點品味,有點走味~^.^
使用年資 : 8年
使用版本 : 2018
積分 : 1
經驗值 : 5528
威望值 : 87
注冊日期 : 2010-10-28
回復: [討論]標註修改的LISP
雖然我工作上用不到公差,不過參考一下也是不錯滴,
謝謝分享。
謝謝分享。
鄭坤露- 初級會員
- 文章總數 : 61
年齡 : 50
來自 : 新竹
職業 : 純癈水配管
愛好 : game
個性 : 隨和
使用年資 : 16
使用版本 : 2010
積分 : 1
經驗值 : 5553
威望值 : 51
注冊日期 : 2010-08-21
回復: [討論]標註修改的LISP
我工作上需要用到XD謝謝分享。.
as920029as- 一般會員
- 文章總數 : 110
年齡 : 33
來自 : 台南市
職業 : 繪圖員
愛好 : 電腦遊戲
個性 : 開朗
使用年資 : 3年
使用版本 : 2010
經驗值 : 5241
威望值 : 47
注冊日期 : 2012-05-06
回復: [討論]標註修改的LISP
這樣子的方式可以省掉很多修改的時間,謝謝您的分享!
ianlcc- 一般會員
- 文章總數 : 160
年齡 : 49
來自 : 高雄市
職業 : 營建業
愛好 : 拍照、喝咖啡、看電演、上網
個性 : 平靜
使用年資 : 5
使用版本 : 2012
經驗值 : 5401
威望值 : 69
注冊日期 : 2012-06-24
回復: [討論]標註修改的LISP
標註的調整跟設定在我的觀念裡一直是很煩的事
所以 下載來練習看看可不可以省下一些時間
所以 下載來練習看看可不可以省下一些時間
____________________________________________________________________________________
沒有功勞也有苦勞,沒有苦勞也有疲勞的年代已經過去
現在是...........................................
沒有功勞直接就是個屁,連個屁都不是,那就真的很疲勞了
大家一起努力吧,努力別落到連個屁都不是................
lingo_st- 中級會員
- 文章總數 : 211
年齡 : 60
來自 : 新北市
職業 : 營造,建設
愛好 : 學習,服務,電腦軟硬體
個性 : 正直,達觀且無可救藥的雞婆
使用年資 : 使用12年但真的是新手
使用版本 : 2012,2013
積分 : 6
經驗值 : 5980
威望值 : 271
注冊日期 : 2011-12-18
回復: [討論]標註修改的LISP
最近公司有需要一尺寸計算%數的公差
但還在研究中
先借來學習一下
但還在研究中
先借來學習一下
rex614- 初級會員
- 文章總數 : 109
年齡 : 35
來自 : 台灣
職業 : 製圖
愛好 : 3C
個性 : 陰森
使用年資 : 十年
使用版本 : 2010
積分 : 4
經驗值 : 5870
威望值 : 6
注冊日期 : 2009-01-11
回復: [討論]標註修改的LISP
下載來試試看謝謝分享!...
新年快樂.....
新年快樂.....
weiyaolieh- 初級會員
- 文章總數 : 13
年齡 : 55
來自 : 桃園
職業 : 土木環工
愛好 : 遊玩
個性 : 活潑好動
使用年資 : 10年
使用版本 : 2004
積分 : 1
經驗值 : 5537
威望值 : 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 在 2013-05-02, 17:28 作了第 2 次修改
djh1006- 中級會員
- 文章總數 : 177
年齡 : 53
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 連續沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 23年以上
使用版本 : 2014
積分 : 7
經驗值 : 6152
威望值 : 359
注冊日期 : 2011-06-16
回復: [討論]標註修改的LISP
謝謝您的提供分享
來去使用看看吧
來去使用看看吧
arcojames120307- 一般會員
- 文章總數 : 15
年齡 : 49
來自 : 台灣台北
職業 : 營造
愛好 : 電影
個性 : 和平
使用年資 : 2
使用版本 : 2008
經驗值 : 4723
威望值 : 12
注冊日期 : 2012-03-07
回復: [討論]標註修改的LISP
以上是操作畫面
可複製性質到別的標註
取消公差除了用本程式的刪除公差功能外,還可以用性質管理員刪除
judyyai 在 2014-10-28, 22:03 作了第 1 次修改 (原因 : 幫忙修正-JUDY)
djh1006- 中級會員
- 文章總數 : 177
年齡 : 53
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 連續沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 23年以上
使用版本 : 2014
積分 : 7
經驗值 : 6152
威望值 : 359
注冊日期 : 2011-06-16
回復: [討論]標註修改的LISP
喔!!!有關標註修改的LISP,看來可以在工程圖上用到耶!!
感謝分享!!
感謝分享!!
redlemon1103- 一般會員
- 文章總數 : 23
年齡 : 37
來自 : 台北市
職業 : 工程師
愛好 : 音樂
個性 : 熱情
使用年資 : 3年
使用版本 : 2014
經驗值 : 5183
威望值 : 0
注冊日期 : 2011-01-06
回復: [討論]標註修改的LISP
感謝諸位高手的教學~小弟又多學一招了
wawhch- 一般會員
- 文章總數 : 16
年齡 : 43
來自 : 台中
職業 : 製圖員
愛好 : 園藝
個性 : 好相處
使用年資 : 10
使用版本 : 2013
經驗值 : 4347
威望值 : 0
注冊日期 : 2013-03-24
回復: [討論]標註修改的LISP
剛好有需要 正巧大大友分享
天蠍- 一般會員
- 文章總數 : 97
年齡 : 48
來自 : 中華民國 -臺中
職業 : 電機工程 (施工圖規劃)
愛好 : 收集圖塊 學cad
個性 : 隨和
使用年資 : 2
使用版本 : 2010
經驗值 : 5545
威望值 : 6
注冊日期 : 2010-10-30
回復: [討論]標註修改的LISP
努力收集LSP.期待加速在加速
親愛的老闆大大.別開除偶.....感恩啦
親愛的老闆大大.別開除偶.....感恩啦
ts01456646- 初級會員
- 文章總數 : 29
年齡 : 49
來自 : 台中市
職業 : 工具機
愛好 : 網路漫遊
個性 : 偏靜
使用年資 : 15
使用版本 : 2007
積分 : 1
經驗值 : 4291
威望值 : 24
注冊日期 : 2013-08-14
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共3頁)
這個論壇的權限:
您 無法 在這個版面回復文章