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

[討論]標註修改的LISP

1頁(共2頁) 1, 2  下一步

上一篇主題 下一篇主題 向下

[討論]標註修改的LISP

發表 由 小豬 于 2010-02-14, 17:12

畫圖的時候要設定標註公差都覺的很麻煩,無意間在網路上看到有人寫公差設定的LISP,不過它是直接修改"文字置換",這樣就不能使用"MATCHPROP"來複製性質,
每次要用"MATCHPROP"複製公差性質結果竟然不能用都會感到... 翻桌
所以就自己學LISP寫寫看...
不過沒有學過起他程式的基礎有點吃力... 頭暈目眩
但是寫出來滿有成就感的...

裡面還有加一些我常用的功能,不過現在是初學者寫的不太好,還要請各位高手指導一下了...
(回覆後可看見以下程式)


把公差設定獨立出來,程式有在做點小修改
(1)公差精度可跟隨使用者輸入而變動且結尾0不抑制
(2)不會因偏差公差上限為0時"+"消失
(3)公差大小設定為標註文字大0.8倍
(回覆後可看見以下程式)



讚啦!! 謝謝程式分享及說明~< 積分 +1>

[公告]關於團隊成員的回文及貢獻


小豬 在 2010-02-16, 02:59 作了第 3 次修改 (原因 : 新增程式修改)
avatar
小豬
初級會員
初級會員

文章總數 : 17
年齡 : 29
來自 : 台北
職業 : 打雜
愛好 : 上網
個性 : 隨和
使用年資 : 初學者
使用版本 : 2010
積分 : 1
經驗值 : 3133
威望值 : 45
發帖精華 : 0
注冊日期 : 2009-06-12
男 摩羯座 兔

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 DARDAR 于 2010-02-15, 11:33

下載來試試看謝謝分享!... 謝謝囉
新年快樂....
avatar
DARDAR
高級會員
高級會員

文章總數 : 281
年齡 : 59
來自 : 台北
職業 : 營造金屬
愛好 : AutoCAD
個性 : 隨和
使用年資 : 5年↑
使用版本 : 2012
積分 : 15
經驗值 : 3898
威望值 : 90
注冊日期 : 2008-05-13
經典問與答讀者 藍鵲49號
男 白羊座 狗

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 張譽璋 于 2010-02-15, 11:41

真正業界使用的公差並不是使用複製性質的方式來解決的,因為公差的變數有標註精確度的設定問題,尤其尾數是零時,零會被抑制以及正負符號,字體大小及對正方式的問題所以才會以修改文字置換的方式解決,連原廠機械專用版的公差標註也是使用文字置換的方式寫成的程式,你所提的方法並不是最好的解決方案喔!剛剛有試過你的程式,建議你嘗試讓程式的操作更簡便,使用起來才會節省時間,標註時最好能自動跟隨標註比例變化.

張譽璋
榮譽顧問
榮譽顧問

文章總數 : 303
年齡 : 47
來自 : 彰化縣員林鎮
職業 : 機械設計工程師/AutoCAD講師/AutoCAD外掛系統開發/AutoCAD書籍作者
愛好 : 旅行及電影
個性 : 風趣健談
使用年資 : 25年
使用版本 : AutoCAD2010/2011/2012/2013
積分 : 20
經驗值 : 4908
威望值 : 624
發帖精華 : 2
回帖精華 : 1
注冊日期 : 2008-05-28
藍鵲12號
男 處女座 狗

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 小豬 于 2010-02-15, 14:11

張譽璋 寫到:真正業界使用的公差並不是使用複製性質的方式來解決的,因為公差的變數有標註精確度的設定問題,尤其尾數是零時,零會被抑制以及正負符號,字體大小及對正方式的問題所以才會以修改文字置換的方式解決,連原廠機械專用版的公差標註也是使用文字置換的方式寫成的程式,你所提的方法並不是最好的解決方案喔!剛剛有試過你的程式,建議你嘗試讓程式的操作更簡便,使用起來才會節省時間,標註時最好能自動跟隨標註比例變化.
會堅持不用"文字置換"來寫公差當然不是純粹為了要使用複製性質,我是希望公差不只是在圖面上顯示,而是可以另外再拉出數值另做起他用途,甚至可以達到聯動的可能性,
標註精確度,零會被抑制,正負符號...等等問題應改也是在參數上可進行修改,現在努力學習中...
非常感謝張老師的指導... 感動
avatar
小豬
初級會員
初級會員

