請教有關SCALE指令 LISP的寫法
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
請教有關SCALE指令 LISP的寫法
請教前輩
我在工作上的需要把20-30個圖塊原地放大或縮小,我嘗試寫LISP來達到要求,卻不是很順利,我寫的程式如下,煩請前輩不吝賜教,謝謝
(defun c:scaleb2()
(setvar "cmdecho" 0)
(princ "選擇圖塊:")
(setq entities (ssget))
(setq enblock (sslength entities))
(setq value(getint "輸入縮小或放大倍數:"))
(setq entpos 0)
(repeat enblock
(setq en_data(entget (car enblock)))
(setq cenpt(cdr (assoc 10 en_data)))
(if (equal entity_type "INSERT")
(progn
(command "scale" en_data "" cenpt value)
(prin1)
)
)
(setq entpos (1+ entpos))
)
(prin1)
)
我在工作上的需要把20-30個圖塊原地放大或縮小,我嘗試寫LISP來達到要求,卻不是很順利,我寫的程式如下,煩請前輩不吝賜教,謝謝
(defun c:scaleb2()
(setvar "cmdecho" 0)
(princ "選擇圖塊:")
(setq entities (ssget))
(setq enblock (sslength entities))
(setq value(getint "輸入縮小或放大倍數:"))
(setq entpos 0)
(repeat enblock
(setq en_data(entget (car enblock)))
(setq cenpt(cdr (assoc 10 en_data)))
(if (equal entity_type "INSERT")
(progn
(command "scale" en_data "" cenpt value)
(prin1)
)
)
(setq entpos (1+ entpos))
)
(prin1)
)
jeouen- 一般會員
- 文章總數 : 60
年齡 : 56
來自 : 高雄市
職業 : 展示設計師
愛好 : 畫畫、手工藝
個性 : 恰北北
使用年資 : 從AUTO CAD R9 到現在
使用版本 : 2012
經驗值 : 5613
威望值 : 9
注冊日期 : 2010-04-26
回復: 請教有關SCALE指令 LISP的寫法
經過一天一夜的測試終於可以執行了
程式如下,與大家分享
(defun c:scale_block()
(setvar "cmdecho" 0)
(setq oldsnap (getvar "osmode"))
(princ "選擇圖塊:")
(setq ss (ssget))
(setq enblock (sslength ss))
(setq value(getreal "輸入縮小或放大倍數:"))
(setq n 0 )
(repeat enblock
(setq en(ssname ss n))
(setq endata(entget en))
(setq entype(cdr (assoc 0 endata)))
(if (= entype "INSERT")
(progn
(setq cenpt(cdr (assoc 10 endata)))
(command "scale" en "" cenpt value)
(prin1)
)
)
(setq n (1+ n))
(setvar "osmode" oldsnap)
)
(prin1)
)
程式如下,與大家分享
(defun c:scale_block()
(setvar "cmdecho" 0)
(setq oldsnap (getvar "osmode"))
(princ "選擇圖塊:")
(setq ss (ssget))
(setq enblock (sslength ss))
(setq value(getreal "輸入縮小或放大倍數:"))
(setq n 0 )
(repeat enblock
(setq en(ssname ss n))
(setq endata(entget en))
(setq entype(cdr (assoc 0 endata)))
(if (= entype "INSERT")
(progn
(setq cenpt(cdr (assoc 10 endata)))
(command "scale" en "" cenpt value)
(prin1)
)
)
(setq n (1+ n))
(setvar "osmode" oldsnap)
)
(prin1)
)
jeouen- 一般會員
- 文章總數 : 60
年齡 : 56
來自 : 高雄市
職業 : 展示設計師
愛好 : 畫畫、手工藝
個性 : 恰北北
使用年資 : 從AUTO CAD R9 到現在
使用版本 : 2012
經驗值 : 5613
威望值 : 9
注冊日期 : 2010-04-26
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章