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.
[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Ioaoe110[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 2020-310[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Oiu15010[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 2020-211[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Ia15010[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aizyao10[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Uos15010[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 BPl3tjj[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Ziao1510
[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Oo-2-110[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Zuoiy_10[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aizyao11[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Iyb_1510[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aoe1-111[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Uos15011[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aoe2da10[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aoe2da11[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aoe10

[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求

3 posters

向下

[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Empty [已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求

發表 由 老水牛 2010-10-06, 15:25

(defun c:dxft()
(setq bk1(entsel "\n選取欲修改的尺寸 : "))
(setq na (getint "\n輸入標註值 :"))
(setq b1 (entget (car bk1)))
(setq OLD (assoc 1 b1))
(setq naa (/ na 26))
(setq nab (itoa naa))
(setq na1 (strcat "26*"nab))
(setq NEW (CONS 1 NA1))
(SETQ B1 (SUBST NEW OLD B1)
)
(ENTMOD B1)
(princ)
)


老水牛 在 2010-10-08, 08:52 作了第 1 次修改
avatar
老水牛
初級會員
初級會員

文章總數 : 107
年齡 : 62
來自 : 台北縣
職業 : 電機
愛好 : 閱讀
個性 : 溫和
使用年資 : 6
使用版本 : 2006
積分 : 1
經驗值 : 5890
威望值 : 0
注冊日期 : 2008-10-17
男 天蝎座 牛

回頂端 向下

[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Empty 回復: [已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求

發表 由 阿希 2010-10-07, 10:06

老水牛 寫到:(defun c:dxft()
(setq bk1(entsel "\n選取欲修改的尺寸 : "))
(setq na (getint "\n輸入標註值 :"))
(setq b1 (entget (car bk1)))
(setq OLD (assoc 1 b1))
(setq naa (/ na 26))
(setq nab (itoa naa))
(setq na1 (strcat "26*"nab))
(setq NEW (CONS 1 NA1))
(SETQ B1 (SUBST NEW OLD B1)
)
(ENTMOD B1)
(princ)
)


看不懂你的需求是啥 ?
如果說你的 (setq na (getint "\n輸入標註值 :")) 這部份指的是標註上的"值"
那你也已經知道它是多少了
程式稍微修改一下即可
(defun c:dxft()
(setq bk1(entsel "\n選取欲修改的尺寸 : "))
;;;;;;(setq na (getint "\n輸入標註值 :"))
(setq b1 (entget (car bk1)))
(setq na (cdr (assoc 1 b1)))
(setq OLD (assoc 1 b1))
(setq naa (/ na 26))
(setq nab (itoa naa))
(setq na1 (strcat "26*"nab))
(setq NEW (CONS 1 NA1))
(SETQ B1 (SUBST NEW OLD B1)
)
(ENTMOD B1)
(princ)
)

綠色為原程式移除的部份
紅色為新增的部份
***未經測試~僅以程式架構做修正***
avatar
阿希
高級會員
高級會員

文章總數 : 344
年齡 : 43
來自 : 台北
職業 : 水電設計
愛好 : autolisp
個性 : 和平主義者
使用年資 : 5
使用版本 : 2008
積分 : 19
經驗值 : 6567
威望值 : 226
發帖精華 : 1
注冊日期 : 2008-09-22
男 摩羯座 猴

回頂端 向下

[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Empty 回復: [已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求

發表 由 老水牛 2010-10-07, 16:31

阿希大大:
我要的需求是,選取標註,取得該標註值,經計算後,將計算後的值取代原標註。
也就是說 我要如何抽取尺寸標註DXF碼中的標註文字
avatar
老水牛
初級會員
初級會員

文章總數 : 107
年齡 : 62
來自 : 台北縣
職業 : 電機
愛好 : 閱讀
個性 : 溫和
使用年資 : 6
使用版本 : 2006
積分 : 1
經驗值 : 5890
威望值 : 0
注冊日期 : 2008-10-17
男 天蝎座 牛

回頂端 向下

[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Empty 回復: [已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求

發表 由 阿希 2010-10-07, 17:52

老水牛 寫到:阿希大大:
我要的需求是,選取標註,取得該標註值,經計算後,將計算後的值取代原標註。
也就是說 我要如何抽取尺寸標註DXF碼中的標註文字


上面我修改的程式可行嗎 ?
avatar
阿希
高級會員
高級會員

文章總數 : 344
年齡 : 43
來自 : 台北
職業 : 水電設計
愛好 : autolisp
個性 : 和平主義者
使用年資 : 5
使用版本 : 2008
積分 : 19
經驗值 : 6567
威望值 : 226
發帖精華 : 1
注冊日期 : 2008-09-22
男 摩羯座 猴

回頂端 向下

[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Empty 回復: [已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求

發表 由 張譽璋 2010-10-08, 01:04

我將程式作修改如下,你試用看看
代碼:
(defun c:dxft()
  (setq bk1(entsel "\n選取欲修改的尺寸 : "))
  (setq b1 (entget (car bk1)))
  (setq na (cdr (assoc 42 b1)))
  (setq OLD (assoc 1 b1))
  (setq naa (/ na 26))
  (setq nab (rtos naa))
  (setq na1 (strcat "26*" nab))
  (setq NEW (CONS 1 NA1))
  (SETQ B1 (SUBST NEW OLD B1))
  (ENTMOD B1)
  (princ)
)
這樣應該符合你的需要,另外跟你說明一下,
要抓出尺寸的值必須使用 dxf群碼 42 ,不是 1
因為尺寸是內定值 <>,這樣的值是無法運算的 微笑
avatar
張譽璋
榮譽顧問
榮譽顧問

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

回頂端 向下

[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Empty 回復: [已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求

發表 由 老水牛 2010-10-08, 08:49

感謝張老師的指導。
讓我對DXF群碼有更進一步的了解。
avatar
老水牛
初級會員
初級會員

文章總數 : 107
年齡 : 62
來自 : 台北縣
職業 : 電機
愛好 : 閱讀
個性 : 溫和
使用年資 : 6
使用版本 : 2006
積分 : 1
經驗值 : 5890
威望值 : 0
注冊日期 : 2008-10-17
男 天蝎座 牛

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Ioaoe110[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 2020-310[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Oiu15010[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 2020-211[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Ia15010[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aizyao10[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Uos15010[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 BPl3tjj[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Ziao1510
[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Oo-2-110[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Zuoiy_10[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aizyao11[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Iyb_1510[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aoe1-111[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Uos15011[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aoe2da10[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aoe2da11[已解決][討論]程式修改,下列程式要如何修改,只要點取標註,不需再輸入標註值即可達到我的要求 Aoe10