關於目前圖面路徑及檔名
3 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
關於目前圖面路徑及檔名
向大大請教一下,
我想要取得目前圖面儲存的路徑,有什麼系統變數或指令嗎?
因我想搭配”-WBLOCK“指令。
我想要取得目前圖面儲存的路徑,有什麼系統變數或指令嗎?
因我想搭配”-WBLOCK“指令。
hoodpinrh0829- 一般會員
- 文章總數 : 76
年齡 : 42
來自 : 桃園
職業 : 板金
愛好 : 到處走走
個性 : 內向
使用年資 : 5年以上
使用版本 : 2019
經驗值 : 4381
威望值 : 0
注冊日期 : 2014-02-27
回復: 關於目前圖面路徑及檔名
可以使用 DWGPREFIX (系統變數)
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: 關於目前圖面路徑及檔名
Tiger&蘋果爸 寫到:可以使用 DWGPREFIX (系統變數)
感謝蘋果爸
hoodpinrh0829- 一般會員
- 文章總數 : 76
年齡 : 42
來自 : 桃園
職業 : 板金
愛好 : 到處走走
個性 : 內向
使用年資 : 5年以上
使用版本 : 2019
經驗值 : 4381
威望值 : 0
注冊日期 : 2014-02-27
回復: 關於目前圖面路徑及檔名
有大大可以分享
autocad 2019 -wblock指令 在lisp如何使用嗎?
這個lisp 差在 指令-wblock。
autocad 2019 -wblock指令 在lisp如何使用嗎?
這個lisp 差在 指令-wblock。
hoodpinrh0829- 一般會員
- 文章總數 : 76
年齡 : 42
來自 : 桃園
職業 : 板金
愛好 : 到處走走
個性 : 內向
使用年資 : 5年以上
使用版本 : 2019
經驗值 : 4381
威望值 : 0
注冊日期 : 2014-02-27
naruto018- 中級會員
- 文章總數 : 226
年齡 : 32
來自 : 高雄
職業 : 學習中(CAD,Revit,Excel VBA)
愛好 : 當個懶熊
個性 : 內向
使用年資 : 新手
使用版本 : 2015
AutoCAD基礎篇等級 : 10星級
積分 : 5
經驗值 : 4558
威望值 : 564
注冊日期 : 2016-11-29
回復: 關於目前圖面路徑及檔名
naruto018 寫到:常用
command
(command "-wblock" .....)
其他類似
vl-cmdf
感謝 我來試試
hoodpinrh0829- 一般會員
- 文章總數 : 76
年齡 : 42
來自 : 桃園
職業 : 板金
愛好 : 到處走走
個性 : 內向
使用年資 : 5年以上
使用版本 : 2019
經驗值 : 4381
威望值 : 0
注冊日期 : 2014-02-27
回復: 關於目前圖面路徑及檔名
(defun c:tt()
(command "filedia" 0)
(setq path(getvar "dwgprefix"))
(setq i 0)
(whlie text1
(setq text1(entsel "\n選取儲存檔名:"))
(setq pt1(getpoint "\n窗選該物件:"))
(setq pt2(getcorner pt1 "\n"))
(setq ss (ssget "w" pt1 pt2))
(setq text1_data (entget (car text1)))
(setq text1_type (cdr (assoc 0 text_data)))
(if (= text1_type "text")
(progn
(setq text2_data(cdr (assoc 1 text1_data)))
(setq text3_data (cdr (assoc 10 text1_data)))
(setq i (1+ i))
(command "-wblock" (strcat path text2_data) "" text3_data ss "")
;;;各位大大,我就差在-wblock這個指令,我用的版本是2019版的。
;;;我是參考蘋果爸的 https://www.autocad-tw.com/t1779-topic?highlight=wblock
(command "oops" "")
)
(alert "選錯啦!!!")
)
(setq text1(entsel "\n選取儲存該物件的檔名:")
)
(princ (strcar "\n共轉了 "(itoa i )" 個檔" ))
(command "filedia" 1)
(prin1)
)
就差在-wblock ,請大大指點。
(command "filedia" 0)
(setq path(getvar "dwgprefix"))
(setq i 0)
(whlie text1
(setq text1(entsel "\n選取儲存檔名:"))
(setq pt1(getpoint "\n窗選該物件:"))
(setq pt2(getcorner pt1 "\n"))
(setq ss (ssget "w" pt1 pt2))
(setq text1_data (entget (car text1)))
(setq text1_type (cdr (assoc 0 text_data)))
(if (= text1_type "text")
(progn
(setq text2_data(cdr (assoc 1 text1_data)))
(setq text3_data (cdr (assoc 10 text1_data)))
(setq i (1+ i))
(command "-wblock" (strcat path text2_data) "" text3_data ss "")
;;;各位大大,我就差在-wblock這個指令,我用的版本是2019版的。
;;;我是參考蘋果爸的 https://www.autocad-tw.com/t1779-topic?highlight=wblock
(command "oops" "")
)
(alert "選錯啦!!!")
)
(setq text1(entsel "\n選取儲存該物件的檔名:")
)
(princ (strcar "\n共轉了 "(itoa i )" 個檔" ))
(command "filedia" 1)
(prin1)
)
就差在-wblock ,請大大指點。
hoodpinrh0829- 一般會員
- 文章總數 : 76
年齡 : 42
來自 : 桃園
職業 : 板金
愛好 : 到處走走
個性 : 內向
使用年資 : 5年以上
使用版本 : 2019
經驗值 : 4381
威望值 : 0
注冊日期 : 2014-02-27
回復: 關於目前圖面路徑及檔名
hoodpinrh0829 寫到:(defun c:tt()
(command "filedia" 0)
(setq path(getvar "dwgprefix"))
(setq i 0)
(whlie text1
(setq text1(entsel "\n選取儲存檔名:"))
(setq pt1(getpoint "\n窗選該物件:"))
(setq pt2(getcorner pt1 "\n"))
(setq ss (ssget "w" pt1 pt2))
(setq text1_data (entget (car text1)))
(setq text1_type (cdr (assoc 0 text_data)))
(if (= text1_type "text")
(progn
(setq text2_data(cdr (assoc 1 text1_data)))
(setq text3_data (cdr (assoc 10 text1_data)))
(setq i (1+ i))
(command "-wblock" (strcat path text2_data) "" text3_data ss "")
;;;各位大大,我就差在-wblock這個指令,我用的版本是2019版的。
;;;我是參考蘋果爸的 https://www.autocad-tw.com/t1779-topic?highlight=wblock
(command "oops" "")
)
(alert "選錯啦!!!")
)
(setq text1(entsel "\n選取儲存該物件的檔名:")
)
(princ (strcar "\n共轉了 "(itoa i )" 個檔" ))
(command "filedia" 1)
(prin1)
)
就差在-wblock ,請大大指點。
錯誤原因不是-wblock的問題
是因為你的有一些關鍵字或變數名稱在打錯
和一些括弧沒對稱
稍微幫你修改,如下
- 代碼:
(defun c:tt ( / path i text1 ss text1_data text1_type text2_data text3_data)
;;; (command "filedia" 0);好像沒必要
(setq path (getvar "dwgprefix"))
(setq i 0)
(while (and
(setq text1 (entsel "\n選取儲存檔名:"))
(princ "\n選取該物件:")
(setq ss (ssget)))
;;; (setq pt1 (getpoint "\n窗選該物件:"));放到前面去
;;; (setq pt2 (getcorner pt1 "\n"))
;;; (setq ss (ssget "w" pt1 pt2))
(setq text1_data (entget (car text1)))
(setq text1_type (cdr (assoc 0 text1_data)))
(if (= text1_type "TEXT")
(progn
(setq text2_data (cdr (assoc 1 text1_data)))
(setq text3_data (cdr (assoc 10 text1_data)))
(setq i (1+ i))
(command "-wblock"
(strcat path text2_data)
""
text3_data
ss
"")
;;;各位大大,我就差在-wblock這個指令,我用的版本是2019版的。
;;;我是參考蘋果爸的 http://www.autocad-tw.com/t1779-topic?highlight=wblock
(command "oops")
)
(alert "選錯啦!!!")
)
)
(princ (strcat "\n共轉了 " (itoa i) " 個檔"))
;;; (command "filedia" 1);好像沒必要
(princ)
)
naruto018- 中級會員
- 文章總數 : 226
年齡 : 32
來自 : 高雄
職業 : 學習中(CAD,Revit,Excel VBA)
愛好 : 當個懶熊
個性 : 內向
使用年資 : 新手
使用版本 : 2015
AutoCAD基礎篇等級 : 10星級
積分 : 5
經驗值 : 4558
威望值 : 564
注冊日期 : 2016-11-29
回復: 關於目前圖面路徑及檔名
naruto018 寫到:hoodpinrh0829 寫到:(defun c:tt()
(command "filedia" 0)
(setq path(getvar "dwgprefix"))
(setq i 0)
(whlie text1
(setq text1(entsel "\n選取儲存檔名:"))
(setq pt1(getpoint "\n窗選該物件:"))
(setq pt2(getcorner pt1 "\n"))
(setq ss (ssget "w" pt1 pt2))
(setq text1_data (entget (car text1)))
(setq text1_type (cdr (assoc 0 text_data)))
(if (= text1_type "text")
(progn
(setq text2_data(cdr (assoc 1 text1_data)))
(setq text3_data (cdr (assoc 10 text1_data)))
(setq i (1+ i))
(command "-wblock" (strcat path text2_data) "" text3_data ss "")
;;;各位大大,我就差在-wblock這個指令,我用的版本是2019版的。
;;;我是參考蘋果爸的 https://www.autocad-tw.com/t1779-topic?highlight=wblock
(command "oops" "")
)
(alert "選錯啦!!!")
)
(setq text1(entsel "\n選取儲存該物件的檔名:")
)
(princ (strcar "\n共轉了 "(itoa i )" 個檔" ))
(command "filedia" 1)
(prin1)
)
就差在-wblock ,請大大指點。
錯誤原因不是-wblock的問題
是因為你的有一些關鍵字或變數名稱在打錯
和一些括弧沒對稱
稍微幫你修改,如下
- 代碼:
(defun c:tt ( / path i text1 ss text1_data text1_type text2_data text3_data)
;;; (command "filedia" 0);好像沒必要
(setq path (getvar "dwgprefix"))
(setq i 0)
(while (and
(setq text1 (entsel "\n選取儲存檔名:"))
(princ "\n選取該物件:")
(setq ss (ssget)))
;;; (setq pt1 (getpoint "\n窗選該物件:"));放到前面去
;;; (setq pt2 (getcorner pt1 "\n"))
;;; (setq ss (ssget "w" pt1 pt2))
(setq text1_data (entget (car text1)))
(setq text1_type (cdr (assoc 0 text1_data)))
(if (= text1_type "TEXT")
(progn
(setq text2_data (cdr (assoc 1 text1_data)))
(setq text3_data (cdr (assoc 10 text1_data)))
(setq i (1+ i))
(command "-wblock"
(strcat path text2_data)
""
text3_data
ss
"")
;;;各位大大,我就差在-wblock這個指令,我用的版本是2019版的。
;;;我是參考蘋果爸的 http://www.autocad-tw.com/t1779-topic?highlight=wblock
(command "oops")
)
(alert "選錯啦!!!")
)
)
(princ (strcat "\n共轉了 " (itoa i) " 個檔"))
;;; (command "filedia" 1);好像沒必要
(princ)
)
感謝大大的幫忙,我等等來測試看看。
我用手機寫的,沒法即時測試對不對或是少了什麼。
hoodpinrh0829- 一般會員
- 文章總數 : 76
年齡 : 42
來自 : 桃園
職業 : 板金
愛好 : 到處走走
個性 : 內向
使用年資 : 5年以上
使用版本 : 2019
經驗值 : 4381
威望值 : 0
注冊日期 : 2014-02-27
回復: 關於目前圖面路徑及檔名
(defun c:tt (/ path i text1 ss text1_data text1_type text2_data
text3_data)
(setq path (getvar "dwgprefix"))
(setq i 0)
(while (and
(setq text1 (entsel "\n選取儲存檔名:"));;;這裡開始我要個別把物件轉出不能移出while外。目前檔名的部份只對單行文字有用,我會在改進讓他對各種文字有用。
(princ "\n選取該物件:")
(setq pt1 (getpoint "\n窗選該物件:"))
(setq pt2 (getcorner pt1 ));;;這裡開始結束
(setq ss (ssget "w" pt1 pt2))
;;; (setq ss (ssget))
)
(setq text1_data (entget (car text1)))
(setq text1_type (cdr (assoc 0 text1_data)))
(if (= text1_type "TEXT")
(progn
(setq text2_data (cdr (assoc 1 text1_data)))
(setq text3_data (cdr (assoc 10 text1_data)))
(setq i (1+ i))
(command "-wblock"
(strcat path text2_data)
""
text3_data
ss
""
)
(command "undo" 2);;;這裡有改原本oopd,autocad 一直顯示叫我改用undo
)
(alert "選錯啦!!!")
)
)
(princ (strcat "\n共轉了 " (itoa i) " 個檔"))
(princ)
)
我目前測試都正常。
非常感謝大大的幫忙,感恩。
這個小東西可以讓我不用一直使用wblock指令,由其是在一張圖裡有一堆小物件時最好用。
text3_data)
(setq path (getvar "dwgprefix"))
(setq i 0)
(while (and
(setq text1 (entsel "\n選取儲存檔名:"));;;這裡開始我要個別把物件轉出不能移出while外。目前檔名的部份只對單行文字有用,我會在改進讓他對各種文字有用。
(princ "\n選取該物件:")
(setq pt1 (getpoint "\n窗選該物件:"))
(setq pt2 (getcorner pt1 ));;;這裡開始結束
(setq ss (ssget "w" pt1 pt2))
;;; (setq ss (ssget))
)
(setq text1_data (entget (car text1)))
(setq text1_type (cdr (assoc 0 text1_data)))
(if (= text1_type "TEXT")
(progn
(setq text2_data (cdr (assoc 1 text1_data)))
(setq text3_data (cdr (assoc 10 text1_data)))
(setq i (1+ i))
(command "-wblock"
(strcat path text2_data)
""
text3_data
ss
""
)
(command "undo" 2);;;這裡有改原本oopd,autocad 一直顯示叫我改用undo
)
(alert "選錯啦!!!")
)
)
(princ (strcat "\n共轉了 " (itoa i) " 個檔"))
(princ)
)
我目前測試都正常。
非常感謝大大的幫忙,感恩。
這個小東西可以讓我不用一直使用wblock指令,由其是在一張圖裡有一堆小物件時最好用。
hoodpinrh0829- 一般會員
- 文章總數 : 76
年齡 : 42
來自 : 桃園
職業 : 板金
愛好 : 到處走走
個性 : 內向
使用年資 : 5年以上
使用版本 : 2019
經驗值 : 4381
威望值 : 0
注冊日期 : 2014-02-27
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章