dhy 发表于 2009-10-30 17:39:00

[求助]怎样求圆弧的中点

我在学一个程序,其中要用导圆弧的中点,但不知道怎样求出来,还望高手们指点一下,谢谢

Andyhon 发表于 2009-10-30 23:49:00

check here:<br/><a href="http://discussion.autodesk.com/forums/thread.jspa?threadID=363118&amp;tstart=17850">http://discussion.autodesk.com/forums/thread.jspa?threadID=363118&amp;tstart=17850</a>

dhy 发表于 2009-10-31 09:40:00

<p>这样求出来的好像是终点,不是中点</p><p>(defun midPtarc (arc / arcList radius ctrPt startPt endPt midChrd mid)<br/>(setq arcList (entget arc)<br/>radius (cdr (assoc 40 arcList))<br/>ctrPt (cdr (assoc 10 arcList))<br/>startPt (polar ctrPt (cdr (assoc 50 arcList)) radius)<br/>endPt (polar ctrPt (cdr (assoc 51 arcList)) radius)<br/>midChrd (mapcar '* (mapcar '+ startpt endpt) '(0.5 0.5 0.5))<br/>mid (polar ctrPt (angle ctrPt midChrd) radius)<br/>)<br/>)</p>

nameld001 发表于 2009-10-31 10:07:00

(defun c:test()
(vl-load-com)
(setq ent(car(entsel)))
(setq ent_obj(vlax-ename->vla-object ent))
(setq mid_point;|中点坐标|;(vlax-curve-getpointatdist ent_obj (/ (vlax-curve-getdistatparam ent_obj(vlax-curve-getendparam ent_obj))2)))
(command "line" mid_point (mapcar '+ mid_point '(0 10)) "");测试
(princ)
)

dhy 发表于 2009-10-31 11:16:00

谢谢啦

yjtdkj 发表于 2021-6-22 09:04:33

(defun tt4 ()
(setq en (car (entsel)))
(setq pt_end (vlax-curve-getEndPoint en))
(setq d_end (vlax-curve-getDistAtPoint en pt_end))
(setq        pt_mid (vlax-curve-getpointatdist
              en
              (/ d_end 2)
          )
)
)
页: [1]
查看完整版本: [求助]怎样求圆弧的中点