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 幫忙

4 posters

向下

[已解決]點圓自動畫中心線LISP 幫忙 Empty [已解決]點圓自動畫中心線LISP 幫忙

發表 由 as920029as 2015-01-30, 16:24

以下是我自己寫的程式
點圓>自動取出圓心>取出半徑/5的長度>在半徑外額外加上/5的長度的距離>畫出中心線
但有時會跑出 中心線亂掉或者 沒額外長度出來
假如r100 畫出來的中心線長度就剛好200而以  成功的話應該事100/5=20   兩邊都會+20 變成240才對
但有時測試成功有時測試失敗 請大大幫忙解決問題 看我哪邊寫錯 三條線
代碼:
(defun c:mid()
(setvar "cmdecho" 0)
(setq mi (entsel "選取圓"))
(setq mid (entget (car mi)))
(setq exe (cdr (assoc 10 mid)))
(setq exe2 (car exe))           ;X
(setq exe3 (cadr exe))          ;Y
(setq exe4 (cdr (assoc 40 mid)));R
(setq exe5 (/ exe4 5))

(setq XXA (+ exe3 exe4))
(setq XXA2 (+ XXA exe5))
(setq XXA3 (list exe2 XXA2))

(setq XXB (+ exe2 exe4))
(setq XXB2 (+ XXB exe5))
(setq XXB3 (list XXB2 exe3))

(setq XXC (- exe2 exe4))
(setq XXC2 (- XXC exe5))
(setq XXC3 (list XXC2 exe3))

(setq XXD (- exe3 exe4))
(setq XXD2 (- XXD exe5))
(setq XXD3 (list exe2 XXD2))

(setq LINE_data (command "LINE" XXA3 XXD3 ""))
(setq LINE2_data (command "LINE" XXB3 XXC3 ""))
)
(prin1)


as920029as 在 2015-02-03, 16:28 作了第 1 次修改
as920029as
as920029as
一般會員
一般會員

文章總數 : 110
年齡 : 33
來自 : 台南市
職業 : 繪圖員
愛好 : 電腦遊戲
個性 : 開朗
使用年資 : 3年
使用版本 : 2010
經驗值 : 5226
威望值 : 47
注冊日期 : 2012-05-06
男 白羊座 羊

回頂端 向下

[已解決]點圓自動畫中心線LISP 幫忙 Empty 回復: [已解決]點圓自動畫中心線LISP 幫忙

發表 由 adslwang 2015-01-31, 06:29

你的程式沒有問題
關閉鎖點就可以正常使用
這是採用點集的通病

____________________________________________________________________________________
學LISP代碼的路好遠、好遠,希望能夠找到一些良師益友精進.......................
[已解決]點圓自動畫中心線LISP 幫忙 Ioaoe110 [已解決]點圓自動畫中心線LISP 幫忙 Zuoiy_10 [已解決]點圓自動畫中心線LISP 幫忙 2020-211 [已解決]點圓自動畫中心線LISP 幫忙 Aizyao11 [已解決]點圓自動畫中心線LISP 幫忙 Iyb_1510
[已解決]點圓自動畫中心線LISP 幫忙 Aizyao10 [已解決]點圓自動畫中心線LISP 幫忙 BPl3tjj.png [已解決]點圓自動畫中心線LISP 幫忙 Ziao1510 [已解決]點圓自動畫中心線LISP 幫忙 Oo-2-110 [已解決]點圓自動畫中心線LISP 幫忙 Oooa_110
adslwang
adslwang
高級會員
高級會員

文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7211
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
藍鵲88號
男 處女座 馬

回頂端 向下

[已解決]點圓自動畫中心線LISP 幫忙 Empty 回復: [已解決]點圓自動畫中心線LISP 幫忙

發表 由 as920029as 2015-02-02, 07:47

感謝大大幫忙
所以通常集點的都會有這種問題瞜?
想說怎有時候會怪怪的
as920029as
as920029as
一般會員
一般會員

文章總數 : 110
年齡 : 33
來自 : 台南市
職業 : 繪圖員
愛好 : 電腦遊戲
個性 : 開朗
使用年資 : 3年
使用版本 : 2010
經驗值 : 5226
威望值 : 47
注冊日期 : 2012-05-06
男 白羊座 羊

回頂端 向下

[已解決]點圓自動畫中心線LISP 幫忙 Empty 回復: [已解決]點圓自動畫中心線LISP 幫忙

發表 由 as920029as 2015-02-02, 08:06

請問是否有把物件鎖點 關掉 開啟的指令 像是F3那樣
想用(command "OSNAP") 卻不知從何下手
as920029as
as920029as
一般會員
一般會員

文章總數 : 110
年齡 : 33
來自 : 台南市
職業 : 繪圖員
愛好 : 電腦遊戲
個性 : 開朗
使用年資 : 3年
使用版本 : 2010
經驗值 : 5226
威望值 : 47
注冊日期 : 2012-05-06
男 白羊座 羊

回頂端 向下

[已解決]點圓自動畫中心線LISP 幫忙 Empty 回復: [已解決]點圓自動畫中心線LISP 幫忙

發表 由 Tiger&蘋果爸 2015-02-02, 10:34

as920029as 寫到:請問是否有把物件鎖點 關掉 開啟的指令 像是F3那樣
想用(command "OSNAP")  卻不知從何下手
建議可以換個方式不關閉「物件鎖點」。
其實程式中好像並不需要把 OSMODE設為 0 (setvar "OSMODE" 0)
只要把 OSNAPCOORD設定為 1 之後,執行程式時會以程式輸入為主,就不會因為「物件鎖點」導致亂鎖點!

