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.
請教有關SCALE指令 LISP的寫法 Aoe1-113請教有關SCALE指令 LISP的寫法 Ioaoe110請教有關SCALE指令 LISP的寫法 2020-310請教有關SCALE指令 LISP的寫法 Oiu15010請教有關SCALE指令 LISP的寫法 2020-211請教有關SCALE指令 LISP的寫法 Ia15010請教有關SCALE指令 LISP的寫法 Aizyao10請教有關SCALE指令 LISP的寫法 Uos15010請教有關SCALE指令 LISP的寫法 BPl3tjj請教有關SCALE指令 LISP的寫法 Ziao1510
請教有關SCALE指令 LISP的寫法 Aoe15010請教有關SCALE指令 LISP的寫法 Oo-2-110請教有關SCALE指令 LISP的寫法 Zuoiy_10請教有關SCALE指令 LISP的寫法 Aizyao11請教有關SCALE指令 LISP的寫法 Iyb_1510請教有關SCALE指令 LISP的寫法 Aoe1-112請教有關SCALE指令 LISP的寫法 Uos15011請教有關SCALE指令 LISP的寫法 Aoe2da10請教有關SCALE指令 LISP的寫法 Aoe2da11請教有關SCALE指令 LISP的寫法 Aoe10

請教有關SCALE指令 LISP的寫法

向下

請教有關SCALE指令 LISP的寫法 Empty 請教有關SCALE指令 LISP的寫法

發表 由 jeouen 2020-11-22, 01:06

請教前輩
我在工作上的需要把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
jeouen
一般會員
一般會員

文章總數 : 60
年齡 : 56
來自 : 高雄市
職業 : 展示設計師
愛好 : 畫畫、手工藝
個性 : 恰北北
使用年資 : 從AUTO CAD R9 到現在
使用版本 : 2012
經驗值 : 5613
威望值 : 9
注冊日期 : 2010-04-26
藍鵲354號
女 摩羯座 羊

回頂端 向下

請教有關SCALE指令 LISP的寫法 Empty 回復: 請教有關SCALE指令 LISP的寫法

發表 由 jeouen 2020-11-22, 21:01

經過一天一夜的測試終於可以執行了
程式如下,與大家分享

(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
jeouen
一般會員
一般會員

文章總數 : 60
年齡 : 56
來自 : 高雄市
職業 : 展示設計師
愛好 : 畫畫、手工藝
個性 : 恰北北
使用年資 : 從AUTO CAD R9 到現在
使用版本 : 2012
經驗值 : 5613
威望值 : 9
注冊日期 : 2010-04-26
藍鵲354號
女 摩羯座 羊

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
請教有關SCALE指令 LISP的寫法 Aoe1-113請教有關SCALE指令 LISP的寫法 Ioaoe110請教有關SCALE指令 LISP的寫法 2020-310請教有關SCALE指令 LISP的寫法 Oiu15010請教有關SCALE指令 LISP的寫法 2020-211請教有關SCALE指令 LISP的寫法 Ia15010請教有關SCALE指令 LISP的寫法 Aizyao10請教有關SCALE指令 LISP的寫法 Uos15010請教有關SCALE指令 LISP的寫法 BPl3tjj請教有關SCALE指令 LISP的寫法 Ziao1510
請教有關SCALE指令 LISP的寫法 Aoe15010請教有關SCALE指令 LISP的寫法 Oo-2-110請教有關SCALE指令 LISP的寫法 Zuoiy_10請教有關SCALE指令 LISP的寫法 Aizyao11請教有關SCALE指令 LISP的寫法 Iyb_1510請教有關SCALE指令 LISP的寫法 Aoe1-112請教有關SCALE指令 LISP的寫法 Uos15011請教有關SCALE指令 LISP的寫法 Aoe2da10請教有關SCALE指令 LISP的寫法 Aoe2da11請教有關SCALE指令 LISP的寫法 Aoe10