明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2036|回复: 7

[求助]已知两点和半径作圆?

[复制链接]
发表于 2004-7-30 09:53:00 | 显示全部楼层 |阅读模式
弧-(中心)-圆


有其它办法吗?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-7-30 10:25:00 | 显示全部楼层
有!


计算:


两点连线作为x轴,连线中点为坐标原点,两点间距一半为a(即两点x坐标值的绝对值),半径为r,勾股定理得另一边长b(即圆心坐标y值)!
发表于 2004-7-30 10:50:00 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-7-30 12:07:00 | 显示全部楼层
使用“弧-(中心)-圆”是最好的了,做成程序后使用相当简单,参考:(注:未考虑另一种情况)
  1. (defun c:test( / pt1 pt2 r ent ptCenter)
  2.    (setq pt1 (getpoint "\n第一点:"))
  3.    (setq pt2 (getpoint "\n第二点:"))
  4.    (setq r (getreal "\n半径:"))
  5.    (command "_.arc" pt1 "e" pt2 "r" r)
  6.    (setq ptCenter (cdr (assoc 10 (entget (setq ent (entlast))))))
  7.    (entdel ent)
  8.    (command "_.circle" ptCenter (distance ptCenter pt1))
  9.    (princ)
  10. )
 楼主| 发表于 2004-7-30 16:07:00 | 显示全部楼层
(defun c:shg ()
(setq os (getvar "osmode"))
(setq cm (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setvar "osmode" 0)
(shg1)
(setvar "cmdecho" cm)
(setvar "osmode" os)
)
(defun shg1 ()
(setq end (car (entsel "\n最大圆弧:")))
(setq enddata (entget end))
(command "lengthen" end "")
(setq hu (getvar "perimeter"))
(setq rd (cdr (assoc 40 enddata)))
(setq pdcen (cdr (assoc 10 enddata)))
(setq pdtemp (polar pdcen (* 0.5 pi) rd))
(setq enx (car (entsel "\n最小圆弧:")))
(setq enxdata (entget enx))
(setq rx (cdr (assoc 40 enxdata)))
(setq pxcen (cdr (assoc 10 enxdata)))
(setq pxtemp (polar pxcen (* 0.5 pi) rx))
(setq px1 (polar pxcen (cdr (assoc 50 enxdata)) rx))
(setq px2 (polar pxcen (cdr (assoc 51 enxdata)) rx))
(shg2)
)
(defun shg2 ()
(setq bb (getint "\n阵列数:"))
(setq rr (fix (/ (* (+ hu 3.5) bb) (+ pi pi))))
(setq pxx (polar pdtemp (* 1.5 pi) rr))
(setq dd (fix (distance pxx px1)))
(command "arc" px1 "e" px2 "r" dd "")
(setq hux (entlast))
(setq px (cdr (assoc 10 (entget hux))))
(command "circle" px dd "")
(command "erase" hux "")

) TO:meflying 其实还是这个问题,我想此时完成阵列,但不知如何获取截面图形,可以指点?
发表于 2004-7-30 16:25:00 | 显示全部楼层
能给个测试的图,并说说你要做什么吗?
 楼主| 发表于 2004-7-30 16:53:00 | 显示全部楼层
meflying发表于2004-7-30 16:25:00能给个测试的图,并说说你要做什么吗?

dispbbs.asp?boardID=25&ID=23834&page=1
发表于 2004-7-31 09:33:00 | 显示全部楼层
关于这个问题,精确的计算蛮复杂的,还没有找到好的办法


其他人的回答的那个方法作为近似计算,还是可以的,而且在一般情况下,结果也应该是正确的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-30 22:21 , Processed in 0.179421 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表