你目前的位置>>主頁(yè)>>AutoCAD>>提高篇 諺語(yǔ):上臺(tái)階盡管費(fèi)力,卻一步比一步高。

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

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

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

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

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

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

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

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

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

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

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

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

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

例如,要從一個(gè)圓心距一直線的端點(diǎn)之間的2/3處為起點(diǎn)畫(huà)一直線。操作過(guò)程如下:

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

其他的目標(biāo)捕捉模式,如int、ins及tan等均可在幾何計(jì)算表達(dá)式中使用。

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

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

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

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

(defun Psin(d) ;其中d是函數(shù)的步長(zhǎng)
(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ù)表達(dá)式變得方便簡(jiǎn)捷,尤其是可以采用這個(gè)方法編制通用函數(shù)曲線輸入繪制程序, 以彌補(bǔ)AutoCAD沒(méi)有函數(shù)曲線繪制命令的缺陷。但是在使用過(guò)程中要注意這兩種函數(shù)的表達(dá)方法所使用的單位并不完全一致,在AutoLISP中角度使用 的是弧度,而利用cal函數(shù)時(shí)使用的角度單位與AutoCAD中的默認(rèn)單位一致。

四、小結(jié)

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

民眾工作室.制作   版權(quán)所有