相關主題討論 >> [討論]已拒絕 AutoCAD 變數設定: "OSMODE" nil

____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
編輯個人資料 Sesa2011 編輯個人資料 Youtub11 編輯個人資料 Oiea2011 編輯個人資料 Oe20011 編輯個人資料 Fbi20011 編輯個人資料 Line2011
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 21382
年齡 : 48
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照/吸貓
個性 : 幽默/樂觀/善良
使用年資 : 20↑
使用版本 : AutoCAD 2022
經驗值 : 90361
威望值 : 17197
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

[已解決]點圓自動畫中心線LISP 幫忙 Empty 回復: [已解決]點圓自動畫中心線LISP 幫忙

發表 由 as920029as 2015-02-02, 11:48

十分感謝兩位大大幫忙
原本還打算用把鎖點全部取消 然後再重新設定...
但有其他更好的辦法 可以解決
小弟十分感謝
as920029as
as920029as
一般會員
一般會員

文章總數 : 110
年齡 : 33
來自 : 台南市
職業 : 繪圖員
愛好 : 電腦遊戲
個性 : 開朗
使用年資 : 3年
使用版本 : 2010
經驗值 : 5226
威望值 : 47
注冊日期 : 2012-05-06
男 白羊座 羊

回頂端 向下

[已解決]點圓自動畫中心線LISP 幫忙 Empty 回復: [已解決]點圓自動畫中心線LISP 幫忙

發表 由 djh1006 2015-02-02, 15:22

借花獻佛
代碼:
(defun c:mid()
(setvar "cmdecho" 0)
(setq OSC (getvar "osnapcoord"))  ;;記錄osnapcoord初始值
(setq mi (entsel "選取圓"))
(setq mid (entget (car mi)))
(setq exe (cdr (assoc 10 mid)))
(setq exe2 (car exe))          ;X
(setq exe3 (cadr exe))          ;Y
(setq exe4 (cdr (assoc 40 mid)));R
(setq exe5 (/ exe4 5))

(setq XXA (+ exe3 exe4))
(setq XXA2 (+ XXA exe5))
(setq XXA3 (list exe2 XXA2))

(setq XXB (+ exe2 exe4))
(setq XXB2 (+ XXB exe5))
(setq XXB3 (list XXB2 exe3))

(setq XXC (- exe2 exe4))
(setq XXC2 (- XXC exe5))
(setq XXC3 (list XXC2 exe3))

(setq XXD (- exe3 exe4))
(setq XXD2 (- XXD exe5))
(setq XXD3 (list exe2 XXD2))

(setvar "osnapcoord" 1)  ;;畫線前先將鎖點改成依程式鎖點
(command "LINE" XXA3 XXD3 "")
(command "LINE" XXB3 XXC3 "")
(setvar "osnapcoord" OSC)  ;;畫線後將osnapcoord值改回預設值
)
(prin1)
最後畫線不必用setq函數
也可以把程式美化如下:
代碼:
(defun c:mid()
(setvar "cmdecho" 0)
(setq OSC (getvar "osnapcoord"))  ;;記錄osnapcoord初始值

(setq mi (entsel "選取圓")
      mid (entget (car mi))
      exe (cdr (assoc 10 mid))
      exe2 (car exe)          ;X
      exe3 (cadr exe)          ;Y
      exe4 (cdr (assoc 40 mid));R
      exe5 (/ exe4 5)
)

(setq XXA (+ exe3 exe4)
      XXA2 (+ XXA exe5)
      XXA3 (list exe2 XXA2)
)

(setq XXB (+ exe2 exe4)
      XXB2 (+ XXB exe5)
      XXB3 (list XXB2 exe3)
)

(setq XXC (- exe2 exe4)
      XXC2 (- XXC exe5)
      XXC3 (list XXC2 exe3)
)

(setq XXD (- exe3 exe4)
      XXD2 (- XXD exe5)
      XXD3 (list exe2 XXD2)
)

(setvar "osnapcoord" 1)  ;;畫線前先將鎖點改成依程式鎖點
(command "LINE" XXA3 XXD3 "")
(command "LINE" XXB3 XXC3 "")
(setvar "osnapcoord" OSC)  ;;畫線後將osnapcoord值改回預設值
)
(prin1)


____________________________________________________________________________________
微笑
djh1006
djh1006
中級會員
中級會員

文章總數 : 177
年齡 : 53
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 連續沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 23年以上
使用版本 : 2014
積分 : 7
經驗值 : 6137
威望值 : 359
注冊日期 : 2011-06-16
男 獅子座 豬

回頂端 向下

[已解決]點圓自動畫中心線LISP 幫忙 Empty 回復: [已解決]點圓自動畫中心線LISP 幫忙

發表 由 as920029as 2015-02-02, 15:33

感謝大大指導...小弟學到很多
小弟學LISP= =不是正規管道學的...是上網四處找資料拼拼湊湊學的
所以很多地方不是很好請建量
目前還沒辦法達到可以美化到大大提供的那樣XD 但還是感謝大大幫忙美化
as920029as
as920029as
一般會員
一般會員

文章總數 : 110
年齡 : 33
來自 : 台南市
職業 : 繪圖員
愛好 : 電腦遊戲
個性 : 開朗
使用年資 : 3年
使用版本 : 2010
經驗值 : 5226
威望值 : 47
注冊日期 : 2012-05-06
男 白羊座 羊

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[已解決]點圓自動畫中心線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