[分享]座標式標註 座標如果是負值 數字前自動加負號
+7
crihy
lcskc
junbafa74
jenniferaptg
qaz6605
edwei206
djh1006
11 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[分享]座標式標註 座標如果是負值 數字前自動加負號
這是manson666於2011.09.11發問的題目
[討論]請問座標式標註 座標如果是負值 請問要怎麼顯示呢?(詳圖)
以下的程式是我的原創,歡迎更改,若能修改缺點並加以回饋更好
座標式負向加負號是AUTOCAD的不體貼之一,明明ID可以確認座標值是正或是負,但在標註時卻不能顯示出來。
[討論]請問座標式標註 座標如果是負值 請問要怎麼顯示呢?(詳圖)
以下的程式是我的原創,歡迎更改,若能修改缺點並加以回饋更好
座標式負向加負號是AUTOCAD的不體貼之一,明明ID可以確認座標值是正或是負,但在標註時卻不能顯示出來。
- 代碼:
;DX.lsp
;X軸座標_負號
;載入後輸入DX執行
(defun C:DX(/ LL OSP OCT XY CL PT1 TIMES DIMXY N1 NN1 P1 P2 PTN PTN1)
(graphscr)
(setvar "CMDECHO" 0)
;===新增圖層DIM===
(command "-LAYER" "P" "N" "0" "") ;將圖層0設為不出圖
(setq LAY_CURRENT (getvar "CLAYER")) ;取得目前圖層名稱
(command "-LAYER" "ON" LAY_CURRENT "T" LAY_CURRENT "U" LAY_CURRENT "") ;將目前圖層打開並解鎖,解凍
(setq LL (tblsearch "LAYER" "DIM")) ;偵測是否有DIM圖層<可設定成自己習慣圖層>
(if (= LL nil)(command "-LAYER" "N" "DIM" "")) ;若無DIM層則新建DIM圖層<可設定成自己習慣圖層>
(command "-LAYER" "ON" "DIM" "T" "DIM" "U" "DIM" "C" "2" "DIM" "");打開DIM並解鎖,解凍<可設定成自己習慣圖層>
;===
(setq
OSP (getvar "OSMODE")
OCT (getvar "CTAB") ;確認目前在模型空間或配置空間
OCV (getvar "CVPORT") ;當在模型空間時,值為2,在配置空間的圖紙空間時,值為1,在配置空間的視埠裡時,值為2
PT1 nil PT2 nil XY XY_record CL 1 TIMES 1
)
(if (= XY_record nil) (setq XY 1)(setq XY XY_record))
(while (= CL 1)
(while (= PT1 nil)
(if (= XY 1)(progn
(initget "U u")
(setq PT1 (getpoint "\n▍▍▍▍▍X軸標註點[Y軸標註(ENTER) 復原(U) 結束(ESC)]:"))
(if (or (= PT1 "U")(= PT1 "u")) (command "undo" "1"))
(while (or (= PT1 "U")(= PT1 "u"))
(initget "U u")
(setq PT1 (getpoint "\n▍▍▍▍▍X軸標註點[Y軸標註(ENTER) 復原(U) 結束(ESC)]:"))
(if (or (= PT1 "U")(= PT1 "u")) (command "undo" "1"))
)
(if (and (/= PT1 nil)(or (/= PT1 "u")(/= PT1 "U")))(progn
(setq XY_record XY DIMXY "X" N1 (car PT1) TIMES 1)
))
(if (= PT1 nil)(progn
(setq XY 2 TIMES (1+ TIMES))
(if (= TIMES 5) (exit))
))
)) ;end if
(if (= XY 2)(progn
(initget "U u")
(setq PT1 (getpoint "\n▄▄▄▄▄Y軸標註點[X軸標註(ENTER) 復原(U) 結束(ESC)]:"))
(if (or (= PT1 "U")(= PT1 "u")) (command "undo" "1"))
(while (or (= PT1 "U")(= PT1 "u"))
(initget "U u")
(setq PT1 (getpoint "\n▄▄▄▄▄Y軸標註點[X軸標註(ENTER) 復原(U) 結束(ESC)]:"))
(if (or (= PT1 "U")(= PT1 "u")) (command "undo" "1"))
)
(if (and (/= PT1 nil)(or (/= PT1 "u")(/= PT1 "U")))(progn
(setq XY_record XY DIMXY "Y" N1 (cadr PT1) TIMES 1)
)) ;end if
(if (= PT1 nil)(progn
(setq XY 1 TIMES (1+ TIMES))
(if (= TIMES 5) (exit))
)) ;end if
)) ;end if
)
(while (and (/= PT1 nil)(or (/= PT1 "u")(/= PT1 "U")))
(command "UNDO" "BE")
(cond
((< N1 0) (setq NN1 "-<>"))
((>= N1 0) (setq NN1 ""))
)
(command "DIMORDINATE" PT1 DIMXY "T" NN1 pause)
(setvar "OSMODE" 0)
(if (= OCT "Model")(progn
(setq P1 (polar PT1 (/ (* 135 PI) 180) 10))
(setq P2 (polar PT1 (/ (* 315 PI) 180) 10))
(command "ZOOM" P1 P2)
))
(setq PTN (ssget PT1))
(if (/= PTN nil)(progn
(setq PTN1 (cdr (assoc 0 (entget (ssname PTN 0)))))
(if (= PTN1 "DIMENSION")
(command "CHANGE" PT1 "" "P" "LA" "DIM" "C" "BYLAYER" "LT" " BYLAYER" "")
)
))
(if (= OCT "Model")(command "ZOOM" "P"))
(setvar "OSMODE" OSP)
(setq PT1 nil)
(command "UNDO" "E")
) ;end while
) ;end while
(princ)
)
Tiger&蘋果爸 寫到: 謝謝熱心程式分享~< 積分 +1>
[公告]關於團隊成員的回文及貢獻
- 附件
____________________________________________________________________________________
djh1006- 中級會員
- 文章總數 : 177
年齡 : 53
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 連續沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 23年以上
使用版本 : 2014
積分 : 7
經驗值 : 6137
威望值 : 359
注冊日期 : 2011-06-16
回復: [分享]座標式標註 座標如果是負值 數字前自動加負號
雖然工作上用不到,
但是太~~~~厲害了!!!!!
但是太~~~~厲害了!!!!!
edwei206- 初級會員
- 文章總數 : 76
年齡 : 45
來自 : 台中
職業 : 開發
愛好 : 上網、攝影、玩模型、打電動
個性 : 內向溫和好相處
使用年資 : 10年 ↑
使用版本 : AutoCAD 2012
積分 : 3
經驗值 : 4998
威望值 : 138
注冊日期 : 2012-06-21
回復: [分享]座標式標註 座標如果是負值 數字前自動加負號
謝謝提供,解釋很清楚,對標注是個方便的方式.
qaz6605- 初級會員
- 文章總數 : 193
年齡 : 46
來自 : 台南市
職業 : 繪圖員
愛好 : 有關電腦的
個性 : 外向
使用年資 : 剛剛初道
使用版本 : 2006
積分 : 2
經驗值 : 6622
威望值 : 82
注冊日期 : 2008-12-31
回復: [分享]座標式標註 座標如果是負值 數字前自動加負號
感謝各位前輩的分享 讓大家受益良多
jenniferaptg- 一般會員
- 文章總數 : 135
年齡 : 50
來自 : taiwan
職業 : cafe
愛好 : 電腦
個性 : 平易近人
使用年資 : 15
使用版本 : 用最熟的那一版
經驗值 : 6382
威望值 : 30
注冊日期 : 2009-01-30
回復: [分享]座標式標註 座標如果是負值 數字前自動加負號
LISP太複雜,希望你能找到解答,感謝分享~
junbafa74- 初級會員
- 文章總數 : 80
年齡 : 50
來自 : 台中
職業 : 施工圖繪圖員
愛好 : 跑步運動
個性 : 開朗
使用年資 : 約3年
使用版本 : 2014
積分 : 2
經驗值 : 4334
威望值 : 78
注冊日期 : 2014-02-26
回復: [分享]座標式標註 座標如果是負值 數字前自動加負號
感謝分享,有空試用測試看看
lcskc- 一般會員
- 文章總數 : 59
年齡 : 52
來自 : 高雄
職業 : 模具
愛好 : pc相關
個性 : 安靜
使用年資 : 10
使用版本 : R12
經驗值 : 4172
威望值 : 31
注冊日期 : 2014-05-02
回復: [分享]座標式標註 座標如果是負值 數字前自動加負號
多謝大大提供分享,祝大家新年快樂
crihy- 初級會員
- 文章總數 : 179
年齡 : 48
來自 : earth worth
職業 : 建築、結構、土木、水利、水保
愛好 : 學習專業知識
個性 : 認真上進
使用年資 : 自80年起
使用版本 : 2014
積分 : 2
經驗值 : 7246
威望值 : 474
注冊日期 : 2008-05-13
回復: [分享]座標式標註 座標如果是負值 數字前自動加負號
當你有使用關連性標註時可以用拖拉指令圈選物件及尺寸標註,如此可變化尺寸標註值,但若超過原點範圍,意指原負座標拖拉到正座標數字會變,但正負值就不能附加,僅供參考
homebrown- 一般會員
- 文章總數 : 11
年齡 : 52
來自 : 彰化
職業 : 機械相關
愛好 : 電腦
個性 : crazy
使用年資 : R9-2016
使用版本 : 2016
經驗值 : 3060
威望值 : 0
注冊日期 : 2016-08-23
回復: [分享]座標式標註 座標如果是負值 數字前自動加負號
感謝蘋果爸的分享...太厲害了
黃文正- 一般會員
- 文章總數 : 10
年齡 : 46
來自 : 新北市
職業 : 模具加工
愛好 : 看書
個性 : 開朗
使用年資 : 1
使用版本 : 2015
經驗值 : 2456
威望值 : 12
注冊日期 : 2018-04-27
回復: [分享]座標式標註 座標如果是負值 數字前自動加負號
要謝謝的人不是我!黃文正 寫到:感謝蘋果爸的分享...太厲害了
這程式是樓主 djh1006 寫的喔!
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [分享]座標式標註 座標如果是負值 數字前自動加負號
謝謝版大的分享,這樣標註方便好多了
nashc- 一般會員
- 文章總數 : 3
年齡 : 44
來自 : 新北市
職業 : 品保
愛好 : 玩游戲
個性 : 安靜
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 1748
威望值 : 0
注冊日期 : 2020-02-24
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章