lisp捕捉垂足_定位-'Cal计算器
命令'CAL,右鍵菜單選擇“快速計算器”或CTRL+8都可以打開計算器。
使用 CAL 命令,用戶可以:
一.)獲取點
1.使用光標獲取點
用 cur 函數。程序會提示用戶指定點并使用當前的 UCS 點的坐標值。cur 函數用于設置系統變量 lastpoint的值。
2.獲取交點
ille?ill(p1,p2,p3,p4) 確定兩條直線 (p1、p2) 和 (p3、p4) 的交點。所有點都被認為是三維點。
ilp(p1,p2,p3,p4,p5) 確定直線(通過 p1、p2)和平面(通過三點 p3、p4、p5)的交點。
3.計算直線上的點
①. 在兩實體間確定中點表達式(end+end)/2。也可用mtp成m2p,需捕捉中點所在的兩個點來確定中點。
快捷函數mee?(end,end)/2兩端點的中點。
②.確定一條直線上的任意等分等距點
快捷函數pltee(t)?plt(P1,P2,t)由兩端點確定的直線上某一參數化位置的點。(divide定數等分確定多點。)
參數 t 定義點在直線上的參數化位置。
如果 t=0,則所求點為 p1
如果 t=0.5,則所求點是 p1 和 p2 的中點
如果 t=1,則所求點為 p2
快捷函數pldee(d)?pld(P1,P2,dist)由兩端點確定的直線上某一距離處的點。(measure定距等分確定多點)
參數 dist 定義該點到點 p1 的距離。
4.獲取上一個指定點?
在表達式中使用“@+”字符可獲得上一個點的坐標,如下例所示:
命令: line
指定第一個點: 'cal
>> 表達式: cen+[0,1]
>> 選擇圖元用于 CEN 捕捉: 選擇圓或圓弧
指定下一點或 [閉合(C)/放棄(U)]: 'cal
>> 表達式:@ +3*vec1(cen,cen)
直線的第一點自第一個選定圓的圓心在 Y 軸方向上偏移一個單位。直線的第二點距第一點三個單位。直線的方向是從第一個選定圓的圓心指向第二個選定圓的圓心。
二.)變量variable
如果在 CAL 命令中輸入的 AutoLISP 變量名稱中包含具有特殊含義的字符(例如 +、-、* 或 /),請用單引號 (') 將變量名稱括起來,例如:'number-of-holes'
1.將對象捕捉作為表達式中的變量
①.使用相對坐標來確定點
end+[2,3]作點和點的相加運算,在端點上加一個相對坐標偏移。
這樣的點也可以用跟蹤track(tk)的捕捉方式來獲取。需確定第一追蹤點,相當于上面的end。
2、給 AutoLISP 變量賦值
要給 AutoLISP 變量賦值,
變量名=表達式
3.在計算中使用系統變量
語法為:getvar( variable_name )
下例使用 getvar 獲得當前視口中視圖的圓心。getvar(viewctr)
使用這種方法還可以訪問用戶系統變量 USERI1-5 和 USERR1-5。例如,要檢索存儲在 USERR2 中的值,可輸入以下內容: getvar(userr2)
三.)矢量vector
1.過濾矢量中的 X、Y 和 Z 分量
xyof(P1) 點的x和y分量;z分量設定為0.0
xzof(P1) 點的x和z分量;y分量設定為0.0
yzof(P1) 點的y和z分量;x分量設定為0.0
xof(P1) 點的x分量;y和z分量設定為0.0
yof(P1) 點的y分量;x和z分量設定為0.0
zof(P1) 點的z分量;x和y分量設定為0.0
rxof(P1) 點的x的分量
ryof(P1) 點的y的分量
rzof(P1) 點的z的分量
2.計算兩點的矢量
快捷函數vee?vec(p1,p2)計算從點 p1 到點 p2 的矢量平移。
快捷函數vee1?vec1(p1,p2)計算從點 p1 到點 p2 的單位矢量方向。
L*vec1(P1,P2)確定長度L在從點P1到點P2方向上的矢量。
a+[5<20]確定從點a以20度角偏移5個單位后得到的點b。注意:[5<20]是以極坐標表示的矢量。
a+v確定從點a平移矢量v后得到的點b。
3.計算法向矢量:矢量定義法線的方向而不是空間中的位置。可將法向矢量加到一個點上以獲得另一個點。(即與直線或平面垂直的矢量)
nor
確定選定的圓、圓弧或多段線圓弧段的三維單位法向矢量。此法向矢量是選定對象的對象坐標系 (OCS) 的 Z 軸。
nor(v)
確定矢量 v 的二維單位法向矢量。這兩個矢量都被認為是二維的,且投影在當前 UCS 的 XY 平面上。得出的法向矢量的方向指向原矢量 v 的左邊。
快捷函數nee?nor(P1,P2)
確定直線 p1,p2 的二維單位(xy平面)法向矢量。該直線的方向為從 p1 指向 p2。得出的法向矢量的方向為指向原直線 (p1、p2) 的左邊。
nor(p1,p2,p3)
確定平面(由 p1、p2 和 p3 三點定義)的三維單位法向矢量。法向矢量的方向與給定三點的逆時針方向垂直。
例①過一條斜線上的已知nod點作斜線的垂線,也可用遞延垂足作垂線。
畫線命令在斜線上確定垂線的第一個點即nod垂足,確定垂線第二點時輸入'cal,輸nod+5*nee (5是垂線的長度,根據提示捕捉垂點nod點和直線的兩個端點獲取垂直方向nee(改變光標捕捉直線端點的順序,可在直線的另一側畫垂線。)
例②作和一斜線相切的圓;
cur+3*nee (cur表示用光標在屏幕上拾取一個點作為圓和直線的切點,nee函數用來計算斜線的兩端點矢量的法線,也可以簡單理解為方向,(改變光標捕捉斜線端點的順序,也可在直線的另一側畫圓。)3是圓的半徑,輸入圓半徑長度3則正相切)
例③.過圓和一直線的交點int作圓的切線
int+3*nor(cen,int)
畫線命令點交點確定切線第一個點,確定第二個切線點時輸入'cal,輸入 int+3*nor(cen,int)(nor是計算圓心與交點兩個點的法線(垂直)方向。(改變光標捕捉直線端點的順序,也可在直線的另一側畫切線。)根據提示點交點,圓形,交點即可作出長度為3的切線。
4.計算矢量的長度
abs(v)計算矢量 v 的長度,結果為非負實數。在球坐標(距離
四.)其他
⑴設定英尺和英寸的格式:
英尺'-英寸"、英尺' 英寸" 或英尺'英寸"
可以用短劃線或空格將英尺、英寸和分數部分的英寸隔開,也可以不隔開。
警告使用英制單位時,CAL 將減號或破折號 (-) 當作單位分隔符而不是減法運算符。要指定減法運算,應在減號前面或后面至少添加一個空格。例如,要從 5' 中減去 9”,輸入 5' -9” 而不是 5'-9”。
⑵設定角度的格式:
角度的默認單位是十進制度數。請按以下格式輸入角度: d ' ”
當輸入的角度小于 1 度時(只有分和秒),必須輸入 0d。可以省略零分和零秒。
要按弧度輸入角度,請在輸入的數字后面加上 r。
要按百分度輸入角度,請在輸入的數字后面加上 g。
以下是各種角度輸入法的樣例:
5d10'20"
0d10'20"
124.6r
14g
以任何格式輸入的角度都會轉換成十進制角度。
Pi 弧度等于 180 度,100g 等于 90 度。
⑶計算距離
dee?dist(p1,p2)確定點 p1 和 p2 之間的距離。此函數相當于矢量表達式 abs( p1 - p2 )。
dpl(p,p1,p2)確定點 p 到直線(通過點 p1 和 p2)的最短距離。
dpp(p,p1,p2,p3)確定點 p 到平面(由三點 p1、p2、p3 定義)的距離。
下例返回兩個選定對象的中心之間距離的一半:dist(cen,cen)/2
下例確定了點 [3,2,4] 與由三個選定端點定義的平面之間的距離:
dpp([3,2,4],end, end, end)
⑷獲取半徑
快捷函數rad 可以確定圓、圓弧或二維多段線圓弧對象的半徑。
⑸獲取角度
ang 函數可以確定兩條直線之間的夾角。角度按逆時針方向測量,二維情況下相對于 X 軸測量,三 維情況下則相對于用戶指定的軸測量。
ang(v)
確定 X 軸和矢量 v 之間的角度。矢量 v 被認為是二維的,且投影在當前 UCS的 XY 平面上。
ang(p1,p2)
確定 X 軸和直線(通過 p1、p2,方向為從 p1 到 p2)的夾角。該點被認為是二維的,且投影在當前 UCS 的 XY 平面上。
ang(apex,p1,p2)
確定直線 (apex,p1) 和 (apex,p2) 的夾角。該點被認為是二維的,且投影在當前 UCS 的 XY 平面上。apex是頂點。
ang(apex,p1,p2,p)
確定直線 (apex,p1) 和 (apex,p2) 的夾角。直線被認為是三維的。最后一個參數(點 p)用來定義角度的方向。此角度以頂點到點 p 的直線為軸按逆時針方向測量。
⑹繞坐標軸旋轉點
rot 函數繞坐標軸旋轉點并返回旋轉得到的點。
rot(p,origin,ang)以經過原點的 Z 軸為軸,旋轉點 p,旋轉角度為 ang 。
rot(p,AxP1,AxP2,ang)以經過點 AxP1 和點 AxP2 的直線為軸旋轉點 p,轉角為 ang軸的方向為從第一個點到第二個點。
⑺在 UCS 和 WCS 之間轉換點
通常程序假定所有坐標都是相對于當前 UCS 的。可以使用下列函數在 UCS 和 WCS 之間轉換點的坐標值。
w2u(p1)
將以 WCS 表示的點 p1 轉換到當前 UCS 中。
u2w(p1)
將以當前 UCS 表示的點 p1 轉換到 WCS 中。
可使用 w2u 查找用當前的 UCS 表示的 WCS 的原點:w2u([0,0,0])
⑻轉換測量單位。
關于可轉換的單位列表,請參見 acad.unt 文件(適用于 AutoCAD)或 acadlt.unt 文件(適用于 AutoCAD LT)。
語法為:cvunit ( value, from_unit, to_unit )
下例將值 1 從英尺轉換為厘米:
cvunit(1,inch,cm)
總結
以上是生活随笔為你收集整理的lisp捕捉垂足_定位-'Cal计算器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都大熊猫基地老人票怎么买
- 下一篇: mixin network_【译文】Mi