[已解決]AUTOLISP 炸開&拉伸的指令
3 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
[已解決]AUTOLISP 炸開&拉伸的指令
如題 請問各位前輩 炸開及拉伸的指令中副選項該怎麼用??
小弟 使用的是AUTOCAD 2004版
以下 是我測試時用的程式 "圖框" 是500*500 正方型
(defun c:01 ()
(setq aa (List 0 0))
(setq bb (List 1000 1000))
(command "insert" "圖框" (LIST 50 50) 1 1 0 )
(command "_EXPLODE" "c" aa bb ))
以上會出現
*無效的選取*
應有一個點或 上一個(L)/全部(ALL)/群組(G)
; 錯誤: 函數被取消
如果要把炸開的方形(500*500) 拉伸成500*1000 要怎麼寫
(command "stretch" ....)
小弟 使用的是AUTOCAD 2004版
以下 是我測試時用的程式 "圖框" 是500*500 正方型
(defun c:01 ()
(setq aa (List 0 0))
(setq bb (List 1000 1000))
(command "insert" "圖框" (LIST 50 50) 1 1 0 )
(command "_EXPLODE" "c" aa bb ))
以上會出現
*無效的選取*
應有一個點或 上一個(L)/全部(ALL)/群組(G)
; 錯誤: 函數被取消
如果要把炸開的方形(500*500) 拉伸成500*1000 要怎麼寫
(command "stretch" ....)
r1543761189 在 2011-10-04, 08:51 作了第 1 次修改
r1543761189- 一般會員
- 文章總數 : 22
年齡 : 44
來自 : 彰化
職業 : 設計
愛好 : 布袋戲
個性 : 安靜
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 4896
威望值 : 0
注冊日期 : 2011-09-30
回復: [已解決]AUTOLISP 炸開&拉伸的指令
我也是新手這些簡單的東西 可以參考看看
第一個問題 這樣就可以執行炸開指令了 如沒有加入第一行炸開是執行不了的 當初剛在練習的時後也發生過這個問題 直到去國外網站發現 要用這樣的方式來寫 但是它的原因如何我就不清楚 不知到其它的前輩知道的是否可以指點一二。
(setvar "qaflags" 1)
(SETQ EN (SSGET))
(command "EXPLODE" EN "")
第二個問題,可以考慮一下別的思路 不一定要執行很多其它指令 只要能將程式簡化 又能達到效果 這樣最好 這是書上寫的 另外加入Y及N來辨視執行結果
(defun c:01()
(setq aa (List 0 0))
(setq bb (List 1000 1000))
(command "-insert" "圖框" (LIST 50 50) 1 1 0 )
(setq gg1 (entlast))
(initget 1 "Y N")
(SETQ change_REC (getkword "\n 是否繼續下面結果 (Y)將矩型變更為500,1000 (N)直接離開:"))
(setq sr (strcase change_REC))
(COND
((= sr "Y")
(command "erase" gg1 "")
(command "rectang" (LIST 50 50) (LIST 550 1050) "")
(PRINC "\n **將矩型變更為500,1000**"))
((= sr "N")
(PRINC "\n **畫框練習**")))
(prin1)
)
第一個問題 這樣就可以執行炸開指令了 如沒有加入第一行炸開是執行不了的 當初剛在練習的時後也發生過這個問題 直到去國外網站發現 要用這樣的方式來寫 但是它的原因如何我就不清楚 不知到其它的前輩知道的是否可以指點一二。
(setvar "qaflags" 1)
(SETQ EN (SSGET))
(command "EXPLODE" EN "")
第二個問題,可以考慮一下別的思路 不一定要執行很多其它指令 只要能將程式簡化 又能達到效果 這樣最好 這是書上寫的 另外加入Y及N來辨視執行結果
(defun c:01()
(setq aa (List 0 0))
(setq bb (List 1000 1000))
(command "-insert" "圖框" (LIST 50 50) 1 1 0 )
(setq gg1 (entlast))
(initget 1 "Y N")
(SETQ change_REC (getkword "\n 是否繼續下面結果 (Y)將矩型變更為500,1000 (N)直接離開:"))
(setq sr (strcase change_REC))
(COND
((= sr "Y")
(command "erase" gg1 "")
(command "rectang" (LIST 50 50) (LIST 550 1050) "")
(PRINC "\n **將矩型變更為500,1000**"))
((= sr "N")
(PRINC "\n **畫框練習**")))
(prin1)
)
adslwang 在 2011-10-03, 23:13 作了第 1 次修改
adslwang- 高級會員
- 文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7211
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
回復: [已解決]AUTOLISP 炸開&拉伸的指令
謝謝您的指導!
(setvar "qaflags" 1)<---這行加上去就可以炸開了
再請問 一般如果是用滑鼠圈選會分"由左至右圈"或是"由右至左圈"
用LISP程式寫的是不是沒有區分?
第2個方式您是用重新劃一個矩形的方式
因為我想拉伸的圖塊它有倒角(倒角是固定的尺寸),
矩形是會變更的
所以我想用拉伸就可以不用去變更倒角的尺寸了。
(因為有很多種倒角,所以想做成圖塊再用拉伸的)
(setvar "qaflags" 1)<---這行加上去就可以炸開了
再請問 一般如果是用滑鼠圈選會分"由左至右圈"或是"由右至左圈"
用LISP程式寫的是不是沒有區分?
第2個方式您是用重新劃一個矩形的方式
因為我想拉伸的圖塊它有倒角(倒角是固定的尺寸),
矩形是會變更的
所以我想用拉伸就可以不用去變更倒角的尺寸了。
(因為有很多種倒角,所以想做成圖塊再用拉伸的)
r1543761189- 一般會員
- 文章總數 : 22
年齡 : 44
來自 : 彰化
職業 : 設計
愛好 : 布袋戲
個性 : 安靜
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 4896
威望值 : 0
注冊日期 : 2011-09-30
回復: [已解決]AUTOLISP 炸開&拉伸的指令
r1543761189 寫到:謝謝您的指導!
(setvar "qaflags" 1)<---這行加上去就可以炸開了
再請問 一般如果是用滑鼠圈選會分"由左至右圈"或是"由右至左圈"
用LISP程式寫的是不是沒有區分?
第2個方式您是用重新劃一個矩形的方式
因為我想拉伸的圖塊它有倒角(倒角是固定的尺寸),
矩形是會變更的
所以我想用拉伸就可以不用去變更倒角的尺寸了。
(因為有很多種倒角,所以想做成圖塊再用拉伸的)
留點想像的空間 自己想一下吧!(因為這是很基礎的東西歐,沒有添加如其它前輩寫的複雜,我累了..)
滑鼠圈選會分"由左至右圈"或是"由右至左圈"-----跟一般的一樣,跟框選及窗選的方式一樣,再看一下f1了解其中的意思。
所以我想用拉伸就可以不用去變更倒角的尺寸了。-------其實可以很多導角也好 另外再附加長度也好 在lisp將長度跟導角當成變數也是可以達到的,如果使用圖塊就變成只能使用插入加上動態圖塊方式,將該圖塊炸開後也是一樣等於0,您可能還需要將書上前幾章練一下,再自己動一下腦吧!
adslwang- 高級會員
- 文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7211
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
回復: [已解決]AUTOLISP 炸開&拉伸的指令
adslwang 大大 謝謝您的指導
以下是我測試的程式可以用了!謝謝
(defun c:02 ()
(setq aa (List 50 50))
(setq bb (List 0 0))
(setq PT1 (List 0 100))
(setq PT2 (List 1000 600))
(setq PT3 (List 1000 600))
(setq PT4 (List 1000 700))
(command "insert" "圖框" (LIST 50 50) 1 1 0 )
(setvar "qaflags" 1)
(command "EXPLODE" "c" aa bb "" )
(COMMAND "STRETCH" "C" PT2 PT1 "" PT3 PT4)
(prin1))
以下是我測試的程式可以用了!謝謝
(defun c:02 ()
(setq aa (List 50 50))
(setq bb (List 0 0))
(setq PT1 (List 0 100))
(setq PT2 (List 1000 600))
(setq PT3 (List 1000 600))
(setq PT4 (List 1000 700))
(command "insert" "圖框" (LIST 50 50) 1 1 0 )
(setvar "qaflags" 1)
(command "EXPLODE" "c" aa bb "" )
(COMMAND "STRETCH" "C" PT2 PT1 "" PT3 PT4)
(prin1))
r1543761189- 一般會員
- 文章總數 : 22
年齡 : 44
來自 : 彰化
職業 : 設計
愛好 : 布袋戲
個性 : 安靜
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 4896
威望值 : 0
注冊日期 : 2011-09-30
回復: [已解決]AUTOLISP 炸開&拉伸的指令
不用客氣 謝謝蘋果爸這個平台吧
有機會可以戶相討論
有機會可以戶相討論
adslwang- 高級會員
- 文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7211
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
回復: [已解決]AUTOLISP 炸開&拉伸的指令
很高興大家可以在這良性互動、教學相長!adslwang 寫到:不用客氣 謝謝蘋果爸這個平台吧
有機會可以戶相討論
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章