楊雙富
(云南一九八煤田地質勘探隊,云南昆明 650208)
為AutoCAD新增三種畫圓弧的方式
楊雙富?
(云南一九八煤田地質勘探隊,云南昆明 650208)
在AutoCAD中,利用Visual LISP作為二次開發工具,為其增加已知弧長及弦長、已知弦長及弓高、已知弧長及弓高繪制圓弧的3種方式,解決了這3種已知條件下求圓弧半徑及畫圓弧的難題。
Visual LISP;圓?。环蔷€性方程;牛頓迭代法;二次開發
已知弧長及弦長、已知弦長及弓高、已知弧長及弓高求圓弧半徑不僅是計算幾何的問題,也是工程設計和施工中常遇到的問題,由于列出求解的方程中含有三角函數,為非線性方程,采用常規算法很難求解。AutoCAD是目前使用率最高的計算機輔助設計軟件之一,它根據圓弧的起點、終點、圓心、半徑、圓心角等基本參數有效組合,一共提供了10種不同繪制圓弧的方式,基本滿足用戶的需求,但其中卻沒有上述3種已知條件下繪制圓弧的方法,為此文中利用Visual LISP作為二次開發工具,按非線性方程的牛頓迭代法編程解算出圓心角、半徑,并實現了圓弧的高精度繪制。
2.1 根據已知條件,求解半徑方程
任取一圓弧如圖1所示,P1、P2為圓弧的起點和止點,P1、P2間的弧長為L,弦長為C,圓弧的弓高為h,設圓弧的半徑為R,所對應的圓心角為x,根據已知弧長L及弦長C、弧長L及弓高h、弦長C及弓高h三個條件,則求半徑及圓心角的相應方程組見表1第2行,因圓心角x在0~2π之間,為方便后述選取迭代初值,故按消元法消去半徑R,得到以圓心角為未知數的一元非線方程列入表1中的第3行。

圖1 圓弧示意圖

求解圓心角方程式 表1
2.2 圓心角、半徑求解
由于列出求解圓心角的方程中含有三角函數,為非線性方程,根據牛頓迭代法,其求解的迭代計算式如下:

式中的f(xi)、f′(xi)見表1,迭代精度取ε=10-10,當迭代結束后,按表1中最后一行計算半徑。
2.3 迭代初值選取
根據牛頓迭代法解非線性方程初值選取規則[f(x0)f″(x0)〉0],經分析和測試,初值選取表中倒數第二行的數據時,迭代均收斂,可較為精確地解算出圓心角,從而精確地計算出半徑。
3.1 畫圓弧的步驟
(1)由已知數據,按牛頓迭代法解算出圓弧的圓心角,并計算出半徑;
(2)任選一點P1作為圓弧的起點,根據已知數據和已解算出圓心角、半徑,按圓弧起點至止點的角度為0、距離為弦長計算出止點P3,再由P1點、P3點及弓高計算圓弧的中點P2;
(3)以三點畫圓弧命令繪出圓弧,并以P1點為旋轉中心,動態將圓弧旋轉到指定的止點方向。
3.2 Visual LISP程序


(1)將上述Visual LISP程序以文件名arc1.lsp保存;
(2)啟動AutoCAD,將arc1.lsp加載;
(3)在命令行鍵入arc1并回車,按照提示輸入數據就可進行計算和繪制圓弧,如表2為圓弧的已知數據,表3為計算出的圓弧半徑;

圓弧已知數據 表2

計算出的圓弧半徑 表3
(4)以下為YH3按弧長弓高繪制圓弧的操作過程及所繪圓弧與原圓弧特性截圖。


圖2 圓弧特性截圖
(1)在已知弧長及弦長、已知弦長及弓高、已知弧長及弓高以及選擇適當初值的條件下,以Visual LISP作為開二次發工具,按非線性方程的牛頓迭代法編程解算圓心角并計算出半徑的方法,不但收斂速度很快而且準確,從而實現了圓弧的高精度繪制,是對Auto-CAD圓弧繪制功能的有益補充。
(2)限于篇幅,程序中未對輸入的數據有效性(即能否組成圓弧)、繪制圓弧的順或逆時針方向等細節進行處理,請讀者自行完善。另外,也可為這種繪制圓弧方法創建菜單或工具欄按鈕,以方便操作,提高效率和精度。
[1]翟瑞彩,謝偉松.數值分析[M].天津:天津大學出版社,2000
[2]段紅梅,周明,胡仁喜等.AutoCAD 2000(中文版)自學教程[M].北京:清華大學出版社,2000
[3]孫江宏,丁立偉,米潔.Visual LISP R14~2000編程與應用[M].北京:科學出版社,1999
AutoCAD Drawing for the New Arc Three Kinds of Ways
Yang ShuangFu
(198 coal geological exploration teams in Yunnan,Yunnan 650208,China)
In the AutoCAD,using Visual LISP as a secondary development tools,known for its increase in arc length and chord length,chord length and arch of known high,known to draw the circular arc and bow-high three ways,resolved under the conditions of these three are known to seek arc radius and arc drawing problems.
Visual LISP;arc;non-linear equations;Newton's iterative method;secondary development
1672-8262(2010)03-113-03
P209
B
2009—10—16
楊雙富(1967—),男,高級工程師,主要從事工程測量工作。