文章總數 : 17
年齡 : 29
來自 : 台北
職業 : 打雜
愛好 : 上網
個性 : 隨和
使用年資 : 初學者
使用版本 : 2010
積分 : 1
經驗值 : 3133
威望值 : 45
發帖精華 : 0
注冊日期 : 2009-06-12
男 摩羯座 兔

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 ccxsw 于 2010-03-13, 03:49

下載來試試看

謝謝分享!.

ccxsw
中級會員
中級會員

文章總數 : 154
年齡 : 50
來自 : TAIWAN
職業 : AUTOCAD ENG
愛好 : sleep
個性 : 反戰
使用年資 : 18
使用版本 : 2008 MDT
積分 : 5
經驗值 : 3603
威望值 : 81
注冊日期 : 2008-10-04
藍鵲92號
男 摩羯座 馬

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 ginse0727 于 2010-08-23, 14:54

謝謝分享,我也想下載來觀摩研究一下 驚嚇
avatar
ginse0727
高級會員
高級會員

文章總數 : 256
年齡 : 43
來自 : 台北巿
職業 : 帷幕牆
愛好 : 電玩,漫畫,網路小說
個性 : 宅男/正直/死腦筋
使用年資 : 退伍後工作迄今,10年以上
使用版本 : 2012
積分 : 14
經驗值 : 4228
威望值 : 492
發帖精華 : 1
注冊日期 : 2010-07-12
經典問與答讀者 藍鵲61號
2011聚會勳章 男 獅子座 虎

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 anais99 于 2010-09-21, 07:39

我也想看看是如何寫的。
avatar
anais99
初級會員
初級會員

文章總數 : 79
年齡 : 39
來自 : 台北縣
職業 : 模具製圖
愛好 : 騎自行車
個性 : 開朗
使用年資 : 12
使用版本 : 2010
積分 : 4
經驗值 : 2956
威望值 : 12
注冊日期 : 2010-06-14
串連貼紙成功 女 雙子座 馬

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 kshuangt 于 2011-08-16, 04:14

我想下載來研究一下,謝謝分享
avatar
kshuangt
初級會員
初級會員

文章總數 : 46
年齡 : 42
來自 : 桃園
職業 : 製造業
愛好 : 小遊戲
個性 : 內向,沉默寡言
使用年資 : 18年↑
使用版本 : 2012
積分 : 4
最佳解答 : 1
經驗值 : 2585
威望值 : 58
注冊日期 : 2011-04-27
經典問與答讀者 藍鵲204號
男 巨蟹座 兔

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 GRACE0724 于 2011-08-16, 06:26

來看看嚕..謝謝各位熱心的分享
avatar
GRACE0724
初級會員
初級會員

文章總數 : 170
年齡 : 48
來自 : 桃園市荒郊野外
職業 : 櫻櫻美代子股份無限公司總裁
愛好 : 看書.踏青.最好是睡到自然醒^_^
個性 : 外向.真的外向
使用年資 : 新手初學
使用版本 : 2010
積分 : 6
經驗值 : 2911
威望值 : 124
注冊日期 : 2011-05-23
經典問與答讀者 藍鵲20號
2011聚會勳章 串連貼紙成功 女 獅子座 雞

http://tw.myblog.yahoo.com/jw!GLIrG1KcHwGdnXuRx9WA8mM-

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 adslwang 于 2011-08-16, 08:31

觀摩研究一下 謝謝分享
avatar
adslwang
高級會員
高級會員

文章總數 : 372
年齡 : 39
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 4599
威望值 : 355
回帖精華 : 1
注冊日期 : 2008-10-02
藍鵲88號
男 處女座 馬

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 tarpon 于 2011-08-16, 10:08

