怎么画出已知半径和弧长的弧线呢?
你好,怎么画出已知半径和弧长的弧线呢?如图所示,画一个半径2000,弧长2000的弧线。 Keenir 发表于 2017-11-13 20:55您好,这个用不了呢
(defun c:tt ()
;; (abc (getpoint) 2000 2000)
(defun abc (p0 rr ll / leng rad p1 p2)
(setq leng (* 2 pi rr)
rad(* (/ ll leng 1.) pi)
p1 (polar p0 (- (* pi 0.5) rad) rr)
p2 (polar p0 (+ (* pi 0.5) rad) rr)
)
(command "arc" "c" "non" p0 "non" p1 "non" p2)
)
(setq rr (Ureal 7 "" "半径" rr))
(setq ll (Ureal 7 "" "弧长" ll))
(while (setq p0 (getpoint "\n基点<退出>: "))
(abc p0 rr ll)
)
(princ)
)
Andyhon 发表于 2017-11-13 19:52
套公式硬算亦可
常用的话套用编程效率较高
您好,那你有相关的编程吗,参考学习下 ;*****定长画弧*****
(defun c:dchh(/ r arc pt1 angle1 l1 pt2)
(setq R (getreal "请输入半径:"))
(setq arc(getreal"请输入弧长:"))
(setq pt1(getpoint "请点击第一点:"))
(setq angle1(/ (yxj r arc) 2))
(setq L1(* R (sin angle1)))
(setq pt2(polar pt1 0 (* L1 2)))
(command ".arc" pt1 "_e" pt2 "_r" R))
;******圆心角******
(defun yxj(a b)
(/ b a)) 先画出 R=2000 的弧
Command: lengthen
Select an object or : T
Specify total length or <1.0000)>: 2000
;; (abc (getpoint) 2000 2000)
(defun abc (p0 rr ll / leng rad p1 p2)
(setq leng (* 2 pi rr)
rad(* (/ ll leng 1.) pi)
p1 (polar p0 (- (* pi 0.5) rad) rr)
p2 (polar p0 (+ (* pi 0.5) rad) rr)
)
(command "arc" "c" "non" p0 "non" p1 "non" p2)
)
Andyhon 发表于 2017-11-13 16:24
先画出 R=2000 的弧
Command: lengthen
:lol谢谢了,我上面也是用这个方法画的呢,有没有其他简单的方法呢,或者有这种类似程序呢 套公式硬算亦可
常用的话套用编程效率较高
xyp1964 发表于 2017-11-13 18:39
您好,这个用不了呢 fan_zh 发表于 2017-11-14 09:05
;*****定长画弧*****
(defun c:dchh(/ r arc pt1 angle1 l1 pt2)
(setq R (getreal "请输入半径:"))
可以用,输入半径都是乱码。
页:
[1]
2