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.
[已解決]lisp拉伸變形 Aoe1-113[已解決]lisp拉伸變形 Ioaoe110[已解決]lisp拉伸變形 2020-310[已解決]lisp拉伸變形 Oiu15010[已解決]lisp拉伸變形 2020-211[已解決]lisp拉伸變形 Ia15010[已解決]lisp拉伸變形 Aizyao10[已解決]lisp拉伸變形 Uos15010[已解決]lisp拉伸變形 BPl3tjj[已解決]lisp拉伸變形 Ziao1510
[已解決]lisp拉伸變形 Aoe15010[已解決]lisp拉伸變形 Oo-2-110[已解決]lisp拉伸變形 Zuoiy_10[已解決]lisp拉伸變形 Aizyao11[已解決]lisp拉伸變形 Iyb_1510[已解決]lisp拉伸變形 Aoe1-112[已解決]lisp拉伸變形 Uos15011[已解決]lisp拉伸變形 Aoe2da10[已解決]lisp拉伸變形 Aoe2da11[已解決]lisp拉伸變形 Aoe10

[已解決]lisp拉伸變形

2 posters

向下

[已解決]lisp拉伸變形 Empty [已解決]lisp拉伸變形

發表 由 r1543761189 周五 9 12月 - 11:15

代碼:
(defun c:2031()
  (setvar "cmdecho" 0)         
  (setq c_osmode (getvar "osmode"))      ;取得物件鎖點的資料
  (setq xy00 (getpoint "Enter Left/Low Point:")) ;點選中心點
  (setvar "osmode" 0)          ;物件鎖點    關閉       
                                           
    (setq swww 200) ;左右拉伸的距離 
    (setq shhh 200) ;上下拉伸的距離
    (setq xwww 260) ;x要加的距離
    (setq yhhh 260) ;y要加的距離

    (setq se01 (polar xy00 0 swww )) ;向右拉伸的點
    (setq sw01 (polar xy00 pi swww )) ;向左拉伸的點
    (setq ss01 (polar xy00 (* pi 1.5) shhh )) ;向下拉伸的點
    (setq sn01 (polar xy00 (* pi 0.5) shhh )) ;向上拉伸的點

    (setq xe01 (polar xy00 0 xwww ))            ;x右邊的點
    (setq xw01 (polar xy00 pi xwww))            ;x左邊的點
    (setq ys01 (polar xy00 (* pi 1.5) yhhh))    ;y下面的點
    (setq yn01 (polar xy00 (* pi 0.5) yhhh))    ;y上面的點

    (command "-insert"  "D:\\MYLISP\\訂製品\\鐵板"  xy00 1 1 0 )  ;插入底板圖塊
    (setvar "qaflags" 1)
    (command "EXPLODE" "c" (polar  ys01 0 swww) (polar yn01 pi swww) "" );炸開 圖塊

    (COMMAND "STRETCH" "C" xe01 (polar xw01 (* pi 1.5) 350) ""  xy00 ss01) ;向下拉伸
    (COMMAND "STRETCH" "C" xe01 (polar xw01 (* pi 0.5) 250) ""  xy00 sn01) ;向上拉伸
    (COMMAND "STRETCH" "C" ys01 (polar yn01 0 xwww) ""  xy00 se01) ;向右拉伸
    (COMMAND "STRETCH" "C" ys01 (polar yn01 pi xwww) ""  xy00 sw01) ;向左拉伸
 
    (setvar "qaflags" 0)
    (setvar "cmdecho" 1)  ;  執行 指令函數時,對提示和輸入進行回應
    (setvar "osmode" c_osmode)      ;恢復物件鎖點的值
 
 )
以上我寫的程式

這段程式有時候可以,有時候就會變形
當我將視窗一值縮小後(物件變到最小),在執行程式,出現的物件就會變形
當我將視窗一值縮大後(物件變到最大),在執行程式,出現的物件就會變形

只有在適當大小時才會正常的拉伸,

想請問各位前輩~我的程式哪裡出了問題需要怎麼修正?

附件
[已解決]lisp拉伸變形 Attachment
鐵板.zip 您無權下載這里的附件。(8 Kb) 下載 10 次


r1543761189 在 周四 5 1月 - 9:09 作了第 1 次修改
r1543761189
r1543761189
一般會員
一般會員

文章總數 : 22
年齡 : 44
來自 : 彰化
職業 : 設計
愛好 : 布袋戲
個性 : 安靜
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 4896
威望值 : 0
注冊日期 : 2011-09-30
男 天秤座 猴

回頂端 向下

[已解決]lisp拉伸變形 Empty 回復: [已解決]lisp拉伸變形

發表 由 shenhung 周五 9 12月 - 14:10

