superxzg 发表于 2008-5-26 15:00:00

[求助]如何通过圆弧的起点终点和半径得到圆心坐标?

<p>如何通过圆弧的起点终点和半径得到圆心坐标?并且知道圆弧是顺弧或逆弧的情况下.</p><p>也就是说AutoLISP可以解放程吗?</p>

ZZXXQQ 发表于 2008-5-26 20:22:00

<p>如果是在图中画好的圆弧,可以通过LISP程序得到圆心坐标。但圆弧在ACAD中都是逆时针画的。</p><p>你说的是解方程吗?LISP是高级计算机语言(第四代人工智能计算机语言)当然可以解方程。</p>

superxzg 发表于 2008-5-26 21:52:00

<p>我可以通过圆弧获得半径,我现在的问题是已知圆弧起点,终点和半径如何让CAD自动绘制圆弧的问题</p>

superxzg 发表于 2008-5-26 21:55:00

另外,圆弧在CAD中也不定是逆弧吧?比如多段线中的圆弧.............

jancely 发表于 2008-5-27 10:35:00

<p>按照几何画法来画圆弧:以圆弧的起点和终点分别作圆,以确定圆心位置。</p><p>此时2个圆有2个交点,需要确定那个交点为圆心,和确定此圆弧是优弧还是劣弧</p>

Andyhon 发表于 2008-5-27 11:08:00

若是多段线中的圆弧其Data类似以下<br/>(10 0.0 0.0) (40 . 0.0) (41 . 0.0) (42 . 0.414214) (10 1.0 1.0)<br/>起点 (10 0.0 0.0) 终点 (10 1.0 1.0) 和 bulge (42 . 0.414214)<br/>没有半径值....

superxzg 发表于 2008-5-27 16:16:00

<p>通过凸度的绝对值可以判定其半径值,通过凸度的正负可以判定其顺逆,我的问题是通过起点、终点、半径、顺逆如何作出圆弧?满足条件的应该有唯一解。</p>

Andyhon 发表于 2008-5-27 17:13:00

<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;">先求三角形 ABo 的面积再求高<p></p></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;">or 用三角函数求θ皆可<p></p></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt;"><font face="Times New Roman"></font></p>

ZZXXQQ 发表于 2008-5-27 20:09:00

本帖最后由 作者 于 2008-5-27 21:17:27 编辑



;已知起点,终点,半径和顺逆时针画弧 明经 ZZXXQQ 2008.5.27
(defun c:tt ()
(setvar "CMDECHO" 0)
(setq p1 (getpoint "\nStart Point :")
          p2 (getpoint "\nEnd Point :")
          r (getreal "\nInput Radius (r<0 for counterclockwise) :")
          ys (getstring "\nAngle > 180 deg ?"))
(setq ds (/ (distance p1 p2) 2)
          ang (angle p1 p2)
          an1 (+ ang (/ pi (* (if (= (strcase ys) "Y") 2 -2) (if (< r 0) 1 -1))))
          pc (polar (polar p1 ang ds) an1 (sqrt (- (* r r) (* ds ds))))
          an2 (+ (angle pc p1) (/ pi (if (< r 0) -2 2)))
          p3 (polar p1 an2 ds))
(command ".arc" p1 "e" p2 "d" p3)
(setvar "CMDECHO" 1)
(princ)
)

superxzg 发表于 2008-5-27 21:31:00

<p>zzxxqq真是太强大了!</p><p>我号召,明经通道的菜鸟、老鸟们一起向zzxxqq学习,好好学好LISP,完善自我,帮助他人,为明经通道做贡献!</p>
页: [1] 2
查看完整版本: [求助]如何通过圆弧的起点终点和半径得到圆心坐标?