雖然沒畫機械製圖還是下載來研究一下感謝樓主分享 親一個
avatar
tarpon
中級會員
中級會員

文章總數 : 201
年齡 : 27
來自 : 台北
職業 : 設計
愛好 : 打球
個性 : 溫和
使用年資 : 5年
使用版本 : 2006
積分 : 6
經驗值 : 3589
威望值 : 238
注冊日期 : 2010-07-01
串連貼紙成功 男 巨蟹座 馬

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 Jakie 于 2011-12-21, 20:31

好期待
趕快進去下載
今天已經收集好多了~好滿喔挖哈哈哈 竊喜

Jakie
初級會員
初級會員

文章總數 : 74
年齡 : 40
來自 : Tainan Baiho
職業 : 土木
愛好 : 自然藝術
個性 : 有點品味,有點走味~^.^
使用年資 : 8年
使用版本 : 2004
積分 : 1
經驗值 : 2883
威望值 : 81
注冊日期 : 2010-10-28
藍鵲79號
男 獅子座 蛇

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 鄭坤露 于 2011-12-28, 03:54

雖然我工作上用不到公差,不過參考一下也是不錯滴,
謝謝分享。
avatar
鄭坤露
初級會員
初級會員

文章總數 : 47
年齡 : 43
來自 : 新竹
職業 : 純癈水配管
愛好 : game
個性 : 隨和
使用年資 : 16
使用版本 : 2010
積分 : 1
經驗值 : 2874
威望值 : 51
注冊日期 : 2010-08-21
藍鵲76號
男 金牛座 虎

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 as920029as 于 2012-06-08, 05:41

我工作上需要用到XD謝謝分享。.
avatar
as920029as
一般會員
一般會員

文章總數 : 53
年齡 : 26
來自 : 台南市
職業 : 繪圖員
愛好 : 電腦遊戲
個性 : 開朗
使用年資 : 3年
使用版本 : 2010
經驗值 : 2307
威望值 : 31
注冊日期 : 2012-05-05
男 白羊座 羊

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 ianlcc 于 2012-06-25, 13:17

這樣子的方式可以省掉很多修改的時間,謝謝您的分享!
avatar
ianlcc
一般會員
一般會員

文章總數 : 56
年齡 : 42
來自 : 高雄市
職業 : 營建業
愛好 : 拍照、喝咖啡、看電演、上網
個性 : 平靜
使用年資 : 5
使用版本 : 2012
經驗值 : 2224
威望值 : 33
注冊日期 : 2012-06-24
藍鵲486號
男 雙魚座 兔

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 lingo_st 于 2012-07-19, 18:45

標註的調整跟設定在我的觀念裡一直是很煩的事
所以 下載來練習看看可不可以省下一些時間
avatar
lingo_st
中級會員
中級會員

文章總數 : 211
年齡 : 53
來自 : 新北市
職業 : 營造,建設
愛好 : 學習,服務,電腦軟硬體
個性 : 正直,達觀且無可救藥的雞婆
使用年資 : 使用12年但真的是新手
使用版本 : 2012,2013
積分 : 6
經驗值 : 3372
威望值 : 271
注冊日期 : 2011-12-18
經典問與答讀者 藍鵲238號
男 雙魚座 龍

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 rex614 于 2012-12-27, 06:41

最近公司有需要一尺寸計算%數的公差
但還在研究中
先借來學習一下

rex614
初級會員
初級會員

文章總數 : 107
年齡 : 28
來自 : 台灣
職業 : 製圖
愛好 : 3C
個性 : 陰森
使用年資 : 十年
使用版本 : 2010
積分 : 4
經驗值 : 3255
威望值 : 9
注冊日期 : 2009-01-10
男 白羊座 蛇

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 weiyaolieh 于 2013-01-12, 23:16

下載來試試看謝謝分享!...
新年快樂.....
avatar
weiyaolieh
初級會員
初級會員