r1543761189 寫到:
代碼:
(defun c:2031()
  (setvar "cmdecho" 0)         
  (setq c_osmode (getvar "osmode"))      ;取得物件鎖點的資料
  (setq xy00 (getpoint "Enter Left/Low Point:")) ;點選中心點
  (setvar "osmode" 0)          ;物件鎖點    關閉       
                                           
    (setq swww 200) ;左右拉伸的距離 
    (setq shhh 200) ;上下拉伸的距離
    (setq xwww 260) ;x要加的距離
    (setq yhhh 260) ;y要加的距離

    (setq se01 (polar xy00 0 swww )) ;向右拉伸的點
    (setq sw01 (polar xy00 pi swww )) ;向左拉伸的點
    (setq ss01 (polar xy00 (* pi 1.5) shhh )) ;向下拉伸的點
    (setq sn01 (polar xy00 (* pi 0.5) shhh )) ;向上拉伸的點

    (setq xe01 (polar xy00 0 xwww ))            ;x右邊的點
    (setq xw01 (polar xy00 pi xwww))            ;x左邊的點
    (setq ys01 (polar xy00 (* pi 1.5) yhhh))    ;y下面的點
    (setq yn01 (polar xy00 (* pi 0.5) yhhh))    ;y上面的點

    (command "-insert"  "D:\\MYLISP\\訂製品\\鐵板"  xy00 1 1 0 )  ;插入底板圖塊
  (command "zoom" "E" )
  (command "zoom" "0.5x" )
  (setvar "qaflags" 1)
    (command "EXPLODE" "c" (polar  ys01 0 swww) (polar yn01 pi swww) "" );炸開 圖塊

    (COMMAND "STRETCH" "C" xe01 (polar xw01 (* pi 1.5) 350) ""  xy00 ss01) ;向下拉伸
    (COMMAND "STRETCH" "C" xe01 (polar xw01 (* pi 0.5) 250) ""  xy00 sn01) ;向上拉伸
    (COMMAND "STRETCH" "C" ys01 (polar yn01 0 xwww) ""  xy00 se01) ;向右拉伸
    (COMMAND "STRETCH" "C" ys01 (polar yn01 pi xwww) ""  xy00 sw01) ;向左拉伸
 
    (setvar "qaflags" 0)
    (setvar "cmdecho" 1)  ;  執行 指令函數時,對提示和輸入進行回應
    (setvar "osmode" c_osmode)      ;恢復物件鎖點的值
 
 )

做編輯動作 ..圖元超出視窗外是選不到東西的.
因為程式狀態.無法判別目前視窗大小
最簡單的方式..就是..ZOOM 到E
然後縮小一點.. 確保圖元都在視窗可見之處...
我只加了2行..你試看看.!!


shenhung
shenhung
高級會員
高級會員

文章總數 : 281
年齡 : 57
來自 : 新北市
職業 : 塑膠模具設計.AUTOLISP
愛好 : 音樂
個性 : 隨和
使用年資 : 18年
使用版本 : 2010
積分 : 15
經驗值 : 8075
威望值 : 1188
注冊日期 : 2009-06-03
男 摩羯座 馬

回頂端 向下

[已解決]lisp拉伸變形 Empty 回復: [已解決]lisp拉伸變形

發表 由 r1543761189 周五 9 12月 - 19:01

好了~好了~
謝謝~shenhung 大大的指導~
感動
r1543761189
r1543761189
一般會員
一般會員

文章總數 : 22
年齡 : 44
來自 : 彰化
職業 : 設計
愛好 : 布袋戲
個性 : 安靜
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 4896
威望值 : 0
注冊日期 : 2011-09-30
男 天秤座 猴

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[已解決]lisp拉伸變形 Aoe1-113[已解決]lisp拉伸變形 Ioaoe110[已解決]lisp拉伸變形 2020-310[已解決]lisp拉伸變形 Oiu15010[已解決]lisp拉伸變形 2020-211[已解決]lisp拉伸變形 Ia15010[已解決]lisp拉伸變形 Aizyao10[已解決]lisp拉伸變形 Uos15010[已解決]lisp拉伸變形 BPl3tjj[已解決]lisp拉伸變形 Ziao1510
[已解決]lisp拉伸變形 Aoe15010[已解決]lisp拉伸變形 Oo-2-110[已解決]lisp拉伸變形 Zuoiy_10[已解決]lisp拉伸變形 Aizyao11[已解決]lisp拉伸變形 Iyb_1510[已解決]lisp拉伸變形 Aoe1-112[已解決]lisp拉伸變形 Uos15011[已解決]lisp拉伸變形 Aoe2da10[已解決]lisp拉伸變形 Aoe2da11[已解決]lisp拉伸變形 Aoe10