AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[討論] LSP檔疑問~! Io15010 [討論] LSP檔疑問~! Easase10 [討論] LSP檔疑問~! Oiu15010 [討論] LSP檔疑問~! 2020-211 [討論] LSP檔疑問~! Oo-2-110 [討論] LSP檔疑問~! BPl3tjj

[討論] LSP檔疑問~!

向下

[討論] LSP檔疑問~! Empty [討論] LSP檔疑問~!

發表 由 x26811199 于 2011-11-10, 11:59

(defun c:Spline2Circle()
(SETVAR "CMDECHO" 0)
(COMMAND "UNDO" "BE")
(SETQ OLDOSMODE (GETVAR "OSMODE"))
(SETQ OLDLAYEAR (GETVAR "CLAYER"))
(SETVAR "OSMODE" 0)
;(setq FTT (getint "\n 輸入圓直徑大小: "))
(princ "請選預替換的雲行線 ")
(setq en (ssget '((0 . "spline"))))
(setq ppp (sslength en))
(setq qqq 0)
(repeat ppp
(setq ggg (ssname en qqq))
;(command "-color" 1)
(command "LAYER" "M" "CIRCLE" "C" 1 "CIRCLE" "")
(setq hhh (entget ggg))
(setq PT (MEMBER (assoc 10 hhh) hhh))
(setq pt1 (cdr (CAR PT)))
(setq pt2 (cdr (NTH 8 PT)))
;(command "circle" "2p" PT1 (polar pt1 (* pi 1.5) FTT))
(command "circle" "2p" PT1 PT2)
(setq qqq (+ qqq 1)))
(command "erase" en "")
;(command "-color" "bylayer")
(princ (strcat "\n共有 " (itoa ppp) " 個雲行線物件替換成圓物件...."))
(SETVAR "OSMODE" OLDOSMODE)
(SETVAR "CLAYER" OLDLAYEAR)
(COMMAND "UNDO" "E")
(prin1)
)
↑蘋果爸之前給的檔案~相當快速好用~想請問一下蘋果爸 如果要把雲行線改成橢圓轉正圓 需要改哪個地方 我找LSP黨找不到解說
因為目前其他繪圖軟體圓轉CAD的圓會變成雲行線AND橢圓兩種~如過是雲行線的話 問題已經解決了
而我自己修改LSP都會出錯...因為我只把''spline''~>''ellipse'' 然後雲行線改成橢圓 結果都出現錯誤..
能否勞駕蘋果爸幫我用成橢圓 還是說有網站介紹LSP檔案裡面的指令相關解說...不然一直麻煩蘋果爸也相當不好意思~!
x26811199
x26811199
一般會員
一般會員

文章總數 : 24
年齡 : 31
來自 : 鑫北市樹林區
職業 : 剛接觸美工
愛好 : 鋼琴~網球~
個性 : 樂天開朗
使用年資 : 新手初學
使用版本 : 2008
經驗值 : 3274
威望值 : 0
注冊日期 : 2011-10-15
男 摩羯座 龍

回頂端 向下

[討論] LSP檔疑問~! Empty 回復: [討論] LSP檔疑問~!

發表 由 leoneriol 于 2011-11-10, 12:30

代碼:
(defun c:ellipse2Circle()
  (SETVAR "CMDECHO" 0)
  (COMMAND "UNDO" "BE")
  (SETQ OLDOSMODE (GETVAR "OSMODE"))
  (SETQ OLDLAYEAR (GETVAR "CLAYER"))
  (SETVAR "OSMODE" 0)
  ;(setq FTT (getint "\n 輸入圓直徑大小: "))
  (princ "請選預替換的橢圓 ")
  (setq en (ssget '((0 . "ellipse"))))
  (setq ppp (sslength en))
  (setq qqq 0)
  (repeat ppp
    (setq ggg (ssname en qqq))
    ;(command "-color" 1)
    (command "LAYER" "M" "CIRCLE" "C" 1 "CIRCLE" "")
    (setq hhh (entget ggg))
    (setq PT (MEMBER (assoc 10 hhh) hhh))
    (setq PT2 (MEMBER (assoc 11 hhh) hhh))
    (setq pt1 (cdr (CAR PT)))
    (setq pt2 (cdr (CAR PT2)))
    ;(command "circle" "2p" PT1 (polar pt1 (* pi 1.5) FTT))
    (command "circle" PT1 PT2)
    (setq qqq (+ qqq 1)))
  (command "erase" en "")
  ;(command "-color" "bylayer")
  (princ (strcat "\n共有 " (itoa ppp) " 個橢圓物件替換成圓物件...."))
  (SETVAR "OSMODE" OLDOSMODE)
  (SETVAR "CLAYER" OLDLAYEAR)
  (COMMAND "UNDO" "E")
  (prin1)
  )

不能光改''spline''~>''ellipse''
必須
(setq PT (MEMBER (assoc 10 hhh) hhh))
(setq pt1 (cdr (CAR PT)))
(setq pt2 (cdr (NTH 8 PT)))
改成
(setq PT (MEMBER (assoc 10 hhh) hhh))
(setq PT2 (MEMBER (assoc 11 hhh) hhh))
(setq pt1 (cdr (CAR PT)))
(setq pt2 (cdr (CAR PT2)))


(command "circle" "2p" PT1 PT2)
改成
(command "circle" PT1 PT2)


leoneriol 在 2011-11-10, 13:00 作了第 1 次修改 (原因 : 程式碼小修正)
leoneriol
leoneriol
榮譽顧問
榮譽顧問

文章總數 : 818
年齡 : 36
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 7605
威望值 : 956
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
經典問與答讀者 藍鵲34號
2009聚會勳章 2014聚會勳章 男 雙魚座 鼠

回頂端 向下

[討論] LSP檔疑問~! Empty 回復: [討論] LSP檔疑問~!

發表 由 x26811199 于 2011-11-10, 13:02

那些是什麼意思 代表些什麼
因為能看的懂得只有spline跟elilpse~
所以只會修改那個地方 其他的地方 看不太懂...
能解說一下嗎?
馬上來試試看 橢圓轉圓的檔
x26811199
x26811199
一般會員
一般會員

文章總數 : 24
年齡 : 31
來自 : 鑫北市樹林區
職業 : 剛接觸美工
愛好 : 鋼琴~網球~
個性 : 樂天開朗
使用年資 : 新手初學
使用版本 : 2008
經驗值 : 3274
威望值 : 0
注冊日期 : 2011-10-15
男 摩羯座 龍

回頂端 向下

[討論] LSP檔疑問~! Empty 回復: [討論] LSP檔疑問~!

發表 由 x26811199 于 2011-11-10, 13:25

抱歉 請問一下LEO大大
我用您給我的LSP檔去修改9MM橢圓轉換圓
結果他轉換出來的圓是1666.9381.....
我測試了一下 不知是不是我的電腦有問題.....
使用LEO大的檔案
直徑10MM圓~>216MM圓.
12MM~>181MM
15MM~>147MM
這是為啥...
語法中有一個輸入直徑大小 但是我輸入指令後 選一個橢圓 按下ENTER他就轉了 沒有出現叫我輸入直徑的地方..
x26811199
x26811199
一般會員
一般會員

文章總數 : 24
年齡 : 31
來自 : 鑫北市樹林區
職業 : 剛接觸美工
愛好 : 鋼琴~網球~
個性 : 樂天開朗
使用年資 : 新手初學
使用版本 : 2008
經驗值 : 3274
威望值 : 0
注冊日期 : 2011-10-15
男 摩羯座 龍

回頂端 向下

[討論] LSP檔疑問~! Empty 回復: [討論] LSP檔疑問~!

發表 由 leoneriol 于 2011-11-10, 14:29

代碼:
(defun c:ellipse2Circle()
  (SETQ OLDOSMODE (GETVAR "OSMODE"))
  (SETQ OLDLAYEAR (GETVAR "CLAYER"))
  (SETVAR "CMDECHO" 0)
  (SETVAR "OSMODE" 0)
  (princ "請選預替換的橢圓 ")
  (setq en (ssget '((0 . "ellipse"))))
  (setq n (sslength en))
  (setq i 0)
  (command "LAYER" "M" "CIRCLE" "C" 1 "CIRCLE" "")
  (repeat n
    (setq enidate (entget (ssname en i)))
    (setq PT1 (cdr (assoc 10 enidate)))
    (setq PT2 (cdr (assoc 11 enidate)))
    (setq PT3 (polar Pt1 0 (distance '(0 0) pt2)))
    (command "circle" PT1 PT3)
    (setq i (+ i 1)))
  (command "erase" en "")
  (princ (strcat "\n共有 " (itoa n) " 個橢圓物件替換成圓物件...."))
  (SETVAR "OSMODE" OLDOSMODE)
  (SETVAR "CLAYER" OLDLAYEAR)
  (prin1)
  )
哈哈....抱歉了,太偷懶結果出錯!!!

修正過了,您再用用看吧XD

乘涼乘過頭了..........Orz
leoneriol
leoneriol
榮譽顧問
榮譽顧問

文章總數 : 818
年齡 : 36
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 7605
威望值 : 956
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
經典問與答讀者 藍鵲34號
2009聚會勳章 2014聚會勳章 男 雙魚座 鼠

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[討論] LSP檔疑問~! Uos15010 [討論] LSP檔疑問~! BPl3tjj [討論] LSP檔疑問~! Ziao1510 [討論] LSP檔疑問~! Oo-2-110 [討論] LSP檔疑問~! Oooo-110 [討論] LSP檔疑問~! 2020-211