文章總數 : 11
年齡 : 48
來自 : 桃園
職業 : 土木環工
愛好 : 遊玩
個性 : 活潑好動
使用年資 : 10年
使用版本 : 2004
積分 : 1
經驗值 : 2921
威望值 : 12
注冊日期 : 2009-12-08
經典問與答讀者 2012聚會勳章 男 水瓶座 猴

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 djh1006 于 2013-04-09, 05:40

試試看這招

程式2014已經修正
這裡下載

Spoiler(用來隱藏帖子內容):
檔名DJH_130.DCL
內容如下: DCL以下錯誤
正確如這
http://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, 10:28 作了第 2 次修改
avatar
djh1006
中級會員
中級會員

文章總數 : 156
年齡 : 46
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 18以上
使用版本 : 2014
積分 : 6
經驗值 : 3401
威望值 : 294
注冊日期 : 2011-06-16
男 獅子座 豬

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 arcojames120307 于 2013-04-09, 16:58

謝謝您的提供分享
來去使用看看吧
avatar
arcojames120307
一般會員
一般會員

文章總數 : 15
年齡 : 42
來自 : 台灣台北
職業 : 營造
愛好 : 電影
個性 : 和平
使用年資 : 2
使用版本 : 2008
經驗值 : 2115
威望值 : 12
注冊日期 : 2012-03-07
男 雙子座 兔

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 djh1006 于 2013-04-28, 03:26


以上是操作畫面
可複製性質到別的標註
取消公差除了用本程式的刪除公差功能外,還可以用性質管理員刪除


judyyai 在 2014-10-28, 14:03 作了第 1 次修改 (原因 : 幫忙修正-JUDY)
avatar
djh1006
中級會員
中級會員

文章總數 : 156
年齡 : 46
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 18以上
使用版本 : 2014
積分 : 6
經驗值 : 3401
威望值 : 294
注冊日期 : 2011-06-16
男 獅子座 豬

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 redlemon1103 于 2013-05-17, 09:39

喔!!!有關標註修改的LISP,看來可以在工程圖上用到耶!!
感謝分享!!
avatar
redlemon1103
一般會員
一般會員

文章總數 : 23
年齡 : 29
來自 : 台北市
職業 : 工程師
愛好 : 音樂
個性 : 熱情
使用年資 : 3年
使用版本 : 2014
經驗值 : 2575
威望值 : 0
注冊日期 : 2011-01-06
男 天蝎座 兔

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 wawhch 于 2013-08-16, 16:30

感謝諸位高手的教學~小弟又多學一招了
avatar
wawhch
一般會員
一般會員

文章總數 : 16
年齡 : 36
來自 : 台中
職業 : 製圖員
愛好 : 園藝
個性 : 好相處
使用年資 : 10
使用版本 : 2013
經驗值 : 1739
威望值 : 0
注冊日期 : 2013-03-24
男 摩羯座 猴

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 天蠍 于 2013-08-18, 14:56

剛好有需要 正巧大大友分享

天蠍
一般會員
一般會員

文章總數 : 67
年齡 : 40
來自 : 中華民國 -臺中
職業 : 電機工程 (施工圖規劃)
愛好 : 收集圖塊 學cad
個性 : 隨和
使用年資 : 2
使用版本 : 2010
經驗值 : 2821
威望值 : 6
注冊日期 : 2010-10-30
男 天蝎座 龍

回頂端 向下

回復: [討論]標註修改的LISP

發表 由 ts01456646 于 2013-08-31, 16:50

努力收集LSP.期待加速在加速
親愛的老闆大大.別開除偶.....感恩啦
avatar
ts01456646
初級會員
初級會員

文章總數 : 23
年齡 : 42
來自 : 台中市
職業 : 工具機
愛好 : 網路漫遊
個性 : 偏靜
使用年資 : 15
使用版本 : 2007
積分 : 1
經驗值 : 1653
威望值 : 24
注冊日期 : 2013-08-14
男 水瓶座 兔

回頂端 向下

1頁(共2頁) 1, 2  下一步

上一篇主題 下一篇主題 回頂端


 
這個論壇的權限:
無法 在這個版面回復文章