已知圆弧的起点、终点和弧长(或者弦高、或者弓弦比)求半径和圆心

;已知圆弧的起点、终点和弧长(或者弦高、或者弓弦比)求半径和圆心
;1.到“下载”网页中下载文件“bjyx.vlx”
;&nbsp&nbsp并存到“G”盘中,如存入其它地方,
;&nbsp&nbsp请更改程序中第二中的相应路径名。
;2.文件“bjyx.vlx”中包含以下三个函数:
;&nbsp&nbsp(1)已知圆弧起点、终点和弓弦比,求半径和圆心&nbsp"bjyx0"
;&nbsp&nbsp(2)已知圆弧起点、终点和弓高,求半径和圆心&nbsp"bjyx1"
;&nbsp&nbsp(3)已知圆弧起点、终点和弧长,求半径和圆心&nbsp"bjyx2"
;3.规定:
;&nbsp&nbsp(1)由起点沿着圆弧向终点方向,圆弧向左转的弓弦比、弓高和弧长均输入负值;
;&nbsp&nbsp(2)由起点沿着圆弧向终点方向,圆弧向右转的弓弦比、弓高和弧长均输入正值。
;4.调用方式:
;&nbsp&nbsp(1)&nbsp(bjyx0&nbsp&nbsp起点&nbsp&nbsp终点&nbsp&nbsp弓弦比)
;&nbsp&nbsp(2)&nbsp(bjyx1&nbsp&nbsp起点&nbsp&nbsp终点&nbsp&nbsp弓高)
;&nbsp&nbsp(3)&nbsp(bjyx2&nbsp&nbsp起点&nbsp&nbsp终点&nbsp&nbsp弧长)
;5.返回值:(半径&nbsp圆心)
;6.在Auto&nbspCAD中加载以下测试程序,按要求输入数据即可
;6.算例
;&nbsp&nbsp(1)&nbsp起点&nbsp&nbsp&nbspx=184.2344&nbspy=228.7468
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp终点&nbsp&nbsp&nbspx=253.9234&nbspy=&nbsp229.0668
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp选择0
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp弓弦比&nbsp0.470903
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp返回值&nbsp(45.2033&nbsp(219.3227&nbsp199.9785))
;&nbsp&nbsp(2)&nbsp起点&nbsp&nbsp&nbspx=253.9234&nbspy=&nbsp229.0668
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp终点&nbsp&nbsp&nbspx=184.2344&nbspy=228.7468
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp选择0
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp弓弦比&nbsp-0.470903
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp返回值&nbsp(45.2034&nbsp(219.3227&nbsp199.9784))
;&nbsp&nbsp(3)&nbsp起点&nbsp&nbsp&nbspx=184.2344&nbspy=228.7468
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp终点&nbsp&nbsp&nbspx=253.9234&nbspy=&nbsp229.0668
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp选择1
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp弓弦比&nbsp16.409
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp返回值&nbsp(45.2034&nbsp(219.3227&nbsp199.9785))
;&nbsp&nbsp(4)&nbsp起点&nbsp&nbsp&nbspx=253.9234&nbspy=&nbsp229.0668
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp终点&nbsp&nbsp&nbspx=184.2344&nbspy=228.7468
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp选择1
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp弓弦比&nbsp-16.409
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp返回值&nbsp(45.2033&nbsp(219.3227&nbsp199.9785))
;&nbsp&nbsp(5)&nbsp起点&nbsp&nbsp&nbspx=184.2344&nbspy=228.7468
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp终点&nbsp&nbsp&nbspx=253.9234&nbspy=&nbsp229.0668
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp选择2
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp弓弦比&nbsp79.5761
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp返回值&nbsp(45.2032&nbsp(219.3227&nbsp199.9787))
;&nbsp&nbsp(6)&nbsp起点&nbsp&nbsp&nbspx=253.9234&nbspy=&nbsp229.0668
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp终点&nbsp&nbsp&nbspx=184.2344&nbspy=228.7468
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp选择2
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp弓弦比&nbsp-79.5761
;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp返回值&nbsp(45.2037&nbsp(219.3227&nbsp199.9787))

(defun&nbspc:cc()
&nbsp&nbsp&nbsp(if&nbsp(null&nbsp"bjyx0.vlx")(load&nbsp"g:bjyx.vlx"));请注意文件“bjyx.vlx”存盘路径名
&nbsp&nbsp&nbsp(setq&nbspp1&nbsp(getpoint&nbsp"\n请输入圆弧起点:")
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspp2&nbsp(getpoint&nbspp1&nbsp"\n请输入圆弧终点:")
&nbsp&nbsp&nbsp)
&nbsp&nbsp&nbsp(initget&nbsp1&nbsp"0&nbsp1&nbsp2")
&nbsp&nbsp&nbsp(setq&nbspnbz&nbsp(getkword&nbsp"\n请选择弓弦比(0)/弓高(1)/弧长(2):")
&nbsp&nbspl&nbsp&nbsp&nbsp(cond&nbsp((=&nbspnbz&nbsp"0")&nbsp(getreal&nbsp"\n请输入圆弧的弓弦比="))
&nbsp&nbsp&nbsp&nbsp&nbsp((=&nbspnbz&nbsp"1")&nbsp(getreal&nbsp"\n请输入圆弧的弓高="))
&nbsp&nbsp&nbsp&nbsp&nbsp((=&nbspnbz&nbsp"2")&nbsp(getreal&nbsp"\n请输入圆弧的长度="))
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp)
&nbsp&nbspzb&nbsp&nbsp(eval&nbsp(read&nbsp(strcat&nbsp"(bjyx"&nbspnbz&nbsp&nbsp"&nbspp1&nbspp2&nbspl)")))
&nbsp&nbsp&nbsp)
)

发表评论

您的邮箱不会被公开。* 为必填项