[討論]副程式裡呼叫其他副程式~ 我寫得有問題嗎?
3 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[討論]副程式裡呼叫其他副程式~ 我寫得有問題嗎?
請問~副程式裡呼叫其他副程式~
我寫得有問題嗎?
因為到主程式到副程式一都可以順利完成
可是副程式一裡~我呼叫了副程式二
結果就出不來了~
可以幫我看一下~
我哪裡寫得有問題嗎?
謝謝~
(defun c:atext-repeat()
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq rr (getreal "\n弧半徑: "))
(setq n 0)
(prompt"\n<<框選需要畫弧的線>>")
(setq ss (ssget '((8 . "TEXT") (0 . "line"))))
(repeat (sslength ss)
(setq ssn (ssname ss n))
(setq ssdata (entget ssn))
(atext_arc)
(setq n(+ 1 n))
);repeat end
(setvar "osmode" 1)
(prin1)
)
;副程式一
(defun rtd (a) (* a (/ 180 pi)))
(defun atext_arc()
(setq pts (cdr (assoc 10 ssdata)))
(setq pte (cdr (assoc 11 ssdata)))
(command "arc" pte "e" pts "r" rr)
(arc_cen)
(prin1)
)
;;副程式二
(defun arc_cen()
(setq e0 (entlast))
(setq e1 (entget e0))
(setq c1 (cdr (assoc 10 e1)) ; center point
a0 (cdr (assoc 50 e1)) ; start arc angle
a1 (cdr (assoc 51 e1)) ; end arc angle
i1 (if (> a1 a0) ; included angle
(- a1 a0)
(+ a1 (- (* pi 2) a0))
)
) ; end SETQ
(prin1)
)
我寫得有問題嗎?
因為到主程式到副程式一都可以順利完成
可是副程式一裡~我呼叫了副程式二
結果就出不來了~
可以幫我看一下~
我哪裡寫得有問題嗎?
謝謝~
(defun c:atext-repeat()
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq rr (getreal "\n弧半徑: "))
(setq n 0)
(prompt"\n<<框選需要畫弧的線>>")
(setq ss (ssget '((8 . "TEXT") (0 . "line"))))
(repeat (sslength ss)
(setq ssn (ssname ss n))
(setq ssdata (entget ssn))
(atext_arc)
(setq n(+ 1 n))
);repeat end
(setvar "osmode" 1)
(prin1)
)
;副程式一
(defun rtd (a) (* a (/ 180 pi)))
(defun atext_arc()
(setq pts (cdr (assoc 10 ssdata)))
(setq pte (cdr (assoc 11 ssdata)))
(command "arc" pte "e" pts "r" rr)
(arc_cen)
(prin1)
)
;;副程式二
(defun arc_cen()
(setq e0 (entlast))
(setq e1 (entget e0))
(setq c1 (cdr (assoc 10 e1)) ; center point
a0 (cdr (assoc 50 e1)) ; start arc angle
a1 (cdr (assoc 51 e1)) ; end arc angle
i1 (if (> a1 a0) ; included angle
(- a1 a0)
(+ a1 (- (* pi 2) a0))
)
) ; end SETQ
(prin1)
)
- 附件
hua- 一般會員
- 文章總數 : 16
年齡 : 42
來自 : 新北市
職業 : 繪圖員
愛好 : 畫圖
個性 : 內向
使用年資 : 5-6
使用版本 : 2014
經驗值 : 3113
威望值 : 0
注冊日期 : 2016-08-10
回復: [討論]副程式裡呼叫其他副程式~ 我寫得有問題嗎?
把副程式一與副程式二合併不是比較單純 ?
阿希- 高級會員
- 文章總數 : 348
年齡 : 43
來自 : 台北
職業 : 水電設計
愛好 : autolisp
個性 : 和平主義者
使用年資 : 5
使用版本 : 2008
積分 : 19
經驗值 : 6824
威望值 : 226
發帖精華 : 1
注冊日期 : 2008-09-22
回復: [討論]副程式裡呼叫其他副程式~ 我寫得有問題嗎?
我試試看~謝謝你~
hua- 一般會員
- 文章總數 : 16
年齡 : 42
來自 : 新北市
職業 : 繪圖員
愛好 : 畫圖
個性 : 內向
使用年資 : 5-6
使用版本 : 2014
經驗值 : 3113
威望值 : 0
注冊日期 : 2016-08-10
回復: [討論]副程式裡呼叫其他副程式~ 我寫得有問題嗎?
(defun c:atext-repeat()
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq rr (getreal "\n弧半徑: "))
(setq n 0)
(prompt"\n<<框選需要畫弧的線>>")
(setq ss (ssget '((8 . "TEXT") (0 . "line"))))
(repeat (sslength ss)
(setq ssn (ssname ss n))
(setq ssdata (entget ssn))
(atext_arc)
(setq n(+ 1 n))
);repeat end
(setvar "osmode" 1)
(prin1)
)
;副程式一
(defun rtd (a) (* a (/ 180 pi)))
(defun atext_arc()
(setq pts (cdr (assoc 10 ssdata)))
(setq pte (cdr (assoc 11 ssdata)))
(command "arc" pte "e" pts "r" rr)
(setq e0 (entlast))
(setq e1 (entget e0))
(setq c1 (cdr (assoc 10 e1)) ; center point
a0 (cdr (assoc 50 e1)) ; start arc angle
a1 (cdr (assoc 51 e1)) ; end arc angle
i1 (if (> a1 a0) ; included angle
(- a1 a0)
(+ a1 (- (* pi 2) a0))
)
p1 (osnap (cadr e0) "end") ; start point pick
p2 (polar c1 a1 r1) ; end point arc
) ; end SETQ
(prin1)
)
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq rr (getreal "\n弧半徑: "))
(setq n 0)
(prompt"\n<<框選需要畫弧的線>>")
(setq ss (ssget '((8 . "TEXT") (0 . "line"))))
(repeat (sslength ss)
(setq ssn (ssname ss n))
(setq ssdata (entget ssn))
(atext_arc)
(setq n(+ 1 n))
);repeat end
(setvar "osmode" 1)
(prin1)
)
;副程式一
(defun rtd (a) (* a (/ 180 pi)))
(defun atext_arc()
(setq pts (cdr (assoc 10 ssdata)))
(setq pte (cdr (assoc 11 ssdata)))
(command "arc" pte "e" pts "r" rr)
(setq e0 (entlast))
(setq e1 (entget e0))
(setq c1 (cdr (assoc 10 e1)) ; center point
a0 (cdr (assoc 50 e1)) ; start arc angle
a1 (cdr (assoc 51 e1)) ; end arc angle
i1 (if (> a1 a0) ; included angle
(- a1 a0)
(+ a1 (- (* pi 2) a0))
)
p1 (osnap (cadr e0) "end") ; start point pick
p2 (polar c1 a1 r1) ; end point arc
) ; end SETQ
(prin1)
)
hua- 一般會員
- 文章總數 : 16
年齡 : 42
來自 : 新北市
職業 : 繪圖員
愛好 : 畫圖
個性 : 內向
使用年資 : 5-6
使用版本 : 2014
經驗值 : 3113
威望值 : 0
注冊日期 : 2016-08-10
回復: [討論]副程式裡呼叫其他副程式~ 我寫得有問題嗎?
我試了~可是加了之後~前面執行畫弧的部分就沒辦法正確執行了~
hua- 一般會員
- 文章總數 : 16
年齡 : 42
來自 : 新北市
職業 : 繪圖員
愛好 : 畫圖
個性 : 內向
使用年資 : 5-6
使用版本 : 2014
經驗值 : 3113
威望值 : 0
注冊日期 : 2016-08-10
回復: [討論]副程式裡呼叫其他副程式~ 我寫得有問題嗎?
(command "arc" pte "e" pts "r" rr)
請問一下由指定的弧起點+弧終點+指定半徑,可以劃出一條弧嗎?
請問一下由指定的弧起點+弧終點+指定半徑,可以劃出一條弧嗎?
chien_yi- 一般會員
- 文章總數 : 16
年齡 : 56
來自 : 台北
職業 : 待業
愛好 : 電腦
個性 : 呆呆的
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 4931
威望值 : 12
注冊日期 : 2011-08-19
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章