[討論]請問LISP如何在插入圖塊時分解圖塊?
3 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[討論]請問LISP如何在插入圖塊時分解圖塊?
巨集的寫法如下:
^C^C-INSERT;*半圓頂料10X8;/;1;;
對巨集來說,圖塊名稱前加*是插入圖塊時順便將這個圖塊分解(變成不是圖塊),用在LISP上一樣加*卻不行,不知LISP的語法如何寫?
LISP如下:
(command "-INSERT" "*半圓頂料10X8" PAUSE "1" "0")
程式裡加了*則在游標上無法顯示圖形,沒加*會顯示圖形,而且會隨游標移動而移動,如何以LISP做到隨游標移動而顯示圖形,並在插入時分解圖塊?
請各位高手解答,謝謝
^C^C-INSERT;*半圓頂料10X8;/;1;;
對巨集來說,圖塊名稱前加*是插入圖塊時順便將這個圖塊分解(變成不是圖塊),用在LISP上一樣加*卻不行,不知LISP的語法如何寫?
LISP如下:
(command "-INSERT" "*半圓頂料10X8" PAUSE "1" "0")
程式裡加了*則在游標上無法顯示圖形,沒加*會顯示圖形,而且會隨游標移動而移動,如何以LISP做到隨游標移動而顯示圖形,並在插入時分解圖塊?
請各位高手解答,謝謝
djh1006- 中級會員
- 文章總數 : 177
年齡 : 53
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 連續沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 23年以上
使用版本 : 2014
積分 : 7
經驗值 : 6137
威望值 : 359
注冊日期 : 2011-06-16
回復: [討論]請問LISP如何在插入圖塊時分解圖塊?
;再修正
(defun c:test()
(setvar "cmdecho" 0)
(setvar "attreq" 0) ;關閉屬性對話框
(command "-INSERT" "半圓頂料10X8" PAUSE "1" "" "")
(command "explode" "l") ;炸開插入的圖塊
(setvar "cmdecho" 1)
(setvar "attreq" 1) ;打開屬性對話框
(princ)
)
(defun c:test()
(setvar "cmdecho" 0)
(setvar "attreq" 0) ;關閉屬性對話框
(command "-INSERT" "半圓頂料10X8" PAUSE "1" "" "")
(command "explode" "l") ;炸開插入的圖塊
(setvar "cmdecho" 1)
(setvar "attreq" 1) ;打開屬性對話框
(princ)
)
shenhung- 高級會員
- 文章總數 : 281
年齡 : 57
來自 : 新北市
職業 : 塑膠模具設計.AUTOLISP
愛好 : 音樂
個性 : 隨和
使用年資 : 18年
使用版本 : 2010
積分 : 15
經驗值 : 8075
威望值 : 1188
注冊日期 : 2009-06-03
回復: [討論]請問LISP如何在插入圖塊時分解圖塊?
謝謝shenhung的指導,我的做法如下:shenhung 寫到:;再修正
(defun c:test()
(setvar "cmdecho" 0)
(setvar "attreq" 0) ;關閉屬性對話框
(command "-INSERT" "半圓頂料10X8" PAUSE "1" "" "")
(command "explode" "l") ;炸開插入的圖塊
(setvar "cmdecho" 1)
(setvar "attreq" 1) ;打開屬性對話框
(princ)
)
(defun c:test()
(setvar "cmdecho" 0)
(setvar "attreq" 0) ;關閉屬性對話框
(command "-INSERT" "半圓頂料10X8" PAUSE "1" "" "")
(setq
P1 (getvar "LASTPOINT")
PT1 (list (car P1) (+ (cadr P1) 2))
PTW1 (polar PT1 (/ (* 45 PI) 180) 10)
PTW2 (polar PT1 (/ (* 225 PI) 180) 10)
)
(command "ZOOM" PTW1 PTW2)
(command "EXPLODE" PT1)
(setvar "cmdecho" 1)
(setvar "attreq" 1) ;打開屬性對話框
(princ)
不過我想要的是不要用到炸開EXPLODE的指令,像巨集的做法,直接在-INSERT下參數即可插入圖塊時順便分解圖塊(INSERT指令裡有個分解的勾選選項,-INSERT裡却沒有)
INSERT:視窗輸入
-INSERT:指令行輸入
djh1006- 中級會員
- 文章總數 : 177
年齡 : 53
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 連續沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 23年以上
使用版本 : 2014
積分 : 7
經驗值 : 6137
威望值 : 359
注冊日期 : 2011-06-16
回復: [討論]請問LISP如何在插入圖塊時分解圖塊?
插入分解的圖塊:在圖塊名稱前加上星號 (*),將分解圖塊並插入該圖塊的各個部份。圖塊定義不會加入到圖面中。
原圖塊名稱:C1
插入的圖塊名稱:*C1
這樣就不會用到explode的指令。
原圖塊名稱:C1
插入的圖塊名稱:*C1
這樣就不會用到explode的指令。
Atsai- 中級會員
- 文章總數 : 167
年齡 : 49
來自 : 台中
職業 : 工程
愛好 : 看漫畫
個性 : 樂天
使用年資 : 10
使用版本 : 2010
AutoCAD基礎篇等級 : 10星級
積分 : 8
經驗值 : 5930
威望值 : 524
注冊日期 : 2012-04-06
回復: [討論]請問LISP如何在插入圖塊時分解圖塊?
這個方法在巨集可行,可是在LISP卻不行,還有,我要的效果如下:Atsai 寫到:插入分解的圖塊:在圖塊名稱前加上星號 (*),將分解圖塊並插入該圖塊的各個部份。圖塊定義不會加入到圖面中。
原圖塊名稱:C1
插入的圖塊名稱:*C1
這樣就不會用到explode的指令。
(command "-INSERT" "*半圓頂料10X8" PAUSE "1" PAUSE)
紅色的PAUSE是我要在插入圖塊後(可預見圖塊的角度)再輸入旋轉角度(不要事先輸入)
djh1006- 中級會員
- 文章總數 : 177
年齡 : 53
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 連續沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 23年以上
使用版本 : 2014
積分 : 7
經驗值 : 6137
威望值 : 359
注冊日期 : 2011-06-16
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章