你目前的位置>>主頁>>AutoCAD>>提高篇 諺語:上臺階盡管費力,卻一步比一步高。

               巧妙運用AutoCAD中的cal函數(shù)

     AutoCAD作為一個專業(yè)繪圖軟件在機械、電子、建筑及航空等領域得到了廣泛的應用,但是大多數(shù)AutoCAD的使用者只知道AutoCAD具有強大的 繪圖功能,卻很少有人注意到AutoCAD中的一個非常有用的命令:幾何計算器cal。和普通的計算器一樣,cal幾何計算器可以完成加、減、乘、除運算 以及三角函數(shù)的運算。這使得用戶在使用AutoCAD繪圖過程中,可以在不中斷命令的情況下用計算機進行算術運算,AutoCAD則將運算的結果直接作為 命令的參數(shù)使用。

    但重要的是,與一般的計算器不同,AutoCAD幾何計算器可以作幾何運算。它可以作坐標點和坐標點之間的加減運算,可以使用AutoCAD的OSNAP 模式捕捉屏幕上的坐標點參與運算,還可以自動計算幾何坐標點。如計算兩條相交直線的交點,計算直線上的等分點等。此外,AutoCAD幾何計算器還具有計 算矢量和法線的功能。

一、Cal函數(shù)的計算功能運用

    在AutoCAD中,cal命令類似于一個普通的計算器,可以用來計算與加、減、乘、除等有關的標準數(shù)學表達式,并遵從運算表達式的標準數(shù)學運算次序。而 且,cal命令還是一個透明名令,可以用來提供一個點或一個數(shù)。當我們透明執(zhí)行該命令時,其計算結果被解釋為AutoCAD命令的一個輸入值。下面是透明 執(zhí)行計算器功能的一個實例。

以(200,200)為圓心繪制半徑為[(425-260)*(1/3)+sin(45)]的圓。

(1)在命令行輸入:C,并按ENTER鍵;

(2)命令行提示: “指定圓的圓心或[三點(3P)/兩點(2P)/相切、相切、半徑(T)]:”,輸入(100,100)并按ENTER鍵;

(3)命令行提示:“指定圓的半徑或直徑:”,此時輸入:“cal”,并按ENTER鍵,然后輸入表達式:
(425-260)*(1/3)+sin(45)并按ENTER鍵;

(4)命令行顯示:41.9571。即AutoCAD以表達式的值41.9571為圓的半徑繪制了一個圓。

二、Cal函數(shù)在找點中的運用

    在使用AutoCAD繪圖中,常常需要確定一些無法直接給出坐標的點。例如,任意兩點間的中點,和任意方向直線相切的圓的圓心,以及直線上任意等分點等。這里可以充分利用AutoCAD的cal函數(shù)的幾何運算功能,在AutoCAD繪圖中實現(xiàn)這些點的快速定位。

下面是利用AutoCAD的cal函數(shù)的幾何運算功能實現(xiàn)在AutoCAD繪圖中經(jīng)常遇到的一個快速定位的實例。

例如,要從一個圓心距一直線的端點之間的2/3處為起點畫一直線。操作過程如下:

Command: line From point: 'cal (起動幾何計算器)
Expression: plt(cen,end,2/3)(輸入表達式,這里計算器把OSNAP的cen和end模式當作點坐標的臨時存儲單元)
Select entity for CEN sanp:(用光標捕捉圓心)
Select entity for END snap:(用光標捕捉直線的端點)
To point:

其他的目標捕捉模式,如int、ins及tan等均可在幾何計算表達式中使用。

三、Cal函數(shù)在AutoLISP中的運用

    一些AutoCAD的高級用戶經(jīng)常運用AutoLISP對AutoCAD進行二次開發(fā),但是AutoLISP所自帶的函數(shù)運算式的表達方法與我們通用的函數(shù)運算式的表達方法不一樣,這就給開發(fā)過程帶來了一定的麻煩。大家都知道,AutoCAD R12及以上版本均內(nèi)含了一個功能強大的幾何計算器cal,它提供了各種常用的函數(shù)功能。

但是很少有資料提及的是:幾何計算器cal可以作為一個函數(shù)直接在AutoLISP中調用,除此之外,它還能接受AutoLISP變量進行運算。

這里以繪制一個y=2x-100sin(x)的函數(shù)曲線為例,給出cal函數(shù)在AutoLISP中的應用。函數(shù)曲線繪制程序如下:

(defun Psin(d) ;其中d是函數(shù)的步長
(setq i 0)
(setq e 360)
(setq x i)
(setq y (cal "2*x-100*sin(x)"))
(setq p1 (list x y))
(while (< i e)
(setq i (+ i d))
(setq x i)
(setq y (cal "2*x-100*sin(x)"))
(setq p2 (list x y))
(command "_line" p1 p2 "")
(setq p1 p2)
)
)

從上面的例子可以看出,由于使用了cal函數(shù),AutoLISP程序中的函數(shù)表達式變得方便簡捷,尤其是可以采用這個方法編制通用函數(shù)曲線輸入繪制程序, 以彌補AutoCAD沒有函數(shù)曲線繪制命令的缺陷。但是在使用過程中要注意這兩種函數(shù)的表達方法所使用的單位并不完全一致,在AutoLISP中角度使用 的是弧度,而利用cal函數(shù)時使用的角度單位與AutoCAD中的默認單位一致。

四、小結

    靈活運用AutoCAD自帶的功能強大的cal幾何計算器,不但可以執(zhí)行標準數(shù)學功能,而且可以計算點、矢量表達式以及實數(shù)和整數(shù)表達式,還可將 AutoLISP變量插入算術表達式并返回表達式的值,以給AutoLISP變量賦值。無論是初級使用者還是運用AutoLISP進行二次開發(fā)的高級用 戶,在AutoCAD的使用中巧妙地運用cal函數(shù)都可以收到事半功倍的效果

民眾工作室.制作   版權所有